@subwallet/extension-base 1.3.21-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/cjs/packageInfo.js +1 -1
- package/cjs/services/chain-service/constants.js +8 -3
- package/cjs/services/chain-service/handler/SubstrateChainHandler.js +3 -2
- package/cjs/services/chain-service/index.js +9 -0
- package/cjs/services/earning-service/constants/chains.js +2 -1
- package/cjs/services/earning-service/handlers/native-staking/mythos.js +337 -0
- package/cjs/services/earning-service/service.js +4 -0
- package/cjs/services/earning-service/utils/index.js +2 -0
- 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/storage-service/DatabaseService.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/package.json +36 -21
- package/packageInfo.js +1 -1
- package/services/chain-service/constants.js +8 -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/earning-service/constants/chains.d.ts +1 -0
- package/services/earning-service/constants/chains.js +2 -1
- 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/service.js +4 -0
- package/services/earning-service/utils/index.js +2 -0
- 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/storage-service/DatabaseService.d.ts +1 -0
- package/services/storage-service/DatabaseService.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
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import BaseMigrationJob from '@subwallet/extension-base/services/migration-service/Base';
|
|
5
|
+
import { cacheMetadata, waitTimeout } from '@subwallet/extension-base/utils';
|
|
6
|
+
export default class ClearMetadataForChains extends BaseMigrationJob {
|
|
7
|
+
async run() {
|
|
8
|
+
const isClearAll = this.chains.length === 0;
|
|
9
|
+
if (isClearAll) {
|
|
10
|
+
// Clear all old metadata data
|
|
11
|
+
await this.state.dbService.stores.metadata.clear();
|
|
12
|
+
} else {
|
|
13
|
+
await this.state.dbService.stores.metadata.clearByChains(this.chains);
|
|
14
|
+
}
|
|
15
|
+
const activeChains = this.state.chainService.getActiveChains();
|
|
16
|
+
const chainInfoMap = this.state.chainService.getChainInfoMap();
|
|
17
|
+
const reloadChains = activeChains.filter(chain => {
|
|
18
|
+
var _chainInfoMap$chain$s;
|
|
19
|
+
return !!((_chainInfoMap$chain$s = chainInfoMap[chain].substrateInfo) !== null && _chainInfoMap$chain$s !== void 0 && _chainInfoMap$chain$s.genesisHash) && (isClearAll || this.chains.includes(chain));
|
|
20
|
+
});
|
|
21
|
+
for (const chain of reloadChains) {
|
|
22
|
+
const substrateApi = this.state.chainService.getSubstrateApi(chain);
|
|
23
|
+
const callback = substrateApi => {
|
|
24
|
+
cacheMetadata(chain, substrateApi, this.state.chainService);
|
|
25
|
+
};
|
|
26
|
+
Promise.race([substrateApi.isReady, waitTimeout(2000)]).finally(() => {
|
|
27
|
+
substrateApi === null || substrateApi === void 0 ? void 0 : substrateApi.connect(callback);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return Promise.resolve();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import ClearMetadataForChains from "./ClearMetadataForChains.js";
|
|
5
|
+
export default class ClearMetadataForMythos extends ClearMetadataForChains {
|
|
6
|
+
chains = ['mythos', 'muse_testnet'];
|
|
7
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import AutoEnableSomeTokens from "./databases/AutoEnableSomeTokens.js";
|
|
5
5
|
import ClearMetadataDatabase from "./databases/ClearMetadataDatabase.js";
|
|
6
|
+
import ClearMetadataForMythos from "./databases/ClearMetadataForMythos.js";
|
|
6
7
|
import MigrateAssetSetting from "./databases/MigrateAssetSetting.js";
|
|
7
8
|
import MigrateEarningVersion from "./databases/MigrateEarningVersion.js";
|
|
8
9
|
import ReloadMetadata from "./databases/ReloadMetadata.js";
|
|
@@ -31,6 +32,7 @@ import MigrateTransactionHistoryBridge from "./MigrateTransactionHistoryBridge.j
|
|
|
31
32
|
import MigrateTransactionHistoryBySymbol from "./MigrateTransactionHistoryBySymbol.js";
|
|
32
33
|
import MigrateWalletReference from "./MigrateWalletReference.js";
|
|
33
34
|
export const EVERYTIME = '__everytime__';
|
|
35
|
+
export const MYTHOS_MIGRATION_KEY = '1.3.21-01';
|
|
34
36
|
export default {
|
|
35
37
|
'1.0.1-11': MigrateNetworkSettings,
|
|
36
38
|
'1.0.1-20': MigrateImportedToken,
|
|
@@ -61,7 +63,8 @@ export default {
|
|
|
61
63
|
'1.2.13-01': ReloadMetadata,
|
|
62
64
|
'1.2.32-01': MigratePairData,
|
|
63
65
|
'1.3.6-01': MigrateTransactionHistoryBridge,
|
|
64
|
-
'1.3.10-01': ClearMetadataDatabase
|
|
66
|
+
'1.3.10-01': ClearMetadataDatabase,
|
|
67
|
+
[MYTHOS_MIGRATION_KEY]: ClearMetadataForMythos
|
|
65
68
|
// [`${EVERYTIME}-1.1.42-02`]: MigrateTransactionHistoryBySymbol
|
|
66
69
|
// [`${EVERYTIME}-1`]: AutoEnableChainsTokens
|
|
67
70
|
};
|
|
@@ -143,4 +143,5 @@ export default class DatabaseService {
|
|
|
143
143
|
getProcessTransactionById(processId: string): Promise<ProcessTransactionData | undefined>;
|
|
144
144
|
observableProcessTransactionById(processId: string): import("dexie").Observable<ProcessTransactionData | undefined>;
|
|
145
145
|
deleteProcessTransactionById(processId: string): Promise<void>;
|
|
146
|
+
hasRunScript(key: string): Promise<boolean>;
|
|
146
147
|
}
|
|
@@ -639,6 +639,9 @@ export default class DatabaseService {
|
|
|
639
639
|
deleteProcessTransactionById(processId) {
|
|
640
640
|
return this.stores.processTransactions.delete(processId);
|
|
641
641
|
}
|
|
642
|
+
hasRunScript(key) {
|
|
643
|
+
return this.stores.migration.hasRunScript(key);
|
|
644
|
+
}
|
|
642
645
|
|
|
643
646
|
// public setAssetRef (assetRef: Record<string, _AssetRef>) {
|
|
644
647
|
// const assetRefList = Object.entries(assetRef).map(([slug, item]) => {
|
|
@@ -5,4 +5,5 @@ export default class MetadataStore extends BaseStoreWithChain<IMetadataItem> {
|
|
|
5
5
|
upsertMetadata(chain: string, metadata: IMetadataItem): import("dexie").PromiseExtended<unknown>;
|
|
6
6
|
getMetadataByGenesisHash(genesisHash: string): import("dexie").PromiseExtended<IMetadataItem | undefined>;
|
|
7
7
|
updateMetadataByGenesisHash(genesisHash: string, metadata: IMetadataItem): import("dexie").PromiseExtended<unknown>;
|
|
8
|
+
clearByChains(chains: string[]): import("dexie").PromiseExtended<number>;
|
|
8
9
|
}
|
|
@@ -15,4 +15,7 @@ export default class MetadataStore extends BaseStoreWithChain {
|
|
|
15
15
|
updateMetadataByGenesisHash(genesisHash, metadata) {
|
|
16
16
|
return this.table.put(metadata, genesisHash);
|
|
17
17
|
}
|
|
18
|
+
clearByChains(chains) {
|
|
19
|
+
return this.table.where('chain').anyOf(chains).delete();
|
|
20
|
+
}
|
|
18
21
|
}
|
|
@@ -2,4 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
4
|
import BaseStore from "./BaseStore.js";
|
|
5
|
-
export default class MigrationStore extends BaseStore {
|
|
5
|
+
export default class MigrationStore extends BaseStore {
|
|
6
|
+
async hasRunScript(key) {
|
|
7
|
+
const rs = await this.table.where('key').equals(key).first();
|
|
8
|
+
return !!rs;
|
|
9
|
+
}
|
|
10
|
+
}
|