@subwallet/extension-base 1.0.4-0 → 1.0.5-1
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 +37 -16
- package/background/KoniTypes.js +2 -0
- package/background/errors/TransactionError.js +4 -0
- package/background/handlers/State.d.ts +1 -1
- package/background/handlers/State.js +2 -8
- package/background/handlers/subscriptions.js +0 -1
- package/background/types.d.ts +2 -2
- package/cjs/background/KoniTypes.js +2 -0
- package/cjs/background/errors/TransactionError.js +4 -0
- package/cjs/background/handlers/State.js +1 -7
- package/cjs/background/handlers/subscriptions.js +0 -1
- package/cjs/constants/index.js +6 -6
- package/cjs/koni/api/coingecko.js +1 -4
- package/cjs/koni/api/dotsama/balance.js +7 -5
- package/cjs/koni/api/dotsama/crowdloan.js +0 -4
- package/cjs/koni/api/dotsama/transfer.js +0 -4
- package/cjs/koni/api/nft/acala_nft/index.js +1 -1
- package/cjs/koni/api/nft/bit.country/index.js +1 -1
- package/cjs/koni/api/nft/evm_nft/index.js +2 -3
- package/cjs/koni/api/nft/index.js +1 -2
- package/cjs/koni/api/nft/karura_nft/index.js +1 -1
- package/cjs/koni/api/nft/quartz_nft/index.js +1 -1
- package/cjs/koni/api/nft/rmrk_nft/index.js +2 -3
- package/cjs/koni/api/nft/statemine_nft/index.js +1 -1
- package/cjs/koni/api/nft/transfer.js +5 -5
- package/cjs/koni/api/nft/unique_nft/index.js +1 -1
- package/cjs/koni/api/nft/unique_nft/uniqueNftV2.js +0 -1
- package/cjs/koni/api/nft/wasm_nft/index.js +1 -2
- package/cjs/koni/api/staking/bonding/amplitude.js +9 -2
- package/cjs/koni/api/staking/bonding/astar.js +37 -13
- package/cjs/koni/api/staking/bonding/paraChain.js +10 -2
- package/cjs/koni/api/staking/bonding/relayChain.js +21 -4
- package/cjs/koni/api/staking/bonding/utils.js +4 -0
- package/cjs/koni/api/staking/relayChain.js +0 -1
- package/cjs/koni/api/staking/subsquidStaking.js +0 -2
- package/cjs/koni/api/tokens/wasm/index.js +0 -1
- package/cjs/koni/api/tokens/wasm/utils.js +0 -1
- package/cjs/koni/api/xcm/index.js +0 -1
- package/cjs/koni/background/cron.js +0 -45
- package/cjs/koni/background/handlers/Extension.js +204 -132
- package/cjs/koni/background/handlers/State.js +30 -3
- package/cjs/koni/background/handlers/Tabs.js +34 -2
- package/cjs/koni/background/handlers/index.js +3 -2
- package/cjs/koni/background/subscription.js +0 -26
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/chain-service/constants.js +1 -1
- package/cjs/services/chain-service/handler/EvmChainHandler.js +1 -1
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -10
- package/cjs/services/chain-service/handler/light-client/index.js +9 -6
- package/cjs/services/chain-service/index.js +75 -28
- package/cjs/services/chain-service/utils.js +3 -0
- package/cjs/services/history-service/helpers/recoverHistoryStatus.js +108 -0
- package/cjs/services/history-service/index.js +60 -5
- package/cjs/services/history-service/subsquid-multi-chain-history.js +3 -2
- package/cjs/services/history-service/testChainMap.js +724 -0
- package/cjs/services/keyring-service/index.js +9 -2
- package/cjs/services/migration-service/index.js +7 -7
- package/cjs/services/migration-service/scripts/MigrateAuthUrls.js +39 -0
- package/cjs/services/migration-service/scripts/MigrateAutoLock.js +30 -0
- package/cjs/services/migration-service/scripts/MigrateChainPatrol.js +30 -0
- package/cjs/services/migration-service/scripts/index.js +7 -1
- package/cjs/services/price-service/coingecko.js +1 -1
- package/cjs/services/price-service/index.js +0 -4
- package/cjs/services/request-service/handler/AuthRequestHandler.js +8 -1
- package/cjs/services/request-service/handler/EvmRequestHandler.js +21 -0
- package/cjs/services/request-service/handler/MetadataRequestHandler.js +6 -0
- package/cjs/services/request-service/handler/SubstrateRequestHandler.js +6 -0
- package/cjs/services/request-service/index.js +6 -0
- package/cjs/services/setting-service/SettingService.js +4 -9
- package/cjs/services/setting-service/constants.js +18 -2
- package/cjs/services/storage-service/DatabaseService.js +16 -44
- package/cjs/services/storage-service/databases/index.js +1 -1
- package/cjs/services/storage-service/db-stores/BaseStore.js +3 -0
- package/cjs/services/transaction-service/constants.js +11 -0
- package/cjs/services/transaction-service/index.js +31 -9
- package/cjs/services/transaction-service/utils.js +25 -14
- package/constants/index.d.ts +1 -1
- package/constants/index.js +1 -1
- package/koni/api/coingecko.js +1 -4
- package/koni/api/dotsama/balance.js +7 -5
- package/koni/api/dotsama/crowdloan.js +0 -4
- package/koni/api/dotsama/transfer.js +0 -4
- package/koni/api/nft/acala_nft/index.js +1 -1
- package/koni/api/nft/bit.country/index.js +1 -1
- package/koni/api/nft/evm_nft/index.js +2 -3
- package/koni/api/nft/index.js +1 -2
- package/koni/api/nft/karura_nft/index.js +1 -1
- package/koni/api/nft/quartz_nft/index.js +1 -1
- package/koni/api/nft/rmrk_nft/index.js +2 -3
- package/koni/api/nft/statemine_nft/index.js +1 -1
- package/koni/api/nft/transfer.js +5 -5
- package/koni/api/nft/unique_nft/index.js +1 -1
- package/koni/api/nft/unique_nft/uniqueNftV2.js +0 -1
- package/koni/api/nft/wasm_nft/index.js +1 -2
- package/koni/api/staking/bonding/amplitude.js +9 -2
- package/koni/api/staking/bonding/astar.d.ts +2 -1
- package/koni/api/staking/bonding/astar.js +36 -13
- package/koni/api/staking/bonding/paraChain.js +10 -2
- package/koni/api/staking/bonding/relayChain.js +21 -4
- package/koni/api/staking/bonding/utils.js +4 -0
- package/koni/api/staking/relayChain.js +0 -1
- package/koni/api/staking/subsquidStaking.js +0 -2
- package/koni/api/tokens/wasm/index.js +0 -1
- package/koni/api/tokens/wasm/utils.js +0 -1
- package/koni/api/xcm/index.js +0 -1
- package/koni/background/cron.js +0 -45
- package/koni/background/handlers/Extension.d.ts +3 -0
- package/koni/background/handlers/Extension.js +120 -51
- package/koni/background/handlers/State.d.ts +4 -1
- package/koni/background/handlers/State.js +30 -3
- package/koni/background/handlers/Tabs.d.ts +1 -0
- package/koni/background/handlers/Tabs.js +32 -1
- package/koni/background/handlers/index.js +3 -2
- package/koni/background/subscription.d.ts +0 -1
- package/koni/background/subscription.js +0 -26
- package/package.json +65 -39
- package/packageInfo.js +1 -1
- package/services/chain-service/constants.js +1 -1
- package/services/chain-service/handler/EvmChainHandler.js +1 -1
- package/services/chain-service/handler/SubstrateChainHandler.js +3 -10
- package/services/chain-service/handler/light-client/index.js +8 -6
- package/services/chain-service/helper/api-helper/spec/acala.d.ts +3 -3
- package/services/chain-service/index.d.ts +2 -1
- package/services/chain-service/index.js +75 -28
- package/services/chain-service/utils.js +3 -0
- package/services/history-service/helpers/recoverHistoryStatus.d.ts +11 -0
- package/services/history-service/helpers/recoverHistoryStatus.js +98 -0
- package/services/history-service/index.d.ts +6 -0
- package/services/history-service/index.js +61 -6
- package/services/history-service/subsquid-multi-chain-history.js +3 -2
- package/services/history-service/testChainMap.d.ts +3 -0
- package/services/history-service/testChainMap.js +716 -0
- package/services/keyring-service/index.d.ts +1 -0
- package/services/keyring-service/index.js +9 -2
- package/services/migration-service/index.js +7 -7
- package/services/migration-service/scripts/MigrateAuthUrls.d.ts +4 -0
- package/services/migration-service/scripts/MigrateAuthUrls.js +31 -0
- package/services/migration-service/scripts/MigrateAutoLock.d.ts +4 -0
- package/services/migration-service/scripts/MigrateAutoLock.js +22 -0
- package/services/migration-service/scripts/MigrateChainPatrol.d.ts +4 -0
- package/services/migration-service/scripts/MigrateChainPatrol.js +22 -0
- package/services/migration-service/scripts/index.js +7 -1
- package/services/price-service/coingecko.js +1 -1
- package/services/price-service/index.js +0 -4
- package/services/request-service/handler/AuthRequestHandler.d.ts +1 -0
- package/services/request-service/handler/AuthRequestHandler.js +8 -1
- package/services/request-service/handler/EvmRequestHandler.d.ts +1 -0
- package/services/request-service/handler/EvmRequestHandler.js +21 -0
- package/services/request-service/handler/MetadataRequestHandler.d.ts +1 -0
- package/services/request-service/handler/MetadataRequestHandler.js +6 -0
- package/services/request-service/handler/SubstrateRequestHandler.d.ts +1 -0
- package/services/request-service/handler/SubstrateRequestHandler.js +6 -0
- package/services/request-service/index.d.ts +1 -0
- package/services/request-service/index.js +6 -0
- package/services/setting-service/SettingService.d.ts +1 -0
- package/services/setting-service/SettingService.js +5 -10
- package/services/setting-service/constants.d.ts +4 -1
- package/services/setting-service/constants.js +14 -1
- package/services/storage-service/DatabaseService.d.ts +1 -0
- package/services/storage-service/DatabaseService.js +16 -44
- package/services/storage-service/databases/index.js +1 -1
- package/services/storage-service/db-stores/BaseStore.d.ts +1 -0
- package/services/storage-service/db-stores/BaseStore.js +3 -0
- package/services/transaction-service/constants.d.ts +1 -0
- package/services/transaction-service/constants.js +4 -0
- package/services/transaction-service/index.d.ts +2 -0
- package/services/transaction-service/index.js +32 -10
- package/services/transaction-service/utils.d.ts +1 -1
- package/services/transaction-service/utils.js +24 -13
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.KeyringService = void 0;
|
|
7
|
+
var _constants = require("@subwallet/extension-base/constants");
|
|
7
8
|
var _stores = require("@subwallet/extension-base/stores");
|
|
8
9
|
var _uiKeyring = require("@subwallet/ui-keyring");
|
|
9
10
|
var _rxjs = require("rxjs");
|
|
@@ -46,7 +47,6 @@ class KeyringService {
|
|
|
46
47
|
|
|
47
48
|
// Remove account
|
|
48
49
|
removedAddresses.forEach(address => {
|
|
49
|
-
console.log('account.remove', address);
|
|
50
50
|
this.eventService.emit('account.remove', address);
|
|
51
51
|
});
|
|
52
52
|
} else if (beforeAddresses.length < afterAddresses.length) {
|
|
@@ -54,7 +54,6 @@ class KeyringService {
|
|
|
54
54
|
|
|
55
55
|
// Add account
|
|
56
56
|
addedAddresses.forEach(address => {
|
|
57
|
-
console.log('account.add', address);
|
|
58
57
|
this.eventService.emit('account.add', address);
|
|
59
58
|
});
|
|
60
59
|
} else {
|
|
@@ -95,5 +94,13 @@ class KeyringService {
|
|
|
95
94
|
this.eventService.emit('account.updateCurrent', currentAccountData);
|
|
96
95
|
this.currentAccountStore.set('CurrentAccountInfo', currentAccountData);
|
|
97
96
|
}
|
|
97
|
+
resetWallet(resetAll) {
|
|
98
|
+
_uiKeyring.keyring.resetWallet(resetAll);
|
|
99
|
+
this.updateKeyringState();
|
|
100
|
+
this.currentAccountSubject.next({
|
|
101
|
+
address: _constants.ALL_ACCOUNT_KEY,
|
|
102
|
+
currentGenesisHash: null
|
|
103
|
+
});
|
|
104
|
+
}
|
|
98
105
|
}
|
|
99
106
|
exports.KeyringService = KeyringService;
|
|
@@ -17,10 +17,12 @@ class MigrationService {
|
|
|
17
17
|
this.logger = (0, _util.logger)('Migration');
|
|
18
18
|
}
|
|
19
19
|
async run() {
|
|
20
|
-
this.logger.log('Migrating...');
|
|
21
20
|
const keys = Object.keys(_scripts.default).sort((a, b) => a.localeCompare(b));
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
|
|
22
|
+
// Await timeout 2s
|
|
23
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
24
|
+
for (let i = 0; i < keys.length; i++) {
|
|
25
|
+
try {
|
|
24
26
|
const JobClass = _scripts.default[keys[i]];
|
|
25
27
|
const key = keys[i];
|
|
26
28
|
const name = JobClass.name;
|
|
@@ -29,7 +31,6 @@ class MigrationService {
|
|
|
29
31
|
key
|
|
30
32
|
}).first();
|
|
31
33
|
if (!check || key.startsWith(_scripts.EVERYTIME)) {
|
|
32
|
-
this.logger.log('Running script: ', JobClass.name);
|
|
33
34
|
const job = new JobClass(this.state);
|
|
34
35
|
await job.run();
|
|
35
36
|
await this.state.dbService.stores.migration.table.put({
|
|
@@ -38,11 +39,10 @@ class MigrationService {
|
|
|
38
39
|
timestamp: new Date().getTime()
|
|
39
40
|
});
|
|
40
41
|
}
|
|
42
|
+
} catch (error) {
|
|
43
|
+
this.logger.error('Migration error: ', _scripts.default[keys[i]].name, error);
|
|
41
44
|
}
|
|
42
|
-
} catch (error) {
|
|
43
|
-
this.logger.error('Migration error: ', error);
|
|
44
45
|
}
|
|
45
|
-
this.logger.log('Migration done.');
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
exports.default = MigrationService;
|
|
@@ -0,0 +1,39 @@
|
|
|
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 MigrateSettings extends _Base.default {
|
|
13
|
+
async run() {
|
|
14
|
+
try {
|
|
15
|
+
return new Promise(resolve => {
|
|
16
|
+
this.state.getAuthorize(value => {
|
|
17
|
+
if (value) {
|
|
18
|
+
const key = 'app.stellaswap.com';
|
|
19
|
+
const stellaSwap = value[key];
|
|
20
|
+
if (stellaSwap) {
|
|
21
|
+
stellaSwap.currentEvmNetworkKey = 'moonbeam';
|
|
22
|
+
value[key] = stellaSwap;
|
|
23
|
+
this.state.setAuthorize(value, () => {
|
|
24
|
+
resolve();
|
|
25
|
+
});
|
|
26
|
+
} else {
|
|
27
|
+
resolve();
|
|
28
|
+
}
|
|
29
|
+
} else {
|
|
30
|
+
resolve();
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
} catch (e) {
|
|
35
|
+
console.error(e);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = MigrateSettings;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 _constants = require("@subwallet/extension-base/services/setting-service/constants");
|
|
10
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
11
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
|
|
13
|
+
class MigrateAutoLock extends _Base.default {
|
|
14
|
+
async run() {
|
|
15
|
+
try {
|
|
16
|
+
return new Promise(resolve => {
|
|
17
|
+
this.state.settingService.getSettings(currentSettings => {
|
|
18
|
+
this.state.settingService.setSettings({
|
|
19
|
+
...currentSettings,
|
|
20
|
+
timeAutoLock: _constants.DEFAULT_AUTO_LOCK_TIME
|
|
21
|
+
});
|
|
22
|
+
resolve();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
} catch (e) {
|
|
26
|
+
console.error(e);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = MigrateAutoLock;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 _constants = require("@subwallet/extension-base/services/setting-service/constants");
|
|
10
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
11
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
|
|
13
|
+
class MigrateChainPatrol extends _Base.default {
|
|
14
|
+
async run() {
|
|
15
|
+
try {
|
|
16
|
+
return new Promise(resolve => {
|
|
17
|
+
this.state.settingService.getSettings(currentSettings => {
|
|
18
|
+
this.state.settingService.setSettings({
|
|
19
|
+
...currentSettings,
|
|
20
|
+
enableChainPatrol: _constants.DEFAULT_CHAIN_PATROL_ENABLE
|
|
21
|
+
});
|
|
22
|
+
resolve();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
} catch (e) {
|
|
26
|
+
console.error(e);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = MigrateChainPatrol;
|
|
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = exports.EVERYTIME = void 0;
|
|
8
8
|
var _AutoEnableChainsTokens = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/AutoEnableChainsTokens"));
|
|
9
|
+
var _MigrateAuthUrls = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateAuthUrls"));
|
|
10
|
+
var _MigrateAutoLock = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateAutoLock"));
|
|
11
|
+
var _MigrateChainPatrol = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateChainPatrol"));
|
|
9
12
|
var _MigrateImportedToken = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateImportedToken"));
|
|
10
13
|
var _MigrateNetworkSettings = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateNetworkSettings"));
|
|
11
14
|
var _MigrateSettings = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service/scripts/MigrateSettings"));
|
|
@@ -20,7 +23,10 @@ var _default = {
|
|
|
20
23
|
'1.0.1-20': _MigrateImportedToken.default,
|
|
21
24
|
'1.0.1-30': _MigrateTransactionHistory.default,
|
|
22
25
|
'1.0.1-40': _AutoEnableChainsTokens.default,
|
|
23
|
-
'1.0.1-50': _MigrateSettings.default
|
|
26
|
+
'1.0.1-50': _MigrateSettings.default,
|
|
27
|
+
'1.0.1-60': _MigrateAuthUrls.default,
|
|
28
|
+
'1.0.3-01': _MigrateAutoLock.default,
|
|
29
|
+
'1.0.3-02': _MigrateChainPatrol.default
|
|
24
30
|
// [`${EVERYTIME}-1`]: AutoEnableChainsTokens
|
|
25
31
|
};
|
|
26
32
|
exports.default = _default;
|
|
@@ -40,7 +40,6 @@ class PriceService {
|
|
|
40
40
|
}
|
|
41
41
|
refreshPriceData(priceIds) {
|
|
42
42
|
clearTimeout(this.refreshTimeout);
|
|
43
|
-
console.log('Refresh Price Data');
|
|
44
43
|
this.priceIds = priceIds || this.getPriceIds();
|
|
45
44
|
|
|
46
45
|
// Update for tokens price
|
|
@@ -69,7 +68,6 @@ class PriceService {
|
|
|
69
68
|
await this.eventService.waitAssetReady;
|
|
70
69
|
this.status = _types.ServiceStatus.INITIALIZED;
|
|
71
70
|
this.eventService.on('asset.updateState', eventHandler);
|
|
72
|
-
this.eventService.on('asset.updateState', eventHandler);
|
|
73
71
|
}
|
|
74
72
|
async loadData() {
|
|
75
73
|
const data = await this.dbService.getPriceStore();
|
|
@@ -80,7 +78,6 @@ class PriceService {
|
|
|
80
78
|
}
|
|
81
79
|
startPromiseHandler = (0, _promise.createPromiseHandler)();
|
|
82
80
|
async start() {
|
|
83
|
-
console.debug('Start price service');
|
|
84
81
|
try {
|
|
85
82
|
this.startPromiseHandler = (0, _promise.createPromiseHandler)();
|
|
86
83
|
this.status = _types.ServiceStatus.STARTING;
|
|
@@ -97,7 +94,6 @@ class PriceService {
|
|
|
97
94
|
}
|
|
98
95
|
stopPromiseHandler = (0, _promise.createPromiseHandler)();
|
|
99
96
|
async stop() {
|
|
100
|
-
console.debug('Stop price service');
|
|
101
97
|
try {
|
|
102
98
|
this.status = _types.ServiceStatus.STOPPING;
|
|
103
99
|
this.stopPromiseHandler = (0, _promise.createPromiseHandler)();
|
|
@@ -79,7 +79,7 @@ class AuthRequestHandler {
|
|
|
79
79
|
update(this.authorizeCached);
|
|
80
80
|
} else {
|
|
81
81
|
this.authorizeStore.get('authUrls', data => {
|
|
82
|
-
this.authorizeCached = data;
|
|
82
|
+
this.authorizeCached = data || {};
|
|
83
83
|
update(this.authorizeCached);
|
|
84
84
|
});
|
|
85
85
|
}
|
|
@@ -298,5 +298,12 @@ class AuthRequestHandler {
|
|
|
298
298
|
});
|
|
299
299
|
});
|
|
300
300
|
}
|
|
301
|
+
resetWallet() {
|
|
302
|
+
for (const request of Object.values(this.#authRequestsV2)) {
|
|
303
|
+
request.reject(new Error('Reset wallet'));
|
|
304
|
+
}
|
|
305
|
+
this.authSubjectV2.next([]);
|
|
306
|
+
this.setAuthorize({});
|
|
307
|
+
}
|
|
301
308
|
}
|
|
302
309
|
exports.default = AuthRequestHandler;
|
|
@@ -209,5 +209,26 @@ class EvmRequestHandler {
|
|
|
209
209
|
}
|
|
210
210
|
return true;
|
|
211
211
|
}
|
|
212
|
+
resetWallet() {
|
|
213
|
+
const confirmations = this.confirmationsQueueSubject.getValue();
|
|
214
|
+
for (const [type, requests] of Object.entries(confirmations)) {
|
|
215
|
+
for (const confirmation of Object.values(requests)) {
|
|
216
|
+
const {
|
|
217
|
+
id
|
|
218
|
+
} = confirmation;
|
|
219
|
+
const {
|
|
220
|
+
resolver
|
|
221
|
+
} = this.confirmationsPromiseMap[id];
|
|
222
|
+
if (!resolver || !confirmation) {
|
|
223
|
+
console.error('Not found confirmation', type, id);
|
|
224
|
+
} else {
|
|
225
|
+
resolver.reject(new Error('Reset wallet'));
|
|
226
|
+
}
|
|
227
|
+
delete this.confirmationsPromiseMap[id];
|
|
228
|
+
delete confirmations[type][id];
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
this.confirmationsQueueSubject.next(confirmations);
|
|
232
|
+
}
|
|
212
233
|
}
|
|
213
234
|
exports.default = EvmRequestHandler;
|
|
@@ -81,5 +81,11 @@ class MetadataRequestHandler {
|
|
|
81
81
|
this.#requestService.popupOpen();
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
+
resetWallet() {
|
|
85
|
+
for (const request of Object.values(this.#metaRequests)) {
|
|
86
|
+
request.reject(new Error('Reset wallet'));
|
|
87
|
+
}
|
|
88
|
+
this.metaSubject.next([]);
|
|
89
|
+
}
|
|
84
90
|
}
|
|
85
91
|
exports.default = MetadataRequestHandler;
|
|
@@ -101,5 +101,11 @@ class SubstrateRequestHandler {
|
|
|
101
101
|
}
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
|
+
resetWallet() {
|
|
105
|
+
for (const request of Object.values(this.#substrateRequests)) {
|
|
106
|
+
request.reject(new Error('Reset wallet'));
|
|
107
|
+
}
|
|
108
|
+
this.signSubject.next([]);
|
|
109
|
+
}
|
|
104
110
|
}
|
|
105
111
|
exports.default = SubstrateRequestHandler;
|
|
@@ -166,5 +166,11 @@ class RequestService {
|
|
|
166
166
|
get numRequests() {
|
|
167
167
|
return this.numMetaRequests + this.numAuthRequests + this.numSubstrateRequests + this.numEvmRequests;
|
|
168
168
|
}
|
|
169
|
+
resetWallet() {
|
|
170
|
+
this.#authRequestHandler.resetWallet();
|
|
171
|
+
this.#substrateRequestHandler.resetWallet();
|
|
172
|
+
this.#evmRequestHandler.resetWallet();
|
|
173
|
+
this.#metadataRequestHandler.resetWallet();
|
|
174
|
+
}
|
|
169
175
|
}
|
|
170
176
|
exports.default = RequestService;
|
|
@@ -18,15 +18,7 @@ class SettingService {
|
|
|
18
18
|
getSettings(update) {
|
|
19
19
|
this.settingsStore.get('Settings', value => {
|
|
20
20
|
if (!value) {
|
|
21
|
-
update(
|
|
22
|
-
// language: 'en',
|
|
23
|
-
browserConfirmationType: _constants.DEFAULT_NOTIFICATION_TYPE,
|
|
24
|
-
// isShowZeroBalance: true,
|
|
25
|
-
isShowBalance: false,
|
|
26
|
-
accountAllLogo: '',
|
|
27
|
-
theme: _constants.DEFAULT_THEME,
|
|
28
|
-
camera: false
|
|
29
|
-
});
|
|
21
|
+
update(_constants.DEFAULT_SETTING);
|
|
30
22
|
} else {
|
|
31
23
|
update(value);
|
|
32
24
|
}
|
|
@@ -35,5 +27,8 @@ class SettingService {
|
|
|
35
27
|
setSettings(data, callback) {
|
|
36
28
|
this.settingsStore.set('Settings', data, callback);
|
|
37
29
|
}
|
|
30
|
+
resetWallet() {
|
|
31
|
+
this.settingsStore.set('Settings', _constants.DEFAULT_SETTING);
|
|
32
|
+
}
|
|
38
33
|
}
|
|
39
34
|
exports.default = SettingService;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.DEFAULT_THEME = exports.DEFAULT_NOTIFICATION_TYPE = void 0;
|
|
6
|
+
exports.DEFAULT_THEME = exports.DEFAULT_SETTING = exports.DEFAULT_NOTIFICATION_TYPE = exports.DEFAULT_CHAIN_PATROL_ENABLE = exports.DEFAULT_AUTO_LOCK_TIME = void 0;
|
|
7
7
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
8
8
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
9
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -11,4 +11,20 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
11
11
|
const DEFAULT_THEME = _KoniTypes.ThemeNames.DARK;
|
|
12
12
|
exports.DEFAULT_THEME = DEFAULT_THEME;
|
|
13
13
|
const DEFAULT_NOTIFICATION_TYPE = 'popup';
|
|
14
|
-
exports.DEFAULT_NOTIFICATION_TYPE = DEFAULT_NOTIFICATION_TYPE;
|
|
14
|
+
exports.DEFAULT_NOTIFICATION_TYPE = DEFAULT_NOTIFICATION_TYPE;
|
|
15
|
+
const DEFAULT_AUTO_LOCK_TIME = 15;
|
|
16
|
+
exports.DEFAULT_AUTO_LOCK_TIME = DEFAULT_AUTO_LOCK_TIME;
|
|
17
|
+
const DEFAULT_CHAIN_PATROL_ENABLE = false;
|
|
18
|
+
exports.DEFAULT_CHAIN_PATROL_ENABLE = DEFAULT_CHAIN_PATROL_ENABLE;
|
|
19
|
+
const DEFAULT_SETTING = {
|
|
20
|
+
// language: 'en',
|
|
21
|
+
browserConfirmationType: DEFAULT_NOTIFICATION_TYPE,
|
|
22
|
+
// isShowZeroBalance: true,
|
|
23
|
+
isShowBalance: false,
|
|
24
|
+
accountAllLogo: '',
|
|
25
|
+
theme: DEFAULT_THEME,
|
|
26
|
+
camera: false,
|
|
27
|
+
timeAutoLock: DEFAULT_AUTO_LOCK_TIME,
|
|
28
|
+
enableChainPatrol: DEFAULT_CHAIN_PATROL_ENABLE
|
|
29
|
+
};
|
|
30
|
+
exports.DEFAULT_SETTING = DEFAULT_SETTING;
|
|
@@ -45,6 +45,7 @@ class DatabaseService {
|
|
|
45
45
|
const rs = await this.stores.price.table.get('usd');
|
|
46
46
|
return rs;
|
|
47
47
|
} catch (e) {
|
|
48
|
+
this.logger.error(e);
|
|
48
49
|
return undefined;
|
|
49
50
|
}
|
|
50
51
|
}
|
|
@@ -55,8 +56,6 @@ class DatabaseService {
|
|
|
55
56
|
}
|
|
56
57
|
async updateBalanceStore(address, item) {
|
|
57
58
|
if (item.state === _KoniTypes.APIItemState.READY) {
|
|
58
|
-
// this.logger.log(`Updating balance for [${item.tokenSlug}]`);
|
|
59
|
-
|
|
60
59
|
return this.stores.balance.upsert({
|
|
61
60
|
address,
|
|
62
61
|
...item
|
|
@@ -64,23 +63,18 @@ class DatabaseService {
|
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
65
|
async removeFromBalanceStore(assets) {
|
|
67
|
-
this.logger.log('Bulk removing AssetStore');
|
|
68
66
|
return this.stores.balance.removeBySlugs(assets);
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
// Crowdloan
|
|
72
70
|
async updateCrowdloanStore(chain, address, item) {
|
|
73
71
|
if (item.state === _KoniTypes.APIItemState.READY && item.contribute !== '0') {
|
|
74
|
-
// this.logger.log(`Updating crowdloan for [${chain}]`);
|
|
75
|
-
|
|
76
72
|
return this.stores.crowdloan.upsert({
|
|
77
73
|
chain,
|
|
78
74
|
address,
|
|
79
75
|
...item
|
|
80
76
|
});
|
|
81
77
|
} else {
|
|
82
|
-
// this.logger.debug(`Removing crowdloan for [${chain}]`);
|
|
83
|
-
|
|
84
78
|
return this.stores.crowdloan.deleteByChainAndAddress(chain, address);
|
|
85
79
|
}
|
|
86
80
|
}
|
|
@@ -88,22 +82,16 @@ class DatabaseService {
|
|
|
88
82
|
// Staking
|
|
89
83
|
async updateStaking(chain, address, item) {
|
|
90
84
|
if (item.state === _KoniTypes.APIItemState.READY) {
|
|
91
|
-
// this.logger.log(`Updating staking for [${chain}]`);
|
|
92
|
-
|
|
93
85
|
return this.stores.staking.upsert(item);
|
|
94
86
|
}
|
|
95
87
|
}
|
|
96
88
|
async getStakings(addresses, chains) {
|
|
97
|
-
// this.logger.log('Get Stakings: ', stakings);
|
|
98
|
-
|
|
99
89
|
return this.stores.staking.getStakings(addresses, chains);
|
|
100
90
|
}
|
|
101
91
|
async getStakingsByChains(chains) {
|
|
102
92
|
return this.stores.staking.getStakingsByChains(chains);
|
|
103
93
|
}
|
|
104
94
|
async getPooledStakings(addresses, chainHashes) {
|
|
105
|
-
// this.logger.log('Get Pooled Stakings: ', stakings);
|
|
106
|
-
|
|
107
95
|
return this.stores.staking.getPooledStakings(addresses, chainHashes);
|
|
108
96
|
}
|
|
109
97
|
subscribeStaking(addresses, chainList, callback) {
|
|
@@ -129,12 +117,10 @@ class DatabaseService {
|
|
|
129
117
|
return this.stores.transaction.queryHistory(query);
|
|
130
118
|
}
|
|
131
119
|
async upsertHistory(histories) {
|
|
132
|
-
// this.logger.log('Updating transaction histories');
|
|
133
120
|
const cleanedHistory = histories.filter(x => x && x.address && x.chain && x.extrinsicHash);
|
|
134
121
|
return this.stores.transaction.bulkUpsert(cleanedHistory);
|
|
135
122
|
}
|
|
136
123
|
async updateHistoryByNewExtrinsicHash(extrinsicHash, updateData) {
|
|
137
|
-
// this.logger.log('Updating transaction histories');
|
|
138
124
|
const canUpdate = updateData && extrinsicHash;
|
|
139
125
|
if (!canUpdate) {
|
|
140
126
|
return;
|
|
@@ -146,8 +132,6 @@ class DatabaseService {
|
|
|
146
132
|
|
|
147
133
|
// NFT Collection
|
|
148
134
|
async addNftCollection(collection) {
|
|
149
|
-
// this.logger.log(`Updating NFT collection for [${collection.chain}]`);
|
|
150
|
-
|
|
151
135
|
return this.stores.nftCollection.upsert(collection);
|
|
152
136
|
}
|
|
153
137
|
async deleteNftCollection(chain, collectionId) {
|
|
@@ -170,18 +154,12 @@ class DatabaseService {
|
|
|
170
154
|
if (ownNothing) {
|
|
171
155
|
return this.stores.nft.deleteNftsByChainAndOwner(chain, (0, _utils.reformatAddress)(owner, 42));
|
|
172
156
|
}
|
|
173
|
-
|
|
174
|
-
result > 0 && console.debug(`Cleaned up ${result} NFTs on chain ${chain} for owner ${(0, _utils.reformatAddress)(owner, 42)}`, collectionIds, nftIds);
|
|
175
|
-
return result;
|
|
157
|
+
return this.stores.nft.cleanUpNfts(chain, (0, _utils.reformatAddress)(owner, 42), collectionIds, nftIds);
|
|
176
158
|
}
|
|
177
159
|
async getNft(addresses, chainHashes) {
|
|
178
|
-
// this.logger.log('Get NFTs: ', nfts);
|
|
179
|
-
|
|
180
160
|
return this.stores.nft.getNft(addresses, chainHashes);
|
|
181
161
|
}
|
|
182
162
|
async addNft(address, nft) {
|
|
183
|
-
// this.logger.log(`Updating NFT for [${nft.chain}]`);
|
|
184
|
-
|
|
185
163
|
return this.stores.nft.upsert({
|
|
186
164
|
...nft,
|
|
187
165
|
address
|
|
@@ -191,54 +169,36 @@ class DatabaseService {
|
|
|
191
169
|
return this.stores.nft.deleteNftItem(chain, addresses, nftItem);
|
|
192
170
|
}
|
|
193
171
|
removeNfts(chain, address, collectionId, nftIds) {
|
|
194
|
-
// this.logger.log(`Remove NFTs [${nftIds.join(', ')}]`);
|
|
195
|
-
|
|
196
172
|
return this.stores.nft.removeNfts(chain, address, collectionId, nftIds);
|
|
197
173
|
}
|
|
198
174
|
|
|
199
175
|
// Chain
|
|
200
176
|
async updateChainStore(item) {
|
|
201
|
-
// this.logger.log(`Updating storageInfo for chain [${item.slug}]`);
|
|
202
|
-
|
|
203
177
|
return this.stores.chain.upsert(item);
|
|
204
178
|
}
|
|
205
179
|
async bulkUpdateChainStore(data) {
|
|
206
|
-
// this.logger.log('Bulk updating ChainStore');
|
|
207
|
-
|
|
208
180
|
return this.stores.chain.bulkUpsert(data);
|
|
209
181
|
}
|
|
210
182
|
async removeFromChainStore(chains) {
|
|
211
|
-
// this.logger.log('Bulk removing ChainStore');
|
|
212
|
-
|
|
213
183
|
return this.stores.chain.removeChains(chains);
|
|
214
184
|
}
|
|
215
185
|
async getAllChainStore() {
|
|
216
|
-
// this.logger.log('Get all chains: ', allChains);
|
|
217
|
-
|
|
218
186
|
return this.stores.chain.getAll();
|
|
219
187
|
}
|
|
220
188
|
|
|
221
189
|
// Asset
|
|
222
190
|
async updateAssetStore(item) {
|
|
223
|
-
// this.logger.log(`Updating storageInfo for chainAsset [${item.originChain}]`);
|
|
224
|
-
|
|
225
191
|
return this.stores.asset.upsert(item);
|
|
226
192
|
}
|
|
227
193
|
async getAllAssetStore() {
|
|
228
|
-
// this.logger.log('Get all stored assets: ', allAssets);
|
|
229
|
-
|
|
230
194
|
return this.stores.asset.getAll();
|
|
231
195
|
}
|
|
232
196
|
async removeFromAssetStore(items) {
|
|
233
|
-
// this.logger.log('Bulk removing AssetStore');
|
|
234
|
-
|
|
235
197
|
return this.stores.asset.removeAssets(items);
|
|
236
198
|
}
|
|
237
199
|
|
|
238
200
|
// Staking
|
|
239
201
|
async updateChainStakingMetadata(item) {
|
|
240
|
-
// this.logger.log('Update ChainStakingMetadata: ', item.chain);
|
|
241
|
-
|
|
242
202
|
return this.stores.chainStakingMetadata.upsert(item);
|
|
243
203
|
}
|
|
244
204
|
async getChainStakingMetadata() {
|
|
@@ -249,12 +209,24 @@ class DatabaseService {
|
|
|
249
209
|
return this.stores.chainStakingMetadata.getByChainAndType(chain, type);
|
|
250
210
|
}
|
|
251
211
|
async updateNominatorMetadata(item) {
|
|
252
|
-
// this.logger.log('Update NominatorMetadata: ', item.address, item.chain);
|
|
253
|
-
|
|
254
212
|
return this.stores.nominatorMetadata.upsert(item);
|
|
255
213
|
}
|
|
256
214
|
async getNominatorMetadata() {
|
|
257
215
|
return this.stores.nominatorMetadata.getAll();
|
|
258
216
|
}
|
|
217
|
+
async resetWallet(resetAll) {
|
|
218
|
+
return new Promise((resolve, reject) => {
|
|
219
|
+
const stores = [this.stores.balance, this.stores.nft, this.stores.nftCollection, this.stores.crowdloan, this.stores.staking, this.stores.transaction, this.stores.nominatorMetadata];
|
|
220
|
+
if (resetAll) {
|
|
221
|
+
stores.push(this.stores.chain, this.stores.asset);
|
|
222
|
+
}
|
|
223
|
+
const promises = stores.map(store => store.clear());
|
|
224
|
+
Promise.all(promises).then(() => {
|
|
225
|
+
resolve();
|
|
226
|
+
}).catch(e => {
|
|
227
|
+
reject(e);
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
}
|
|
259
231
|
}
|
|
260
232
|
exports.default = DatabaseService;
|
|
@@ -13,7 +13,7 @@ const DEFAULT_DATABASE = 'SubWalletDB_v2';
|
|
|
13
13
|
class KoniDatabase extends _dexie.default {
|
|
14
14
|
constructor() {
|
|
15
15
|
let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_DATABASE;
|
|
16
|
-
let schemaVersion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] :
|
|
16
|
+
let schemaVersion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 11;
|
|
17
17
|
super(name);
|
|
18
18
|
this.schemaVersion = schemaVersion;
|
|
19
19
|
this.conditionalVersion(1, {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TRANSACTION_TIMEOUT = void 0;
|
|
7
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
8
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
|
|
10
|
+
const TRANSACTION_TIMEOUT = 2 * 60 * 1000;
|
|
11
|
+
exports.TRANSACTION_TIMEOUT = TRANSACTION_TIMEOUT;
|