@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
|
@@ -9,6 +9,7 @@ var _acala_nft = require("@subwallet/extension-base/koni/api/nft/acala_nft");
|
|
|
9
9
|
var _bit = require("@subwallet/extension-base/koni/api/nft/bit.country");
|
|
10
10
|
var _evm_nft = require("@subwallet/extension-base/koni/api/nft/evm_nft");
|
|
11
11
|
var _karura_nft = require("@subwallet/extension-base/koni/api/nft/karura_nft");
|
|
12
|
+
var _ordinal_nft = _interopRequireDefault(require("@subwallet/extension-base/koni/api/nft/ordinal_nft"));
|
|
12
13
|
var _rmrk_nft = require("@subwallet/extension-base/koni/api/nft/rmrk_nft");
|
|
13
14
|
var _statemine_nft = _interopRequireDefault(require("@subwallet/extension-base/koni/api/nft/statemine_nft"));
|
|
14
15
|
var _unique_nft = _interopRequireDefault(require("@subwallet/extension-base/koni/api/nft/unique_nft"));
|
|
@@ -50,6 +51,9 @@ function createWeb3NftApi(chain, evmApi, addresses) {
|
|
|
50
51
|
const [, evmAddresses] = (0, _utils2.categoryAddresses)(addresses);
|
|
51
52
|
return new _evm_nft.EvmNftApi(evmApi, evmAddresses, chain);
|
|
52
53
|
}
|
|
54
|
+
const createOrdinalApi = (chain, subscanChain, addresses) => {
|
|
55
|
+
return new _ordinal_nft.default(addresses, chain, subscanChain);
|
|
56
|
+
};
|
|
53
57
|
class NftHandler {
|
|
54
58
|
// General settings
|
|
55
59
|
chainInfoMap = {};
|
|
@@ -130,6 +134,16 @@ class NftHandler {
|
|
|
130
134
|
}
|
|
131
135
|
}
|
|
132
136
|
}
|
|
137
|
+
if ((0, _utils._isSupportOrdinal)(chain)) {
|
|
138
|
+
var _chainInfo$extraInfo;
|
|
139
|
+
const subscanChain = (_chainInfo$extraInfo = chainInfo.extraInfo) === null || _chainInfo$extraInfo === void 0 ? void 0 : _chainInfo$extraInfo.subscanSlug;
|
|
140
|
+
if (subscanChain) {
|
|
141
|
+
const handler = createOrdinalApi(chain, subscanChain, substrateAddresses);
|
|
142
|
+
if (handler && !this.handlers.includes(handler)) {
|
|
143
|
+
this.handlers.push(handler);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
133
147
|
});
|
|
134
148
|
this.needSetupApi = false;
|
|
135
149
|
}
|
package/cjs/koni/api/nft/nft.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BaseNftApi = void 0;
|
|
7
|
-
var _config = require("@subwallet/extension-base/koni/api/nft/config");
|
|
8
7
|
var _utils = require("@subwallet/extension-base/utils");
|
|
9
8
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
10
9
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -71,27 +70,7 @@ class BaseNftApi {
|
|
|
71
70
|
return tokenId;
|
|
72
71
|
}
|
|
73
72
|
parseUrl(input) {
|
|
74
|
-
|
|
75
|
-
return undefined;
|
|
76
|
-
}
|
|
77
|
-
if ((0, _utils.isUrl)(input)) {
|
|
78
|
-
return input;
|
|
79
|
-
}
|
|
80
|
-
if ((0, _utils.isUrl)(input) || input.includes('https://') || input.includes('http')) {
|
|
81
|
-
return input;
|
|
82
|
-
}
|
|
83
|
-
if (input.startsWith('/ipfs/')) {
|
|
84
|
-
return (0, _config.getRandomIpfsGateway)() + input.split('/ipfs/')[1];
|
|
85
|
-
}
|
|
86
|
-
if (!input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
87
|
-
// just the IPFS hash
|
|
88
|
-
return (0, _config.getRandomIpfsGateway)() + input;
|
|
89
|
-
}
|
|
90
|
-
if (input.includes('ipfs://') && !input.includes('ipfs://ipfs/')) {
|
|
91
|
-
// starts with ipfs://
|
|
92
|
-
return (0, _config.getRandomIpfsGateway)() + input.split('ipfs://')[1];
|
|
93
|
-
}
|
|
94
|
-
return (0, _config.getRandomIpfsGateway)() + input.split('ipfs://ipfs/')[1]; // starts with ipfs://ipfs/
|
|
73
|
+
return (0, _utils.baseParseIPFSUrl)(input);
|
|
95
74
|
}
|
|
96
75
|
|
|
97
76
|
// Subclass implements this function to parse data into prop result
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GET_EXTRINSIC_PARAMS_API = exports.GET_EVENT_LIST_API = exports.BASE_FETCH_ORDINAL_EVENT_DATA = void 0;
|
|
7
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
8
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
|
|
10
|
+
const GET_EVENT_LIST_API = 'https://{{chain}}.api.subscan.io/api/v2/scan/events';
|
|
11
|
+
exports.GET_EVENT_LIST_API = GET_EVENT_LIST_API;
|
|
12
|
+
const GET_EXTRINSIC_PARAMS_API = 'https://{{chain}}.api.subscan.io/api/scan/extrinsic/params';
|
|
13
|
+
exports.GET_EXTRINSIC_PARAMS_API = GET_EXTRINSIC_PARAMS_API;
|
|
14
|
+
const BASE_FETCH_ORDINAL_EVENT_DATA = {
|
|
15
|
+
event_id: 'Remarked',
|
|
16
|
+
module: 'system',
|
|
17
|
+
order: 'desc',
|
|
18
|
+
success: true,
|
|
19
|
+
row: 100
|
|
20
|
+
};
|
|
21
|
+
exports.BASE_FETCH_ORDINAL_EVENT_DATA = BASE_FETCH_ORDINAL_EVENT_DATA;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _constants = require("@subwallet/extension-base/constants");
|
|
8
|
+
var _nft = require("@subwallet/extension-base/koni/api/nft/nft");
|
|
9
|
+
var _utils = require("@subwallet/extension-base/koni/api/nft/ordinal_nft/utils");
|
|
10
|
+
var _handlers = require("@subwallet/extension-base/koni/background/handlers");
|
|
11
|
+
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
12
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
13
|
+
|
|
14
|
+
const parseParamData = (param, event, chain, address) => {
|
|
15
|
+
const ordinalData = JSON.parse(param.value);
|
|
16
|
+
if ('p' in ordinalData) {
|
|
17
|
+
const properties = {};
|
|
18
|
+
for (const [key, value] of Object.entries(ordinalData)) {
|
|
19
|
+
const _name = key.charAt(0).toUpperCase() + key.slice(1);
|
|
20
|
+
properties[_name] = {
|
|
21
|
+
value: value
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
properties['Block number'] = {
|
|
25
|
+
value: event.extrinsic_index.split('-')[0]
|
|
26
|
+
};
|
|
27
|
+
properties.Timestamp = {
|
|
28
|
+
value: event.block_timestamp
|
|
29
|
+
};
|
|
30
|
+
const op = ordinalData.op.charAt(0).toUpperCase() + ordinalData.op.slice(1);
|
|
31
|
+
const nameParams = [op];
|
|
32
|
+
if (ordinalData.amt !== undefined) {
|
|
33
|
+
nameParams.push(ordinalData.amt);
|
|
34
|
+
}
|
|
35
|
+
nameParams.push(ordinalData.tick);
|
|
36
|
+
const name = nameParams.join(' ');
|
|
37
|
+
return {
|
|
38
|
+
chain: chain,
|
|
39
|
+
collectionId: _constants.ORDINAL_COLLECTION,
|
|
40
|
+
id: event.extrinsic_hash,
|
|
41
|
+
description: JSON.stringify(ordinalData),
|
|
42
|
+
name,
|
|
43
|
+
owner: address,
|
|
44
|
+
properties: properties
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
};
|
|
49
|
+
class OrdinalNftApi extends _nft.BaseNftApi {
|
|
50
|
+
constructor(addresses, chain, subscanChain) {
|
|
51
|
+
super(chain, undefined, addresses);
|
|
52
|
+
this.subscanChain = subscanChain;
|
|
53
|
+
}
|
|
54
|
+
async handleNft(address, handleNftParams) {
|
|
55
|
+
const events = await _handlers.state.subscanService.addRequest(async () => {
|
|
56
|
+
return await (0, _utils.fetchRemarkEvent)(this.subscanChain, address);
|
|
57
|
+
});
|
|
58
|
+
if (events && events.length) {
|
|
59
|
+
const extrinsicIds = events.map(data => data.extrinsic_index);
|
|
60
|
+
const extrinsicParams = await _handlers.state.subscanService.addRequest(async () => {
|
|
61
|
+
return await (0, _utils.fetchExtrinsicParams)(this.subscanChain, extrinsicIds);
|
|
62
|
+
});
|
|
63
|
+
const items = [];
|
|
64
|
+
for (const data of extrinsicParams) {
|
|
65
|
+
const {
|
|
66
|
+
extrinsic_index: extrinsicIndex,
|
|
67
|
+
params
|
|
68
|
+
} = data;
|
|
69
|
+
const event = events.find(item => item.extrinsic_index === extrinsicIndex);
|
|
70
|
+
if (params.length === 1 && event) {
|
|
71
|
+
const [param] = params;
|
|
72
|
+
if (param.name === 'remark') {
|
|
73
|
+
const childParam = {
|
|
74
|
+
name: param.name,
|
|
75
|
+
type: param.type,
|
|
76
|
+
value: param.value
|
|
77
|
+
};
|
|
78
|
+
const item = parseParamData(childParam, event, this.chain, address);
|
|
79
|
+
if (item) {
|
|
80
|
+
items.push(item);
|
|
81
|
+
}
|
|
82
|
+
} else if (param.name === 'calls') {
|
|
83
|
+
const children = param.value;
|
|
84
|
+
for (const child of children) {
|
|
85
|
+
if (child.call_module === 'System' && child.call_name === 'remark_with_event') {
|
|
86
|
+
for (const childParam of child.params) {
|
|
87
|
+
const item = parseParamData(childParam, event, this.chain, address);
|
|
88
|
+
if (item) {
|
|
89
|
+
items.push(item);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (items.length) {
|
|
98
|
+
// handleNftParams.updateCollection(this.chain, {
|
|
99
|
+
// chain: this.chain,
|
|
100
|
+
// collectionId: ORDINAL_COLLECTION
|
|
101
|
+
// });
|
|
102
|
+
|
|
103
|
+
for (const item of items) {
|
|
104
|
+
handleNftParams.updateItem(this.chain, item, address);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async handleNfts(params) {
|
|
110
|
+
await Promise.all(this.addresses.map(address => this.handleNft(address, params)));
|
|
111
|
+
}
|
|
112
|
+
async fetchNfts(params) {
|
|
113
|
+
try {
|
|
114
|
+
await this.handleNfts(params);
|
|
115
|
+
} catch (e) {
|
|
116
|
+
return 0;
|
|
117
|
+
}
|
|
118
|
+
return 1;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
exports.default = OrdinalNftApi;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fetchRemarkEvent = exports.fetchExtrinsicParams = void 0;
|
|
7
|
+
var _constants = require("./constants");
|
|
8
|
+
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
9
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
10
|
+
|
|
11
|
+
const fetchRemarkEvent = async (chain, address) => {
|
|
12
|
+
const params = {
|
|
13
|
+
..._constants.BASE_FETCH_ORDINAL_EVENT_DATA,
|
|
14
|
+
address
|
|
15
|
+
};
|
|
16
|
+
const response = await fetch(_constants.GET_EVENT_LIST_API.replace('{{chain}}', chain), {
|
|
17
|
+
method: 'POST',
|
|
18
|
+
headers: {
|
|
19
|
+
'Content-Type': 'application/json'
|
|
20
|
+
},
|
|
21
|
+
body: JSON.stringify(params)
|
|
22
|
+
});
|
|
23
|
+
const data = await response.json();
|
|
24
|
+
return data.data.events;
|
|
25
|
+
};
|
|
26
|
+
exports.fetchRemarkEvent = fetchRemarkEvent;
|
|
27
|
+
const fetchExtrinsicParams = async (chain, extrinsicIndexes) => {
|
|
28
|
+
const params = {
|
|
29
|
+
extrinsic_index: extrinsicIndexes
|
|
30
|
+
};
|
|
31
|
+
const response = await fetch(_constants.GET_EXTRINSIC_PARAMS_API.replace('{{chain}}', chain), {
|
|
32
|
+
method: 'POST',
|
|
33
|
+
headers: {
|
|
34
|
+
'Content-Type': 'application/json'
|
|
35
|
+
},
|
|
36
|
+
body: JSON.stringify(params)
|
|
37
|
+
});
|
|
38
|
+
const data = await response.json();
|
|
39
|
+
return data.data;
|
|
40
|
+
};
|
|
41
|
+
exports.fetchExtrinsicParams = fetchExtrinsicParams;
|
|
@@ -15,7 +15,9 @@ exports.subscribeAmplitudeStakingMetadata = subscribeAmplitudeStakingMetadata;
|
|
|
15
15
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
16
16
|
var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
|
|
17
17
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
18
|
-
var _utils2 = require("@subwallet/extension-base/utils");
|
|
18
|
+
var _utils2 = require("@subwallet/extension-base/services/earning-service/utils");
|
|
19
|
+
var _types = require("@subwallet/extension-base/types");
|
|
20
|
+
var _utils3 = require("@subwallet/extension-base/utils");
|
|
19
21
|
var _util = require("@polkadot/util");
|
|
20
22
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
21
23
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
@@ -24,7 +26,7 @@ var _utilCrypto = require("@polkadot/util-crypto");
|
|
|
24
26
|
function subscribeAmplitudeStakingMetadata(chain, substrateApi, callback) {
|
|
25
27
|
return substrateApi.api.query.parachainStaking.round(_round => {
|
|
26
28
|
const roundObj = _round.toHuman();
|
|
27
|
-
const round = (0,
|
|
29
|
+
const round = (0, _utils3.parseRawNumber)(roundObj.current);
|
|
28
30
|
const maxDelegations = substrateApi.api.consts.parachainStaking.maxDelegationsPerRound.toString();
|
|
29
31
|
const minDelegatorStake = substrateApi.api.consts.parachainStaking.minDelegatorStake.toString();
|
|
30
32
|
const unstakingDelay = substrateApi.api.consts.parachainStaking.stakeDuration.toString();
|
|
@@ -48,7 +50,7 @@ function subscribeAmplitudeStakingMetadata(chain, substrateApi, callback) {
|
|
|
48
50
|
async function getAmplitudeStakingMetadata(chain, substrateApi) {
|
|
49
51
|
const chainApi = await substrateApi.isReady;
|
|
50
52
|
const _round = (await chainApi.api.query.parachainStaking.round()).toHuman();
|
|
51
|
-
const round = (0,
|
|
53
|
+
const round = (0, _utils3.parseRawNumber)(_round.current);
|
|
52
54
|
const maxDelegations = chainApi.api.consts.parachainStaking.maxDelegationsPerRound.toString();
|
|
53
55
|
const minDelegatorStake = chainApi.api.consts.parachainStaking.minDelegatorStake.toString();
|
|
54
56
|
const unstakingDelay = chainApi.api.consts.parachainStaking.stakeDuration.toString();
|
|
@@ -75,12 +77,12 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
|
|
|
75
77
|
let activeStake = '0';
|
|
76
78
|
if (delegatorState) {
|
|
77
79
|
// delegatorState can be null while unstaking all
|
|
78
|
-
const [identity] = await (0,
|
|
80
|
+
const [identity] = await (0, _utils2.parseIdentity)(substrateApi, delegatorState.owner);
|
|
79
81
|
activeStake = delegatorState.amount.toString();
|
|
80
82
|
const bnActiveStake = new _util.BN(activeStake);
|
|
81
|
-
let delegationStatus =
|
|
83
|
+
let delegationStatus = _types.EarningStatus.NOT_EARNING;
|
|
82
84
|
if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegatorStake))) {
|
|
83
|
-
delegationStatus =
|
|
85
|
+
delegationStatus = _types.EarningStatus.EARNING_REWARD;
|
|
84
86
|
}
|
|
85
87
|
nominationList.push({
|
|
86
88
|
status: delegationStatus,
|
|
@@ -107,13 +109,13 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
|
|
|
107
109
|
const waitingTime = remainingBlock * blockDuration;
|
|
108
110
|
unstakingList.push({
|
|
109
111
|
chain: chainInfo.slug,
|
|
110
|
-
status: isClaimable ?
|
|
112
|
+
status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
|
|
111
113
|
claimable: nearestUnstakingAmount.toString(),
|
|
112
114
|
waitingTime,
|
|
113
115
|
validatorAddress: (delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.owner) || undefined
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
|
-
const stakingStatus = (0, _utils.
|
|
118
|
+
const stakingStatus = (0, _utils.getEarningStatusByNominations)(new _util.BN(activeStake), nominationList);
|
|
117
119
|
return {
|
|
118
120
|
chain: chainInfo.slug,
|
|
119
121
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -145,7 +147,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
145
147
|
chain: chainInfo.slug,
|
|
146
148
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
147
149
|
address,
|
|
148
|
-
status:
|
|
150
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
149
151
|
activeStake: '0',
|
|
150
152
|
nominations: [],
|
|
151
153
|
unstakings: []
|
|
@@ -154,12 +156,12 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
154
156
|
let activeStake = '0';
|
|
155
157
|
if (delegatorState) {
|
|
156
158
|
// delegatorState can be null while unstaking all
|
|
157
|
-
const [identity] = await (0,
|
|
159
|
+
const [identity] = await (0, _utils2.parseIdentity)(substrateApi, delegatorState.owner);
|
|
158
160
|
activeStake = delegatorState.amount.toString();
|
|
159
161
|
const bnActiveStake = new _util.BN(activeStake);
|
|
160
|
-
let delegationStatus =
|
|
162
|
+
let delegationStatus = _types.EarningStatus.NOT_EARNING;
|
|
161
163
|
if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegatorStake))) {
|
|
162
|
-
delegationStatus =
|
|
164
|
+
delegationStatus = _types.EarningStatus.EARNING_REWARD;
|
|
163
165
|
}
|
|
164
166
|
nominationList.push({
|
|
165
167
|
status: delegationStatus,
|
|
@@ -186,7 +188,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
186
188
|
const waitingTime = remainingBlock * blockDuration;
|
|
187
189
|
unstakingList.push({
|
|
188
190
|
chain,
|
|
189
|
-
status: isClaimable ?
|
|
191
|
+
status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
|
|
190
192
|
claimable: nearestUnstakingAmount.toString(),
|
|
191
193
|
waitingTime,
|
|
192
194
|
validatorAddress: (delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.owner) || undefined
|
|
@@ -195,7 +197,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
195
197
|
if (nominationList.length === 0 && unstakingList.length === 0) {
|
|
196
198
|
return;
|
|
197
199
|
}
|
|
198
|
-
const stakingStatus = (0, _utils.
|
|
200
|
+
const stakingStatus = (0, _utils.getEarningStatusByNominations)(new _util.BN(activeStake), nominationList);
|
|
199
201
|
return {
|
|
200
202
|
chain,
|
|
201
203
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -245,7 +247,7 @@ async function getAmplitudeBondingExtrinsic(substrateApi, amount, selectedValida
|
|
|
245
247
|
const {
|
|
246
248
|
bondedValidators
|
|
247
249
|
} = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
|
|
248
|
-
if (!bondedValidators.includes((0,
|
|
250
|
+
if (!bondedValidators.includes((0, _utils3.reformatAddress)(selectedValidatorInfo.address, 0))) {
|
|
249
251
|
return chainApi.api.tx.parachainStaking.joinDelegators(selectedValidatorInfo.address, binaryAmount);
|
|
250
252
|
} else {
|
|
251
253
|
const _params = chainApi.api.tx.parachainStaking.delegatorStakeMore.toJSON();
|
|
@@ -17,6 +17,7 @@ exports.subscribeAstarStakingMetadata = subscribeAstarStakingMetadata;
|
|
|
17
17
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
18
18
|
var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
|
|
19
19
|
var _constants = require("@subwallet/extension-base/services/chain-service/constants");
|
|
20
|
+
var _types = require("@subwallet/extension-base/types");
|
|
20
21
|
var _utils2 = require("@subwallet/extension-base/utils");
|
|
21
22
|
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
22
23
|
var _util = require("@polkadot/util");
|
|
@@ -115,7 +116,7 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
115
116
|
const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
|
|
116
117
|
const bnCurrentStake = new _util.BN(currentStake);
|
|
117
118
|
if (bnCurrentStake.gt(_util.BN_ZERO)) {
|
|
118
|
-
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ?
|
|
119
|
+
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _types.EarningStatus.EARNING_REWARD : _types.EarningStatus.NOT_EARNING;
|
|
119
120
|
bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
|
|
120
121
|
const dappInfo = dAppInfoMap[dappAddress];
|
|
121
122
|
nominationList.push({
|
|
@@ -139,7 +140,7 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
139
140
|
const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
|
|
140
141
|
unstakingList.push({
|
|
141
142
|
chain: chainInfo.slug,
|
|
142
|
-
status: isClaimable ?
|
|
143
|
+
status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
|
|
143
144
|
claimable: unlockingChunk.amount.toString(),
|
|
144
145
|
waitingTime
|
|
145
146
|
});
|
|
@@ -150,13 +151,13 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
|
|
|
150
151
|
chain: chainInfo.slug,
|
|
151
152
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
152
153
|
address,
|
|
153
|
-
status:
|
|
154
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
154
155
|
activeStake: '0',
|
|
155
156
|
nominations: [],
|
|
156
157
|
unstakings: []
|
|
157
158
|
};
|
|
158
159
|
}
|
|
159
|
-
const stakingStatus = (0, _utils.
|
|
160
|
+
const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
|
|
160
161
|
return {
|
|
161
162
|
chain: chainInfo.slug,
|
|
162
163
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -201,7 +202,7 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
201
202
|
const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
|
|
202
203
|
const bnCurrentStake = new _util.BN(currentStake);
|
|
203
204
|
if (bnCurrentStake.gt(_util.BN_ZERO)) {
|
|
204
|
-
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ?
|
|
205
|
+
const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _types.EarningStatus.EARNING_REWARD : _types.EarningStatus.NOT_EARNING;
|
|
205
206
|
bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
|
|
206
207
|
const dappInfo = dAppInfoMap[dappAddress];
|
|
207
208
|
nominationList.push({
|
|
@@ -225,7 +226,7 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
225
226
|
const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chain];
|
|
226
227
|
unstakingList.push({
|
|
227
228
|
chain,
|
|
228
|
-
status: isClaimable ?
|
|
229
|
+
status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
|
|
229
230
|
claimable: unlockingChunk.amount.toString(),
|
|
230
231
|
waitingTime
|
|
231
232
|
});
|
|
@@ -236,13 +237,13 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
|
|
|
236
237
|
chain: chainInfo.slug,
|
|
237
238
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
238
239
|
address,
|
|
239
|
-
status:
|
|
240
|
+
status: _types.EarningStatus.NOT_STAKING,
|
|
240
241
|
activeStake: '0',
|
|
241
242
|
nominations: [],
|
|
242
243
|
unstakings: []
|
|
243
244
|
};
|
|
244
245
|
}
|
|
245
|
-
const stakingStatus = (0, _utils.
|
|
246
|
+
const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
|
|
246
247
|
return {
|
|
247
248
|
chain,
|
|
248
249
|
type: _KoniTypes.StakingType.NOMINATED,
|
|
@@ -369,13 +370,13 @@ async function getAstarClaimRewardExtrinsic(substrateApi, address) {
|
|
|
369
370
|
function getAstarWithdrawable(nominatorMetadata) {
|
|
370
371
|
const unstakingInfo = {
|
|
371
372
|
chain: nominatorMetadata.chain,
|
|
372
|
-
status:
|
|
373
|
+
status: _types.UnstakingStatus.CLAIMABLE,
|
|
373
374
|
claimable: '0',
|
|
374
375
|
waitingTime: 0
|
|
375
376
|
};
|
|
376
377
|
let bnWithdrawable = _util.BN_ZERO;
|
|
377
378
|
for (const unstaking of nominatorMetadata.unstakings) {
|
|
378
|
-
if (unstaking.status ===
|
|
379
|
+
if (unstaking.status === _types.UnstakingStatus.CLAIMABLE) {
|
|
379
380
|
bnWithdrawable = bnWithdrawable.add(new _util.BN(unstaking.claimable));
|
|
380
381
|
}
|
|
381
382
|
}
|
|
@@ -20,13 +20,16 @@ var _amplitude = require("@subwallet/extension-base/koni/api/staking/bonding/amp
|
|
|
20
20
|
var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
|
|
21
21
|
var _paraChain = require("@subwallet/extension-base/koni/api/staking/bonding/paraChain");
|
|
22
22
|
var _relayChain = require("@subwallet/extension-base/koni/api/staking/bonding/relayChain");
|
|
23
|
-
var _constants = require("@subwallet/extension-base/services/
|
|
23
|
+
var _constants = require("@subwallet/extension-base/services/earning-service/constants");
|
|
24
24
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
25
25
|
// SPDX-License-Identifier: Apache-2.0
|
|
26
26
|
|
|
27
27
|
// all addresses must be converted to its chain format
|
|
28
28
|
|
|
29
29
|
function validateUnbondingCondition(nominatorMetadata, amount, chain, chainStakingMetadata, selectedValidator) {
|
|
30
|
+
if (nominatorMetadata.type === _KoniTypes.StakingType.LIQUID_STAKING) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
30
33
|
if (_constants._STAKING_CHAIN_GROUP.relay.includes(chain)) {
|
|
31
34
|
return (0, _relayChain.validateRelayUnbondingCondition)(amount, chainStakingMetadata, nominatorMetadata);
|
|
32
35
|
}
|