@subwallet/extension-base 1.1.33-beta.1 → 1.1.34-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 +69 -120
- package/background/KoniTypes.js +13 -22
- package/background/errors/TransactionError.js +0 -9
- package/cjs/background/KoniTypes.js +16 -23
- package/cjs/background/errors/TransactionError.js +0 -9
- package/cjs/constants/index.js +4 -19
- package/cjs/koni/api/nft/config.js +23 -33
- package/cjs/koni/api/nft/index.js +0 -14
- package/cjs/koni/api/nft/nft.js +22 -1
- package/cjs/koni/api/staking/bonding/amplitude.js +16 -19
- package/cjs/koni/api/staking/bonding/astar.js +10 -11
- package/cjs/koni/api/staking/bonding/index.js +1 -4
- package/cjs/koni/api/staking/bonding/paraChain.js +23 -25
- package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
- package/cjs/koni/api/staking/bonding/utils.js +86 -104
- package/cjs/koni/api/staking/index.js +5 -6
- package/cjs/koni/api/staking/paraChain.js +17 -10
- package/cjs/koni/api/staking/relayChain.js +2 -3
- package/cjs/koni/background/cron.js +21 -3
- package/cjs/koni/background/handlers/Extension.js +69 -368
- package/cjs/koni/background/handlers/State.js +12 -18
- package/cjs/koni/background/handlers/index.js +2 -4
- package/cjs/koni/background/subscription.js +104 -7
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +1 -3
- package/cjs/services/campaign-service/index.js +6 -9
- package/cjs/services/chain-service/constants.js +17 -2
- package/cjs/services/chain-service/index.js +3 -25
- package/cjs/services/chain-service/utils.js +1 -7
- package/cjs/services/event-service/index.js +0 -5
- package/cjs/services/keyring-service/index.js +2 -14
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/index.js +1 -6
- package/cjs/services/notification-service/NotificationService.js +1 -1
- package/cjs/services/storage-service/DatabaseService.js +1 -92
- package/cjs/services/storage-service/databases/index.js +0 -7
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/subscan-service/index.js +0 -16
- package/cjs/services/transaction-service/event-parser/index.js +0 -58
- package/cjs/services/transaction-service/helpers/index.js +1 -3
- package/cjs/services/transaction-service/index.js +75 -252
- package/cjs/services/transaction-service/utils.js +0 -1
- package/cjs/types/index.js +0 -44
- package/cjs/utils/fetchStaticData.js +1 -2
- package/cjs/utils/index.js +1 -89
- package/cjs/utils/number.js +2 -6
- package/constants/index.d.ts +1 -6
- package/constants/index.js +1 -6
- package/koni/api/nft/config.js +23 -33
- package/koni/api/nft/index.js +1 -15
- package/koni/api/nft/nft.js +23 -2
- package/koni/api/staking/bonding/amplitude.js +10 -13
- package/koni/api/staking/bonding/astar.js +8 -9
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +1 -5
- package/koni/api/staking/bonding/paraChain.js +10 -12
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +30 -33
- package/koni/api/staking/bonding/utils.d.ts +38 -15
- package/koni/api/staking/bonding/utils.js +69 -85
- package/koni/api/staking/index.js +1 -2
- package/koni/api/staking/paraChain.js +18 -11
- package/koni/api/staking/relayChain.js +3 -4
- package/koni/background/cron.d.ts +4 -0
- package/koni/background/cron.js +22 -4
- package/koni/background/handlers/Extension.d.ts +1 -17
- package/koni/background/handlers/Extension.js +30 -327
- package/koni/background/handlers/State.d.ts +1 -6
- package/koni/background/handlers/State.js +12 -17
- package/koni/background/handlers/index.js +2 -4
- package/koni/background/subscription.d.ts +6 -1
- package/koni/background/subscription.js +104 -8
- package/package.json +8 -331
- package/packageInfo.js +1 -1
- package/services/balance-service/helpers/subscribe/substrate/index.js +2 -4
- package/services/campaign-service/index.js +6 -9
- package/services/chain-service/constants.d.ts +13 -1
- package/services/chain-service/constants.js +15 -1
- package/services/chain-service/index.d.ts +0 -2
- package/services/chain-service/index.js +3 -25
- package/services/chain-service/utils.d.ts +0 -1
- package/services/chain-service/utils.js +1 -5
- package/services/event-service/index.d.ts +0 -2
- package/services/event-service/index.js +0 -5
- package/services/event-service/types.d.ts +0 -9
- package/services/keyring-service/index.d.ts +1 -2
- package/services/keyring-service/index.js +2 -14
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/index.js +1 -6
- package/services/notification-service/NotificationService.js +1 -1
- package/services/storage-service/DatabaseService.d.ts +3 -30
- package/services/storage-service/DatabaseService.js +1 -91
- package/services/storage-service/databases/index.d.ts +2 -8
- package/services/storage-service/databases/index.js +0 -7
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/subscan-service/index.d.ts +2 -3
- package/services/subscan-service/index.js +0 -15
- package/services/subscan-service/types.d.ts +0 -20
- package/services/transaction-service/event-parser/index.d.ts +1 -3
- package/services/transaction-service/event-parser/index.js +1 -57
- package/services/transaction-service/helpers/index.js +1 -3
- package/services/transaction-service/index.d.ts +13 -6
- package/services/transaction-service/index.js +73 -250
- package/services/transaction-service/types.d.ts +0 -2
- package/services/transaction-service/utils.js +0 -1
- package/types/index.d.ts +0 -5
- package/types/index.js +1 -5
- package/utils/fetchStaticData.js +1 -2
- package/utils/index.d.ts +0 -5
- package/utils/index.js +0 -52
- package/utils/number.d.ts +1 -2
- package/utils/number.js +1 -2
- package/cjs/koni/api/dotsama/balance.js +0 -464
- package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
- package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
- package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
- package/cjs/koni/api/yield/helper/utils.js +0 -49
- package/cjs/services/earning-service/constants/chains.js +0 -30
- package/cjs/services/earning-service/constants/index.js +0 -27
- package/cjs/services/earning-service/constants/step.js +0 -18
- package/cjs/services/earning-service/handlers/base.js +0 -262
- package/cjs/services/earning-service/handlers/index.js +0 -60
- package/cjs/services/earning-service/handlers/lending/base.js +0 -81
- package/cjs/services/earning-service/handlers/lending/index.js +0 -13
- package/cjs/services/earning-service/handlers/lending/interlay.js +0 -192
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -240
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -98
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +0 -140
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -299
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -41
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -227
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -404
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -434
- package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -466
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -146
- package/cjs/services/earning-service/handlers/native-staking/base.js +0 -161
- package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -390
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -567
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -566
- package/cjs/services/earning-service/handlers/special.js +0 -497
- package/cjs/services/earning-service/service.js +0 -741
- package/cjs/services/earning-service/utils/index.js +0 -128
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
- package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
- package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -21
- package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -21
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
- package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
- package/cjs/services/mint-campaign-service/constants.js +0 -11
- package/cjs/services/mint-campaign-service/index.js +0 -18
- package/cjs/services/storage-service/db-stores/AssetRef.js +0 -24
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -71
- package/cjs/services/storage-service/index.js +0 -241
- package/cjs/types/campaigns/index.js +0 -16
- package/cjs/types/campaigns/unlock-dot.js +0 -1
- package/cjs/types/ordinal.js +0 -1
- package/cjs/types/transaction.js +0 -1
- package/cjs/types/yield/actions/index.js +0 -27
- package/cjs/types/yield/actions/join/index.js +0 -38
- package/cjs/types/yield/actions/join/step.js +0 -48
- package/cjs/types/yield/actions/join/submit.js +0 -1
- package/cjs/types/yield/actions/join/validate.js +0 -16
- package/cjs/types/yield/actions/others.js +0 -1
- package/cjs/types/yield/index.js +0 -27
- package/cjs/types/yield/info/account/index.js +0 -49
- package/cjs/types/yield/info/account/info.js +0 -1
- package/cjs/types/yield/info/account/reward.js +0 -1
- package/cjs/types/yield/info/account/target.js +0 -32
- package/cjs/types/yield/info/account/unstake.js +0 -27
- package/cjs/types/yield/info/base.js +0 -41
- package/cjs/types/yield/info/chain/index.js +0 -27
- package/cjs/types/yield/info/chain/info.js +0 -1
- package/cjs/types/yield/info/chain/target.js +0 -1
- package/cjs/types/yield/info/index.js +0 -49
- package/cjs/types/yield/info/pallet.js +0 -15
- package/cjs/types.js +0 -1
- package/cjs/utils/address.js +0 -34
- package/cjs/utils/keyring.js +0 -57
- package/cjs/utils/object.js +0 -12
- package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
- package/koni/api/nft/ordinal_nft/constants.js +0 -12
- package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
- package/koni/api/nft/ordinal_nft/index.js +0 -114
- package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
- package/koni/api/nft/ordinal_nft/utils.js +0 -33
- package/koni/api/yield/helper/utils.d.ts +0 -10
- package/koni/api/yield/helper/utils.js +0 -34
- package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
- package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
- package/services/earning-service/constants/chains.d.ts +0 -15
- package/services/earning-service/constants/chains.js +0 -22
- package/services/earning-service/constants/index.d.ts +0 -2
- package/services/earning-service/constants/index.js +0 -5
- package/services/earning-service/constants/step.d.ts +0 -3
- package/services/earning-service/constants/step.js +0 -10
- package/services/earning-service/handlers/base.d.ts +0 -113
- package/services/earning-service/handlers/base.js +0 -256
- package/services/earning-service/handlers/index.d.ts +0 -5
- package/services/earning-service/handlers/index.js +0 -8
- package/services/earning-service/handlers/lending/base.d.ts +0 -8
- package/services/earning-service/handlers/lending/base.js +0 -73
- package/services/earning-service/handlers/lending/index.d.ts +0 -1
- package/services/earning-service/handlers/lending/index.js +0 -4
- package/services/earning-service/handlers/lending/interlay.d.ts +0 -24
- package/services/earning-service/handlers/lending/interlay.js +0 -184
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -232
- package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -11
- package/services/earning-service/handlers/liquid-staking/base.js +0 -90
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.d.ts +0 -37
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +0 -132
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -46
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -288
- package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -5
- package/services/earning-service/handlers/liquid-staking/index.js +0 -8
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -26
- package/services/earning-service/handlers/liquid-staking/parallel.js +0 -219
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -34
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -394
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
- package/services/earning-service/handlers/native-staking/amplitude.js +0 -425
- package/services/earning-service/handlers/native-staking/astar.d.ts +0 -19
- package/services/earning-service/handlers/native-staking/astar.js +0 -456
- package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
- package/services/earning-service/handlers/native-staking/base-para.js +0 -138
- package/services/earning-service/handlers/native-staking/base.d.ts +0 -21
- package/services/earning-service/handlers/native-staking/base.js +0 -152
- package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
- package/services/earning-service/handlers/native-staking/index.js +0 -7
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
- package/services/earning-service/handlers/native-staking/para-chain.js +0 -382
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
- package/services/earning-service/handlers/native-staking/relay-chain.js +0 -558
- package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -36
- package/services/earning-service/handlers/nomination-pool/index.js +0 -556
- package/services/earning-service/handlers/special.d.ts +0 -64
- package/services/earning-service/handlers/special.js +0 -489
- package/services/earning-service/service.d.ts +0 -94
- package/services/earning-service/service.js +0 -730
- package/services/earning-service/utils/index.d.ts +0 -18
- package/services/earning-service/utils/index.js +0 -112
- package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
- package/services/migration-service/scripts/DeleteEarningData.js +0 -13
- package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
- package/services/migration-service/scripts/EnableEarningChains.js +0 -13
- package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +0 -4
- package/services/migration-service/scripts/databases/MigrateEarningHistory.js +0 -13
- package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +0 -4
- package/services/migration-service/scripts/databases/MigrateEarningVersion.js +0 -13
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
- package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
- package/services/mint-campaign-service/campaigns/index.js +0 -4
- package/services/mint-campaign-service/constants.d.ts +0 -1
- package/services/mint-campaign-service/constants.js +0 -4
- package/services/mint-campaign-service/index.d.ts +0 -7
- package/services/mint-campaign-service/index.js +0 -11
- package/services/storage-service/db-stores/AssetRef.d.ts +0 -7
- package/services/storage-service/db-stores/AssetRef.js +0 -16
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
- package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -11
- package/services/storage-service/db-stores/YieldPositionStore.js +0 -63
- package/types/campaigns/index.d.ts +0 -1
- package/types/campaigns/index.js +0 -4
- package/types/campaigns/unlock-dot.d.ts +0 -71
- package/types/campaigns/unlock-dot.js +0 -1
- package/types/ordinal.d.ts +0 -69
- package/types/ordinal.js +0 -1
- package/types/transaction.d.ts +0 -3
- package/types/transaction.js +0 -1
- package/types/yield/actions/index.d.ts +0 -2
- package/types/yield/actions/index.js +0 -5
- package/types/yield/actions/join/index.d.ts +0 -3
- package/types/yield/actions/join/index.js +0 -6
- package/types/yield/actions/join/step.d.ts +0 -96
- package/types/yield/actions/join/step.js +0 -47
- package/types/yield/actions/join/submit.d.ts +0 -58
- package/types/yield/actions/join/submit.js +0 -1
- package/types/yield/actions/join/validate.d.ts +0 -18
- package/types/yield/actions/join/validate.js +0 -10
- package/types/yield/actions/others.d.ts +0 -85
- package/types/yield/actions/others.js +0 -1
- package/types/yield/index.d.ts +0 -2
- package/types/yield/index.js +0 -5
- package/types/yield/info/account/index.d.ts +0 -4
- package/types/yield/info/account/index.js +0 -7
- package/types/yield/info/account/info.d.ts +0 -92
- package/types/yield/info/account/info.js +0 -1
- package/types/yield/info/account/reward.d.ts +0 -47
- package/types/yield/info/account/reward.js +0 -1
- package/types/yield/info/account/target.d.ts +0 -43
- package/types/yield/info/account/target.js +0 -27
- package/types/yield/info/account/unstake.d.ts +0 -31
- package/types/yield/info/account/unstake.js +0 -22
- package/types/yield/info/base.d.ts +0 -45
- package/types/yield/info/base.js +0 -36
- package/types/yield/info/chain/index.d.ts +0 -2
- package/types/yield/info/chain/index.js +0 -5
- package/types/yield/info/chain/info.d.ts +0 -252
- package/types/yield/info/chain/info.js +0 -1
- package/types/yield/info/chain/target.d.ts +0 -37
- package/types/yield/info/chain/target.js +0 -1
- package/types/yield/info/index.d.ts +0 -4
- package/types/yield/info/index.js +0 -7
- package/types/yield/info/pallet.d.ts +0 -143
- package/types/yield/info/pallet.js +0 -9
- package/utils/object.d.ts +0 -1
- package/utils/object.js +0 -6
|
@@ -213,9 +213,8 @@ export class ChainService {
|
|
|
213
213
|
getActiveChainInfos() {
|
|
214
214
|
const result = {};
|
|
215
215
|
Object.values(this.getChainStateMap()).forEach(chainState => {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
result[chainState.slug] = chainInfo;
|
|
216
|
+
if (chainState.active) {
|
|
217
|
+
result[chainState.slug] = this.getChainInfoByKey(chainState.slug);
|
|
219
218
|
}
|
|
220
219
|
});
|
|
221
220
|
return result;
|
|
@@ -397,8 +396,7 @@ export class ChainService {
|
|
|
397
396
|
|
|
398
397
|
// TODO: reconsider the flow of initiation
|
|
399
398
|
this.multiChainAssetMapSubject.next(MultiChainAssetMap);
|
|
400
|
-
|
|
401
|
-
this.dataMap.assetRefMap = storedAssetRefMap && Object.values(storedAssetRefMap).length > 0 ? storedAssetRefMap : AssetRefMap;
|
|
399
|
+
this.dataMap.assetRefMap = AssetRefMap;
|
|
402
400
|
await this.initChains();
|
|
403
401
|
this.chainInfoMapSubject.next(this.getChainInfoMap());
|
|
404
402
|
this.updateChainStateMapSubscription();
|
|
@@ -410,8 +408,6 @@ export class ChainService {
|
|
|
410
408
|
}
|
|
411
409
|
checkLatestData() {
|
|
412
410
|
clearInterval(this.refreshLatestChainDataTimeOut);
|
|
413
|
-
this.handleLatestData();
|
|
414
|
-
this.handleLatestData();
|
|
415
411
|
this.refreshLatestChainDataTimeOut = setInterval(this.handleLatestData.bind(this), LATEST_CHAIN_DATA_FETCHING_INTERVAL);
|
|
416
412
|
}
|
|
417
413
|
stopCheckLatestChainData() {
|
|
@@ -436,18 +432,6 @@ export class ChainService {
|
|
|
436
432
|
console.error('Error fetching latest chain data');
|
|
437
433
|
}
|
|
438
434
|
}
|
|
439
|
-
handleLatestBlockedAssetRef(latestBlockedAssetRefList) {
|
|
440
|
-
if (latestBlockedAssetRefList.length > 0) {
|
|
441
|
-
latestBlockedAssetRefList.forEach(blockedAssetRef => {
|
|
442
|
-
delete this.dataMap.assetRefMap[blockedAssetRef];
|
|
443
|
-
});
|
|
444
|
-
} else {
|
|
445
|
-
this.dataMap.assetRefMap = AssetRefMap;
|
|
446
|
-
}
|
|
447
|
-
this.dbService.setAssetRef(this.dataMap.assetRefMap).catch(console.error);
|
|
448
|
-
this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
|
|
449
|
-
this.logger.log('Finished updating latest asset ref');
|
|
450
|
-
}
|
|
451
435
|
handleLatestPriceId(latestPriceIds) {
|
|
452
436
|
Object.entries(latestPriceIds).forEach(([slug, priceId]) => {
|
|
453
437
|
if (this.dataMap.assetRegistry[slug]) {
|
|
@@ -462,9 +446,6 @@ export class ChainService {
|
|
|
462
446
|
this.fetchLatestChainData().then(latestChainInfo => {
|
|
463
447
|
this.handleLatestProviderData(latestChainInfo);
|
|
464
448
|
}).catch(console.error);
|
|
465
|
-
this.fetchLatestBlockedAssetRef().then(latestAssetRef => {
|
|
466
|
-
this.handleLatestBlockedAssetRef(latestAssetRef);
|
|
467
|
-
}).catch(console.error);
|
|
468
449
|
|
|
469
450
|
// this.fetchLatestPriceIdsData().then((latestPriceIds) => {
|
|
470
451
|
// this.handleLatestPriceId(latestPriceIds);
|
|
@@ -668,9 +649,6 @@ export class ChainService {
|
|
|
668
649
|
async fetchLatestPriceIdsData() {
|
|
669
650
|
return await fetchStaticData('chain-assets/price-map');
|
|
670
651
|
}
|
|
671
|
-
async fetchLatestBlockedAssetRef() {
|
|
672
|
-
return await fetchStaticData('chain-assets/disabled-xcm-channels');
|
|
673
|
-
}
|
|
674
652
|
async initChains() {
|
|
675
653
|
const storedChainSettings = await this.dbService.getAllChainStore();
|
|
676
654
|
const defaultChainInfoMap = ChainInfoMap;
|
|
@@ -31,7 +31,6 @@ export declare function _getChainSubstrateAddressPrefix(chainInfo: _ChainInfo):
|
|
|
31
31
|
export declare function _isChainSupportNativeNft(chainInfo: _ChainInfo): boolean;
|
|
32
32
|
export declare function _isChainSupportEvmNft(chainInfo: _ChainInfo): boolean;
|
|
33
33
|
export declare function _isChainSupportWasmNft(chainInfo: _ChainInfo): boolean;
|
|
34
|
-
export declare const _isSupportOrdinal: (chain: string) => boolean;
|
|
35
34
|
export declare function _getNftTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
|
|
36
35
|
export declare function _getTokenTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
|
|
37
36
|
export declare function _getChainNativeTokenBasicInfo(chainInfo: _ChainInfo): BasicTokenInfo;
|
|
@@ -92,7 +92,7 @@ export function _getTokenMinAmount(tokenInfo) {
|
|
|
92
92
|
return tokenInfo.minAmount || '0';
|
|
93
93
|
}
|
|
94
94
|
export function _isChainEvmCompatible(chainInfo) {
|
|
95
|
-
return
|
|
95
|
+
return chainInfo.evmInfo !== undefined && chainInfo.evmInfo !== null;
|
|
96
96
|
}
|
|
97
97
|
export function _isNativeToken(tokenInfo) {
|
|
98
98
|
return tokenInfo.assetType === _AssetType.NATIVE;
|
|
@@ -147,10 +147,6 @@ export function _isChainSupportWasmNft(chainInfo) {
|
|
|
147
147
|
var _chainInfo$substrateI8, _chainInfo$substrateI9;
|
|
148
148
|
return ((_chainInfo$substrateI8 = chainInfo.substrateInfo) === null || _chainInfo$substrateI8 === void 0 ? void 0 : (_chainInfo$substrateI9 = _chainInfo$substrateI8.supportSmartContract) === null || _chainInfo$substrateI9 === void 0 ? void 0 : _chainInfo$substrateI9.includes(_AssetType.PSP34)) || false;
|
|
149
149
|
}
|
|
150
|
-
export const _isSupportOrdinal = chain => {
|
|
151
|
-
const chains = ['polkadot', 'astar', 'bifrost_dot', 'moonbeam'];
|
|
152
|
-
return chains.includes(chain);
|
|
153
|
-
};
|
|
154
150
|
export function _getNftTypesSupportedByChain(chainInfo) {
|
|
155
151
|
const result = [];
|
|
156
152
|
if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
|
|
@@ -8,14 +8,12 @@ export declare class EventService extends EventEmitter<EventRegistry> {
|
|
|
8
8
|
readonly waitDatabaseReady: Promise<boolean>;
|
|
9
9
|
readonly waitKeyringReady: Promise<boolean>;
|
|
10
10
|
readonly waitAccountReady: Promise<boolean>;
|
|
11
|
-
readonly waitInjectReady: Promise<boolean>;
|
|
12
11
|
readonly waitChainReady: Promise<boolean>;
|
|
13
12
|
readonly waitAssetReady: Promise<boolean>;
|
|
14
13
|
readonly waitMigrateReady: Promise<boolean>;
|
|
15
14
|
readonly waitCampaignReady: Promise<boolean>;
|
|
16
15
|
readonly waitBuyTokenReady: Promise<boolean>;
|
|
17
16
|
readonly waitBuyServiceReady: Promise<boolean>;
|
|
18
|
-
readonly waitEarningReady: Promise<boolean>;
|
|
19
17
|
constructor();
|
|
20
18
|
private generateWaitPromise;
|
|
21
19
|
private setLazyTimeout;
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
// Stateless service handle runtime event on background
|
|
5
5
|
|
|
6
|
-
import { TARGET_ENV } from '@subwallet/extension-base/utils';
|
|
7
6
|
import EventEmitter from 'eventemitter3';
|
|
8
7
|
const DEFAULT_LAZY_TIME = 300;
|
|
9
8
|
const LONG_LAZY_TIME = 900;
|
|
@@ -18,20 +17,16 @@ export class EventService extends EventEmitter {
|
|
|
18
17
|
this.waitDatabaseReady = this.generateWaitPromise('database.ready');
|
|
19
18
|
this.waitKeyringReady = this.generateWaitPromise('keyring.ready');
|
|
20
19
|
this.waitAccountReady = this.generateWaitPromise('account.ready');
|
|
21
|
-
// TODO: Need to merge logic on web-runner file
|
|
22
|
-
this.waitInjectReady = TARGET_ENV === 'webapp' ? this.generateWaitPromise('inject.ready') : Promise.resolve(true);
|
|
23
20
|
this.waitChainReady = this.generateWaitPromise('chain.ready');
|
|
24
21
|
this.waitAssetReady = this.generateWaitPromise('asset.ready');
|
|
25
22
|
this.waitMigrateReady = this.generateWaitPromise('migration.done');
|
|
26
23
|
this.waitCampaignReady = this.generateWaitPromise('campaign.ready');
|
|
27
24
|
this.waitBuyTokenReady = this.generateWaitPromise('buy.tokens.ready');
|
|
28
25
|
this.waitBuyServiceReady = this.generateWaitPromise('buy.services.ready');
|
|
29
|
-
this.waitEarningReady = this.generateWaitPromise('earning.ready');
|
|
30
26
|
}
|
|
31
27
|
generateWaitPromise(eventType) {
|
|
32
28
|
return new Promise(resolve => {
|
|
33
29
|
this.once(eventType, isReady => {
|
|
34
|
-
console.log('===LOG generateWaitPromise eventType', eventType);
|
|
35
30
|
resolve(isReady);
|
|
36
31
|
});
|
|
37
32
|
});
|
|
@@ -5,20 +5,12 @@ export interface EventRegistry {
|
|
|
5
5
|
'general.wakeup': [boolean];
|
|
6
6
|
'crypto.ready': [boolean];
|
|
7
7
|
'database.ready': [boolean];
|
|
8
|
-
/** Password state ready */
|
|
9
8
|
'keyring.ready': [boolean];
|
|
10
|
-
/** Update current account */
|
|
11
9
|
'account.updateCurrent': [CurrentAccountInfo];
|
|
12
|
-
/** Account list loaded */
|
|
13
10
|
'account.ready': [boolean];
|
|
14
|
-
/** Add a new account */
|
|
15
11
|
'account.add': [string];
|
|
16
|
-
/** Update account */
|
|
17
12
|
'account.update': [string];
|
|
18
|
-
/** Remove a account */
|
|
19
13
|
'account.remove': [string];
|
|
20
|
-
/** Inject account done */
|
|
21
|
-
'inject.ready': [boolean];
|
|
22
14
|
'chain.ready': [boolean];
|
|
23
15
|
'chain.add': [string];
|
|
24
16
|
'chain.updateState': [string];
|
|
@@ -36,7 +28,6 @@ export interface EventRegistry {
|
|
|
36
28
|
'campaign.ready': [boolean];
|
|
37
29
|
'buy.tokens.ready': [boolean];
|
|
38
30
|
'buy.services.ready': [boolean];
|
|
39
|
-
'earning.ready': [boolean];
|
|
40
31
|
}
|
|
41
32
|
export declare type EventType = keyof EventRegistry;
|
|
42
33
|
export declare const COMMON_RELOAD_EVENTS: EventType[];
|
|
@@ -10,7 +10,6 @@ export declare class KeyringService {
|
|
|
10
10
|
readonly addressesSubject: BehaviorSubject<SubjectInfo>;
|
|
11
11
|
readonly accountSubject: BehaviorSubject<SubjectInfo>;
|
|
12
12
|
private beforeAccount;
|
|
13
|
-
private injected;
|
|
14
13
|
readonly keyringStateSubject: BehaviorSubject<KeyringState>;
|
|
15
14
|
constructor(eventService: EventService);
|
|
16
15
|
private subscribeAccounts;
|
|
@@ -22,6 +21,6 @@ export declare class KeyringService {
|
|
|
22
21
|
setCurrentAccount(currentAccountData: CurrentAccountInfo): void;
|
|
23
22
|
lock(): void;
|
|
24
23
|
addInjectAccounts(accounts: InjectedAccountWithMeta[]): void;
|
|
25
|
-
removeInjectAccounts(
|
|
24
|
+
removeInjectAccounts(addresses: string[]): void;
|
|
26
25
|
resetWallet(resetAll: boolean): Promise<void>;
|
|
27
26
|
}
|
|
@@ -22,7 +22,6 @@ export class KeyringService {
|
|
|
22
22
|
});
|
|
23
23
|
constructor(eventService) {
|
|
24
24
|
this.eventService = eventService;
|
|
25
|
-
this.injected = false;
|
|
26
25
|
this.eventService.waitCryptoReady.then(() => {
|
|
27
26
|
this.currentAccountStore.get('CurrentAccountInfo', rs => {
|
|
28
27
|
rs && this.currentAccountSubject.next(rs);
|
|
@@ -134,19 +133,8 @@ export class KeyringService {
|
|
|
134
133
|
currentGenesisHash: null
|
|
135
134
|
});
|
|
136
135
|
}
|
|
137
|
-
if (!this.injected) {
|
|
138
|
-
this.eventService.emit('inject.ready', true);
|
|
139
|
-
this.injected = true;
|
|
140
|
-
}
|
|
141
136
|
}
|
|
142
|
-
removeInjectAccounts(
|
|
143
|
-
const addresses = _addresses.map(address => {
|
|
144
|
-
try {
|
|
145
|
-
return keyring.getPair(address).address;
|
|
146
|
-
} catch (error) {
|
|
147
|
-
return address;
|
|
148
|
-
}
|
|
149
|
-
});
|
|
137
|
+
removeInjectAccounts(addresses) {
|
|
150
138
|
const currentAddress = this.currentAccountSubject.value.address;
|
|
151
139
|
const afterAccounts = Object.keys(this.accounts).filter(address => addresses.indexOf(address) < 0);
|
|
152
140
|
if (afterAccounts.length === 1) {
|
|
@@ -171,7 +159,7 @@ export class KeyringService {
|
|
|
171
159
|
await new Promise(resolve => {
|
|
172
160
|
setTimeout(() => {
|
|
173
161
|
resolve();
|
|
174
|
-
},
|
|
162
|
+
}, 500);
|
|
175
163
|
});
|
|
176
164
|
this.updateKeyringState();
|
|
177
165
|
this.currentAccountSubject.next({
|
|
@@ -11,7 +11,7 @@ export default class MigrateLedgerAccount extends BaseMigrationJob {
|
|
|
11
11
|
const store = new AccountsStore();
|
|
12
12
|
const update = (key, value) => {
|
|
13
13
|
var _value$meta;
|
|
14
|
-
if (key.startsWith('account:') && value
|
|
14
|
+
if (key.startsWith('account:') && value.meta && isString((_value$meta = value.meta) === null || _value$meta === void 0 ? void 0 : _value$meta.originGenesisHash)) {
|
|
15
15
|
const newValue = {
|
|
16
16
|
...value
|
|
17
17
|
};
|
|
@@ -12,7 +12,7 @@ export default class MigrateTransactionHistory extends BaseMigrationJob {
|
|
|
12
12
|
const chainInfoMap = state.getChainInfoMap();
|
|
13
13
|
const assetList = Object.values(state.getAssetRegistry());
|
|
14
14
|
try {
|
|
15
|
-
const db = new Dexie('
|
|
15
|
+
const db = new Dexie('SubWalletDB');
|
|
16
16
|
const dexieDB = await db.open();
|
|
17
17
|
const transactionTable = dexieDB.table('transactions');
|
|
18
18
|
const oldTransactionData = await transactionTable.toArray();
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
-
import DeleteEarningData from '@subwallet/extension-base/services/migration-service/scripts/DeleteEarningData';
|
|
5
|
-
import MigrateEarningVersion from "./databases/MigrateEarningVersion.js";
|
|
6
4
|
import MigrateEthProvider from "./providers/MigrateEthProvider.js";
|
|
7
5
|
import MigratePioneerProvider from "./providers/MigratePioneerProvider.js";
|
|
8
6
|
import MigrateProvidersV1M1P24 from "./providers/MigrateProvidersV1M1P24.js";
|
|
@@ -35,12 +33,9 @@ export default {
|
|
|
35
33
|
'1.1.6-01': MigrateWalletReference,
|
|
36
34
|
'1.1.7': DeleteChain,
|
|
37
35
|
'1.1.13-01': MigrateTokenDecimals,
|
|
38
|
-
// '1.1.13-02-2': EnableEarningChains,
|
|
39
|
-
'1.1.13-03': DeleteEarningData,
|
|
40
36
|
'1.1.17-01': MigratePioneerProvider,
|
|
41
37
|
'1.1.17-03': EnableVaraChain,
|
|
42
38
|
'1.1.24-01': MigrateProvidersV1M1P24,
|
|
43
|
-
'1.1.26-01': MigratePolygonUSDCProvider
|
|
44
|
-
'1.1.28-01': MigrateEarningVersion
|
|
39
|
+
'1.1.26-01': MigratePolygonUSDCProvider
|
|
45
40
|
// [`${EVERYTIME}-1`]: AutoEnableChainsTokens
|
|
46
41
|
};
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ChainAsset } from '@subwallet/chain-list/types';
|
|
2
2
|
import { ChainStakingMetadata, CrowdloanItem, MantaPayConfig, NftCollection, NftItem, NominatorMetadata, PriceJson, StakingItem, StakingType, TransactionHistoryItem } from '@subwallet/extension-base/background/KoniTypes';
|
|
3
3
|
import { EventService } from '@subwallet/extension-base/services/event-service';
|
|
4
|
-
import {
|
|
4
|
+
import { IBalance, ICampaign, IChain, INft } from '@subwallet/extension-base/services/storage-service/databases';
|
|
5
5
|
import { AssetStore, BalanceStore, ChainStore, CrowdloanStore, MetadataStore, MigrationStore, NftCollectionStore, NftStore, PriceStore, StakingStore, TransactionStore } from '@subwallet/extension-base/services/storage-service/db-stores';
|
|
6
|
-
import AssetRefStore from '@subwallet/extension-base/services/storage-service/db-stores/AssetRef';
|
|
7
6
|
import CampaignStore from '@subwallet/extension-base/services/storage-service/db-stores/Campaign';
|
|
8
7
|
import ChainStakingMetadataStore from '@subwallet/extension-base/services/storage-service/db-stores/ChainStakingMetadata';
|
|
9
8
|
import MantaPayStore from '@subwallet/extension-base/services/storage-service/db-stores/MantaPay';
|
|
10
9
|
import NominatorMetadataStore from '@subwallet/extension-base/services/storage-service/db-stores/NominatorMetadata';
|
|
11
10
|
import { HistoryQuery } from '@subwallet/extension-base/services/storage-service/db-stores/Transaction';
|
|
12
|
-
import
|
|
13
|
-
import YieldPositionStore from '@subwallet/extension-base/services/storage-service/db-stores/YieldPositionStore';
|
|
14
|
-
import { BalanceItem, YieldPoolInfo, YieldPoolType, YieldPositionInfo } from '@subwallet/extension-base/types';
|
|
11
|
+
import { BalanceItem } from '@subwallet/extension-base/types';
|
|
15
12
|
import { Subscription } from 'dexie';
|
|
16
13
|
import { DexieExportJsonStructure } from 'dexie-export-import';
|
|
17
14
|
export declare const DEXIE_BACKUP_TABLES: string[];
|
|
@@ -30,18 +27,14 @@ export default class DatabaseService {
|
|
|
30
27
|
metadata: MetadataStore;
|
|
31
28
|
chain: ChainStore;
|
|
32
29
|
asset: AssetStore;
|
|
33
|
-
yieldPoolInfo: YieldPoolStore;
|
|
34
|
-
yieldPosition: YieldPositionStore;
|
|
35
30
|
chainStakingMetadata: ChainStakingMetadataStore;
|
|
36
31
|
nominatorMetadata: NominatorMetadataStore;
|
|
37
32
|
mantaPay: MantaPayStore;
|
|
38
33
|
campaign: CampaignStore;
|
|
39
|
-
assetRef: AssetRefStore;
|
|
40
34
|
};
|
|
41
35
|
private logger;
|
|
42
36
|
private nftSubscription;
|
|
43
37
|
private stakingSubscription;
|
|
44
|
-
private yieldInfoSubscription;
|
|
45
38
|
constructor(eventService: EventService);
|
|
46
39
|
updatePriceStore(priceData: PriceJson): Promise<void>;
|
|
47
40
|
getPriceStore(): Promise<PriceJson | undefined>;
|
|
@@ -90,22 +83,6 @@ export default class DatabaseService {
|
|
|
90
83
|
subscribeMantaPayConfig(chain: string, callback: (data: MantaPayConfig[]) => void): void;
|
|
91
84
|
getMantaPayConfig(chain: string): Promise<any[]>;
|
|
92
85
|
getMantaPayFirstConfig(chain: string): Promise<any>;
|
|
93
|
-
removeOldEarningData(): Promise<void>;
|
|
94
|
-
updateYieldPoolStore(data: YieldPoolInfo): Promise<void>;
|
|
95
|
-
updateYieldPoolsStore(data: YieldPoolInfo[]): Promise<void>;
|
|
96
|
-
deleteYieldPoolInfo(slugs: string[]): Promise<void>;
|
|
97
|
-
getYieldPools(): Promise<YieldPoolInfo[]>;
|
|
98
|
-
getYieldPoolStakingInfo(chain: string, poolType: YieldPoolType): Promise<YieldPoolInfo | undefined>;
|
|
99
|
-
getYieldPool(slug: string): Promise<YieldPoolInfo | undefined>;
|
|
100
|
-
getYieldPositionByAddressAndSlug(address: string, slug: string): Promise<YieldPositionInfo | undefined>;
|
|
101
|
-
subscribeYieldPoolInfo(chains: string[], callback: (data: YieldPoolInfo[]) => void): Subscription;
|
|
102
|
-
removeYieldPositionByAddresses(addresses: string[]): import("dexie").PromiseExtended<number>;
|
|
103
|
-
removeYieldPositionByChains(chains: string[]): import("dexie").PromiseExtended<number>;
|
|
104
|
-
updateYieldPosition(data: YieldPositionInfo): Promise<void>;
|
|
105
|
-
updateYieldPositions(data: YieldPositionInfo[]): Promise<void>;
|
|
106
|
-
getYieldPositionByAddress(addresses: string[]): Promise<YieldPositionInfo[]>;
|
|
107
|
-
subscribeYieldPosition(addresses: string[], callback: (data: YieldPositionInfo[]) => void): Subscription;
|
|
108
|
-
getYieldNominationPoolPosition(addresses: string[], chains: string[]): Promise<YieldPositionInfo[]>;
|
|
109
86
|
getAllCampaign(): Promise<import("@subwallet/extension-base/background/KoniTypes").CampaignData[]>;
|
|
110
87
|
subscribeProcessingCampaign(): import("dexie").Observable<import("@subwallet/extension-base/background/KoniTypes").CampaignData[]>;
|
|
111
88
|
getProcessingCampaign(): Promise<import("@subwallet/extension-base/background/KoniTypes").CampaignData[]>;
|
|
@@ -114,8 +91,4 @@ export default class DatabaseService {
|
|
|
114
91
|
exportDB(): Promise<string>;
|
|
115
92
|
importDB(data: string): Promise<boolean>;
|
|
116
93
|
getExportJson(): Promise<DexieExportJsonStructure>;
|
|
117
|
-
setAssetRef(assetRef: Record<string, _AssetRef>): Promise<unknown>;
|
|
118
|
-
getAssetRef(slug: string): Promise<IAssetRef | undefined>;
|
|
119
|
-
getAssetRefMap(): Promise<Record<string, _AssetRef>>;
|
|
120
|
-
subscribeAssetRef(): import("dexie").Observable<IAssetRef[]>;
|
|
121
94
|
}
|
|
@@ -4,13 +4,10 @@
|
|
|
4
4
|
import { APIItemState, StakingType } from '@subwallet/extension-base/background/KoniTypes';
|
|
5
5
|
import KoniDatabase from '@subwallet/extension-base/services/storage-service/databases';
|
|
6
6
|
import { AssetStore, BalanceStore, ChainStore, CrowdloanStore, MetadataStore, MigrationStore, NftCollectionStore, NftStore, PriceStore, StakingStore, TransactionStore } from '@subwallet/extension-base/services/storage-service/db-stores';
|
|
7
|
-
import AssetRefStore from '@subwallet/extension-base/services/storage-service/db-stores/AssetRef';
|
|
8
7
|
import CampaignStore from '@subwallet/extension-base/services/storage-service/db-stores/Campaign';
|
|
9
8
|
import ChainStakingMetadataStore from '@subwallet/extension-base/services/storage-service/db-stores/ChainStakingMetadata';
|
|
10
9
|
import MantaPayStore from '@subwallet/extension-base/services/storage-service/db-stores/MantaPay';
|
|
11
10
|
import NominatorMetadataStore from '@subwallet/extension-base/services/storage-service/db-stores/NominatorMetadata';
|
|
12
|
-
import YieldPoolStore from '@subwallet/extension-base/services/storage-service/db-stores/YieldPoolStore';
|
|
13
|
-
import YieldPositionStore from '@subwallet/extension-base/services/storage-service/db-stores/YieldPositionStore';
|
|
14
11
|
import { reformatAddress } from '@subwallet/extension-base/utils';
|
|
15
12
|
import { exportDB } from 'dexie-export-import';
|
|
16
13
|
import { logger as createLogger } from '@polkadot/util';
|
|
@@ -37,15 +34,11 @@ export default class DatabaseService {
|
|
|
37
34
|
metadata: new MetadataStore(this._db.metadata),
|
|
38
35
|
chain: new ChainStore(this._db.chain),
|
|
39
36
|
asset: new AssetStore(this._db.asset),
|
|
40
|
-
// yield
|
|
41
|
-
yieldPoolInfo: new YieldPoolStore(this._db.yieldPoolInfo),
|
|
42
|
-
yieldPosition: new YieldPositionStore(this._db.yieldPosition),
|
|
43
37
|
// staking
|
|
44
38
|
chainStakingMetadata: new ChainStakingMetadataStore(this._db.chainStakingMetadata),
|
|
45
39
|
nominatorMetadata: new NominatorMetadataStore(this._db.nominatorMetadata),
|
|
46
40
|
mantaPay: new MantaPayStore(this._db.mantaPay),
|
|
47
|
-
campaign: new CampaignStore(this._db.campaign)
|
|
48
|
-
assetRef: new AssetRefStore(this._db.assetRef)
|
|
41
|
+
campaign: new CampaignStore(this._db.campaign)
|
|
49
42
|
};
|
|
50
43
|
}
|
|
51
44
|
async updatePriceStore(priceData) {
|
|
@@ -279,64 +272,6 @@ export default class DatabaseService {
|
|
|
279
272
|
return this.stores.mantaPay.getFirstConfig(chain);
|
|
280
273
|
}
|
|
281
274
|
|
|
282
|
-
/* Earning */
|
|
283
|
-
|
|
284
|
-
async removeOldEarningData() {
|
|
285
|
-
await this.stores.yieldPoolInfo.clear();
|
|
286
|
-
await this.stores.yieldPosition.clear();
|
|
287
|
-
}
|
|
288
|
-
async updateYieldPoolStore(data) {
|
|
289
|
-
await this.stores.yieldPoolInfo.upsert(data);
|
|
290
|
-
}
|
|
291
|
-
async updateYieldPoolsStore(data) {
|
|
292
|
-
await this.stores.yieldPoolInfo.bulkUpsert(data);
|
|
293
|
-
}
|
|
294
|
-
async deleteYieldPoolInfo(slugs) {
|
|
295
|
-
await this.stores.yieldPoolInfo.bulkDelete(slugs);
|
|
296
|
-
}
|
|
297
|
-
async getYieldPools() {
|
|
298
|
-
return this.stores.yieldPoolInfo.getAll();
|
|
299
|
-
}
|
|
300
|
-
async getYieldPoolStakingInfo(chain, poolType) {
|
|
301
|
-
return this.stores.yieldPoolInfo.getByChainAndType(chain, poolType);
|
|
302
|
-
}
|
|
303
|
-
async getYieldPool(slug) {
|
|
304
|
-
return this.stores.yieldPoolInfo.getBySlug(slug);
|
|
305
|
-
}
|
|
306
|
-
async getYieldPositionByAddressAndSlug(address, slug) {
|
|
307
|
-
return this.stores.yieldPosition.getByAddressAndSlug(address, slug);
|
|
308
|
-
}
|
|
309
|
-
subscribeYieldPoolInfo(chains, callback) {
|
|
310
|
-
this.yieldInfoSubscription && this.yieldInfoSubscription.unsubscribe();
|
|
311
|
-
this.yieldInfoSubscription = this.stores.yieldPoolInfo.subscribeYieldPoolInfo(chains).subscribe({
|
|
312
|
-
next: data => callback && callback(data)
|
|
313
|
-
});
|
|
314
|
-
return this.yieldInfoSubscription;
|
|
315
|
-
}
|
|
316
|
-
removeYieldPositionByAddresses(addresses) {
|
|
317
|
-
return this.stores.yieldPosition.removeByAddresses(addresses);
|
|
318
|
-
}
|
|
319
|
-
removeYieldPositionByChains(chains) {
|
|
320
|
-
return this.stores.yieldPosition.removeByChains(chains);
|
|
321
|
-
}
|
|
322
|
-
async updateYieldPosition(data) {
|
|
323
|
-
await this.stores.yieldPosition.upsert(data);
|
|
324
|
-
}
|
|
325
|
-
async updateYieldPositions(data) {
|
|
326
|
-
await this.stores.yieldPosition.bulkUpsert(data);
|
|
327
|
-
}
|
|
328
|
-
async getYieldPositionByAddress(addresses) {
|
|
329
|
-
return this.stores.yieldPosition.getByAddress(addresses);
|
|
330
|
-
}
|
|
331
|
-
subscribeYieldPosition(addresses, callback) {
|
|
332
|
-
return this.stores.yieldPosition.subscribeYieldPositions(addresses).subscribe({
|
|
333
|
-
next: data => callback && callback(data)
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
async getYieldNominationPoolPosition(addresses, chains) {
|
|
337
|
-
return this.stores.yieldPosition.getByAddressAndChains(addresses, chains);
|
|
338
|
-
}
|
|
339
|
-
|
|
340
275
|
/* Campaign */
|
|
341
276
|
|
|
342
277
|
getAllCampaign() {
|
|
@@ -380,29 +315,4 @@ export default class DatabaseService {
|
|
|
380
315
|
async getExportJson() {
|
|
381
316
|
return JSON.parse(await this.exportDB());
|
|
382
317
|
}
|
|
383
|
-
setAssetRef(assetRef) {
|
|
384
|
-
const assetRefList = Object.entries(assetRef).map(([slug, item]) => {
|
|
385
|
-
return {
|
|
386
|
-
slug,
|
|
387
|
-
...item
|
|
388
|
-
};
|
|
389
|
-
});
|
|
390
|
-
return this.stores.assetRef.bulkUpsert(assetRefList);
|
|
391
|
-
}
|
|
392
|
-
getAssetRef(slug) {
|
|
393
|
-
return this.stores.assetRef.getAssetRef(slug);
|
|
394
|
-
}
|
|
395
|
-
async getAssetRefMap() {
|
|
396
|
-
const assetRefList = await this.stores.assetRef.getAll();
|
|
397
|
-
const assetRefObj = {};
|
|
398
|
-
assetRefList.forEach(item => {
|
|
399
|
-
assetRefObj[item.slug] = {
|
|
400
|
-
...item
|
|
401
|
-
};
|
|
402
|
-
});
|
|
403
|
-
return assetRefObj;
|
|
404
|
-
}
|
|
405
|
-
subscribeAssetRef() {
|
|
406
|
-
return this.stores.assetRef.subscribeAssetRef();
|
|
407
|
-
}
|
|
408
318
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ChainAsset, _ChainInfo } from '@subwallet/chain-list/types';
|
|
2
2
|
import { CampaignData, ChainStakingMetadata, CrowdloanItem, MetadataItem, NftCollection, NftItem, NominatorMetadata, PriceJson, StakingItem, TransactionHistoryItem } from '@subwallet/extension-base/background/KoniTypes';
|
|
3
|
-
import { BalanceItem
|
|
3
|
+
import { BalanceItem } from '@subwallet/extension-base/types';
|
|
4
4
|
import Dexie, { Table } from 'dexie';
|
|
5
5
|
export interface DefaultChainDoc {
|
|
6
6
|
chain: string;
|
|
@@ -31,9 +31,6 @@ export interface IMetadataItem extends MetadataItem, DefaultChainDoc {
|
|
|
31
31
|
}
|
|
32
32
|
export declare type IMantaPayLedger = any;
|
|
33
33
|
export declare type ICampaign = CampaignData;
|
|
34
|
-
export interface IAssetRef extends _AssetRef {
|
|
35
|
-
slug: string;
|
|
36
|
-
}
|
|
37
34
|
export default class KoniDatabase extends Dexie {
|
|
38
35
|
price: Table<PriceJson, object>;
|
|
39
36
|
balances: Table<IBalance, object>;
|
|
@@ -48,11 +45,8 @@ export default class KoniDatabase extends Dexie {
|
|
|
48
45
|
asset: Table<_ChainAsset, object>;
|
|
49
46
|
chainStakingMetadata: Table<ChainStakingMetadata, object>;
|
|
50
47
|
nominatorMetadata: Table<NominatorMetadata, object>;
|
|
51
|
-
yieldPoolInfo: Table<YieldPoolInfo, object>;
|
|
52
|
-
yieldPosition: Table<YieldPositionInfo, object>;
|
|
53
48
|
mantaPay: Table<IMantaPayLedger, object>;
|
|
54
49
|
campaign: Table<ICampaign, object>;
|
|
55
|
-
assetRef: Table<IAssetRef, object>;
|
|
56
50
|
private schemaVersion;
|
|
57
51
|
constructor(name?: string, schemaVersion?: number);
|
|
58
52
|
private conditionalVersion;
|
|
@@ -31,15 +31,8 @@ export default class KoniDatabase extends Dexie {
|
|
|
31
31
|
mantaPay: 'key, chain'
|
|
32
32
|
});
|
|
33
33
|
this.conditionalVersion(4, {
|
|
34
|
-
yieldPoolInfo: 'slug, chain, type',
|
|
35
|
-
yieldPosition: '[slug+chain+address], [address+slug], address, chain'
|
|
36
|
-
});
|
|
37
|
-
this.conditionalVersion(5, {
|
|
38
34
|
campaign: 'slug'
|
|
39
35
|
});
|
|
40
|
-
this.conditionalVersion(5, {
|
|
41
|
-
assetRef: 'slug'
|
|
42
|
-
});
|
|
43
36
|
}
|
|
44
37
|
conditionalVersion(version, schema, upgrade) {
|
|
45
38
|
if (this.schemaVersion != null && this.schemaVersion < version) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
|
|
4
|
+
import { StakingStatus } from '@subwallet/extension-base/background/KoniTypes';
|
|
4
5
|
import BaseStoreWithAddressAndChain from '@subwallet/extension-base/services/storage-service/db-stores/BaseStoreWithAddressAndChain';
|
|
5
|
-
import { EarningStatus } from '@subwallet/extension-base/types';
|
|
6
6
|
import { liveQuery } from 'dexie';
|
|
7
7
|
export default class NominatorMetadataStore extends BaseStoreWithAddressAndChain {
|
|
8
8
|
async getAll() {
|
|
9
|
-
return this.table.filter(item => item.status !==
|
|
9
|
+
return this.table.filter(item => item.status !== StakingStatus.NOT_STAKING).toArray();
|
|
10
10
|
}
|
|
11
11
|
subscribeByAddresses(addresses) {
|
|
12
12
|
return liveQuery(() => this.getByAddress(addresses));
|
|
@@ -15,7 +15,7 @@ export default class NominatorMetadataStore extends BaseStoreWithAddressAndChain
|
|
|
15
15
|
return liveQuery(() => this.getAll());
|
|
16
16
|
}
|
|
17
17
|
getByAddress(addresses) {
|
|
18
|
-
return this.table.where('address').anyOfIgnoreCase(addresses).and(item => item.status !==
|
|
18
|
+
return this.table.where('address').anyOfIgnoreCase(addresses).and(item => item.status !== StakingStatus.NOT_STAKING).toArray();
|
|
19
19
|
}
|
|
20
20
|
async removeByAddress(address) {
|
|
21
21
|
return this.table.where('address').anyOfIgnoreCase(address).delete();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CrowdloanContributionsResponse, ExtrinsicItem, ExtrinsicsListResponse, IMultiChainBalance, RequestBlockRange,
|
|
1
|
+
import { CrowdloanContributionsResponse, ExtrinsicItem, ExtrinsicsListResponse, IMultiChainBalance, RequestBlockRange, TransferItem, TransfersListResponse } from '@subwallet/extension-base/services/subscan-service/types';
|
|
2
2
|
export declare class SubscanService {
|
|
3
3
|
private subscanChainMap;
|
|
4
4
|
private limitRate;
|
|
@@ -15,7 +15,7 @@ export declare class SubscanService {
|
|
|
15
15
|
});
|
|
16
16
|
private getApiUrl;
|
|
17
17
|
private postRequest;
|
|
18
|
-
addRequest
|
|
18
|
+
private addRequest;
|
|
19
19
|
private process;
|
|
20
20
|
checkSupportedSubscanChain(chain: string): boolean;
|
|
21
21
|
setSubscanChainMap(subscanChainMap: Record<string, string>): void;
|
|
@@ -31,5 +31,4 @@ export declare class SubscanService {
|
|
|
31
31
|
page: number;
|
|
32
32
|
record: number;
|
|
33
33
|
}): Promise<Record<string, TransferItem[]>>;
|
|
34
|
-
getRewardHistoryList(chain: string, address: string, page?: number): Promise<RewardHistoryListResponse>;
|
|
35
34
|
}
|
|
@@ -237,19 +237,4 @@ export class SubscanService {
|
|
|
237
237
|
await _getTransferItems(0);
|
|
238
238
|
return resultMap;
|
|
239
239
|
}
|
|
240
|
-
getRewardHistoryList(chain, address, page = 0) {
|
|
241
|
-
return this.addRequest(async () => {
|
|
242
|
-
const rs = await this.postRequest(this.getApiUrl(chain, 'api/scan/account/reward_slash'), {
|
|
243
|
-
page,
|
|
244
|
-
category: 'Reward',
|
|
245
|
-
row: 10,
|
|
246
|
-
address
|
|
247
|
-
});
|
|
248
|
-
if (rs.status !== 200) {
|
|
249
|
-
throw new SWError('SubscanService.getRewardHistoryList', await rs.text());
|
|
250
|
-
}
|
|
251
|
-
const jsonData = await rs.json();
|
|
252
|
-
return jsonData.data;
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
240
|
}
|
|
@@ -175,23 +175,3 @@ export declare type RequestBlockRange = {
|
|
|
175
175
|
from: number | null;
|
|
176
176
|
to: number | null;
|
|
177
177
|
};
|
|
178
|
-
export interface RewardHistoryItem {
|
|
179
|
-
block_num: number;
|
|
180
|
-
extrinsic_idx: number;
|
|
181
|
-
stash: string;
|
|
182
|
-
account: string;
|
|
183
|
-
module_id: string;
|
|
184
|
-
event_id: string;
|
|
185
|
-
event_method: string;
|
|
186
|
-
params: string;
|
|
187
|
-
extrinsic_hash: string;
|
|
188
|
-
event_idx: number;
|
|
189
|
-
amount: string;
|
|
190
|
-
block_timestamp: number;
|
|
191
|
-
event_index: string;
|
|
192
|
-
extrinsic_index: string;
|
|
193
|
-
}
|
|
194
|
-
export interface RewardHistoryListResponse {
|
|
195
|
-
count: number;
|
|
196
|
-
list: null | RewardHistoryItem[];
|
|
197
|
-
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { _ChainAsset, _ChainInfo } from '@subwallet/chain-list/types';
|
|
2
|
-
import {
|
|
2
|
+
import { TransactionHistoryItem } from '@subwallet/extension-base/background/KoniTypes';
|
|
3
3
|
import { EventRecord } from '@polkadot/types/interfaces';
|
|
4
4
|
export declare function parseXcmEventLogs(historyItem: Partial<TransactionHistoryItem>, eventLogs: EventRecord[], chain: string, sendingTokenInfo: _ChainAsset, chainInfo: _ChainInfo): void;
|
|
5
5
|
export declare function parseTransferEventLogs(historyItem: Partial<TransactionHistoryItem>, eventLogs: EventRecord[], chain: string, sendingTokenInfo: _ChainAsset, chainInfo: _ChainInfo): void;
|
|
6
|
-
export declare function parseLiquidStakingEvents(historyItem: Partial<TransactionHistoryItem>, eventLogs: EventRecord[], inputTokenInfo: _ChainAsset, chainInfo: _ChainInfo, feePaidWithInputAsset: boolean, extrinsicType: ExtrinsicType): void;
|
|
7
|
-
export declare function parseLiquidStakingFastUnstakeEvents(historyItem: Partial<TransactionHistoryItem>, eventLogs: EventRecord[], chainInfo: _ChainInfo, extrinsicType: ExtrinsicType): void;
|