@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
|
@@ -18,10 +18,12 @@ var _campaignService = _interopRequireDefault(require("@subwallet/extension-base
|
|
|
18
18
|
var _chainService = require("@subwallet/extension-base/services/chain-service");
|
|
19
19
|
var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
|
|
20
20
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
21
|
+
var _service = _interopRequireDefault(require("@subwallet/extension-base/services/earning-service/service"));
|
|
21
22
|
var _eventService = require("@subwallet/extension-base/services/event-service");
|
|
22
23
|
var _historyService = require("@subwallet/extension-base/services/history-service");
|
|
23
24
|
var _keyringService = require("@subwallet/extension-base/services/keyring-service");
|
|
24
25
|
var _migrationService = _interopRequireDefault(require("@subwallet/extension-base/services/migration-service"));
|
|
26
|
+
var _mintCampaignService = _interopRequireDefault(require("@subwallet/extension-base/services/mint-campaign-service"));
|
|
25
27
|
var _NotificationService = _interopRequireDefault(require("@subwallet/extension-base/services/notification-service/NotificationService"));
|
|
26
28
|
var _priceService = require("@subwallet/extension-base/services/price-service");
|
|
27
29
|
var _requestService = _interopRequireDefault(require("@subwallet/extension-base/services/request-service"));
|
|
@@ -100,11 +102,13 @@ class KoniState {
|
|
|
100
102
|
this.priceService = new _priceService.PriceService(this.dbService, this.eventService, this.chainService);
|
|
101
103
|
this.balanceService = new _balanceService.BalanceService(this);
|
|
102
104
|
this.historyService = new _historyService.HistoryService(this.dbService, this.chainService, this.eventService, this.keyringService, this.subscanService);
|
|
103
|
-
this.
|
|
105
|
+
this.mintCampaignService = new _mintCampaignService.default(this);
|
|
104
106
|
this.walletConnectService = new _walletConnectService.default(this, this.requestService);
|
|
105
107
|
this.migrationService = new _migrationService.default(this, this.eventService);
|
|
106
108
|
this.campaignService = new _campaignService.default(this);
|
|
107
109
|
this.buyService = new _buyService.default(this);
|
|
110
|
+
this.transactionService = new _transactionService.default(this);
|
|
111
|
+
this.earningService = new _service.default(this);
|
|
108
112
|
this.subscription = new _subscription.KoniSubscription(this, this.dbService);
|
|
109
113
|
this.cron = new _cron.KoniCron(this, this.subscription, this.dbService);
|
|
110
114
|
this.logger = (0, _util.logger)('State');
|
|
@@ -226,6 +230,7 @@ class KoniState {
|
|
|
226
230
|
await this.migrationService.run();
|
|
227
231
|
this.campaignService.init();
|
|
228
232
|
this.eventService.emit('chain.ready', true);
|
|
233
|
+
await this.earningService.init();
|
|
229
234
|
this.onReady();
|
|
230
235
|
this.onAccountAdd();
|
|
231
236
|
this.onAccountRemove();
|
|
@@ -248,20 +253,13 @@ class KoniState {
|
|
|
248
253
|
}
|
|
249
254
|
async startSubscription() {
|
|
250
255
|
await this.eventService.waitKeyringReady;
|
|
256
|
+
await this.eventService.waitAssetReady;
|
|
251
257
|
this.dbService.subscribeChainStakingMetadata([], data => {
|
|
252
258
|
this.chainStakingMetadataSubject.next(data);
|
|
253
259
|
});
|
|
254
260
|
this.dbService.subscribeMantaPayConfig(_constants2._DEFAULT_MANTA_ZK_CHAIN, data => {
|
|
255
261
|
this.mantaPayConfigSubject.next(data);
|
|
256
262
|
});
|
|
257
|
-
let unsub;
|
|
258
|
-
this.keyringService.accountSubject.subscribe(accounts => {
|
|
259
|
-
// TODO: improve this
|
|
260
|
-
unsub && unsub.unsubscribe();
|
|
261
|
-
unsub = this.dbService.subscribeNominatorMetadata(Object.keys(accounts), data => {
|
|
262
|
-
this.stakingNominatorMetadataSubject.next(data);
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
263
|
}
|
|
266
264
|
onReady() {
|
|
267
265
|
// Todo: Need optimize in the future to, only run important services onetime to save resources
|
|
@@ -1431,7 +1429,7 @@ class KoniState {
|
|
|
1431
1429
|
// Stopping services
|
|
1432
1430
|
await Promise.all([this.cron.stop(), this.subscription.stop()]);
|
|
1433
1431
|
await this.pauseAllNetworks(undefined, 'IDLE mode');
|
|
1434
|
-
await Promise.all([this.historyService.stop(), this.priceService.stop()]);
|
|
1432
|
+
await Promise.all([this.historyService.stop(), this.priceService.stop(), this.earningService.stop()]);
|
|
1435
1433
|
|
|
1436
1434
|
// Complete sleeping
|
|
1437
1435
|
sleeping.resolve();
|
|
@@ -1464,7 +1462,7 @@ class KoniState {
|
|
|
1464
1462
|
}
|
|
1465
1463
|
|
|
1466
1464
|
// Start services
|
|
1467
|
-
await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start()]);
|
|
1465
|
+
await Promise.all([this.cron.start(), this.subscription.start(), this.historyService.start(), this.priceService.start(), this.earningService.start()]);
|
|
1468
1466
|
|
|
1469
1467
|
// Complete starting
|
|
1470
1468
|
starting.resolve();
|
|
@@ -1566,7 +1564,7 @@ class KoniState {
|
|
|
1566
1564
|
return await this.cron.reloadNft();
|
|
1567
1565
|
}
|
|
1568
1566
|
async reloadStaking() {
|
|
1569
|
-
await this.
|
|
1567
|
+
await this.earningService.reloadEarning(true);
|
|
1570
1568
|
return true;
|
|
1571
1569
|
}
|
|
1572
1570
|
async reloadBalance() {
|
|
@@ -1765,5 +1763,13 @@ class KoniState {
|
|
|
1765
1763
|
specVersion: parseInt((metadata === null || metadata === void 0 ? void 0 : metadata.specVersion) || '0')
|
|
1766
1764
|
};
|
|
1767
1765
|
}
|
|
1766
|
+
getCrowdloanContributions(_ref11) {
|
|
1767
|
+
let {
|
|
1768
|
+
address,
|
|
1769
|
+
page,
|
|
1770
|
+
relayChain
|
|
1771
|
+
} = _ref11;
|
|
1772
|
+
return this.subscanService.getCrowdloanContributions(relayChain, address, page);
|
|
1773
|
+
}
|
|
1768
1774
|
}
|
|
1769
1775
|
exports.default = KoniState;
|
|
@@ -72,7 +72,8 @@ function handlers(_ref, port) {
|
|
|
72
72
|
(0, _util.assert)(port, 'Port has been disconnected');
|
|
73
73
|
port.postMessage({
|
|
74
74
|
id,
|
|
75
|
-
response
|
|
75
|
+
response,
|
|
76
|
+
sender: 'BACKGROUND'
|
|
76
77
|
});
|
|
77
78
|
}).catch(error => {
|
|
78
79
|
console.error(error);
|
|
@@ -84,7 +85,8 @@ function handlers(_ref, port) {
|
|
|
84
85
|
error: error.message,
|
|
85
86
|
errorCode: error.code,
|
|
86
87
|
errorData: error.data,
|
|
87
|
-
id
|
|
88
|
+
id,
|
|
89
|
+
sender: 'BACKGROUND'
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
});
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.KoniSubscription = void 0;
|
|
7
7
|
var _crowdloan = require("@subwallet/extension-base/koni/api/dotsama/crowdloan");
|
|
8
8
|
var _staking = require("@subwallet/extension-base/koni/api/staking");
|
|
9
|
-
var _bonding = require("@subwallet/extension-base/koni/api/staking/bonding");
|
|
10
|
-
var _paraChain = require("@subwallet/extension-base/koni/api/staking/paraChain");
|
|
11
9
|
var _handlers = require("@subwallet/extension-base/koni/background/handlers");
|
|
12
10
|
var _balance = require("@subwallet/extension-base/services/balance-service/helpers/subscribe/balance");
|
|
13
11
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
@@ -21,8 +19,8 @@ class KoniSubscription {
|
|
|
21
19
|
subscriptionMap = {
|
|
22
20
|
crowdloan: undefined,
|
|
23
21
|
balance: undefined,
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
yieldPoolStats: undefined,
|
|
23
|
+
yieldPosition: undefined
|
|
26
24
|
};
|
|
27
25
|
constructor(state, dbService) {
|
|
28
26
|
this.dbService = dbService;
|
|
@@ -49,10 +47,6 @@ class KoniSubscription {
|
|
|
49
47
|
this.subscriptionMap.crowdloan();
|
|
50
48
|
delete this.subscriptionMap.crowdloan;
|
|
51
49
|
}
|
|
52
|
-
if (this.subscriptionMap.stakingOnChain) {
|
|
53
|
-
this.subscriptionMap.stakingOnChain();
|
|
54
|
-
delete this.subscriptionMap.stakingOnChain;
|
|
55
|
-
}
|
|
56
50
|
}
|
|
57
51
|
async start() {
|
|
58
52
|
var _this$state$keyringSe;
|
|
@@ -61,7 +55,6 @@ class KoniSubscription {
|
|
|
61
55
|
if (currentAddress) {
|
|
62
56
|
this.subscribeBalances(currentAddress, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
|
|
63
57
|
this.subscribeCrowdloans(currentAddress, this.state.getSubstrateApiMap());
|
|
64
|
-
this.subscribeStakingOnChain(currentAddress, this.state.getSubstrateApiMap());
|
|
65
58
|
}
|
|
66
59
|
this.eventHandler = (events, eventTypes) => {
|
|
67
60
|
var _serviceInfo$currentA;
|
|
@@ -76,7 +69,6 @@ class KoniSubscription {
|
|
|
76
69
|
}
|
|
77
70
|
this.subscribeBalances(address, serviceInfo.chainInfoMap, serviceInfo.chainStateMap, serviceInfo.chainApiMap.substrate, serviceInfo.chainApiMap.evm);
|
|
78
71
|
this.subscribeCrowdloans(address, serviceInfo.chainApiMap.substrate);
|
|
79
|
-
this.subscribeStakingOnChain(address, serviceInfo.chainApiMap.substrate);
|
|
80
72
|
};
|
|
81
73
|
this.state.eventService.onLazy(this.eventHandler.bind(this));
|
|
82
74
|
}
|
|
@@ -106,55 +98,6 @@ class KoniSubscription {
|
|
|
106
98
|
this.updateSubscription('crowdloan', this.initCrowdloanSubscription(addresses, substrateApiMap, onlyRunOnFirstTime));
|
|
107
99
|
}).catch(console.error);
|
|
108
100
|
}
|
|
109
|
-
subscribeStakingOnChain(address, substrateApiMap, onlyRunOnFirstTime) {
|
|
110
|
-
this.state.resetStaking(address);
|
|
111
|
-
const addresses = this.state.getDecodedAddresses(address);
|
|
112
|
-
if (!addresses.length) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
this.updateSubscription('stakingOnChain', this.initStakingOnChainSubscription(addresses, substrateApiMap, onlyRunOnFirstTime));
|
|
116
|
-
this.updateSubscription('essentialChainStakingMetadata', this.initEssentialChainStakingMetadataSubscription(substrateApiMap, onlyRunOnFirstTime)); // TODO: might not need to re-subscribe on changing account
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
initStakingOnChainSubscription(addresses, substrateApiMap, onlyRunOnFirstTime) {
|
|
120
|
-
const stakingCallback = (networkKey, rs) => {
|
|
121
|
-
this.state.setStakingItem(networkKey, rs);
|
|
122
|
-
};
|
|
123
|
-
const nominatorStateCallback = nominatorMetadata => {
|
|
124
|
-
this.state.updateStakingNominatorMetadata(nominatorMetadata);
|
|
125
|
-
};
|
|
126
|
-
const unsub = (0, _staking.stakingOnChainApi)(addresses, substrateApiMap, this.state.getActiveChainInfoMap(), stakingCallback, nominatorStateCallback);
|
|
127
|
-
if (onlyRunOnFirstTime) {
|
|
128
|
-
unsub && unsub();
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
return () => {
|
|
132
|
-
unsub && unsub();
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
initEssentialChainStakingMetadataSubscription(substrateApiMap, onlyRunOnFirstTime) {
|
|
136
|
-
const unsub = (0, _bonding.subscribeEssentialChainStakingMetadata)(substrateApiMap, this.state.getActiveChainInfoMap(), (networkKey, rs) => {
|
|
137
|
-
this.state.updateChainStakingMetadata(rs, {
|
|
138
|
-
era: rs.era,
|
|
139
|
-
minStake: rs.minStake,
|
|
140
|
-
maxValidatorPerNominator: rs.maxValidatorPerNominator,
|
|
141
|
-
// temporary fix for Astar, there's no limit for now
|
|
142
|
-
maxWithdrawalRequestPerValidator: rs.maxWithdrawalRequestPerValidator,
|
|
143
|
-
// by default
|
|
144
|
-
allowCancelUnstaking: rs.allowCancelUnstaking,
|
|
145
|
-
unstakingPeriod: rs.unstakingPeriod,
|
|
146
|
-
expectedReturn: rs.expectedReturn,
|
|
147
|
-
inflation: rs.inflation
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
if (onlyRunOnFirstTime) {
|
|
151
|
-
unsub && unsub();
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
return () => {
|
|
155
|
-
unsub && unsub();
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
101
|
initBalanceSubscription(addresses, chainInfoMap, chainStateMap, substrateApiMap, evmApiMap, onlyRunOnFirstTime) {
|
|
159
102
|
const filteredChainInfoMap = {};
|
|
160
103
|
Object.values(chainStateMap).forEach(chainState => {
|
|
@@ -181,15 +124,11 @@ class KoniSubscription {
|
|
|
181
124
|
this.state.setCrowdloanItem(networkKey, rs);
|
|
182
125
|
});
|
|
183
126
|
if (onlyRunOnFirstTime) {
|
|
184
|
-
subscriptionPromise.then(unsub =>
|
|
185
|
-
unsub && unsub();
|
|
186
|
-
}).catch(this.logger.warn);
|
|
127
|
+
subscriptionPromise.then(unsub => unsub === null || unsub === void 0 ? void 0 : unsub()).catch(this.logger.warn);
|
|
187
128
|
return;
|
|
188
129
|
}
|
|
189
130
|
return () => {
|
|
190
|
-
subscriptionPromise.then(unsub =>
|
|
191
|
-
unsub && unsub();
|
|
192
|
-
}).catch(this.logger.warn);
|
|
131
|
+
subscriptionPromise.then(unsub => unsub === null || unsub === void 0 ? void 0 : unsub()).catch(this.logger.warn);
|
|
193
132
|
};
|
|
194
133
|
}
|
|
195
134
|
subscribeNft(address, substrateApiMap, evmApiMap, smartContractNfts, chainInfoMap) {
|
|
@@ -229,52 +168,16 @@ class KoniSubscription {
|
|
|
229
168
|
this.state.updateStakingReward(rewardItem);
|
|
230
169
|
});
|
|
231
170
|
}
|
|
232
|
-
async
|
|
233
|
-
const addresses = this.state.getDecodedAddresses(address);
|
|
234
|
-
if (!addresses.length) {
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
const pooledStakingItems = await this.state.getPooledStakingRecordsByAddress(addresses);
|
|
238
|
-
const pooledAddresses = [];
|
|
239
|
-
pooledStakingItems.forEach(pooledItem => {
|
|
240
|
-
if (!pooledAddresses.includes(pooledItem.address)) {
|
|
241
|
-
pooledAddresses.push(pooledItem.address);
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
const chainInfoMap = this.state.getChainInfoMap();
|
|
245
|
-
const targetChainMap = {};
|
|
246
|
-
Object.entries(chainInfoMap).forEach(_ref2 => {
|
|
247
|
-
let [key, network] = _ref2;
|
|
248
|
-
const chainState = this.state.getChainStateByKey(key);
|
|
249
|
-
if ((0, _utils._isChainEnabled)(chainState) && (0, _utils._isChainSupportSubstrateStaking)(network)) {
|
|
250
|
-
targetChainMap[key] = network;
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
const activeNetworks = [];
|
|
254
|
-
Object.keys(targetChainMap).forEach(key => {
|
|
255
|
-
activeNetworks.push(key);
|
|
256
|
-
});
|
|
257
|
-
const updateState = result => {
|
|
258
|
-
this.state.updateStakingReward(result);
|
|
259
|
-
};
|
|
260
|
-
await Promise.all([(0, _staking.getPoolingStakingRewardData)(pooledAddresses, targetChainMap, this.state.getSubstrateApiMap(), updateState), (0, _paraChain.getAmplitudeUnclaimedStakingReward)(this.state.getSubstrateApiMap(), addresses, chainInfoMap, activeNetworks, updateState)]);
|
|
261
|
-
}
|
|
262
|
-
async reloadStaking() {
|
|
171
|
+
async reloadBalance() {
|
|
263
172
|
var _this$state$keyringSe2;
|
|
264
173
|
const currentAddress = (_this$state$keyringSe2 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe2 === void 0 ? void 0 : _this$state$keyringSe2.address;
|
|
265
|
-
this.subscribeStakingOnChain(currentAddress, this.state.getSubstrateApiMap());
|
|
266
|
-
await (0, _utils2.waitTimeout)(1800);
|
|
267
|
-
}
|
|
268
|
-
async reloadBalance() {
|
|
269
|
-
var _this$state$keyringSe3;
|
|
270
|
-
const currentAddress = (_this$state$keyringSe3 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe3 === void 0 ? void 0 : _this$state$keyringSe3.address;
|
|
271
174
|
await this.state.handleResetBalance(currentAddress, true);
|
|
272
175
|
this.subscribeBalances(currentAddress, this.state.getChainInfoMap(), this.state.getChainStateMap(), this.state.getSubstrateApiMap(), this.state.getEvmApiMap());
|
|
273
176
|
await (0, _utils2.waitTimeout)(1800);
|
|
274
177
|
}
|
|
275
178
|
async reloadCrowdloan() {
|
|
276
|
-
var _this$state$
|
|
277
|
-
const currentAddress = (_this$state$
|
|
179
|
+
var _this$state$keyringSe3;
|
|
180
|
+
const currentAddress = (_this$state$keyringSe3 = this.state.keyringService.currentAccount) === null || _this$state$keyringSe3 === void 0 ? void 0 : _this$state$keyringSe3.address;
|
|
278
181
|
this.subscribeCrowdloans(currentAddress, this.state.getSubstrateApiMap());
|
|
279
182
|
await (0, _utils2.waitTimeout)(1800);
|
|
280
183
|
}
|
package/cjs/packageInfo.js
CHANGED
|
@@ -11,18 +11,21 @@ var _helpers = require("./helpers");
|
|
|
11
11
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
12
12
|
// SPDX-License-Identifier: Apache-2.0
|
|
13
13
|
|
|
14
|
+
const targetEnvs = ['extension', 'mobile'];
|
|
14
15
|
class CampaignService {
|
|
15
16
|
#state;
|
|
16
17
|
constructor(state) {
|
|
17
18
|
this.#state = state;
|
|
18
19
|
}
|
|
19
20
|
init() {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
if (targetEnvs.includes(_utils.TARGET_ENV)) {
|
|
22
|
+
this.fetchCampaign().catch(e => {
|
|
23
|
+
console.error('Error on fetch campaigns', e);
|
|
24
|
+
});
|
|
25
|
+
this.runCampaign().catch(e => {
|
|
26
|
+
console.error('Error on run campaigns', e);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
26
29
|
}
|
|
27
30
|
async fetchCampaign() {
|
|
28
31
|
const respData = await (0, _fetchStaticData.fetchStaticData)('marketing-campaigns');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports._ZK_ASSET_PREFIX = exports._XCM_TYPE = exports._XCM_CHAIN_GROUP = exports._TRANSFER_NOT_SUPPORTED_CHAINS = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports.
|
|
6
|
+
exports._ZK_ASSET_PREFIX = exports._XCM_TYPE = exports._XCM_CHAIN_GROUP = exports._TRANSFER_NOT_SUPPORTED_CHAINS = exports._TRANSFER_CHAIN_GROUP = exports._SUBSTRATE_DEFAULT_INFLATION_PARAMS = exports._STAKING_ERA_LENGTH_MAP = exports._PURE_EVM_CHAINS = exports._PREDEFINED_SINGLE_MODES = exports._PARACHAIN_INFLATION_DISTRIBUTION = exports._NFT_CHAIN_GROUP = exports._MULTI_CHAIN_ASSET_SRC = exports._MANTA_ZK_CHAIN_GROUP = exports._KNOWN_CHAIN_INFLATION_PARAMS = exports._EXPECTED_BLOCK_TIME = exports._DEFAULT_MANTA_ZK_CHAIN = exports._DEFAULT_ACTIVE_CHAINS = exports._CHAIN_LOGO_MAP_SRC = exports._CHAIN_INFO_SRC = exports._CHAIN_ASSET_SRC = exports._BALANCE_TOKEN_GROUP = exports._BALANCE_PARSING_CHAIN_GROUP = exports._BALANCE_CHAIN_GROUP = exports._ASSET_REF_SRC = exports._ASSET_LOGO_MAP_SRC = exports._API_OPTIONS_CHAIN_GROUP = exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = exports.EVM_REFORMAT_DECIMALS = exports.EVM_PASS_CONNECT_STATUS = exports.API_MAX_RETRY = exports.API_CONNECT_TIMEOUT = exports.API_AUTO_CONNECT_MS = void 0;
|
|
7
7
|
var _chainList = require("@subwallet/chain-list");
|
|
8
8
|
var _types = require("@subwallet/chain-list/types");
|
|
9
9
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
@@ -65,21 +65,6 @@ const _NFT_CHAIN_GROUP = {
|
|
|
65
65
|
|
|
66
66
|
// Staking--------------------------------------------------------------------------------------------------------------
|
|
67
67
|
exports._NFT_CHAIN_GROUP = _NFT_CHAIN_GROUP;
|
|
68
|
-
const _STAKING_CHAIN_GROUP = {
|
|
69
|
-
relay: ['polkadot', 'kusama', 'aleph', 'polkadex', 'ternoa', 'ternoa_alphanet', 'alephTest', 'polkadexTest', 'westend', 'kate', 'edgeware', 'creditcoin', 'vara_network', 'goldberg_testnet'],
|
|
70
|
-
para: ['moonbeam', 'moonriver', 'moonbase', 'turing', 'turingStaging', 'bifrost', 'bifrost_testnet', 'calamari_test', 'calamari', 'manta_network'],
|
|
71
|
-
astar: ['astar', 'shiden', 'shibuya'],
|
|
72
|
-
amplitude: ['amplitude', 'amplitude_test', 'kilt', 'kilt_peregrine', 'pendulum', 'krest_network'],
|
|
73
|
-
// amplitude and kilt only share some common logic
|
|
74
|
-
krest_network: ['krest_network'],
|
|
75
|
-
kilt: ['kilt', 'kilt_peregrine'],
|
|
76
|
-
nominationPool: ['polkadot', 'kusama', 'westend', 'alephTest', 'aleph', 'kate', 'vara_network', 'goldberg_testnet'],
|
|
77
|
-
bifrost: ['bifrost', 'bifrost_testnet'],
|
|
78
|
-
aleph: ['aleph', 'alephTest'],
|
|
79
|
-
// A0 has distinct tokenomics
|
|
80
|
-
ternoa: ['ternoa', 'ternoa_alphanet']
|
|
81
|
-
};
|
|
82
|
-
exports._STAKING_CHAIN_GROUP = _STAKING_CHAIN_GROUP;
|
|
83
68
|
const _STAKING_ERA_LENGTH_MAP = {
|
|
84
69
|
// in hours
|
|
85
70
|
alephTest: 24,
|
|
@@ -278,7 +263,7 @@ const EVM_REFORMAT_DECIMALS = {
|
|
|
278
263
|
acala: ['acala_evm', 'karura_evm']
|
|
279
264
|
};
|
|
280
265
|
exports.EVM_REFORMAT_DECIMALS = EVM_REFORMAT_DECIMALS;
|
|
281
|
-
const LATEST_CHAIN_DATA_FETCHING_INTERVAL =
|
|
266
|
+
const LATEST_CHAIN_DATA_FETCHING_INTERVAL = 120000;
|
|
282
267
|
|
|
283
268
|
// TODO: review
|
|
284
269
|
exports.LATEST_CHAIN_DATA_FETCHING_INTERVAL = LATEST_CHAIN_DATA_FETCHING_INTERVAL;
|
|
@@ -226,8 +226,9 @@ class ChainService {
|
|
|
226
226
|
getActiveChainInfos() {
|
|
227
227
|
const result = {};
|
|
228
228
|
Object.values(this.getChainStateMap()).forEach(chainState => {
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
const chainInfo = this.getChainInfoByKey(chainState.slug);
|
|
230
|
+
if (chainState.active && chainInfo && chainInfo.chainStatus === _types._ChainStatus.ACTIVE) {
|
|
231
|
+
result[chainState.slug] = chainInfo;
|
|
231
232
|
}
|
|
232
233
|
});
|
|
233
234
|
return result;
|
|
@@ -410,7 +411,10 @@ class ChainService {
|
|
|
410
411
|
|
|
411
412
|
// TODO: reconsider the flow of initiation
|
|
412
413
|
this.multiChainAssetMapSubject.next(_chainList.MultiChainAssetMap);
|
|
413
|
-
|
|
414
|
+
// const storedAssetRefMap = await this.dbService.getAssetRefMap();
|
|
415
|
+
//
|
|
416
|
+
// this.dataMap.assetRefMap = storedAssetRefMap && Object.values(storedAssetRefMap).length > 0 ? storedAssetRefMap : AssetRefMap;
|
|
417
|
+
|
|
414
418
|
await this.initChains();
|
|
415
419
|
this.chainInfoMapSubject.next(this.getChainInfoMap());
|
|
416
420
|
this.updateChainStateMapSubscription();
|
|
@@ -418,10 +422,34 @@ class ChainService {
|
|
|
418
422
|
this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
|
|
419
423
|
await this.initApis();
|
|
420
424
|
await this.initAssetSettings();
|
|
425
|
+
await this.initAssetRefMap();
|
|
421
426
|
this.checkLatestData();
|
|
422
427
|
}
|
|
428
|
+
async initAssetRefMap() {
|
|
429
|
+
try {
|
|
430
|
+
const fetchPromise = this.fetchLatestBlockedAssetRef();
|
|
431
|
+
const timeout = new Promise(resolve => {
|
|
432
|
+
const id = setTimeout(() => {
|
|
433
|
+
clearTimeout(id);
|
|
434
|
+
resolve(null);
|
|
435
|
+
}, 1000);
|
|
436
|
+
});
|
|
437
|
+
const disabledAssetRefs = (await Promise.race([timeout, fetchPromise])) || null;
|
|
438
|
+
if (disabledAssetRefs) {
|
|
439
|
+
this.handleLatestBlockedAssetRef(disabledAssetRefs);
|
|
440
|
+
} else {
|
|
441
|
+
this.dataMap.assetRefMap = _chainList.AssetRefMap;
|
|
442
|
+
}
|
|
443
|
+
} catch (e) {
|
|
444
|
+
this.dataMap.assetRefMap = _chainList.AssetRefMap;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
423
447
|
checkLatestData() {
|
|
424
448
|
clearInterval(this.refreshLatestChainDataTimeOut);
|
|
449
|
+
this.handleLatestData();
|
|
450
|
+
this.handleLatestData();
|
|
451
|
+
this.handleLatestData();
|
|
452
|
+
this.handleLatestData();
|
|
425
453
|
this.refreshLatestChainDataTimeOut = setInterval(this.handleLatestData.bind(this), _constants.LATEST_CHAIN_DATA_FETCHING_INTERVAL);
|
|
426
454
|
}
|
|
427
455
|
stopCheckLatestChainData() {
|
|
@@ -446,6 +474,19 @@ class ChainService {
|
|
|
446
474
|
console.error('Error fetching latest chain data');
|
|
447
475
|
}
|
|
448
476
|
}
|
|
477
|
+
handleLatestBlockedAssetRef(latestBlockedAssetRefList) {
|
|
478
|
+
const updatedAssetRefMap = {
|
|
479
|
+
..._chainList.AssetRefMap
|
|
480
|
+
};
|
|
481
|
+
latestBlockedAssetRefList.forEach(blockedAssetRef => {
|
|
482
|
+
delete updatedAssetRefMap[blockedAssetRef];
|
|
483
|
+
});
|
|
484
|
+
this.dataMap.assetRefMap = updatedAssetRefMap;
|
|
485
|
+
|
|
486
|
+
// this.dbService.setAssetRef(this.dataMap.assetRefMap).catch(console.error);
|
|
487
|
+
this.xcmRefMapSubject.next(this.dataMap.assetRefMap);
|
|
488
|
+
this.logger.log('Finished updating latest asset ref');
|
|
489
|
+
}
|
|
449
490
|
handleLatestPriceId(latestPriceIds) {
|
|
450
491
|
Object.entries(latestPriceIds).forEach(_ref3 => {
|
|
451
492
|
let [slug, priceId] = _ref3;
|
|
@@ -461,6 +502,9 @@ class ChainService {
|
|
|
461
502
|
this.fetchLatestChainData().then(latestChainInfo => {
|
|
462
503
|
this.handleLatestProviderData(latestChainInfo);
|
|
463
504
|
}).catch(console.error);
|
|
505
|
+
this.fetchLatestBlockedAssetRef().then(latestAssetRef => {
|
|
506
|
+
this.handleLatestBlockedAssetRef(latestAssetRef);
|
|
507
|
+
}).catch(console.error);
|
|
464
508
|
|
|
465
509
|
// this.fetchLatestPriceIdsData().then((latestPriceIds) => {
|
|
466
510
|
// this.handleLatestPriceId(latestPriceIds);
|
|
@@ -666,6 +710,9 @@ class ChainService {
|
|
|
666
710
|
async fetchLatestPriceIdsData() {
|
|
667
711
|
return await (0, _utils2.fetchStaticData)('chain-assets/price-map');
|
|
668
712
|
}
|
|
713
|
+
async fetchLatestBlockedAssetRef() {
|
|
714
|
+
return await (0, _utils2.fetchStaticData)('chain-assets/disabled-xcm-channels');
|
|
715
|
+
}
|
|
669
716
|
async initChains() {
|
|
670
717
|
const storedChainSettings = await this.dbService.getAllChainStore();
|
|
671
718
|
const defaultChainInfoMap = _chainList.ChainInfoMap;
|
|
@@ -60,6 +60,7 @@ exports._isSmartContractToken = _isSmartContractToken;
|
|
|
60
60
|
exports._isSubstrateChain = _isSubstrateChain;
|
|
61
61
|
exports._isSubstrateParaChain = _isSubstrateParaChain;
|
|
62
62
|
exports._isSubstrateRelayChain = _isSubstrateRelayChain;
|
|
63
|
+
exports._isSupportOrdinal = void 0;
|
|
63
64
|
exports._isTokenEvmSmartContract = _isTokenEvmSmartContract;
|
|
64
65
|
exports._isTokenTransferredByEvm = _isTokenTransferredByEvm;
|
|
65
66
|
exports._isTokenWasmSmartContract = _isTokenWasmSmartContract;
|
|
@@ -163,7 +164,7 @@ function _getTokenMinAmount(tokenInfo) {
|
|
|
163
164
|
return tokenInfo.minAmount || '0';
|
|
164
165
|
}
|
|
165
166
|
function _isChainEvmCompatible(chainInfo) {
|
|
166
|
-
return chainInfo.evmInfo
|
|
167
|
+
return !!chainInfo.evmInfo;
|
|
167
168
|
}
|
|
168
169
|
function _isNativeToken(tokenInfo) {
|
|
169
170
|
return tokenInfo.assetType === _types._AssetType.NATIVE;
|
|
@@ -218,6 +219,11 @@ function _isChainSupportWasmNft(chainInfo) {
|
|
|
218
219
|
var _chainInfo$substrateI8, _chainInfo$substrateI9;
|
|
219
220
|
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(_types._AssetType.PSP34)) || false;
|
|
220
221
|
}
|
|
222
|
+
const _isSupportOrdinal = chain => {
|
|
223
|
+
const chains = ['polkadot', 'astar', 'bifrost_dot', 'moonbeam'];
|
|
224
|
+
return chains.includes(chain);
|
|
225
|
+
};
|
|
226
|
+
exports._isSupportOrdinal = _isSupportOrdinal;
|
|
221
227
|
function _getNftTypesSupportedByChain(chainInfo) {
|
|
222
228
|
const result = [];
|
|
223
229
|
if (chainInfo.substrateInfo && chainInfo.substrateInfo.supportSmartContract) {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports._STAKING_CHAIN_GROUP = exports.ST_LIQUID_TOKEN_ABI = void 0;
|
|
7
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
8
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
|
|
10
|
+
const _STAKING_CHAIN_GROUP = {
|
|
11
|
+
relay: ['polkadot', 'kusama', 'aleph', 'polkadex', 'ternoa', 'ternoa_alphanet', 'alephTest', 'polkadexTest', 'westend', 'kate', 'edgeware', 'creditcoin', 'vara_network', 'goldberg_testnet'],
|
|
12
|
+
para: ['moonbeam', 'moonriver', 'moonbase', 'turing', 'turingStaging', 'bifrost', 'bifrost_testnet', 'calamari_test', 'calamari', 'manta_network'],
|
|
13
|
+
astar: ['astar', 'shiden', 'shibuya'],
|
|
14
|
+
amplitude: ['amplitude', 'amplitude_test', 'kilt', 'kilt_peregrine', 'pendulum', 'krest_network'],
|
|
15
|
+
// amplitude and kilt only share some common logic
|
|
16
|
+
kilt: ['kilt', 'kilt_peregrine'],
|
|
17
|
+
nominationPool: ['polkadot', 'kusama', 'westend', 'alephTest', 'aleph', 'kate', 'vara_network', 'goldberg_testnet'],
|
|
18
|
+
bifrost: ['bifrost', 'bifrost_testnet'],
|
|
19
|
+
aleph: ['aleph', 'alephTest'],
|
|
20
|
+
// A0 has distinct tokenomics
|
|
21
|
+
ternoa: ['ternoa', 'ternoa_alphanet'],
|
|
22
|
+
liquidStaking: ['bifrost_dot', 'acala', 'parallel', 'moonbeam'],
|
|
23
|
+
lending: ['interlay'],
|
|
24
|
+
krest_network: ['krest_network']
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
|
|
28
|
+
exports._STAKING_CHAIN_GROUP = _STAKING_CHAIN_GROUP;
|
|
29
|
+
const ST_LIQUID_TOKEN_ABI = require('./abis/st_liquid_token_abi.json');
|
|
30
|
+
exports.ST_LIQUID_TOKEN_ABI = ST_LIQUID_TOKEN_ABI;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _chains = require("./chains");
|
|
7
|
+
Object.keys(_chains).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _chains[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _chains[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _step = require("./step");
|
|
18
|
+
Object.keys(_step).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _step[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _step[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fakeAddress = exports.DEFAULT_YIELD_FIRST_STEP = void 0;
|
|
7
|
+
var _types = require("@subwallet/extension-base/types");
|
|
8
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
9
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
10
|
+
|
|
11
|
+
const DEFAULT_YIELD_FIRST_STEP = {
|
|
12
|
+
id: 0,
|
|
13
|
+
name: 'Fill information',
|
|
14
|
+
type: _types.YieldStepType.DEFAULT
|
|
15
|
+
};
|
|
16
|
+
exports.DEFAULT_YIELD_FIRST_STEP = DEFAULT_YIELD_FIRST_STEP;
|
|
17
|
+
const fakeAddress = '15MLn9YQaHZ4GMkhK3qXqR5iGGSdULyJ995ctjeBgFRseyi6';
|
|
18
|
+
exports.fakeAddress = fakeAddress;
|