@subwallet/extension-base 1.1.29-0 → 1.1.29-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/KoniTypes.d.ts +95 -68
- package/background/KoniTypes.js +16 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +17 -16
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/constants/index.js +19 -4
- 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 +17 -15
- 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 +11 -1
- package/cjs/koni/background/handlers/Extension.js +362 -69
- package/cjs/koni/background/handlers/State.js +51 -3
- package/cjs/koni/background/handlers/index.js +4 -2
- package/cjs/koni/background/subscription.js +95 -37
- package/cjs/services/campaign-service/index.js +9 -6
- package/cjs/services/chain-service/constants.js +2 -16
- package/cjs/services/chain-service/utils.js +7 -1
- package/cjs/services/earning-service/constants/chains.js +29 -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 +232 -0
- package/cjs/services/earning-service/handlers/index.js +60 -0
- package/cjs/services/earning-service/handlers/lending/base.js +20 -0
- package/cjs/services/earning-service/handlers/lending/index.js +13 -0
- package/cjs/services/earning-service/handlers/lending/interlay.js +184 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +217 -0
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +283 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +196 -0
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +409 -0
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +382 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +459 -0
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
- package/cjs/services/earning-service/handlers/native-staking/base.js +159 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +383 -0
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +542 -0
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +541 -0
- package/cjs/services/earning-service/handlers/special.js +411 -0
- package/cjs/services/earning-service/service.js +387 -0
- package/cjs/services/earning-service/utils/index.js +128 -0
- package/cjs/services/event-service/index.js +4 -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/MigrateLedgerAccount.js +1 -1
- 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 +7 -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 +1 -1
- package/cjs/services/storage-service/DatabaseService.js +51 -0
- package/cjs/services/storage-service/databases/index.js +4 -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 +65 -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 +185 -74
- 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/utils/fetchStaticData.js +2 -1
- package/cjs/utils/index.js +89 -1
- package/cjs/utils/object.js +12 -0
- package/cjs/utils/yield/index.js +3 -0
- package/constants/index.d.ts +6 -1
- package/constants/index.js +6 -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 +11 -9
- 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 +1 -0
- package/koni/background/cron.js +12 -2
- package/koni/background/handlers/Extension.d.ts +17 -1
- package/koni/background/handlers/Extension.js +321 -30
- package/koni/background/handlers/State.d.ts +18 -2
- package/koni/background/handlers/State.js +50 -3
- package/koni/background/handlers/index.js +4 -2
- package/koni/background/subscription.d.ts +6 -1
- package/koni/background/subscription.js +97 -38
- package/package.json +316 -3
- package/services/campaign-service/index.js +9 -6
- package/services/chain-service/constants.d.ts +0 -11
- package/services/chain-service/constants.js +1 -14
- 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 +14 -0
- package/services/earning-service/constants/chains.js +21 -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 +112 -0
- package/services/earning-service/handlers/base.js +226 -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 +6 -0
- package/services/earning-service/handlers/lending/base.js +12 -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 +23 -0
- package/services/earning-service/handlers/lending/interlay.js +176 -0
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +26 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +209 -0
- package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
- package/services/earning-service/handlers/liquid-staking/base.js +35 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +45 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +272 -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 +25 -0
- package/services/earning-service/handlers/liquid-staking/parallel.js +188 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +399 -0
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +373 -0
- package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
- package/services/earning-service/handlers/native-staking/astar.js +449 -0
- package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
- package/services/earning-service/handlers/native-staking/base-para.js +129 -0
- package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/base.js +150 -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 +375 -0
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/relay-chain.js +533 -0
- package/services/earning-service/handlers/nomination-pool/index.d.ts +35 -0
- package/services/earning-service/handlers/nomination-pool/index.js +531 -0
- package/services/earning-service/handlers/special.d.ts +56 -0
- package/services/earning-service/handlers/special.js +403 -0
- package/services/earning-service/service.d.ts +45 -0
- package/services/earning-service/service.js +379 -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 +1 -0
- package/services/event-service/index.js +4 -0
- package/services/event-service/types.d.ts +8 -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 +7 -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 +1 -1
- package/services/storage-service/DatabaseService.d.ts +18 -1
- package/services/storage-service/DatabaseService.js +51 -0
- package/services/storage-service/databases/index.d.ts +3 -1
- package/services/storage-service/databases/index.js +4 -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 +9 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +57 -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 +4 -15
- package/services/transaction-service/index.js +183 -72
- 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 +94 -0
- package/types/yield/actions/join/step.js +46 -0
- package/types/yield/actions/join/submit.d.ts +53 -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 +63 -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 +45 -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 +243 -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/fetchStaticData.js +2 -1
- package/utils/index.d.ts +5 -0
- package/utils/index.js +53 -1
- package/utils/object.d.ts +1 -0
- package/utils/object.js +6 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.StakingAction = exports.PalletParachainStakingRequestType = void 0;
|
|
6
|
+
exports.YieldAction = exports.StakingAction = exports.PalletParachainStakingRequestType = void 0;
|
|
7
7
|
exports.calcInflationRewardCurve = calcInflationRewardCurve;
|
|
8
8
|
exports.calcInflationUniformEraPayout = calcInflationUniformEraPayout;
|
|
9
9
|
exports.calculateAlephZeroValidatorReturn = calculateAlephZeroValidatorReturn;
|
|
@@ -13,25 +13,28 @@ exports.calculateTernoaValidatorReturn = calculateTernoaValidatorReturn;
|
|
|
13
13
|
exports.calculateValidatorStakedReturn = calculateValidatorStakedReturn;
|
|
14
14
|
exports.getBondedValidators = getBondedValidators;
|
|
15
15
|
exports.getCommission = getCommission;
|
|
16
|
+
exports.getEarningStatusByNominations = getEarningStatusByNominations;
|
|
16
17
|
exports.getExistUnstakeErrorMessage = void 0;
|
|
17
18
|
exports.getInflationParams = getInflationParams;
|
|
18
19
|
exports.getMinStakeErrorMessage = exports.getMaxValidatorErrorMessage = void 0;
|
|
19
20
|
exports.getParaCurrentInflation = getParaCurrentInflation;
|
|
20
21
|
exports.getStakingAvailableActionsByChain = getStakingAvailableActionsByChain;
|
|
21
22
|
exports.getStakingAvailableActionsByNominator = getStakingAvailableActionsByNominator;
|
|
22
|
-
exports.getStakingStatusByNominations = getStakingStatusByNominations;
|
|
23
23
|
exports.getValidatorLabel = getValidatorLabel;
|
|
24
24
|
exports.getWithdrawalInfo = getWithdrawalInfo;
|
|
25
|
+
exports.getYieldAvailableActionsByPosition = getYieldAvailableActionsByPosition;
|
|
26
|
+
exports.getYieldAvailableActionsByType = getYieldAvailableActionsByType;
|
|
25
27
|
exports.isActionFromValidator = isActionFromValidator;
|
|
26
28
|
exports.isShowNominationByValidator = isShowNominationByValidator;
|
|
27
29
|
exports.isUnstakeAll = isUnstakeAll;
|
|
28
|
-
exports.parseIdentity = parseIdentity;
|
|
29
30
|
exports.parsePoolStashAddress = parsePoolStashAddress;
|
|
30
31
|
exports.transformPoolName = transformPoolName;
|
|
31
32
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
32
33
|
var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
|
|
33
34
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
34
35
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
36
|
+
var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
|
|
37
|
+
var _types = require("@subwallet/extension-base/types");
|
|
35
38
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
36
39
|
var _number = require("@subwallet/extension-base/utils/number");
|
|
37
40
|
var _i18next = require("i18next");
|
|
@@ -57,64 +60,6 @@ function parsePoolStashAddress(api, index, poolId, poolsPalletId) {
|
|
|
57
60
|
function transformPoolName(input) {
|
|
58
61
|
return input.replace(/[^\x20-\x7E]/g, '');
|
|
59
62
|
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* @returns
|
|
63
|
-
* <p>
|
|
64
|
-
* [0] - identity
|
|
65
|
-
* </p>
|
|
66
|
-
* <p>
|
|
67
|
-
* [1] - isReasonable (isVerified)
|
|
68
|
-
* </p>
|
|
69
|
-
* */
|
|
70
|
-
async function parseIdentity(substrateApi, address, children) {
|
|
71
|
-
const compactResult = rs => {
|
|
72
|
-
const result = [];
|
|
73
|
-
if (rs) {
|
|
74
|
-
result.push(rs);
|
|
75
|
-
}
|
|
76
|
-
if (children) {
|
|
77
|
-
result.push(children);
|
|
78
|
-
}
|
|
79
|
-
if (result.length > 0) {
|
|
80
|
-
return result.join('/');
|
|
81
|
-
} else {
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
if (substrateApi.api.query.identity) {
|
|
86
|
-
let identity;
|
|
87
|
-
const _parent = await substrateApi.api.query.identity.superOf(address);
|
|
88
|
-
const parentInfo = _parent.toHuman();
|
|
89
|
-
if (parentInfo) {
|
|
90
|
-
const [parentAddress, {
|
|
91
|
-
Raw: data
|
|
92
|
-
}] = parentInfo;
|
|
93
|
-
const child = (0, _util.isHex)(data) ? (0, _util.hexToString)(data) : data;
|
|
94
|
-
if (!(0, _utils2.isSameAddress)(address, parentAddress)) {
|
|
95
|
-
const [rs, isReasonable] = await parseIdentity(substrateApi, parentAddress, child);
|
|
96
|
-
return [compactResult(rs), isReasonable];
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const _identity = await substrateApi.api.query.identity.identityOf(address);
|
|
100
|
-
const identityInfo = _identity.toHuman();
|
|
101
|
-
if (identityInfo) {
|
|
102
|
-
var _identityInfo$info, _identityInfo$info$di, _identityInfo$info2, _identityInfo$info2$w, _identityInfo$info3, _identityInfo$info3$r, _identityInfo$info4, _identityInfo$info4$t;
|
|
103
|
-
const displayName = (_identityInfo$info = identityInfo.info) === null || _identityInfo$info === void 0 ? void 0 : (_identityInfo$info$di = _identityInfo$info.display) === null || _identityInfo$info$di === void 0 ? void 0 : _identityInfo$info$di.Raw;
|
|
104
|
-
const web = (_identityInfo$info2 = identityInfo.info) === null || _identityInfo$info2 === void 0 ? void 0 : (_identityInfo$info2$w = _identityInfo$info2.web) === null || _identityInfo$info2$w === void 0 ? void 0 : _identityInfo$info2$w.Raw;
|
|
105
|
-
const riot = (_identityInfo$info3 = identityInfo.info) === null || _identityInfo$info3 === void 0 ? void 0 : (_identityInfo$info3$r = _identityInfo$info3.riot) === null || _identityInfo$info3$r === void 0 ? void 0 : _identityInfo$info3$r.Raw;
|
|
106
|
-
const twitter = (_identityInfo$info4 = identityInfo.info) === null || _identityInfo$info4 === void 0 ? void 0 : (_identityInfo$info4$t = _identityInfo$info4.twitter) === null || _identityInfo$info4$t === void 0 ? void 0 : _identityInfo$info4$t.Raw;
|
|
107
|
-
const isReasonable = identityInfo.judgements.length > 0;
|
|
108
|
-
if (displayName) {
|
|
109
|
-
identity = (0, _util.isHex)(displayName) ? (0, _util.hexToString)(displayName) : displayName;
|
|
110
|
-
} else {
|
|
111
|
-
identity = twitter || web || riot;
|
|
112
|
-
}
|
|
113
|
-
return [compactResult(identity), isReasonable];
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return [undefined, false];
|
|
117
|
-
}
|
|
118
63
|
function getInflationParams(networkKey) {
|
|
119
64
|
return _constants._KNOWN_CHAIN_INFLATION_PARAMS[networkKey] || _constants._SUBSTRATE_DEFAULT_INFLATION_PARAMS;
|
|
120
65
|
}
|
|
@@ -138,7 +83,7 @@ function calculateInflation(totalEraStake, totalIssuance, numAuctions, networkKe
|
|
|
138
83
|
const idealStake = stakeTarget - Math.min(auctionMax, numAuctions) * auctionAdjust;
|
|
139
84
|
const idealInterest = maxInflation / idealStake;
|
|
140
85
|
const stakedFraction = totalEraStake.mul(_util.BN_MILLION).div(totalIssuance).toNumber() / _util.BN_MILLION.toNumber();
|
|
141
|
-
if (
|
|
86
|
+
if (_constants2._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
|
|
142
87
|
if (inflationParams.yearlyInflationInTokens) {
|
|
143
88
|
return 100 * calcInflationUniformEraPayout(totalIssuance, inflationParams.yearlyInflationInTokens);
|
|
144
89
|
} else {
|
|
@@ -151,7 +96,7 @@ function calculateInflation(totalEraStake, totalIssuance, numAuctions, networkKe
|
|
|
151
96
|
function calculateChainStakedReturn(inflation, totalEraStake, totalIssuance, networkKey) {
|
|
152
97
|
const stakedFraction = totalEraStake.mul(_util.BN_MILLION).div(totalIssuance).toNumber() / _util.BN_MILLION.toNumber();
|
|
153
98
|
let stakedReturn = inflation / stakedFraction;
|
|
154
|
-
if (
|
|
99
|
+
if (_constants2._STAKING_CHAIN_GROUP.aleph.includes(networkKey)) {
|
|
155
100
|
stakedReturn *= 0.9; // 10% goes to treasury
|
|
156
101
|
}
|
|
157
102
|
|
|
@@ -193,11 +138,11 @@ function getParaCurrentInflation(totalStaked, inflationConfig) {
|
|
|
193
138
|
}
|
|
194
139
|
// validations and check conditions
|
|
195
140
|
function isShowNominationByValidator(chain) {
|
|
196
|
-
if (
|
|
141
|
+
if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
|
|
197
142
|
return 'showByValue';
|
|
198
|
-
} else if (
|
|
143
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
|
|
199
144
|
return 'mixed';
|
|
200
|
-
} else if (
|
|
145
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
|
|
201
146
|
return 'showByValidator';
|
|
202
147
|
}
|
|
203
148
|
return 'showByValue';
|
|
@@ -228,6 +173,79 @@ function isUnstakeAll(selectedValidator, nominations, unstakeAmount) {
|
|
|
228
173
|
}
|
|
229
174
|
return isUnstakeAll;
|
|
230
175
|
}
|
|
176
|
+
let YieldAction;
|
|
177
|
+
exports.YieldAction = YieldAction;
|
|
178
|
+
(function (YieldAction) {
|
|
179
|
+
YieldAction["STAKE"] = "STAKE";
|
|
180
|
+
YieldAction["UNSTAKE"] = "UNSTAKE";
|
|
181
|
+
YieldAction["WITHDRAW"] = "WITHDRAW";
|
|
182
|
+
YieldAction["CLAIM_REWARD"] = "CLAIM_REWARD";
|
|
183
|
+
YieldAction["CANCEL_UNSTAKE"] = "CANCEL_UNSTAKE";
|
|
184
|
+
YieldAction["START_EARNING"] = "EARN";
|
|
185
|
+
YieldAction["WITHDRAW_EARNING"] = "WITHDRAW_EARNING";
|
|
186
|
+
YieldAction["CUSTOM_ACTION"] = "CUSTOM_ACTION";
|
|
187
|
+
})(YieldAction || (exports.YieldAction = YieldAction = {}));
|
|
188
|
+
function getYieldAvailableActionsByType(yieldPoolInfo) {
|
|
189
|
+
if ([_types.YieldPoolType.NATIVE_STAKING, _types.YieldPoolType.NOMINATION_POOL].includes(yieldPoolInfo.type)) {
|
|
190
|
+
if (yieldPoolInfo.type === _types.YieldPoolType.NOMINATION_POOL) {
|
|
191
|
+
return [YieldAction.STAKE, YieldAction.CLAIM_REWARD, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
|
|
192
|
+
}
|
|
193
|
+
const chain = yieldPoolInfo.chain;
|
|
194
|
+
if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
|
|
195
|
+
return [YieldAction.STAKE, YieldAction.UNSTAKE, YieldAction.WITHDRAW, YieldAction.CANCEL_UNSTAKE];
|
|
196
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
|
|
197
|
+
return [YieldAction.STAKE, YieldAction.CLAIM_REWARD, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
|
|
198
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
|
|
199
|
+
return [YieldAction.STAKE, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (yieldPoolInfo.type === _types.YieldPoolType.LENDING) {
|
|
203
|
+
return [YieldAction.START_EARNING, YieldAction.WITHDRAW_EARNING];
|
|
204
|
+
} else if (yieldPoolInfo.type === _types.YieldPoolType.LIQUID_STAKING) {
|
|
205
|
+
return [YieldAction.START_EARNING, YieldAction.UNSTAKE, YieldAction.WITHDRAW];
|
|
206
|
+
}
|
|
207
|
+
return [YieldAction.STAKE, YieldAction.UNSTAKE, YieldAction.WITHDRAW, YieldAction.CANCEL_UNSTAKE];
|
|
208
|
+
}
|
|
209
|
+
function getYieldAvailableActionsByPosition(yieldPosition, yieldPoolInfo, unclaimedReward) {
|
|
210
|
+
const result = [];
|
|
211
|
+
if ([_types.YieldPoolType.NATIVE_STAKING, _types.YieldPoolType.NOMINATION_POOL].includes(yieldPoolInfo.type)) {
|
|
212
|
+
result.push(YieldAction.STAKE);
|
|
213
|
+
const bnActiveStake = new _util.BN(yieldPosition.activeStake);
|
|
214
|
+
if (yieldPosition.activeStake && bnActiveStake.gt(_util.BN_ZERO)) {
|
|
215
|
+
result.push(YieldAction.UNSTAKE);
|
|
216
|
+
const isAstarNetwork = _constants2._STAKING_CHAIN_GROUP.astar.includes(yieldPosition.chain);
|
|
217
|
+
const isAmplitudeNetwork = _constants2._STAKING_CHAIN_GROUP.amplitude.includes(yieldPosition.chain);
|
|
218
|
+
const bnUnclaimedReward = new _util.BN(unclaimedReward || '0');
|
|
219
|
+
if ((yieldPosition.type === _types.YieldPoolType.NOMINATION_POOL || isAmplitudeNetwork) && bnUnclaimedReward.gt(_util.BN_ZERO) || isAstarNetwork) {
|
|
220
|
+
result.push(YieldAction.CLAIM_REWARD);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
if (yieldPosition.unstakings.length > 0) {
|
|
224
|
+
result.push(YieldAction.CANCEL_UNSTAKE);
|
|
225
|
+
const hasClaimable = yieldPosition.unstakings.some(unstaking => unstaking.status === _types.UnstakingStatus.CLAIMABLE);
|
|
226
|
+
if (hasClaimable) {
|
|
227
|
+
result.push(YieldAction.WITHDRAW);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
} else if (yieldPoolInfo.type === _types.YieldPoolType.LIQUID_STAKING) {
|
|
231
|
+
result.push(YieldAction.START_EARNING);
|
|
232
|
+
const activeBalance = new _util.BN(yieldPosition.activeStake || '0');
|
|
233
|
+
if (activeBalance.gt(_util.BN_ZERO)) {
|
|
234
|
+
result.push(YieldAction.UNSTAKE);
|
|
235
|
+
}
|
|
236
|
+
const hasWithdrawal = yieldPosition.unstakings.some(unstakingInfo => unstakingInfo.status === _types.UnstakingStatus.CLAIMABLE);
|
|
237
|
+
if (hasWithdrawal) {
|
|
238
|
+
result.push(YieldAction.WITHDRAW);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// TODO: check has unstakings to withdraw
|
|
242
|
+
} else {
|
|
243
|
+
result.push(YieldAction.START_EARNING);
|
|
244
|
+
result.push(YieldAction.WITHDRAW_EARNING); // TODO
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return result;
|
|
248
|
+
}
|
|
231
249
|
let StakingAction;
|
|
232
250
|
exports.StakingAction = StakingAction;
|
|
233
251
|
(function (StakingAction) {
|
|
@@ -241,11 +259,11 @@ function getStakingAvailableActionsByChain(chain, type) {
|
|
|
241
259
|
if (type === _KoniTypes.StakingType.POOLED) {
|
|
242
260
|
return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CLAIM_REWARD];
|
|
243
261
|
}
|
|
244
|
-
if (
|
|
262
|
+
if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
|
|
245
263
|
return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CANCEL_UNSTAKE];
|
|
246
|
-
} else if (
|
|
264
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
|
|
247
265
|
return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CLAIM_REWARD];
|
|
248
|
-
} else if (
|
|
266
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
|
|
249
267
|
return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW];
|
|
250
268
|
}
|
|
251
269
|
return [StakingAction.STAKE, StakingAction.UNSTAKE, StakingAction.WITHDRAW, StakingAction.CANCEL_UNSTAKE];
|
|
@@ -255,8 +273,8 @@ function getStakingAvailableActionsByNominator(nominatorMetadata, unclaimedRewar
|
|
|
255
273
|
const bnActiveStake = new _util.BN(nominatorMetadata.activeStake);
|
|
256
274
|
if (nominatorMetadata.activeStake && bnActiveStake.gt(_util.BN_ZERO)) {
|
|
257
275
|
result.push(StakingAction.UNSTAKE);
|
|
258
|
-
const isAstarNetwork =
|
|
259
|
-
const isAmplitudeNetwork =
|
|
276
|
+
const isAstarNetwork = _constants2._STAKING_CHAIN_GROUP.astar.includes(nominatorMetadata.chain);
|
|
277
|
+
const isAmplitudeNetwork = _constants2._STAKING_CHAIN_GROUP.amplitude.includes(nominatorMetadata.chain);
|
|
260
278
|
const bnUnclaimedReward = new _util.BN(unclaimedReward || '0');
|
|
261
279
|
if ((nominatorMetadata.type === _KoniTypes.StakingType.POOLED || isAmplitudeNetwork) && bnUnclaimedReward.gt(_util.BN_ZERO) || isAstarNetwork) {
|
|
262
280
|
result.push(StakingAction.CLAIM_REWARD);
|
|
@@ -264,7 +282,7 @@ function getStakingAvailableActionsByNominator(nominatorMetadata, unclaimedRewar
|
|
|
264
282
|
}
|
|
265
283
|
if (nominatorMetadata.unstakings.length > 0) {
|
|
266
284
|
result.push(StakingAction.CANCEL_UNSTAKE);
|
|
267
|
-
const hasClaimable = nominatorMetadata.unstakings.some(unstaking => unstaking.status ===
|
|
285
|
+
const hasClaimable = nominatorMetadata.unstakings.some(unstaking => unstaking.status === _types.UnstakingStatus.CLAIMABLE);
|
|
268
286
|
if (hasClaimable) {
|
|
269
287
|
result.push(StakingAction.WITHDRAW);
|
|
270
288
|
}
|
|
@@ -272,14 +290,14 @@ function getStakingAvailableActionsByNominator(nominatorMetadata, unclaimedRewar
|
|
|
272
290
|
return result;
|
|
273
291
|
}
|
|
274
292
|
function isActionFromValidator(stakingType, chain) {
|
|
275
|
-
if (stakingType === _KoniTypes.StakingType.POOLED) {
|
|
293
|
+
if (stakingType === _KoniTypes.StakingType.POOLED || stakingType === _KoniTypes.StakingType.LIQUID_STAKING) {
|
|
276
294
|
return false;
|
|
277
295
|
}
|
|
278
|
-
if (
|
|
296
|
+
if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
|
|
279
297
|
return true;
|
|
280
|
-
} else if (
|
|
298
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
|
|
281
299
|
return true;
|
|
282
|
-
} else if (
|
|
300
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
|
|
283
301
|
return true;
|
|
284
302
|
}
|
|
285
303
|
return false;
|
|
@@ -287,40 +305,40 @@ function isActionFromValidator(stakingType, chain) {
|
|
|
287
305
|
function getWithdrawalInfo(nominatorMetadata) {
|
|
288
306
|
const unstakings = nominatorMetadata.unstakings;
|
|
289
307
|
let result;
|
|
290
|
-
if (
|
|
308
|
+
if (_constants2._STAKING_CHAIN_GROUP.astar.includes(nominatorMetadata.chain)) {
|
|
291
309
|
return (0, _astar.getAstarWithdrawable)(nominatorMetadata);
|
|
292
310
|
}
|
|
293
311
|
for (const unstaking of unstakings) {
|
|
294
|
-
if (unstaking.status ===
|
|
312
|
+
if (unstaking.status === _types.UnstakingStatus.CLAIMABLE) {
|
|
295
313
|
result = unstaking; // only get the first withdrawal
|
|
296
314
|
break;
|
|
297
315
|
}
|
|
298
316
|
}
|
|
299
317
|
return result;
|
|
300
318
|
}
|
|
301
|
-
function
|
|
302
|
-
let stakingStatus =
|
|
319
|
+
function getEarningStatusByNominations(bnTotalActiveStake, nominationList) {
|
|
320
|
+
let stakingStatus = _types.EarningStatus.EARNING_REWARD;
|
|
303
321
|
if (bnTotalActiveStake.isZero()) {
|
|
304
|
-
stakingStatus =
|
|
322
|
+
stakingStatus = _types.EarningStatus.NOT_EARNING;
|
|
305
323
|
} else {
|
|
306
324
|
let invalidDelegationCount = 0;
|
|
307
325
|
for (const nomination of nominationList) {
|
|
308
|
-
if (nomination.status ===
|
|
326
|
+
if (nomination.status === _types.EarningStatus.NOT_EARNING) {
|
|
309
327
|
invalidDelegationCount += 1;
|
|
310
328
|
}
|
|
311
329
|
}
|
|
312
330
|
if (invalidDelegationCount > 0 && invalidDelegationCount < nominationList.length) {
|
|
313
|
-
stakingStatus =
|
|
331
|
+
stakingStatus = _types.EarningStatus.PARTIALLY_EARNING;
|
|
314
332
|
} else if (invalidDelegationCount === nominationList.length) {
|
|
315
|
-
stakingStatus =
|
|
333
|
+
stakingStatus = _types.EarningStatus.NOT_EARNING;
|
|
316
334
|
}
|
|
317
335
|
}
|
|
318
336
|
return stakingStatus;
|
|
319
337
|
}
|
|
320
338
|
function getValidatorLabel(chain) {
|
|
321
|
-
if (
|
|
339
|
+
if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
|
|
322
340
|
return 'dApp';
|
|
323
|
-
} else if (
|
|
341
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.relay.includes(chain)) {
|
|
324
342
|
return 'Validator';
|
|
325
343
|
}
|
|
326
344
|
return 'Collator';
|
|
@@ -11,6 +11,7 @@ var _relayChain = require("@subwallet/extension-base/koni/api/staking/relayChain
|
|
|
11
11
|
var _subsquidStaking = require("@subwallet/extension-base/koni/api/staking/subsquidStaking");
|
|
12
12
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
13
13
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
14
|
+
var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
|
|
14
15
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
15
16
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
16
17
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -37,20 +38,20 @@ function stakingOnChainApi(addresses, substrateApiMap, chainInfoMap, stakingCall
|
|
|
37
38
|
} = _ref2;
|
|
38
39
|
const parentApi = await apiPromise.isReady;
|
|
39
40
|
const useAddresses = (0, _utils._isChainEvmCompatible)(chainInfoMap[chain]) ? evmAddresses : substrateAddresses;
|
|
40
|
-
if (
|
|
41
|
+
if (_constants2._STAKING_CHAIN_GROUP.amplitude.includes(chain)) {
|
|
41
42
|
const unsub = await (0, _paraChain.getAmplitudeStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
|
|
42
43
|
unsubList.push(unsub);
|
|
43
|
-
} else if (
|
|
44
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.astar.includes(chain)) {
|
|
44
45
|
const unsub = await (0, _paraChain.getAstarStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
|
|
45
46
|
unsubList.push(unsub);
|
|
46
|
-
} else if (
|
|
47
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.para.includes(chain)) {
|
|
47
48
|
const unsub = await (0, _paraChain.getParaStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
|
|
48
49
|
unsubList.push(unsub);
|
|
49
|
-
} else if (
|
|
50
|
+
} else if (_constants2._STAKING_CHAIN_GROUP.relay.includes(chain)) {
|
|
50
51
|
const unsub = await (0, _relayChain.getRelayStakingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
|
|
51
52
|
unsubList.push(unsub);
|
|
52
53
|
}
|
|
53
|
-
if (
|
|
54
|
+
if (_constants2._STAKING_CHAIN_GROUP.nominationPool.includes(chain)) {
|
|
54
55
|
const unsub = await (0, _relayChain.getRelayPoolingOnChain)(parentApi, useAddresses, chainInfoMap, chain, stakingCallback, nominatorStateCallback);
|
|
55
56
|
unsubList.push(unsub);
|
|
56
57
|
}
|
|
@@ -11,8 +11,9 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
|
11
11
|
var _amplitude = require("@subwallet/extension-base/koni/api/staking/bonding/amplitude");
|
|
12
12
|
var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
|
|
13
13
|
var _paraChain = require("@subwallet/extension-base/koni/api/staking/bonding/paraChain");
|
|
14
|
-
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
15
14
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
15
|
+
var _constants = require("@subwallet/extension-base/services/earning-service/constants");
|
|
16
|
+
var _types = require("@subwallet/extension-base/types");
|
|
16
17
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
17
18
|
var _util = require("@polkadot/util");
|
|
18
19
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
@@ -45,7 +46,7 @@ function getSingleStakingAmplitude(substrateApi, address, chainInfoMap, chain, s
|
|
|
45
46
|
chain,
|
|
46
47
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
47
48
|
address: owner,
|
|
48
|
-
status:
|
|
49
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
49
50
|
activeStake: '0',
|
|
50
51
|
nominations: [],
|
|
51
52
|
unstakings: []
|
|
@@ -106,7 +107,7 @@ function getMultiStakingAmplitude(substrateApi, useAddresses, chainInfoMap, chai
|
|
|
106
107
|
chain,
|
|
107
108
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
108
109
|
address: owner,
|
|
109
|
-
status:
|
|
110
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
110
111
|
activeStake: '0',
|
|
111
112
|
nominations: [],
|
|
112
113
|
unstakings: []
|
|
@@ -224,7 +225,7 @@ function getParaStakingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
|
|
|
224
225
|
chain,
|
|
225
226
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
226
227
|
address: owner,
|
|
227
|
-
status:
|
|
228
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
228
229
|
activeStake: '0',
|
|
229
230
|
nominations: [],
|
|
230
231
|
unstakings: []
|
|
@@ -284,7 +285,7 @@ function getAstarStakingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
|
|
|
284
285
|
chain,
|
|
285
286
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
286
287
|
address: owner,
|
|
287
|
-
status:
|
|
288
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
288
289
|
activeStake: '0',
|
|
289
290
|
nominations: [],
|
|
290
291
|
unstakings: []
|
|
@@ -9,6 +9,7 @@ exports.getRelayStakingOnChain = getRelayStakingOnChain;
|
|
|
9
9
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
10
10
|
var _relayChain = require("@subwallet/extension-base/koni/api/staking/bonding/relayChain");
|
|
11
11
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
12
|
+
var _types = require("@subwallet/extension-base/types");
|
|
12
13
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
13
14
|
var _util = require("@polkadot/util");
|
|
14
15
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
@@ -59,7 +60,7 @@ function getRelayStakingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
|
|
|
59
60
|
nominatorStateCallback({
|
|
60
61
|
chain,
|
|
61
62
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
62
|
-
status:
|
|
63
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
63
64
|
address: owner,
|
|
64
65
|
activeStake: '0',
|
|
65
66
|
nominations: [],
|
|
@@ -122,7 +123,7 @@ function getRelayPoolingOnChain(substrateApi, useAddresses, chainInfoMap, chain,
|
|
|
122
123
|
chain,
|
|
123
124
|
type: _KoniTypes.StakingType.POOLED,
|
|
124
125
|
address: owner,
|
|
125
|
-
status:
|
|
126
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
126
127
|
activeStake: '0',
|
|
127
128
|
nominations: [],
|
|
128
129
|
// can only join 1 pool at a time
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.YIELD_POOL_STAT_REFRESH_INTERVAL = exports.YIELD_POOL_MIN_AMOUNT_PERCENT = exports.YIELD_EXTRINSIC_TYPES = exports.DEFAULT_YIELD_FIRST_STEP = void 0;
|
|
7
|
+
exports.calculateAlternativeFee = calculateAlternativeFee;
|
|
8
|
+
exports.convertDerivativeToOriginToken = convertDerivativeToOriginToken;
|
|
9
|
+
exports.syntheticSelectedValidators = void 0;
|
|
10
|
+
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
11
|
+
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
12
|
+
var _types = require("@subwallet/extension-base/types");
|
|
13
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
14
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
15
|
+
|
|
16
|
+
const syntheticSelectedValidators = ['15MLn9YQaHZ4GMkhK3qXqR5iGGSdULyJ995ctjeBgFRseyi6', '1REAJ1k691g5Eqqg9gL7vvZCBG7FCCZ8zgQkZWd4va5ESih', '1yGJ3h7TQuJWLYSsUVPZbM8aR8UsQXCqMvrFx5Fn1ktiAmq', '16GDRhRYxk42paoK6TfHAqWej8PdDDUwdDazjv4bAn4KGNeb', '13Ybj8CPEArUee78DxUAP9yX3ABmFNVQME1ZH4w8HVncHGzc', '14yx4vPAACZRhoDQm1dyvXD3QdRQyCRRCe5tj1zPomhhS29a', '14Vh8S1DzzycngbAB9vqEgPFR9JpSvmF1ezihTUES1EaHAV', '153YD8ZHD9dRh82U419bSCB5SzWhbdAFzjj4NtA5pMazR2yC', '1LUckyocmz9YzeQZHVpBvYYRGXb3rnSm2tvfz79h3G3JDgP', '14oRE62MB1SWR6h5RTx3GY5HK2oZipi1Gp3zdiLwVYLfEyRZ', '1cFsLn7o74nmjbRyDtMAnMpQMc5ZLsjgCSz9Np2mcejUK83', '15ZvLonEseaWZNy8LDkXXj3Y8bmAjxCjwvpy4pXWSL4nGSBs', '1NebF2xZHb4TJJpiqZZ3reeTo8dZov6LZ49qZqcHHbsmHfo', '1HmAqbBRrWvsqbLkvpiVDkdA2PcctUE5JUe3qokEh1FN455', '15tfUt4iQNjMyhZiJGBf4EpETE2KqtW1nfJwbBT1MvWjvcK9', '12RXTLiaYh59PokjZVhQvKzcfBEB5CvDnjKKUmDUotzcTH3S'];
|
|
17
|
+
exports.syntheticSelectedValidators = syntheticSelectedValidators;
|
|
18
|
+
function calculateAlternativeFee(feeInfo) {
|
|
19
|
+
return feeInfo.partialFee;
|
|
20
|
+
}
|
|
21
|
+
const DEFAULT_YIELD_FIRST_STEP = {
|
|
22
|
+
id: 0,
|
|
23
|
+
name: 'Fill information',
|
|
24
|
+
type: _types.YieldStepType.DEFAULT
|
|
25
|
+
};
|
|
26
|
+
exports.DEFAULT_YIELD_FIRST_STEP = DEFAULT_YIELD_FIRST_STEP;
|
|
27
|
+
const YIELD_EXTRINSIC_TYPES = [_KoniTypes.ExtrinsicType.MINT_VDOT, _KoniTypes.ExtrinsicType.MINT_LDOT, _KoniTypes.ExtrinsicType.MINT_SDOT, _KoniTypes.ExtrinsicType.MINT_QDOT, _KoniTypes.ExtrinsicType.MINT_STDOT, _KoniTypes.ExtrinsicType.REDEEM_QDOT, _KoniTypes.ExtrinsicType.REDEEM_SDOT, _KoniTypes.ExtrinsicType.REDEEM_VDOT, _KoniTypes.ExtrinsicType.REDEEM_LDOT, _KoniTypes.ExtrinsicType.REDEEM_STDOT, _KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD, _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL, _KoniTypes.ExtrinsicType.STAKING_POOL_WITHDRAW];
|
|
28
|
+
exports.YIELD_EXTRINSIC_TYPES = YIELD_EXTRINSIC_TYPES;
|
|
29
|
+
const YIELD_POOL_STAT_REFRESH_INTERVAL = 90000;
|
|
30
|
+
exports.YIELD_POOL_STAT_REFRESH_INTERVAL = YIELD_POOL_STAT_REFRESH_INTERVAL;
|
|
31
|
+
const YIELD_POOL_MIN_AMOUNT_PERCENT = {
|
|
32
|
+
DOT___acala_liquid_staking: 0.98,
|
|
33
|
+
DOT___bifrost_liquid_staking: 0.99,
|
|
34
|
+
DOT___parallel_liquid_staking: 0.97,
|
|
35
|
+
default: 0.98
|
|
36
|
+
};
|
|
37
|
+
exports.YIELD_POOL_MIN_AMOUNT_PERCENT = YIELD_POOL_MIN_AMOUNT_PERCENT;
|
|
38
|
+
function convertDerivativeToOriginToken(amount, poolInfo, derivativeTokenInfo, originTokenInfo) {
|
|
39
|
+
var _poolInfo$statistic, _poolInfo$statistic$a;
|
|
40
|
+
const derivativeDecimals = (0, _utils._getAssetDecimals)(derivativeTokenInfo);
|
|
41
|
+
const originDecimals = (0, _utils._getAssetDecimals)(originTokenInfo);
|
|
42
|
+
const exchangeRate = ((_poolInfo$statistic = poolInfo.statistic) === null || _poolInfo$statistic === void 0 ? void 0 : (_poolInfo$statistic$a = _poolInfo$statistic.assetEarning) === null || _poolInfo$statistic$a === void 0 ? void 0 : _poolInfo$statistic$a[0].exchangeRate) || 1;
|
|
43
|
+
const formattedAmount = parseInt(amount) / 10 ** derivativeDecimals; // TODO: decimals
|
|
44
|
+
const minAmount = formattedAmount * exchangeRate;
|
|
45
|
+
return Math.floor(minAmount * 10 ** originDecimals);
|
|
46
|
+
}
|
|
@@ -94,16 +94,20 @@ class KoniCron {
|
|
|
94
94
|
|
|
95
95
|
// MantaPay
|
|
96
96
|
reloadMantaPay && this.removeCron('syncMantaPay');
|
|
97
|
+
commonReload && this.removeCron('refreshPoolingStakingReward');
|
|
97
98
|
|
|
98
99
|
// NFT
|
|
99
100
|
(commonReload || needUpdateNft) && this.resetNft(address);
|
|
100
101
|
(commonReload || needUpdateNft) && this.removeCron('refreshNft');
|
|
102
|
+
commonReload && this.removeCron('refreshPoolingStakingReward');
|
|
101
103
|
|
|
102
104
|
// Chains
|
|
103
105
|
if (this.checkNetworkAvailable(serviceInfo)) {
|
|
104
|
-
// only add cron
|
|
106
|
+
// only add cron jobs if there's at least 1 active network
|
|
105
107
|
(commonReload || needUpdateNft) && this.addCron('refreshNft', this.refreshNft(address, serviceInfo.chainApiMap, this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), _constants.CRON_REFRESH_NFT_INTERVAL);
|
|
106
108
|
reloadMantaPay && this.addCron('syncMantaPay', this.syncMantaPay, _constants.CRON_SYNC_MANTA_PAY);
|
|
109
|
+
(commonReload || chainUpdated) && this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
|
|
110
|
+
(commonReload || chainUpdated) && this.addCron('refreshEarningRewardHistoryInterval', this.refreshEarningRewardHistoryInterval(currentAccountInfo.address), _constants.CRON_REFRESH_EARNING_REWARD_HISTORY_INTERVAL);
|
|
107
111
|
} else {
|
|
108
112
|
this.setStakingRewardReady();
|
|
109
113
|
}
|
|
@@ -117,6 +121,7 @@ class KoniCron {
|
|
|
117
121
|
this.addCron('refreshNft', this.refreshNft(currentAccountInfo.address, this.state.getApiMap(), this.state.getSmartContractNfts(), this.state.getActiveChainInfoMap()), _constants.CRON_REFRESH_NFT_INTERVAL);
|
|
118
122
|
// this.addCron('refreshStakingReward', this.refreshStakingReward(currentAccountInfo.address), CRON_REFRESH_STAKING_REWARD_INTERVAL);
|
|
119
123
|
this.addCron('refreshPoolingStakingReward', this.refreshStakingRewardFastInterval(currentAccountInfo.address), _constants.CRON_REFRESH_STAKING_REWARD_FAST_INTERVAL);
|
|
124
|
+
this.addCron('refreshEarningRewardHistoryInterval', this.refreshEarningRewardHistoryInterval(currentAccountInfo.address), _constants.CRON_REFRESH_EARNING_REWARD_HISTORY_INTERVAL);
|
|
120
125
|
this.addCron('syncMantaPay', this.syncMantaPay, _constants.CRON_SYNC_MANTA_PAY);
|
|
121
126
|
} else {
|
|
122
127
|
this.setStakingRewardReady();
|
|
@@ -164,6 +169,11 @@ class KoniCron {
|
|
|
164
169
|
this.subscriptions.subscribeStakingRewardFastInterval(address).catch(this.logger.error);
|
|
165
170
|
};
|
|
166
171
|
};
|
|
172
|
+
refreshEarningRewardHistoryInterval = address => {
|
|
173
|
+
return () => {
|
|
174
|
+
this.subscriptions.subscribeEarningRewardHistoryInterval(address).catch(this.logger.error);
|
|
175
|
+
};
|
|
176
|
+
};
|
|
167
177
|
setStakingRewardReady = () => {
|
|
168
178
|
this.state.updateStakingRewardReady(true);
|
|
169
179
|
};
|