@subwallet/extension-base 1.1.34-0 → 1.1.35-beta.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 +111 -69
- package/background/KoniTypes.js +19 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +20 -16
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/constants/index.js +19 -4
- package/cjs/constants/staking.js +1 -1
- package/cjs/koni/api/dotsama/balance.js +464 -0
- package/cjs/koni/api/nft/config.js +33 -23
- package/cjs/koni/api/nft/index.js +14 -0
- package/cjs/koni/api/nft/nft.js +1 -22
- package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
- package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
- package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
- package/cjs/koni/api/staking/bonding/amplitude.js +19 -16
- package/cjs/koni/api/staking/bonding/astar.js +11 -10
- package/cjs/koni/api/staking/bonding/index.js +4 -1
- package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
- package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
- package/cjs/koni/api/staking/bonding/utils.js +104 -86
- package/cjs/koni/api/staking/index.js +6 -5
- package/cjs/koni/api/staking/paraChain.js +6 -5
- package/cjs/koni/api/staking/relayChain.js +3 -2
- package/cjs/koni/api/yield/helper/utils.js +46 -0
- package/cjs/koni/background/cron.js +3 -21
- package/cjs/koni/background/handlers/Extension.js +368 -69
- package/cjs/koni/background/handlers/State.js +18 -12
- package/cjs/koni/background/handlers/index.js +4 -2
- package/cjs/koni/background/subscription.js +7 -104
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/campaign-service/index.js +9 -6
- package/cjs/services/chain-service/constants.js +2 -17
- package/cjs/services/chain-service/index.js +50 -3
- package/cjs/services/chain-service/utils.js +7 -1
- package/cjs/services/earning-service/constants/chains.js +30 -0
- package/cjs/services/earning-service/constants/index.js +27 -0
- package/cjs/services/earning-service/constants/step.js +18 -0
- package/cjs/services/earning-service/handlers/base.js +262 -0
- package/cjs/services/earning-service/handlers/index.js +60 -0
- package/cjs/services/earning-service/handlers/lending/base.js +81 -0
- package/cjs/services/earning-service/handlers/lending/index.js +13 -0
- package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
- package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
- package/cjs/services/earning-service/handlers/special.js +493 -0
- package/cjs/services/earning-service/service.js +733 -0
- package/cjs/services/earning-service/utils/index.js +128 -0
- package/cjs/services/event-service/index.js +5 -0
- package/cjs/services/keyring-service/index.js +14 -2
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
- package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
- package/cjs/services/migration-service/scripts/index.js +6 -1
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
- package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
- package/cjs/services/mint-campaign-service/constants.js +11 -0
- package/cjs/services/mint-campaign-service/index.js +18 -0
- package/cjs/services/notification-service/NotificationService.js +3 -2
- package/cjs/services/request-service/handler/PopupHandler.js +2 -3
- package/cjs/services/storage-service/DatabaseService.js +97 -0
- package/cjs/services/storage-service/databases/index.js +4 -0
- package/cjs/services/storage-service/db-stores/AssetRef.js +24 -0
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
- package/cjs/services/storage-service/index.js +241 -0
- package/cjs/services/subscan-service/index.js +16 -0
- package/cjs/services/transaction-service/event-parser/index.js +58 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -1
- package/cjs/services/transaction-service/index.js +249 -75
- package/cjs/services/transaction-service/utils.js +1 -0
- package/cjs/types/campaigns/index.js +16 -0
- package/cjs/types/campaigns/unlock-dot.js +1 -0
- package/cjs/types/index.js +44 -0
- package/cjs/types/ordinal.js +1 -0
- package/cjs/types/transaction.js +1 -0
- package/cjs/types/yield/actions/index.js +27 -0
- package/cjs/types/yield/actions/join/index.js +38 -0
- package/cjs/types/yield/actions/join/step.js +47 -0
- package/cjs/types/yield/actions/join/submit.js +1 -0
- package/cjs/types/yield/actions/join/validate.js +16 -0
- package/cjs/types/yield/actions/others.js +1 -0
- package/cjs/types/yield/index.js +27 -0
- package/cjs/types/yield/info/account/index.js +49 -0
- package/cjs/types/yield/info/account/info.js +1 -0
- package/cjs/types/yield/info/account/reward.js +1 -0
- package/cjs/types/yield/info/account/target.js +32 -0
- package/cjs/types/yield/info/account/unstake.js +27 -0
- package/cjs/types/yield/info/base.js +41 -0
- package/cjs/types/yield/info/chain/index.js +27 -0
- package/cjs/types/yield/info/chain/info.js +1 -0
- package/cjs/types/yield/info/chain/target.js +1 -0
- package/cjs/types/yield/info/index.js +49 -0
- package/cjs/types/yield/info/pallet.js +15 -0
- package/cjs/types.js +1 -0
- package/cjs/utils/address.js +34 -0
- package/cjs/utils/environment.js +23 -28
- package/cjs/utils/fetchStaticCache.js +22 -0
- package/cjs/utils/fetchStaticData.js +2 -1
- package/cjs/utils/index.js +94 -10
- package/cjs/utils/keyring.js +57 -0
- package/cjs/utils/mv3.js +14 -0
- package/cjs/utils/number.js +6 -2
- package/cjs/utils/object.js +12 -0
- package/constants/index.d.ts +6 -1
- package/constants/index.js +6 -1
- package/constants/staking.js +1 -1
- package/koni/api/nft/config.js +33 -23
- package/koni/api/nft/index.js +15 -1
- package/koni/api/nft/nft.js +2 -23
- package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
- package/koni/api/nft/ordinal_nft/constants.js +12 -0
- package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
- package/koni/api/nft/ordinal_nft/index.js +114 -0
- package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
- package/koni/api/nft/ordinal_nft/utils.js +33 -0
- package/koni/api/staking/bonding/amplitude.js +13 -10
- package/koni/api/staking/bonding/astar.js +9 -8
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +5 -1
- package/koni/api/staking/bonding/paraChain.js +12 -10
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +33 -30
- package/koni/api/staking/bonding/utils.d.ts +15 -38
- package/koni/api/staking/bonding/utils.js +85 -69
- package/koni/api/staking/index.js +2 -1
- package/koni/api/staking/paraChain.js +7 -6
- package/koni/api/staking/relayChain.js +4 -3
- package/koni/api/yield/helper/utils.d.ts +10 -0
- package/koni/api/yield/helper/utils.js +32 -0
- package/koni/background/cron.d.ts +0 -4
- package/koni/background/cron.js +4 -22
- package/koni/background/handlers/Extension.d.ts +17 -1
- package/koni/background/handlers/Extension.js +327 -30
- package/koni/background/handlers/State.d.ts +6 -1
- package/koni/background/handlers/State.js +17 -12
- package/koni/background/handlers/index.js +4 -2
- package/koni/background/subscription.d.ts +1 -6
- package/koni/background/subscription.js +8 -104
- package/package.json +335 -7
- package/packageInfo.js +1 -1
- package/services/campaign-service/index.js +9 -6
- package/services/chain-service/constants.d.ts +1 -13
- package/services/chain-service/constants.js +1 -15
- package/services/chain-service/index.d.ts +3 -0
- package/services/chain-service/index.js +50 -3
- package/services/chain-service/utils.d.ts +1 -0
- package/services/chain-service/utils.js +5 -1
- package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
- package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
- package/services/earning-service/constants/chains.d.ts +15 -0
- package/services/earning-service/constants/chains.js +22 -0
- package/services/earning-service/constants/index.d.ts +2 -0
- package/services/earning-service/constants/index.js +5 -0
- package/services/earning-service/constants/step.d.ts +3 -0
- package/services/earning-service/constants/step.js +10 -0
- package/services/earning-service/handlers/base.d.ts +113 -0
- package/services/earning-service/handlers/base.js +256 -0
- package/services/earning-service/handlers/index.d.ts +5 -0
- package/services/earning-service/handlers/index.js +8 -0
- package/services/earning-service/handlers/lending/base.d.ts +8 -0
- package/services/earning-service/handlers/lending/base.js +73 -0
- package/services/earning-service/handlers/lending/index.d.ts +1 -0
- package/services/earning-service/handlers/lending/index.js +4 -0
- package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
- package/services/earning-service/handlers/lending/interlay.js +184 -0
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
- package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
- package/services/earning-service/handlers/liquid-staking/base.js +89 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
- package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/liquid-staking/index.js +7 -0
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
- package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
- package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
- package/services/earning-service/handlers/native-staking/astar.js +456 -0
- package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
- package/services/earning-service/handlers/native-staking/base-para.js +138 -0
- package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/base.js +152 -0
- package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/native-staking/index.js +7 -0
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
- package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
- package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
- package/services/earning-service/handlers/nomination-pool/index.js +556 -0
- package/services/earning-service/handlers/special.d.ts +64 -0
- package/services/earning-service/handlers/special.js +485 -0
- package/services/earning-service/service.d.ts +94 -0
- package/services/earning-service/service.js +722 -0
- package/services/earning-service/utils/index.d.ts +18 -0
- package/services/earning-service/utils/index.js +112 -0
- package/services/event-service/index.d.ts +2 -0
- package/services/event-service/index.js +5 -0
- package/services/event-service/types.d.ts +9 -0
- package/services/keyring-service/index.d.ts +2 -1
- package/services/keyring-service/index.js +14 -2
- package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
- package/services/migration-service/scripts/DeleteEarningData.js +13 -0
- package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
- package/services/migration-service/scripts/EnableEarningChains.js +13 -0
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
- package/services/migration-service/scripts/index.js +6 -1
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
- package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
- package/services/mint-campaign-service/campaigns/index.js +4 -0
- package/services/mint-campaign-service/constants.d.ts +1 -0
- package/services/mint-campaign-service/constants.js +4 -0
- package/services/mint-campaign-service/index.d.ts +7 -0
- package/services/mint-campaign-service/index.js +11 -0
- package/services/notification-service/NotificationService.js +3 -2
- package/services/request-service/handler/PopupHandler.js +3 -4
- package/services/storage-service/DatabaseService.d.ts +22 -1
- package/services/storage-service/DatabaseService.js +97 -0
- package/services/storage-service/databases/index.d.ts +7 -2
- package/services/storage-service/databases/index.js +4 -0
- package/services/storage-service/db-stores/AssetRef.d.ts +7 -0
- package/services/storage-service/db-stores/AssetRef.js +16 -0
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
- package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
- package/services/subscan-service/index.d.ts +3 -2
- package/services/subscan-service/index.js +15 -0
- package/services/subscan-service/types.d.ts +20 -0
- package/services/transaction-service/event-parser/index.d.ts +3 -1
- package/services/transaction-service/event-parser/index.js +57 -1
- package/services/transaction-service/helpers/index.js +3 -1
- package/services/transaction-service/index.d.ts +6 -13
- package/services/transaction-service/index.js +247 -73
- package/services/transaction-service/types.d.ts +2 -0
- package/services/transaction-service/utils.js +1 -0
- package/types/campaigns/index.d.ts +1 -0
- package/types/campaigns/index.js +4 -0
- package/types/campaigns/unlock-dot.d.ts +71 -0
- package/types/campaigns/unlock-dot.js +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.js +5 -1
- package/types/ordinal.d.ts +69 -0
- package/types/ordinal.js +1 -0
- package/types/transaction.d.ts +3 -0
- package/types/transaction.js +1 -0
- package/types/yield/actions/index.d.ts +2 -0
- package/types/yield/actions/index.js +5 -0
- package/types/yield/actions/join/index.d.ts +3 -0
- package/types/yield/actions/join/index.js +6 -0
- package/types/yield/actions/join/step.d.ts +95 -0
- package/types/yield/actions/join/step.js +46 -0
- package/types/yield/actions/join/submit.d.ts +58 -0
- package/types/yield/actions/join/submit.js +1 -0
- package/types/yield/actions/join/validate.d.ts +18 -0
- package/types/yield/actions/join/validate.js +10 -0
- package/types/yield/actions/others.d.ts +85 -0
- package/types/yield/actions/others.js +1 -0
- package/types/yield/index.d.ts +2 -0
- package/types/yield/index.js +5 -0
- package/types/yield/info/account/index.d.ts +4 -0
- package/types/yield/info/account/index.js +7 -0
- package/types/yield/info/account/info.d.ts +92 -0
- package/types/yield/info/account/info.js +1 -0
- package/types/yield/info/account/reward.d.ts +47 -0
- package/types/yield/info/account/reward.js +1 -0
- package/types/yield/info/account/target.d.ts +43 -0
- package/types/yield/info/account/target.js +27 -0
- package/types/yield/info/account/unstake.d.ts +31 -0
- package/types/yield/info/account/unstake.js +22 -0
- package/types/yield/info/base.d.ts +45 -0
- package/types/yield/info/base.js +36 -0
- package/types/yield/info/chain/index.d.ts +2 -0
- package/types/yield/info/chain/index.js +5 -0
- package/types/yield/info/chain/info.d.ts +252 -0
- package/types/yield/info/chain/info.js +1 -0
- package/types/yield/info/chain/target.d.ts +37 -0
- package/types/yield/info/chain/target.js +1 -0
- package/types/yield/info/index.d.ts +4 -0
- package/types/yield/info/index.js +7 -0
- package/types/yield/info/pallet.d.ts +143 -0
- package/types/yield/info/pallet.js +9 -0
- package/utils/environment.d.ts +9 -2
- package/utils/environment.js +14 -26
- package/utils/fetchStaticCache.d.ts +1 -0
- package/utils/fetchStaticCache.js +14 -0
- package/utils/fetchStaticData.js +2 -1
- package/utils/index.d.ts +5 -1
- package/utils/index.js +53 -3
- package/utils/mv3.d.ts +2 -0
- package/utils/mv3.js +6 -0
- package/utils/number.d.ts +2 -1
- package/utils/number.js +2 -1
- package/utils/object.d.ts +1 -0
- package/utils/object.js +6 -0
|
@@ -5,18 +5,21 @@ import { CampaignDataType } from '@subwallet/extension-base/background/KoniTypes
|
|
|
5
5
|
import { TARGET_ENV } from '@subwallet/extension-base/utils';
|
|
6
6
|
import { fetchStaticData } from '@subwallet/extension-base/utils/fetchStaticData';
|
|
7
7
|
import { runCampaign } from "./helpers.js";
|
|
8
|
+
const targetEnvs = ['extension', 'mobile'];
|
|
8
9
|
export default class CampaignService {
|
|
9
10
|
#state;
|
|
10
11
|
constructor(state) {
|
|
11
12
|
this.#state = state;
|
|
12
13
|
}
|
|
13
14
|
init() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
if (targetEnvs.includes(TARGET_ENV)) {
|
|
16
|
+
this.fetchCampaign().catch(e => {
|
|
17
|
+
console.error('Error on fetch campaigns', e);
|
|
18
|
+
});
|
|
19
|
+
this.runCampaign().catch(e => {
|
|
20
|
+
console.error('Error on run campaigns', e);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
20
23
|
}
|
|
21
24
|
async fetchCampaign() {
|
|
22
25
|
const respData = await fetchStaticData('marketing-campaigns');
|
|
@@ -33,18 +33,6 @@ export declare const _NFT_CHAIN_GROUP: {
|
|
|
33
33
|
bitcountry: string[];
|
|
34
34
|
vara: string[];
|
|
35
35
|
};
|
|
36
|
-
export declare const _STAKING_CHAIN_GROUP: {
|
|
37
|
-
relay: string[];
|
|
38
|
-
para: string[];
|
|
39
|
-
astar: string[];
|
|
40
|
-
amplitude: string[];
|
|
41
|
-
krest_network: string[];
|
|
42
|
-
kilt: string[];
|
|
43
|
-
nominationPool: string[];
|
|
44
|
-
bifrost: string[];
|
|
45
|
-
aleph: string[];
|
|
46
|
-
ternoa: string[];
|
|
47
|
-
};
|
|
48
36
|
export declare const _STAKING_ERA_LENGTH_MAP: Record<string, number>;
|
|
49
37
|
export declare const _EXPECTED_BLOCK_TIME: Record<string, number>;
|
|
50
38
|
export declare const _PARACHAIN_INFLATION_DISTRIBUTION: Record<string, Record<string, number>>;
|
|
@@ -96,7 +84,7 @@ export declare const EVM_PASS_CONNECT_STATUS: Record<string, string[]>;
|
|
|
96
84
|
export declare const EVM_REFORMAT_DECIMALS: {
|
|
97
85
|
acala: string[];
|
|
98
86
|
};
|
|
99
|
-
export declare const LATEST_CHAIN_DATA_FETCHING_INTERVAL =
|
|
87
|
+
export declare const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 120000;
|
|
100
88
|
export declare const _CHAIN_INFO_SRC: string;
|
|
101
89
|
export declare const _CHAIN_ASSET_SRC: string;
|
|
102
90
|
export declare const _ASSET_REF_SRC: string;
|
|
@@ -52,20 +52,6 @@ export const _NFT_CHAIN_GROUP = {
|
|
|
52
52
|
|
|
53
53
|
// Staking--------------------------------------------------------------------------------------------------------------
|
|
54
54
|
|
|
55
|
-
export const _STAKING_CHAIN_GROUP = {
|
|
56
|
-
relay: ['polkadot', 'kusama', 'aleph', 'polkadex', 'ternoa', 'ternoa_alphanet', 'alephTest', 'polkadexTest', 'westend', 'kate', 'edgeware', 'creditcoin', 'vara_network', 'goldberg_testnet'],
|
|
57
|
-
para: ['moonbeam', 'moonriver', 'moonbase', 'turing', 'turingStaging', 'bifrost', 'bifrost_testnet', 'calamari_test', 'calamari', 'manta_network'],
|
|
58
|
-
astar: ['astar', 'shiden', 'shibuya'],
|
|
59
|
-
amplitude: ['amplitude', 'amplitude_test', 'kilt', 'kilt_peregrine', 'pendulum', 'krest_network'],
|
|
60
|
-
// amplitude and kilt only share some common logic
|
|
61
|
-
krest_network: ['krest_network'],
|
|
62
|
-
kilt: ['kilt', 'kilt_peregrine'],
|
|
63
|
-
nominationPool: ['polkadot', 'kusama', 'westend', 'alephTest', 'aleph', 'kate', 'vara_network', 'goldberg_testnet'],
|
|
64
|
-
bifrost: ['bifrost', 'bifrost_testnet'],
|
|
65
|
-
aleph: ['aleph', 'alephTest'],
|
|
66
|
-
// A0 has distinct tokenomics
|
|
67
|
-
ternoa: ['ternoa', 'ternoa_alphanet']
|
|
68
|
-
};
|
|
69
55
|
export const _STAKING_ERA_LENGTH_MAP = {
|
|
70
56
|
// in hours
|
|
71
57
|
alephTest: 24,
|
|
@@ -252,7 +238,7 @@ export const EVM_PASS_CONNECT_STATUS = {
|
|
|
252
238
|
export const EVM_REFORMAT_DECIMALS = {
|
|
253
239
|
acala: ['acala_evm', 'karura_evm']
|
|
254
240
|
};
|
|
255
|
-
export const LATEST_CHAIN_DATA_FETCHING_INTERVAL =
|
|
241
|
+
export const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 120000;
|
|
256
242
|
|
|
257
243
|
// TODO: review
|
|
258
244
|
const TARGET_BRANCH = process.env.NODE_ENV !== 'production' ? 'koni-dev' : 'master';
|
|
@@ -71,9 +71,11 @@ export declare class ChainService {
|
|
|
71
71
|
deleteAssetsByChain(chainSlug: string): void;
|
|
72
72
|
deleteCustomAssets(targetAssets: string[]): void;
|
|
73
73
|
init(): Promise<void>;
|
|
74
|
+
initAssetRefMap(): Promise<void>;
|
|
74
75
|
checkLatestData(): void;
|
|
75
76
|
stopCheckLatestChainData(): void;
|
|
76
77
|
handleLatestProviderData(latestChainInfo: _ChainInfo[]): void;
|
|
78
|
+
handleLatestBlockedAssetRef(latestBlockedAssetRefList: string[]): void;
|
|
77
79
|
handleLatestPriceId(latestPriceIds: Record<string, string | null>): void;
|
|
78
80
|
handleLatestData(): void;
|
|
79
81
|
private initApis;
|
|
@@ -86,6 +88,7 @@ export declare class ChainService {
|
|
|
86
88
|
private checkExistedPredefinedChain;
|
|
87
89
|
private fetchLatestChainData;
|
|
88
90
|
private fetchLatestPriceIdsData;
|
|
91
|
+
private fetchLatestBlockedAssetRef;
|
|
89
92
|
private initChains;
|
|
90
93
|
private initAssetRegistry;
|
|
91
94
|
private updateChainStateMapSubscription;
|
|
@@ -213,8 +213,9 @@ export class ChainService {
|
|
|
213
213
|
getActiveChainInfos() {
|
|
214
214
|
const result = {};
|
|
215
215
|
Object.values(this.getChainStateMap()).forEach(chainState => {
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
const chainInfo = this.getChainInfoByKey(chainState.slug);
|
|
217
|
+
if (chainState.active && chainInfo && chainInfo.chainStatus === _ChainStatus.ACTIVE) {
|
|
218
|
+
result[chainState.slug] = chainInfo;
|
|
218
219
|
}
|
|
219
220
|
});
|
|
220
221
|
return result;
|
|
@@ -396,7 +397,10 @@ export class ChainService {
|
|
|
396
397
|
|
|
397
398
|
// TODO: reconsider the flow of initiation
|
|
398
399
|
this.multiChainAssetMapSubject.next(MultiChainAssetMap);
|
|
399
|
-
this.
|
|
400
|
+
// const storedAssetRefMap = await this.dbService.getAssetRefMap();
|
|
401
|
+
//
|
|
402
|
+
// this.dataMap.assetRefMap = storedAssetRefMap && Object.values(storedAssetRefMap).length > 0 ? storedAssetRefMap : AssetRefMap;
|
|
403
|
+
|
|
400
404
|
await this.initChains();
|
|
401
405
|
this.chainInfoMapSubject.next(this.getChainInfoMap());
|
|
402
406
|
this.updateChainStateMapSubscription();
|
|
@@ -404,10 +408,34 @@ export class ChainService {
|
|
|
404
408
|
this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
|
|
405
409
|
await this.initApis();
|
|
406
410
|
await this.initAssetSettings();
|
|
411
|
+
await this.initAssetRefMap();
|
|
407
412
|
this.checkLatestData();
|
|
408
413
|
}
|
|
414
|
+
async initAssetRefMap() {
|
|
415
|
+
try {
|
|
416
|
+
const fetchPromise = this.fetchLatestBlockedAssetRef();
|
|
417
|
+
const timeout = new Promise(resolve => {
|
|
418
|
+
const id = setTimeout(() => {
|
|
419
|
+
clearTimeout(id);
|
|
420
|
+
resolve(null);
|
|
421
|
+
}, 1000);
|
|
422
|
+
});
|
|
423
|
+
const disabledAssetRefs = (await Promise.race([timeout, fetchPromise])) || null;
|
|
424
|
+
if (disabledAssetRefs) {
|
|
425
|
+
this.handleLatestBlockedAssetRef(disabledAssetRefs);
|
|
426
|
+
} else {
|
|
427
|
+
this.dataMap.assetRefMap = AssetRefMap;
|
|
428
|
+
}
|
|
429
|
+
} catch (e) {
|
|
430
|
+
this.dataMap.assetRefMap = AssetRefMap;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
409
433
|
checkLatestData() {
|
|
410
434
|
clearInterval(this.refreshLatestChainDataTimeOut);
|
|
435
|
+
this.handleLatestData();
|
|
436
|
+
this.handleLatestData();
|
|
437
|
+
this.handleLatestData();
|
|
438
|
+
this.handleLatestData();
|
|
411
439
|
this.refreshLatestChainDataTimeOut = setInterval(this.handleLatestData.bind(this), LATEST_CHAIN_DATA_FETCHING_INTERVAL);
|
|
412
440
|
}
|
|
413
441
|
stopCheckLatestChainData() {
|
|
@@ -432,6 +460,19 @@ export class ChainService {
|
|
|
432
460
|
console.error('Error fetching latest chain data');
|
|
433
461
|
}
|
|
434
462
|
}
|
|
463
|
+
handleLatestBlockedAssetRef(latestBlockedAssetRefList) {
|
|
464
|
+
const updatedAssetRefMap = {
|
|
465
|
+
...AssetRefMap
|
|
466
|
+
};
|
|
467
|
+
latestBlockedAssetRefList.forEach(blockedAssetRef => {
|
|
468
|
+
delete updatedAssetRefMap[blockedAssetRef];
|
|
469
|
+
});
|
|
470
|
+
this.dataMap.assetRefMap = updatedAssetRefMap;
|
|
471
|
+
|
|
472
|
+
// this.dbService.setAssetRef(this.dataMap.assetRefMap).catch(console.error);
|
|
473
|
+
this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
|
|
474
|
+
this.logger.log('Finished updating latest asset ref');
|
|
475
|
+
}
|
|
435
476
|
handleLatestPriceId(latestPriceIds) {
|
|
436
477
|
Object.entries(latestPriceIds).forEach(([slug, priceId]) => {
|
|
437
478
|
if (this.dataMap.assetRegistry[slug]) {
|
|
@@ -446,6 +487,9 @@ export class ChainService {
|
|
|
446
487
|
this.fetchLatestChainData().then(latestChainInfo => {
|
|
447
488
|
this.handleLatestProviderData(latestChainInfo);
|
|
448
489
|
}).catch(console.error);
|
|
490
|
+
this.fetchLatestBlockedAssetRef().then(latestAssetRef => {
|
|
491
|
+
this.handleLatestBlockedAssetRef(latestAssetRef);
|
|
492
|
+
}).catch(console.error);
|
|
449
493
|
|
|
450
494
|
// this.fetchLatestPriceIdsData().then((latestPriceIds) => {
|
|
451
495
|
// this.handleLatestPriceId(latestPriceIds);
|
|
@@ -649,6 +693,9 @@ export class ChainService {
|
|
|
649
693
|
async fetchLatestPriceIdsData() {
|
|
650
694
|
return await fetchStaticData('chain-assets/price-map');
|
|
651
695
|
}
|
|
696
|
+
async fetchLatestBlockedAssetRef() {
|
|
697
|
+
return await fetchStaticData('chain-assets/disabled-xcm-channels');
|
|
698
|
+
}
|
|
652
699
|
async initChains() {
|
|
653
700
|
const storedChainSettings = await this.dbService.getAllChainStore();
|
|
654
701
|
const defaultChainInfoMap = ChainInfoMap;
|
|
@@ -31,6 +31,7 @@ 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;
|
|
34
35
|
export declare function _getNftTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
|
|
35
36
|
export declare function _getTokenTypesSupportedByChain(chainInfo: _ChainInfo): _AssetType[];
|
|
36
37
|
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 chainInfo.evmInfo
|
|
95
|
+
return !!chainInfo.evmInfo;
|
|
96
96
|
}
|
|
97
97
|
export function _isNativeToken(tokenInfo) {
|
|
98
98
|
return tokenInfo.assetType === _AssetType.NATIVE;
|
|
@@ -147,6 +147,10 @@ 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
|
+
};
|
|
150
154
|
export function _getNftTypesSupportedByChain(chainInfo) {
|
|
151
155
|
const result = [];
|
|
152
156
|
if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
|