@subwallet/extension-base 1.3.20-0 → 1.3.22-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/KoniTypes.d.ts +8 -1
- package/cjs/defaults.js +1 -1
- package/cjs/koni/background/handlers/Extension.js +519 -90
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/chain-service/constants.js +8 -3
- package/cjs/services/chain-service/handler/EvmApi.js +1 -3
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -2
- package/cjs/services/chain-service/index.js +9 -0
- package/cjs/services/chain-service/utils/patch.js +1 -1
- package/cjs/services/earning-service/constants/chains.js +2 -1
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +19 -8
- package/cjs/services/earning-service/handlers/native-staking/mythos.js +337 -0
- package/cjs/services/earning-service/handlers/special.js +16 -10
- package/cjs/services/earning-service/service.js +4 -0
- package/cjs/services/earning-service/utils/index.js +2 -0
- package/cjs/services/history-service/helpers/recoverHistoryStatus.js +14 -5
- package/cjs/services/history-service/index.js +15 -3
- package/cjs/services/inapp-notification-service/index.js +78 -0
- package/cjs/services/inapp-notification-service/interfaces.js +2 -0
- package/cjs/services/keyring-service/context/state.js +2 -1
- package/cjs/services/migration-service/scripts/databases/ClearMetadataDatabase.js +3 -23
- package/cjs/services/migration-service/scripts/databases/ClearMetadataForChains.js +40 -0
- package/cjs/services/migration-service/scripts/databases/ClearMetadataForMythos.js +15 -0
- package/cjs/services/migration-service/scripts/index.js +6 -2
- package/cjs/services/request-service/handler/EvmRequestHandler.js +10 -0
- package/cjs/services/request-service/handler/SubstrateRequestHandler.js +4 -3
- package/cjs/services/request-service/index.js +2 -2
- package/cjs/services/setting-service/constants.js +5 -2
- package/cjs/services/storage-service/DatabaseService.js +101 -2
- package/cjs/services/storage-service/databases/index.js +3 -0
- package/cjs/services/storage-service/db-stores/Metadata.js +3 -0
- package/cjs/services/storage-service/db-stores/Migration.js +6 -1
- package/cjs/services/storage-service/db-stores/ProcessTransaction.js +47 -0
- package/cjs/services/storage-service/db-stores/Transaction.js +2 -0
- package/cjs/services/storage-service/db-stores/index.js +8 -1
- package/cjs/services/swap-service/handler/asset-hub/handler.js +30 -11
- package/cjs/services/swap-service/handler/hydradx-handler.js +18 -10
- package/cjs/services/swap-service/index.js +3 -0
- package/cjs/services/swap-service/utils.js +1 -0
- package/cjs/services/transaction-service/index.js +218 -9
- package/cjs/types/index.js +11 -0
- package/cjs/types/setting.js +1 -0
- package/cjs/types/swap/index.js +4 -1
- package/cjs/types/transaction/index.js +11 -0
- package/cjs/types/transaction/process.js +28 -0
- package/cjs/types/yield/actions/join/submit.js +16 -1
- package/defaults.d.ts +1 -1
- package/defaults.js +1 -1
- package/koni/background/handlers/Extension.d.ts +5 -0
- package/koni/background/handlers/Extension.js +437 -12
- package/package.json +52 -22
- package/packageInfo.js +1 -1
- package/services/chain-service/constants.js +8 -3
- package/services/chain-service/handler/EvmApi.js +1 -3
- package/services/chain-service/handler/SubstrateChainHandler.js +3 -2
- package/services/chain-service/index.d.ts +1 -0
- package/services/chain-service/index.js +9 -0
- package/services/chain-service/utils/patch.js +1 -1
- package/services/earning-service/constants/chains.d.ts +1 -0
- package/services/earning-service/constants/chains.js +2 -1
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +19 -8
- package/services/earning-service/handlers/native-staking/mythos.d.ts +35 -0
- package/services/earning-service/handlers/native-staking/mythos.js +329 -0
- package/services/earning-service/handlers/special.js +18 -12
- package/services/earning-service/service.js +4 -0
- package/services/earning-service/utils/index.js +2 -0
- package/services/history-service/helpers/recoverHistoryStatus.js +14 -5
- package/services/history-service/index.d.ts +6 -5
- package/services/history-service/index.js +16 -5
- package/services/inapp-notification-service/index.d.ts +2 -0
- package/services/inapp-notification-service/index.js +79 -1
- package/services/inapp-notification-service/interfaces.d.ts +8 -1
- package/services/inapp-notification-service/interfaces.js +2 -0
- package/services/keyring-service/context/state.d.ts +1 -1
- package/services/keyring-service/context/state.js +3 -2
- package/services/migration-service/scripts/databases/ClearMetadataDatabase.d.ts +3 -3
- package/services/migration-service/scripts/databases/ClearMetadataDatabase.js +3 -23
- package/services/migration-service/scripts/databases/ClearMetadataForChains.d.ts +5 -0
- package/services/migration-service/scripts/databases/ClearMetadataForChains.js +32 -0
- package/services/migration-service/scripts/databases/ClearMetadataForMythos.d.ts +4 -0
- package/services/migration-service/scripts/databases/ClearMetadataForMythos.js +7 -0
- package/services/migration-service/scripts/index.d.ts +1 -0
- package/services/migration-service/scripts/index.js +4 -1
- package/services/request-service/handler/EvmRequestHandler.js +10 -0
- package/services/request-service/handler/SubstrateRequestHandler.d.ts +1 -1
- package/services/request-service/handler/SubstrateRequestHandler.js +4 -3
- package/services/request-service/index.d.ts +1 -1
- package/services/request-service/index.js +2 -2
- package/services/setting-service/constants.d.ts +1 -0
- package/services/setting-service/constants.js +3 -1
- package/services/storage-service/DatabaseService.d.ts +13 -3
- package/services/storage-service/DatabaseService.js +103 -4
- package/services/storage-service/databases/index.d.ts +2 -1
- package/services/storage-service/databases/index.js +3 -0
- package/services/storage-service/db-stores/Metadata.d.ts +1 -0
- package/services/storage-service/db-stores/Metadata.js +3 -0
- package/services/storage-service/db-stores/Migration.d.ts +1 -0
- package/services/storage-service/db-stores/Migration.js +6 -1
- package/services/storage-service/db-stores/ProcessTransaction.d.ts +14 -0
- package/services/storage-service/db-stores/ProcessTransaction.js +39 -0
- package/services/storage-service/db-stores/Transaction.js +2 -0
- package/services/storage-service/db-stores/index.d.ts +1 -0
- package/services/storage-service/db-stores/index.js +2 -1
- package/services/swap-service/handler/asset-hub/handler.js +30 -11
- package/services/swap-service/handler/hydradx-handler.js +18 -10
- package/services/swap-service/index.js +3 -0
- package/services/swap-service/utils.js +1 -0
- package/services/transaction-service/index.d.ts +19 -1
- package/services/transaction-service/index.js +220 -11
- package/services/transaction-service/types.d.ts +13 -4
- package/types/index.d.ts +1 -0
- package/types/index.js +1 -0
- package/types/setting.d.ts +3 -0
- package/types/setting.js +1 -0
- package/types/swap/index.d.ts +3 -2
- package/types/swap/index.js +4 -1
- package/types/transaction/index.d.ts +1 -0
- package/types/transaction/index.js +1 -0
- package/types/transaction/process.d.ts +84 -0
- package/types/transaction/process.js +20 -0
- package/types/transaction/request.d.ts +3 -1
- package/types/yield/actions/join/submit.d.ts +18 -3
- package/types/yield/actions/join/submit.js +11 -1
|
@@ -185,7 +185,8 @@ class HistoryService {
|
|
|
185
185
|
await this.addHistoryItems(updatedRecords);
|
|
186
186
|
}
|
|
187
187
|
async updateHistoryByExtrinsicHash(extrinsicHash, updateData) {
|
|
188
|
-
|
|
188
|
+
let isRecover = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
189
|
+
await this.dbService.updateHistoryByExtrinsicHash(extrinsicHash, updateData, isRecover);
|
|
189
190
|
this.historySubject.next(await this.dbService.getHistories());
|
|
190
191
|
}
|
|
191
192
|
|
|
@@ -260,11 +261,11 @@ class HistoryService {
|
|
|
260
261
|
case _recoverHistoryStatus.HistoryRecoverStatus.FAILED:
|
|
261
262
|
case _recoverHistoryStatus.HistoryRecoverStatus.SUCCESS:
|
|
262
263
|
updateData.status = recoverResult.status === _recoverHistoryStatus.HistoryRecoverStatus.SUCCESS ? _KoniTypes.ExtrinsicStatus.SUCCESS : _KoniTypes.ExtrinsicStatus.FAIL;
|
|
263
|
-
this.updateHistoryByExtrinsicHash(currentExtrinsicHash, updateData).catch(console.error);
|
|
264
|
+
this.updateHistoryByExtrinsicHash(currentExtrinsicHash, updateData, true).catch(console.error);
|
|
264
265
|
delete this.#needRecoveryHistories[currentExtrinsicHash];
|
|
265
266
|
break;
|
|
266
267
|
default:
|
|
267
|
-
this.updateHistoryByExtrinsicHash(currentExtrinsicHash, updateData).catch(console.error);
|
|
268
|
+
this.updateHistoryByExtrinsicHash(currentExtrinsicHash, updateData, true).catch(console.error);
|
|
268
269
|
delete this.#needRecoveryHistories[currentExtrinsicHash];
|
|
269
270
|
}
|
|
270
271
|
});
|
|
@@ -276,6 +277,7 @@ class HistoryService {
|
|
|
276
277
|
async init() {
|
|
277
278
|
this.status = _types.ServiceStatus.INITIALIZING;
|
|
278
279
|
await this.eventService.waitCryptoReady;
|
|
280
|
+
this.restoreProcessTransaction().catch(console.error);
|
|
279
281
|
await this.loadData();
|
|
280
282
|
Promise.all([this.eventService.waitKeyringReady, this.eventService.waitChainReady]).then(() => {
|
|
281
283
|
this.getHistories().catch(console.log);
|
|
@@ -286,11 +288,21 @@ class HistoryService {
|
|
|
286
288
|
}).catch(console.error);
|
|
287
289
|
this.status = _types.ServiceStatus.INITIALIZED;
|
|
288
290
|
}
|
|
291
|
+
async restoreProcessTransaction() {
|
|
292
|
+
await this.dbService.restoreProcessTransaction();
|
|
293
|
+
}
|
|
289
294
|
async recoverProcessingHistory() {
|
|
290
295
|
const histories = await this.dbService.getHistories();
|
|
291
296
|
this.#needRecoveryHistories = {};
|
|
292
297
|
histories.filter(history => {
|
|
293
298
|
return [_KoniTypes.ExtrinsicStatus.PROCESSING, _KoniTypes.ExtrinsicStatus.SUBMITTING].includes(history.status);
|
|
299
|
+
}).filter(history => {
|
|
300
|
+
if (history.type === _KoniTypes.ExtrinsicType.TRANSFER_XCM) {
|
|
301
|
+
const data = history.additionalInfo;
|
|
302
|
+
return data.originalChain === history.chain;
|
|
303
|
+
} else {
|
|
304
|
+
return true;
|
|
305
|
+
}
|
|
294
306
|
}).forEach(history => {
|
|
295
307
|
this.#needRecoveryHistories[history.extrinsicHash] = history;
|
|
296
308
|
});
|
|
@@ -9,9 +9,11 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
9
9
|
var _constants = require("@subwallet/extension-base/constants");
|
|
10
10
|
var _remindNotificationTime = require("@subwallet/extension-base/constants/remind-notification-time");
|
|
11
11
|
var _types = require("@subwallet/extension-base/services/base/types");
|
|
12
|
+
var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
|
|
12
13
|
var _consts = require("@subwallet/extension-base/services/inapp-notification-service/consts");
|
|
13
14
|
var _interfaces = require("@subwallet/extension-base/services/inapp-notification-service/interfaces");
|
|
14
15
|
var _utils = require("@subwallet/extension-base/services/inapp-notification-service/utils");
|
|
16
|
+
var _types2 = require("@subwallet/extension-base/types");
|
|
15
17
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
16
18
|
var _keyring = require("@subwallet/keyring");
|
|
17
19
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
@@ -133,6 +135,17 @@ class InappNotificationService {
|
|
|
133
135
|
}
|
|
134
136
|
}
|
|
135
137
|
}
|
|
138
|
+
if ([_interfaces.NotificationActionType.SWAP, _interfaces.NotificationActionType.EARNING].includes(candidateNotification.actionType)) {
|
|
139
|
+
const candidateMetadata = candidateNotification.metadata;
|
|
140
|
+
const processId = candidateMetadata.processId;
|
|
141
|
+
for (const notification of comparedNotifications) {
|
|
142
|
+
const comparedMetadata = notification.metadata;
|
|
143
|
+
const _processId = comparedMetadata.processId;
|
|
144
|
+
if (processId === _processId) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
136
149
|
return true;
|
|
137
150
|
}
|
|
138
151
|
async validateAndWriteNotificationsToDB(notifications, address) {
|
|
@@ -326,6 +339,71 @@ class InappNotificationService {
|
|
|
326
339
|
});
|
|
327
340
|
await this.validateAndWriteNotificationsToDB(notifications, address);
|
|
328
341
|
}
|
|
342
|
+
async createProcessNotification(process) {
|
|
343
|
+
const timestamp = Date.now();
|
|
344
|
+
const _id = process.id;
|
|
345
|
+
const address = process.address;
|
|
346
|
+
let actionType;
|
|
347
|
+
let extrinsicType;
|
|
348
|
+
let title = '';
|
|
349
|
+
let description = '';
|
|
350
|
+
if (process.type === _types2.ProcessType.SWAP) {
|
|
351
|
+
actionType = _interfaces.NotificationActionType.SWAP;
|
|
352
|
+
extrinsicType = _KoniTypes.ExtrinsicType.SWAP;
|
|
353
|
+
const combineInfo = process.combineInfo;
|
|
354
|
+
const fromAsset = this.chainService.getAssetBySlug(combineInfo.quote.pair.from);
|
|
355
|
+
const toAsset = this.chainService.getAssetBySlug(combineInfo.quote.pair.to);
|
|
356
|
+
const fromChain = this.chainService.getChainInfoByKey(fromAsset.originChain);
|
|
357
|
+
const toChain = this.chainService.getChainInfoByKey(toAsset.originChain);
|
|
358
|
+
title = '[{{accountName}}] SWAPPED {{fromAsset}}'.replace('{{fromAsset}}', fromAsset.symbol);
|
|
359
|
+
description = '{{fromAmount}} {{fromAsset}} on {{fromChain}} swapped for {{toAmount}} {{toAsset}} on {{toChain}}. Click to view details'.replace('{{fromAmount}}', (0, _utils2.formatNumber)(combineInfo.quote.fromAmount, fromAsset.decimals || 0)).replace('{{fromAsset}}', fromAsset.symbol).replace('{{fromChain}}', fromChain.name).replace('{{toAmount}}', (0, _utils2.formatNumber)(combineInfo.quote.toAmount, toAsset.decimals || 0)).replace('{{toAsset}}', toAsset.symbol).replace('{{toChain}}', toChain.name);
|
|
360
|
+
} else {
|
|
361
|
+
actionType = _interfaces.NotificationActionType.EARNING;
|
|
362
|
+
extrinsicType = _KoniTypes.ExtrinsicType.JOIN_YIELD_POOL; // Not used
|
|
363
|
+
|
|
364
|
+
const combineInfo = process.combineInfo;
|
|
365
|
+
const asset = this.chainService.getAssetBySlug(combineInfo.brief.token);
|
|
366
|
+
const chain = this.chainService.getChainInfoByKey(combineInfo.brief.chain);
|
|
367
|
+
const amount = combineInfo.brief.amount;
|
|
368
|
+
let method;
|
|
369
|
+
switch (combineInfo.brief.method) {
|
|
370
|
+
case _types2.YieldPoolType.LIQUID_STAKING:
|
|
371
|
+
method = 'Liquid staking';
|
|
372
|
+
break;
|
|
373
|
+
case _types2.YieldPoolType.LENDING:
|
|
374
|
+
method = 'Lending';
|
|
375
|
+
break;
|
|
376
|
+
case _types2.YieldPoolType.SINGLE_FARMING:
|
|
377
|
+
method = 'Single farming';
|
|
378
|
+
break;
|
|
379
|
+
case _types2.YieldPoolType.NOMINATION_POOL:
|
|
380
|
+
method = 'Nomination pool';
|
|
381
|
+
break;
|
|
382
|
+
case _types2.YieldPoolType.PARACHAIN_STAKING:
|
|
383
|
+
method = 'Parachain staking';
|
|
384
|
+
break;
|
|
385
|
+
case _types2.YieldPoolType.NATIVE_STAKING:
|
|
386
|
+
method = _constants2._STAKING_CHAIN_GROUP.astar.includes(chain.slug) ? 'dApp staking' : 'Direct nomination';
|
|
387
|
+
break;
|
|
388
|
+
}
|
|
389
|
+
title = '[{{accountName}}] STAKED {{asset}}'.replace('{{asset}}', asset.symbol);
|
|
390
|
+
description = '{{amount}} {{asset}} on {{chain}} staked via {{method}}. Click to view details'.replace('{{amount}}', (0, _utils2.formatNumber)(amount, asset.decimals || 0)).replace('{{asset}}', asset.symbol).replace('{{chain}}', chain.name).replace('{{method}}', method);
|
|
391
|
+
}
|
|
392
|
+
const notification = {
|
|
393
|
+
id: `${actionType}___${_id}___${timestamp}`,
|
|
394
|
+
address: (0, _utils2.reformatAddress)(address),
|
|
395
|
+
title,
|
|
396
|
+
actionType,
|
|
397
|
+
metadata: {
|
|
398
|
+
processId: process.id
|
|
399
|
+
},
|
|
400
|
+
time: timestamp,
|
|
401
|
+
description,
|
|
402
|
+
isRead: false,
|
|
403
|
+
extrinsicType
|
|
404
|
+
};
|
|
405
|
+
await this.validateAndWriteNotificationsToDB([notification], process.address);
|
|
406
|
+
}
|
|
329
407
|
|
|
330
408
|
// Polygon Claimable Handle
|
|
331
409
|
|
|
@@ -30,6 +30,8 @@ exports.NotificationActionType = NotificationActionType;
|
|
|
30
30
|
NotificationActionType["CLAIM_AVAIL_BRIDGE_ON_AVAIL"] = "CLAIM_AVAIL_BRIDGE_ON_AVAIL";
|
|
31
31
|
NotificationActionType["CLAIM_AVAIL_BRIDGE_ON_ETHEREUM"] = "CLAIM_AVAIL_BRIDGE_ON_ETHEREUM";
|
|
32
32
|
NotificationActionType["CLAIM_POLYGON_BRIDGE"] = "CLAIM_POLYGON_BRIDGE";
|
|
33
|
+
NotificationActionType["SWAP"] = "SWAP";
|
|
34
|
+
NotificationActionType["EARNING"] = "EARNING";
|
|
33
35
|
})(NotificationActionType || (exports.NotificationActionType = NotificationActionType = {}));
|
|
34
36
|
let NotificationTab;
|
|
35
37
|
exports.NotificationTab = NotificationTab;
|
|
@@ -393,10 +393,11 @@ class AccountState {
|
|
|
393
393
|
const accountProxies = this.accounts;
|
|
394
394
|
return Object.values(accountProxies).some(value => value.accountType === _types.AccountProxyType.UNIFIED && value.id === proxyId);
|
|
395
395
|
}
|
|
396
|
-
belongUnifiedAccount(
|
|
396
|
+
belongUnifiedAccount(_address) {
|
|
397
397
|
var _modifyPairs$address;
|
|
398
398
|
const modifyPairs = this.modifyPairs;
|
|
399
399
|
const accountProxies = this.accountProxies;
|
|
400
|
+
const address = (0, _utils.reformatAddress)(_address);
|
|
400
401
|
const proxyId = (_modifyPairs$address = modifyPairs[address]) === null || _modifyPairs$address === void 0 ? void 0 : _modifyPairs$address.accountProxyId;
|
|
401
402
|
if (proxyId) {
|
|
402
403
|
var _accountProxies$proxy;
|
|
@@ -5,31 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var
|
|
9
|
-
var _utils = require("@subwallet/extension-base/utils");
|
|
8
|
+
var _ClearMetadataForChains = _interopRequireDefault(require("./ClearMetadataForChains"));
|
|
10
9
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
11
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
12
11
|
|
|
13
|
-
class ClearMetadataDatabase extends
|
|
14
|
-
|
|
15
|
-
// Clear all old metadata data
|
|
16
|
-
await this.state.dbService.stores.metadata.clear();
|
|
17
|
-
const activeChains = this.state.chainService.getActiveChains();
|
|
18
|
-
const chainInfoMap = this.state.chainService.getChainInfoMap();
|
|
19
|
-
const reloadChains = activeChains.filter(chain => {
|
|
20
|
-
var _chainInfoMap$chain$s;
|
|
21
|
-
return !!((_chainInfoMap$chain$s = chainInfoMap[chain].substrateInfo) !== null && _chainInfoMap$chain$s !== void 0 && _chainInfoMap$chain$s.genesisHash);
|
|
22
|
-
});
|
|
23
|
-
for (const chain of reloadChains) {
|
|
24
|
-
const substrateApi = this.state.chainService.getSubstrateApi(chain);
|
|
25
|
-
const callback = substrateApi => {
|
|
26
|
-
(0, _utils.cacheMetadata)(chain, substrateApi, this.state.chainService);
|
|
27
|
-
};
|
|
28
|
-
Promise.race([substrateApi.isReady, (0, _utils.waitTimeout)(2000)]).finally(() => {
|
|
29
|
-
substrateApi === null || substrateApi === void 0 ? void 0 : substrateApi.connect(callback);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
return Promise.resolve();
|
|
33
|
-
}
|
|
12
|
+
class ClearMetadataDatabase extends _ClearMetadataForChains.default {
|
|
13
|
+
chains = [];
|
|
34
14
|
}
|
|
35
15
|
exports.default = ClearMetadataDatabase;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _Base = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/Base"));
|
|
9
|
+
var _utils = require("@subwallet/extension-base/utils");
|
|
10
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
11
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
|
|
13
|
+
class ClearMetadataForChains extends _Base.default {
|
|
14
|
+
async run() {
|
|
15
|
+
const isClearAll = this.chains.length === 0;
|
|
16
|
+
if (isClearAll) {
|
|
17
|
+
// Clear all old metadata data
|
|
18
|
+
await this.state.dbService.stores.metadata.clear();
|
|
19
|
+
} else {
|
|
20
|
+
await this.state.dbService.stores.metadata.clearByChains(this.chains);
|
|
21
|
+
}
|
|
22
|
+
const activeChains = this.state.chainService.getActiveChains();
|
|
23
|
+
const chainInfoMap = this.state.chainService.getChainInfoMap();
|
|
24
|
+
const reloadChains = activeChains.filter(chain => {
|
|
25
|
+
var _chainInfoMap$chain$s;
|
|
26
|
+
return !!((_chainInfoMap$chain$s = chainInfoMap[chain].substrateInfo) !== null && _chainInfoMap$chain$s !== void 0 && _chainInfoMap$chain$s.genesisHash) && (isClearAll || this.chains.includes(chain));
|
|
27
|
+
});
|
|
28
|
+
for (const chain of reloadChains) {
|
|
29
|
+
const substrateApi = this.state.chainService.getSubstrateApi(chain);
|
|
30
|
+
const callback = substrateApi => {
|
|
31
|
+
(0, _utils.cacheMetadata)(chain, substrateApi, this.state.chainService);
|
|
32
|
+
};
|
|
33
|
+
Promise.race([substrateApi.isReady, (0, _utils.waitTimeout)(2000)]).finally(() => {
|
|
34
|
+
substrateApi === null || substrateApi === void 0 ? void 0 : substrateApi.connect(callback);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return Promise.resolve();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.default = ClearMetadataForChains;
|
|
@@ -0,0 +1,15 @@
|
|
|
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 _ClearMetadataForChains = _interopRequireDefault(require("./ClearMetadataForChains"));
|
|
9
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
10
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
11
|
+
|
|
12
|
+
class ClearMetadataForMythos extends _ClearMetadataForChains.default {
|
|
13
|
+
chains = ['mythos', 'muse_testnet'];
|
|
14
|
+
}
|
|
15
|
+
exports.default = ClearMetadataForMythos;
|
|
@@ -4,9 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = exports.EVERYTIME = void 0;
|
|
7
|
+
exports.default = exports.MYTHOS_MIGRATION_KEY = exports.EVERYTIME = void 0;
|
|
8
8
|
var _AutoEnableSomeTokens = _interopRequireDefault(require("./databases/AutoEnableSomeTokens"));
|
|
9
9
|
var _ClearMetadataDatabase = _interopRequireDefault(require("./databases/ClearMetadataDatabase"));
|
|
10
|
+
var _ClearMetadataForMythos = _interopRequireDefault(require("./databases/ClearMetadataForMythos"));
|
|
10
11
|
var _MigrateAssetSetting = _interopRequireDefault(require("./databases/MigrateAssetSetting"));
|
|
11
12
|
var _MigrateEarningVersion = _interopRequireDefault(require("./databases/MigrateEarningVersion"));
|
|
12
13
|
var _ReloadMetadata = _interopRequireDefault(require("./databases/ReloadMetadata"));
|
|
@@ -39,6 +40,8 @@ var _MigrateWalletReference = _interopRequireDefault(require("./MigrateWalletRef
|
|
|
39
40
|
|
|
40
41
|
const EVERYTIME = '__everytime__';
|
|
41
42
|
exports.EVERYTIME = EVERYTIME;
|
|
43
|
+
const MYTHOS_MIGRATION_KEY = '1.3.21-01';
|
|
44
|
+
exports.MYTHOS_MIGRATION_KEY = MYTHOS_MIGRATION_KEY;
|
|
42
45
|
var _default = {
|
|
43
46
|
'1.0.1-11': _MigrateNetworkSettings.default,
|
|
44
47
|
'1.0.1-20': _MigrateImportedToken.default,
|
|
@@ -69,7 +72,8 @@ var _default = {
|
|
|
69
72
|
'1.2.13-01': _ReloadMetadata.default,
|
|
70
73
|
'1.2.32-01': _MigratePairData.default,
|
|
71
74
|
'1.3.6-01': _MigrateTransactionHistoryBridge.default,
|
|
72
|
-
'1.3.10-01': _ClearMetadataDatabase.default
|
|
75
|
+
'1.3.10-01': _ClearMetadataDatabase.default,
|
|
76
|
+
[MYTHOS_MIGRATION_KEY]: _ClearMetadataForMythos.default
|
|
73
77
|
// [`${EVERYTIME}-1.1.42-02`]: MigrateTransactionHistoryBySymbol
|
|
74
78
|
// [`${EVERYTIME}-1`]: AutoEnableChainsTokens
|
|
75
79
|
};
|
|
@@ -86,6 +86,16 @@ class EvmRequestHandler {
|
|
|
86
86
|
if (!isInternal) {
|
|
87
87
|
this.#requestService.popupOpen();
|
|
88
88
|
}
|
|
89
|
+
if (options.isPassConfirmation) {
|
|
90
|
+
await this.completeConfirmation({
|
|
91
|
+
evmSendTransactionRequest: {
|
|
92
|
+
id,
|
|
93
|
+
url,
|
|
94
|
+
isApproved: true,
|
|
95
|
+
payload: ''
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
89
99
|
this.#requestService.updateIconV2();
|
|
90
100
|
return promise;
|
|
91
101
|
}
|
|
@@ -84,9 +84,9 @@ class SubstrateRequestHandler {
|
|
|
84
84
|
this.#requestService.popupOpen();
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
|
-
async signTransaction(id, address, url, payload) {
|
|
87
|
+
async signTransaction(id, address, url, payload, onSign) {
|
|
88
88
|
const isAlwaysRequired = await this.#requestService.settingService.isAlwaysRequired;
|
|
89
|
-
if (isAlwaysRequired) {
|
|
89
|
+
if (isAlwaysRequired && !onSign) {
|
|
90
90
|
this.#requestService.keyringService.lock();
|
|
91
91
|
}
|
|
92
92
|
return new Promise((resolve, reject) => {
|
|
@@ -98,9 +98,10 @@ class SubstrateRequestHandler {
|
|
|
98
98
|
url: url
|
|
99
99
|
};
|
|
100
100
|
this.updateIconSign();
|
|
101
|
-
if (!(0, _request.isInternalRequest)(url)) {
|
|
101
|
+
if (!(0, _request.isInternalRequest)(url) && !onSign) {
|
|
102
102
|
this.#requestService.popupOpen();
|
|
103
103
|
}
|
|
104
|
+
onSign === null || onSign === void 0 ? void 0 : onSign(id);
|
|
104
105
|
});
|
|
105
106
|
}
|
|
106
107
|
resetWallet() {
|
|
@@ -159,8 +159,8 @@ class RequestService {
|
|
|
159
159
|
getSignRequest(id) {
|
|
160
160
|
return this.#substrateRequestHandler.getSignRequest(id);
|
|
161
161
|
}
|
|
162
|
-
async signInternalTransaction(id, address, url, payload) {
|
|
163
|
-
return this.#substrateRequestHandler.signTransaction(id, address, url, payload);
|
|
162
|
+
async signInternalTransaction(id, address, url, payload, onSign) {
|
|
163
|
+
return this.#substrateRequestHandler.signTransaction(id, address, url, payload, onSign);
|
|
164
164
|
}
|
|
165
165
|
addConfirmation(id, url, type, payload) {
|
|
166
166
|
let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.DEFAULT_UNLOCK_TYPE = exports.DEFAULT_THEME = exports.DEFAULT_SHOW_ZERO_BALANCE = exports.DEFAULT_SHOW_BALANCE = exports.DEFAULT_SETTING = exports.DEFAULT_NOTIFICATION_TYPE = exports.DEFAULT_NOTIFICATION_SETUP = exports.DEFAULT_LANGUAGE = exports.DEFAULT_CURRENCY = exports.DEFAULT_CHAIN_PATROL_ENABLE = exports.DEFAULT_CAMERA_ENABLE = exports.DEFAULT_AUTO_LOCK_TIME = exports.DEFAULT_ALL_LOGO = void 0;
|
|
6
|
+
exports.DEFAULT_UNLOCK_TYPE = exports.DEFAULT_THEME = exports.DEFAULT_SHOW_ZERO_BALANCE = exports.DEFAULT_SHOW_BALANCE = exports.DEFAULT_SETTING = exports.DEFAULT_NOTIFICATION_TYPE = exports.DEFAULT_NOTIFICATION_SETUP = exports.DEFAULT_LANGUAGE = exports.DEFAULT_CURRENCY = exports.DEFAULT_CHAIN_PATROL_ENABLE = exports.DEFAULT_CAMERA_ENABLE = exports.DEFAULT_AUTO_LOCK_TIME = exports.DEFAULT_ALL_LOGO = exports.DEFAULT_ALLOW_ONE_SIGN = void 0;
|
|
7
7
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
8
8
|
var _utils = require("@subwallet/extension-base/utils");
|
|
9
9
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -31,6 +31,8 @@ const DEFAULT_ALL_LOGO = '';
|
|
|
31
31
|
exports.DEFAULT_ALL_LOGO = DEFAULT_ALL_LOGO;
|
|
32
32
|
const DEFAULT_CAMERA_ENABLE = false;
|
|
33
33
|
exports.DEFAULT_CAMERA_ENABLE = DEFAULT_CAMERA_ENABLE;
|
|
34
|
+
const DEFAULT_ALLOW_ONE_SIGN = true;
|
|
35
|
+
exports.DEFAULT_ALLOW_ONE_SIGN = DEFAULT_ALLOW_ONE_SIGN;
|
|
34
36
|
const DEFAULT_NOTIFICATION_SETUP = {
|
|
35
37
|
isEnabled: true,
|
|
36
38
|
showNotice: {
|
|
@@ -59,6 +61,7 @@ const DEFAULT_SETTING = {
|
|
|
59
61
|
timeAutoLock: DEFAULT_AUTO_LOCK_TIME,
|
|
60
62
|
enableChainPatrol: DEFAULT_CHAIN_PATROL_ENABLE,
|
|
61
63
|
notificationSetup: DEFAULT_NOTIFICATION_SETUP,
|
|
62
|
-
walletReference: ''
|
|
64
|
+
walletReference: '',
|
|
65
|
+
allowOneSign: DEFAULT_ALLOW_ONE_SIGN
|
|
63
66
|
};
|
|
64
67
|
exports.DEFAULT_SETTING = DEFAULT_SETTING;
|
|
@@ -15,6 +15,7 @@ var _MantaPay = _interopRequireDefault(require("@subwallet/extension-base/servic
|
|
|
15
15
|
var _NominatorMetadata = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/NominatorMetadata"));
|
|
16
16
|
var _YieldPoolStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/YieldPoolStore"));
|
|
17
17
|
var _YieldPositionStore = _interopRequireDefault(require("@subwallet/extension-base/services/storage-service/db-stores/YieldPositionStore"));
|
|
18
|
+
var _types = require("@subwallet/extension-base/types");
|
|
18
19
|
var _utils = require("@subwallet/extension-base/utils");
|
|
19
20
|
var _uiKeyring = _interopRequireDefault(require("@subwallet/ui-keyring"));
|
|
20
21
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
@@ -59,7 +60,9 @@ class DatabaseService {
|
|
|
59
60
|
// assetRef: new AssetRefStore(this._db.assetRef)
|
|
60
61
|
|
|
61
62
|
// inapp notification
|
|
62
|
-
inappNotification: new _InappNotification.default(this._db.inappNotification)
|
|
63
|
+
inappNotification: new _InappNotification.default(this._db.inappNotification),
|
|
64
|
+
// process transaction
|
|
65
|
+
processTransactions: new _dbStores.ProcessTransactionStore(this._db.processTransactions)
|
|
63
66
|
};
|
|
64
67
|
}
|
|
65
68
|
async updatePriceStore(priceData) {
|
|
@@ -271,15 +274,90 @@ class DatabaseService {
|
|
|
271
274
|
const cleanedHistory = histories.filter(x => x && x.address && x.chain && x.extrinsicHash);
|
|
272
275
|
return this.stores.transaction.bulkUpsert(cleanedHistory);
|
|
273
276
|
}
|
|
274
|
-
async updateHistoryByExtrinsicHash(extrinsicHash, updateData) {
|
|
277
|
+
async updateHistoryByExtrinsicHash(extrinsicHash, updateData, isRecover) {
|
|
275
278
|
const canUpdate = updateData && extrinsicHash;
|
|
276
279
|
if (!canUpdate) {
|
|
277
280
|
return;
|
|
278
281
|
}
|
|
282
|
+
if (isRecover) {
|
|
283
|
+
await this.recoverProcessTransaction(extrinsicHash, updateData);
|
|
284
|
+
}
|
|
279
285
|
return this.stores.transaction.updateWithQuery({
|
|
280
286
|
extrinsicHash
|
|
281
287
|
}, updateData);
|
|
282
288
|
}
|
|
289
|
+
async restoreProcessTransaction() {
|
|
290
|
+
const processes = await this.stores.processTransactions.getSubmittingProcess();
|
|
291
|
+
const queuedProcesses = processes.filter(process => process.status === _types.StepStatus.QUEUED);
|
|
292
|
+
const processingProcesses = processes.filter(process => process.status === _types.StepStatus.PROCESSING);
|
|
293
|
+
await this.stores.processTransactions.bulkDelete(queuedProcesses.map(process => process.id));
|
|
294
|
+
for (const process of processingProcesses) {
|
|
295
|
+
const currentStepId = process.currentStepId;
|
|
296
|
+
const currentStep = process.steps.find(step => step.id === currentStepId);
|
|
297
|
+
if (currentStep) {
|
|
298
|
+
const currentStepStatus = currentStep.status;
|
|
299
|
+
if ([_types.StepStatus.QUEUED, _types.StepStatus.PREPARE].includes(currentStepStatus)) {
|
|
300
|
+
currentStep.status = _types.StepStatus.CANCELLED;
|
|
301
|
+
process.status = _types.StepStatus.CANCELLED;
|
|
302
|
+
} else if (currentStepStatus === _types.StepStatus.TIMEOUT) {
|
|
303
|
+
currentStep.status = _types.StepStatus.CANCELLED;
|
|
304
|
+
}
|
|
305
|
+
const nextSteps = process.steps.filter(step => step.id > currentStepId);
|
|
306
|
+
for (const step of nextSteps) {
|
|
307
|
+
step.status = _types.StepStatus.CANCELLED;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
await this.stores.processTransactions.bulkUpsert(processingProcesses);
|
|
312
|
+
}
|
|
313
|
+
async recoverProcessTransaction(extrinsicHash, updateData) {
|
|
314
|
+
const txs = await this.stores.transaction.queryHistory({
|
|
315
|
+
extrinsicHash
|
|
316
|
+
});
|
|
317
|
+
const map = new Map(txs.filter(x => !!x.processId && x.extrinsicHash === extrinsicHash).map(tx => [tx.processId || '', tx.transactionId || '']));
|
|
318
|
+
if (map.size && updateData.status) {
|
|
319
|
+
const processes = await this.stores.processTransactions.getByIds(Array.from(map.keys()));
|
|
320
|
+
for (const [processId, process] of Object.entries(processes)) {
|
|
321
|
+
const txId = map.get(processId);
|
|
322
|
+
if (txId) {
|
|
323
|
+
const currentStep = process.steps.find(tx => tx.transactionId === txId);
|
|
324
|
+
if (currentStep) {
|
|
325
|
+
const differentHash = txId !== extrinsicHash && currentStep.extrinsicHash !== extrinsicHash;
|
|
326
|
+
if (currentStep.status === _types.StepStatus.PROCESSING || currentStep.status === _types.StepStatus.SUBMITTING) {
|
|
327
|
+
switch (updateData.status) {
|
|
328
|
+
case _KoniTypes.ExtrinsicStatus.SUCCESS:
|
|
329
|
+
currentStep.status = _types.StepStatus.COMPLETE;
|
|
330
|
+
if (differentHash) {
|
|
331
|
+
currentStep.extrinsicHash = extrinsicHash;
|
|
332
|
+
}
|
|
333
|
+
break;
|
|
334
|
+
case _KoniTypes.ExtrinsicStatus.FAIL:
|
|
335
|
+
currentStep.status = _types.StepStatus.FAILED;
|
|
336
|
+
if (differentHash) {
|
|
337
|
+
currentStep.extrinsicHash = extrinsicHash;
|
|
338
|
+
}
|
|
339
|
+
break;
|
|
340
|
+
case _KoniTypes.ExtrinsicStatus.UNKNOWN:
|
|
341
|
+
currentStep.status = _types.StepStatus.TIMEOUT;
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
const isLastStep = process.steps[process.steps.length - 1].id === currentStep.id;
|
|
346
|
+
if (isLastStep) {
|
|
347
|
+
process.status = currentStep.status;
|
|
348
|
+
} else {
|
|
349
|
+
if (currentStep.status === _types.StepStatus.TIMEOUT) {
|
|
350
|
+
process.status = _types.StepStatus.TIMEOUT;
|
|
351
|
+
} else {
|
|
352
|
+
process.status = _types.StepStatus.CANCELLED;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
await this.stores.processTransactions.upsert(process);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
283
361
|
|
|
284
362
|
// NFT Collection
|
|
285
363
|
async addNftCollection(collection) {
|
|
@@ -555,6 +633,27 @@ class DatabaseService {
|
|
|
555
633
|
async getExportJson() {
|
|
556
634
|
return JSON.parse(await this.exportDB());
|
|
557
635
|
}
|
|
636
|
+
upsertProcessTransaction(processTransaction) {
|
|
637
|
+
return this.stores.processTransactions.upsert(processTransaction);
|
|
638
|
+
}
|
|
639
|
+
observableProcessTransactions() {
|
|
640
|
+
return this.stores.processTransactions.observableAll();
|
|
641
|
+
}
|
|
642
|
+
getProcessTransactions() {
|
|
643
|
+
return this.stores.processTransactions.getAll();
|
|
644
|
+
}
|
|
645
|
+
getProcessTransactionById(processId) {
|
|
646
|
+
return this.stores.processTransactions.getOne(processId);
|
|
647
|
+
}
|
|
648
|
+
observableProcessTransactionById(processId) {
|
|
649
|
+
return this.stores.processTransactions.observableOne(processId);
|
|
650
|
+
}
|
|
651
|
+
deleteProcessTransactionById(processId) {
|
|
652
|
+
return this.stores.processTransactions.delete(processId);
|
|
653
|
+
}
|
|
654
|
+
hasRunScript(key) {
|
|
655
|
+
return this.stores.migration.hasRunScript(key);
|
|
656
|
+
}
|
|
558
657
|
|
|
559
658
|
// public setAssetRef (assetRef: Record<string, _AssetRef>) {
|
|
560
659
|
// const assetRefList = Object.entries(assetRef).map(([slug, item]) => {
|
|
@@ -56,6 +56,9 @@ class KoniDatabase extends _dexie.default {
|
|
|
56
56
|
this.conditionalVersion(8, {
|
|
57
57
|
metadataV15: 'genesisHash, chain'
|
|
58
58
|
});
|
|
59
|
+
this.conditionalVersion(9, {
|
|
60
|
+
processTransactions: 'id, address'
|
|
61
|
+
});
|
|
59
62
|
}
|
|
60
63
|
conditionalVersion(version, schema, upgrade) {
|
|
61
64
|
if (this.schemaVersion != null && this.schemaVersion < version) {
|
|
@@ -22,5 +22,8 @@ class MetadataStore extends _BaseStoreWithChain.default {
|
|
|
22
22
|
updateMetadataByGenesisHash(genesisHash, metadata) {
|
|
23
23
|
return this.table.put(metadata, genesisHash);
|
|
24
24
|
}
|
|
25
|
+
clearByChains(chains) {
|
|
26
|
+
return this.table.where('chain').anyOf(chains).delete();
|
|
27
|
+
}
|
|
25
28
|
}
|
|
26
29
|
exports.default = MetadataStore;
|
|
@@ -9,5 +9,10 @@ var _BaseStore = _interopRequireDefault(require("./BaseStore"));
|
|
|
9
9
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
10
10
|
// SPDX-License-Identifier: Apache-2.0
|
|
11
11
|
|
|
12
|
-
class MigrationStore extends _BaseStore.default {
|
|
12
|
+
class MigrationStore extends _BaseStore.default {
|
|
13
|
+
async hasRunScript(key) {
|
|
14
|
+
const rs = await this.table.where('key').equals(key).first();
|
|
15
|
+
return !!rs;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
13
18
|
exports.default = MigrationStore;
|
|
@@ -0,0 +1,47 @@
|
|
|
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 _types = require("@subwallet/extension-base/types");
|
|
9
|
+
var _dexie = require("dexie");
|
|
10
|
+
var _BaseStoreWithAddress = _interopRequireDefault(require("./BaseStoreWithAddress"));
|
|
11
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
12
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
|
|
14
|
+
class ProcessTransaction extends _BaseStoreWithAddress.default {
|
|
15
|
+
async getAll() {
|
|
16
|
+
const all = await this.table.toArray();
|
|
17
|
+
return Object.fromEntries(all.map(item => [item.id, item]));
|
|
18
|
+
}
|
|
19
|
+
observableAll() {
|
|
20
|
+
return (0, _dexie.liveQuery)(async () => {
|
|
21
|
+
const all = await this.table.toArray();
|
|
22
|
+
return Object.fromEntries(all.map(item => [item.id, item]));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async getOne(id) {
|
|
26
|
+
return this.table.get(id);
|
|
27
|
+
}
|
|
28
|
+
observableOne(id) {
|
|
29
|
+
return (0, _dexie.liveQuery)(async () => {
|
|
30
|
+
return this.table.get(id);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async getByIds(ids) {
|
|
34
|
+
const rs = await this.table.where('id').anyOf(ids).toArray();
|
|
35
|
+
return Object.fromEntries(rs.map(item => [item.id, item]));
|
|
36
|
+
}
|
|
37
|
+
delete(key) {
|
|
38
|
+
return this.table.delete(key);
|
|
39
|
+
}
|
|
40
|
+
getSubmittingProcess() {
|
|
41
|
+
return this.table.filter(item => [_types.StepStatus.PROCESSING, _types.StepStatus.QUEUED].includes(item.status)).toArray();
|
|
42
|
+
}
|
|
43
|
+
bulkDelete(keys) {
|
|
44
|
+
return this.table.bulkDelete(keys);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.default = ProcessTransaction;
|
|
@@ -17,6 +17,8 @@ class TransactionStore extends _BaseStoreWithAddressAndChain.default {
|
|
|
17
17
|
}
|
|
18
18
|
return this.table.where('address').equals(address).toArray();
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
// TODO: This query is not exactly correct. It makes a lot of wrong assumptions, need to be fixed.
|
|
20
22
|
async queryHistory(query) {
|
|
21
23
|
if (!(query !== null && query !== void 0 && query.address) && !(query !== null && query !== void 0 && query.chain)) {
|
|
22
24
|
return this.table.toArray();
|
|
@@ -64,6 +64,12 @@ Object.defineProperty(exports, "PriceStore", {
|
|
|
64
64
|
return _Price.default;
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
|
+
Object.defineProperty(exports, "ProcessTransactionStore", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function () {
|
|
70
|
+
return _ProcessTransaction.default;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
67
73
|
Object.defineProperty(exports, "StakingStore", {
|
|
68
74
|
enumerable: true,
|
|
69
75
|
get: function () {
|
|
@@ -87,4 +93,5 @@ var _Migration = _interopRequireDefault(require("./Migration"));
|
|
|
87
93
|
var _Metadata = _interopRequireDefault(require("./Metadata"));
|
|
88
94
|
var _MetadataV = _interopRequireDefault(require("./MetadataV15"));
|
|
89
95
|
var _Chain = _interopRequireDefault(require("./Chain"));
|
|
90
|
-
var _Asset = _interopRequireDefault(require("./Asset"));
|
|
96
|
+
var _Asset = _interopRequireDefault(require("./Asset"));
|
|
97
|
+
var _ProcessTransaction = _interopRequireDefault(require("./ProcessTransaction"));
|