@subwallet/extension-base 1.1.32-0 → 1.1.32-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/KoniTypes.d.ts +112 -69
- package/background/KoniTypes.js +19 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +20 -16
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/constants/index.js +19 -4
- package/cjs/koni/api/dotsama/balance.js +464 -0
- package/cjs/koni/api/nft/config.js +33 -23
- package/cjs/koni/api/nft/index.js +14 -0
- package/cjs/koni/api/nft/nft.js +1 -22
- package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
- package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
- package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
- package/cjs/koni/api/staking/bonding/amplitude.js +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 +3 -21
- package/cjs/koni/background/handlers/Extension.js +368 -69
- package/cjs/koni/background/handlers/State.js +18 -12
- package/cjs/koni/background/handlers/index.js +4 -2
- package/cjs/koni/background/subscription.js +7 -104
- package/cjs/services/campaign-service/index.js +28 -6
- package/cjs/services/chain-service/constants.js +1 -15
- package/cjs/services/chain-service/index.js +3 -2
- 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 +262 -0
- package/cjs/services/earning-service/handlers/index.js +60 -0
- package/cjs/services/earning-service/handlers/lending/base.js +81 -0
- package/cjs/services/earning-service/handlers/lending/index.js +13 -0
- package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +389 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
- package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
- package/cjs/services/earning-service/handlers/special.js +493 -0
- package/cjs/services/earning-service/service.js +720 -0
- package/cjs/services/earning-service/utils/index.js +128 -0
- package/cjs/services/event-service/index.js +5 -0
- package/cjs/services/keyring-service/index.js +14 -2
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
- package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
- package/cjs/services/migration-service/scripts/index.js +6 -1
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
- package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
- package/cjs/services/mint-campaign-service/constants.js +11 -0
- package/cjs/services/mint-campaign-service/index.js +18 -0
- package/cjs/services/notification-service/NotificationService.js +1 -1
- package/cjs/services/storage-service/DatabaseService.js +66 -0
- package/cjs/services/storage-service/databases/index.js +4 -0
- package/cjs/services/storage-service/db-stores/Campaign.js +9 -3
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
- package/cjs/services/storage-service/index.js +241 -0
- package/cjs/services/subscan-service/index.js +16 -0
- package/cjs/services/transaction-service/event-parser/index.js +58 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -1
- package/cjs/services/transaction-service/index.js +245 -75
- package/cjs/services/transaction-service/utils.js +1 -0
- package/cjs/types/campaigns/index.js +16 -0
- package/cjs/types/campaigns/unlock-dot.js +1 -0
- package/cjs/types/index.js +44 -0
- package/cjs/types/ordinal.js +1 -0
- package/cjs/types/transaction.js +1 -0
- package/cjs/types/yield/actions/index.js +27 -0
- package/cjs/types/yield/actions/join/index.js +38 -0
- package/cjs/types/yield/actions/join/step.js +47 -0
- package/cjs/types/yield/actions/join/submit.js +1 -0
- package/cjs/types/yield/actions/join/validate.js +16 -0
- package/cjs/types/yield/actions/others.js +1 -0
- package/cjs/types/yield/index.js +27 -0
- package/cjs/types/yield/info/account/index.js +49 -0
- package/cjs/types/yield/info/account/info.js +1 -0
- package/cjs/types/yield/info/account/reward.js +1 -0
- package/cjs/types/yield/info/account/target.js +32 -0
- package/cjs/types/yield/info/account/unstake.js +27 -0
- package/cjs/types/yield/info/base.js +41 -0
- package/cjs/types/yield/info/chain/index.js +27 -0
- package/cjs/types/yield/info/chain/info.js +1 -0
- package/cjs/types/yield/info/chain/target.js +1 -0
- package/cjs/types/yield/info/index.js +49 -0
- package/cjs/types/yield/info/pallet.js +15 -0
- package/cjs/types.js +1 -0
- package/cjs/utils/address.js +34 -0
- package/cjs/utils/fetchStaticData.js +2 -1
- package/cjs/utils/index.js +89 -1
- package/cjs/utils/keyring.js +57 -0
- package/cjs/utils/number.js +6 -2
- package/cjs/utils/object.js +12 -0
- package/constants/index.d.ts +6 -1
- package/constants/index.js +6 -1
- package/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 +0 -4
- package/koni/background/cron.js +4 -22
- package/koni/background/handlers/Extension.d.ts +17 -1
- package/koni/background/handlers/Extension.js +327 -30
- package/koni/background/handlers/State.d.ts +6 -1
- package/koni/background/handlers/State.js +17 -12
- package/koni/background/handlers/index.js +4 -2
- package/koni/background/subscription.d.ts +1 -6
- package/koni/background/subscription.js +8 -104
- package/package.json +316 -3
- package/services/campaign-service/index.js +28 -6
- package/services/chain-service/constants.d.ts +0 -11
- package/services/chain-service/constants.js +0 -13
- package/services/chain-service/index.js +3 -2
- 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 +113 -0
- package/services/earning-service/handlers/base.js +256 -0
- package/services/earning-service/handlers/index.d.ts +5 -0
- package/services/earning-service/handlers/index.js +8 -0
- package/services/earning-service/handlers/lending/base.d.ts +8 -0
- package/services/earning-service/handlers/lending/base.js +73 -0
- package/services/earning-service/handlers/lending/index.d.ts +1 -0
- package/services/earning-service/handlers/lending/index.js +4 -0
- package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
- package/services/earning-service/handlers/lending/interlay.js +184 -0
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
- package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
- package/services/earning-service/handlers/liquid-staking/base.js +89 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
- package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/liquid-staking/index.js +7 -0
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
- package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +380 -0
- package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
- package/services/earning-service/handlers/native-staking/astar.js +456 -0
- package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
- package/services/earning-service/handlers/native-staking/base-para.js +138 -0
- package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/base.js +152 -0
- package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/native-staking/index.js +7 -0
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
- package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
- package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
- package/services/earning-service/handlers/nomination-pool/index.js +556 -0
- package/services/earning-service/handlers/special.d.ts +64 -0
- package/services/earning-service/handlers/special.js +485 -0
- package/services/earning-service/service.d.ts +93 -0
- package/services/earning-service/service.js +709 -0
- package/services/earning-service/utils/index.d.ts +18 -0
- package/services/earning-service/utils/index.js +112 -0
- package/services/event-service/index.d.ts +2 -0
- package/services/event-service/index.js +5 -0
- package/services/event-service/types.d.ts +9 -0
- package/services/keyring-service/index.d.ts +2 -1
- package/services/keyring-service/index.js +14 -2
- package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
- package/services/migration-service/scripts/DeleteEarningData.js +13 -0
- package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
- package/services/migration-service/scripts/EnableEarningChains.js +13 -0
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
- package/services/migration-service/scripts/index.js +6 -1
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
- package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
- package/services/mint-campaign-service/campaigns/index.js +4 -0
- package/services/mint-campaign-service/constants.d.ts +1 -0
- package/services/mint-campaign-service/constants.js +4 -0
- package/services/mint-campaign-service/index.d.ts +7 -0
- package/services/mint-campaign-service/index.js +11 -0
- package/services/notification-service/NotificationService.js +1 -1
- package/services/storage-service/DatabaseService.d.ts +23 -1
- package/services/storage-service/DatabaseService.js +66 -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/Campaign.js +9 -3
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
- package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
- package/services/subscan-service/index.d.ts +3 -2
- package/services/subscan-service/index.js +15 -0
- package/services/subscan-service/types.d.ts +20 -0
- package/services/transaction-service/event-parser/index.d.ts +3 -1
- package/services/transaction-service/event-parser/index.js +57 -1
- package/services/transaction-service/helpers/index.js +3 -1
- package/services/transaction-service/index.d.ts +4 -15
- package/services/transaction-service/index.js +243 -73
- package/services/transaction-service/types.d.ts +2 -0
- package/services/transaction-service/utils.js +1 -0
- package/types/campaigns/index.d.ts +1 -0
- package/types/campaigns/index.js +4 -0
- package/types/campaigns/unlock-dot.d.ts +71 -0
- package/types/campaigns/unlock-dot.js +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.js +5 -1
- package/types/ordinal.d.ts +69 -0
- package/types/ordinal.js +1 -0
- package/types/transaction.d.ts +3 -0
- package/types/transaction.js +1 -0
- package/types/yield/actions/index.d.ts +2 -0
- package/types/yield/actions/index.js +5 -0
- package/types/yield/actions/join/index.d.ts +3 -0
- package/types/yield/actions/join/index.js +6 -0
- package/types/yield/actions/join/step.d.ts +95 -0
- package/types/yield/actions/join/step.js +46 -0
- package/types/yield/actions/join/submit.d.ts +58 -0
- package/types/yield/actions/join/submit.js +1 -0
- package/types/yield/actions/join/validate.d.ts +18 -0
- package/types/yield/actions/join/validate.js +10 -0
- package/types/yield/actions/others.d.ts +85 -0
- package/types/yield/actions/others.js +1 -0
- package/types/yield/index.d.ts +2 -0
- package/types/yield/index.js +5 -0
- package/types/yield/info/account/index.d.ts +4 -0
- package/types/yield/info/account/index.js +7 -0
- package/types/yield/info/account/info.d.ts +92 -0
- package/types/yield/info/account/info.js +1 -0
- package/types/yield/info/account/reward.d.ts +47 -0
- package/types/yield/info/account/reward.js +1 -0
- package/types/yield/info/account/target.d.ts +43 -0
- package/types/yield/info/account/target.js +27 -0
- package/types/yield/info/account/unstake.d.ts +31 -0
- package/types/yield/info/account/unstake.js +22 -0
- package/types/yield/info/base.d.ts +45 -0
- package/types/yield/info/base.js +36 -0
- package/types/yield/info/chain/index.d.ts +2 -0
- package/types/yield/info/chain/index.js +5 -0
- package/types/yield/info/chain/info.d.ts +251 -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/number.d.ts +2 -1
- package/utils/number.js +2 -1
- package/utils/object.d.ts +1 -0
- package/utils/object.js +6 -0
|
@@ -10,14 +10,14 @@ var _TransactionError = require("@subwallet/extension-base/background/errors/Tra
|
|
|
10
10
|
var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
|
|
11
11
|
var _TransactionWarning = require("@subwallet/extension-base/background/warnings/TransactionWarning");
|
|
12
12
|
var _constants = require("@subwallet/extension-base/constants");
|
|
13
|
-
var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
|
|
14
13
|
var _utils = require("@subwallet/extension-base/services/chain-service/utils");
|
|
15
|
-
var
|
|
16
|
-
var
|
|
14
|
+
var _constants2 = require("@subwallet/extension-base/services/request-service/constants");
|
|
15
|
+
var _constants3 = require("@subwallet/extension-base/services/transaction-service/constants");
|
|
17
16
|
var _eventParser = require("@subwallet/extension-base/services/transaction-service/event-parser");
|
|
18
17
|
var _helpers = require("@subwallet/extension-base/services/transaction-service/helpers");
|
|
19
18
|
var _utils2 = require("@subwallet/extension-base/services/transaction-service/utils");
|
|
20
19
|
var _helpers2 = require("@subwallet/extension-base/services/wallet-connect-service/helpers");
|
|
20
|
+
var _types = require("@subwallet/extension-base/types");
|
|
21
21
|
var _utils3 = require("@subwallet/extension-base/utils");
|
|
22
22
|
var _eth = require("@subwallet/extension-base/utils/eth");
|
|
23
23
|
var _mergeTransactionAndSignature = require("@subwallet/extension-base/utils/eth/mergeTransactionAndSignature");
|
|
@@ -30,6 +30,7 @@ var _eventemitter = _interopRequireDefault(require("eventemitter3"));
|
|
|
30
30
|
var _i18next = require("i18next");
|
|
31
31
|
var _rxjs = require("rxjs");
|
|
32
32
|
var _util = require("@polkadot/util");
|
|
33
|
+
var _constants4 = require("../chain-service/constants");
|
|
33
34
|
// Copyright 2019-2022 @subwallet/extension-base authors & contributors
|
|
34
35
|
// SPDX-License-Identifier: Apache-2.0
|
|
35
36
|
|
|
@@ -39,14 +40,8 @@ class TransactionService {
|
|
|
39
40
|
get transactions() {
|
|
40
41
|
return this.transactionSubject.getValue();
|
|
41
42
|
}
|
|
42
|
-
constructor(
|
|
43
|
-
this.
|
|
44
|
-
this.eventService = eventService;
|
|
45
|
-
this.requestService = requestService;
|
|
46
|
-
this.balanceService = balanceService;
|
|
47
|
-
this.historyService = historyService;
|
|
48
|
-
this.notificationService = notificationService;
|
|
49
|
-
this.databaseService = databaseService;
|
|
43
|
+
constructor(state) {
|
|
44
|
+
this.state = state;
|
|
50
45
|
}
|
|
51
46
|
get allTransactions() {
|
|
52
47
|
return Object.values(this.transactions);
|
|
@@ -103,7 +98,7 @@ class TransactionService {
|
|
|
103
98
|
decimals: 0,
|
|
104
99
|
value: ''
|
|
105
100
|
};
|
|
106
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
101
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
107
102
|
if (!chainInfo) {
|
|
108
103
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('Cannot find network')));
|
|
109
104
|
} else {
|
|
@@ -118,7 +113,7 @@ class TransactionService {
|
|
|
118
113
|
if ((0, _helpers.isSubstrateTransaction)(transaction)) {
|
|
119
114
|
estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
|
|
120
115
|
} else {
|
|
121
|
-
const web3 = this.chainService.getEvmApi(chain);
|
|
116
|
+
const web3 = this.state.chainService.getEvmApi(chain);
|
|
122
117
|
if (!web3) {
|
|
123
118
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
|
|
124
119
|
} else {
|
|
@@ -152,32 +147,35 @@ class TransactionService {
|
|
|
152
147
|
|
|
153
148
|
// Balance
|
|
154
149
|
const transferNative = validationResponse.transferNativeAmount || '0';
|
|
155
|
-
const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
|
|
156
|
-
const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
|
|
150
|
+
const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
|
|
151
|
+
const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
|
|
157
152
|
const existentialDeposit = nativeTokenInfo.minAmount || '0';
|
|
158
153
|
const feeNum = parseInt(estimateFee.value);
|
|
159
154
|
const balanceNum = parseInt(balance.value);
|
|
160
155
|
const edNum = parseInt(existentialDeposit);
|
|
161
156
|
const transferNativeNum = parseInt(transferNative);
|
|
162
|
-
if (!
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (transferNativeNum + feeNum > balanceNum) {
|
|
166
|
-
if (!isTransferAll) {
|
|
157
|
+
if (!validationInput.skipFeeValidation) {
|
|
158
|
+
// TODO
|
|
159
|
+
if (!new _bignumber.default(balance.value).gt(0)) {
|
|
167
160
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
161
|
+
}
|
|
162
|
+
if (transferNativeNum + feeNum > balanceNum) {
|
|
163
|
+
if (!isTransferAll) {
|
|
171
164
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
165
|
+
} else {
|
|
166
|
+
if ([..._constants4._TRANSFER_CHAIN_GROUP.acala, ..._constants4._TRANSFER_CHAIN_GROUP.genshiro, ..._constants4._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants4._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
|
|
167
|
+
// Chain not have transfer all function
|
|
168
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
169
|
+
}
|
|
172
170
|
}
|
|
173
171
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
172
|
+
if (!isTransferAll) {
|
|
173
|
+
if (balanceNum - (transferNativeNum + feeNum) < edNum) {
|
|
174
|
+
if (edAsWarning) {
|
|
175
|
+
validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
|
|
176
|
+
} else {
|
|
177
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
|
|
178
|
+
}
|
|
181
179
|
}
|
|
182
180
|
}
|
|
183
181
|
}
|
|
@@ -198,7 +196,7 @@ class TransactionService {
|
|
|
198
196
|
updatedAt: new Date().getTime(),
|
|
199
197
|
errors: transaction.errors || [],
|
|
200
198
|
warnings: transaction.warnings || [],
|
|
201
|
-
url: transaction.url ||
|
|
199
|
+
url: transaction.url || _constants2.EXTENSION_REQUEST_URL,
|
|
202
200
|
status: _KoniTypes.ExtrinsicStatus.QUEUED,
|
|
203
201
|
isInternal,
|
|
204
202
|
id: transactionId,
|
|
@@ -244,12 +242,21 @@ class TransactionService {
|
|
|
244
242
|
}
|
|
245
243
|
validatedTransaction.warnings = [];
|
|
246
244
|
const emitter = await this.addTransaction(validatedTransaction);
|
|
247
|
-
await new Promise(resolve => {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
245
|
+
await new Promise((resolve, reject) => {
|
|
246
|
+
// TODO
|
|
247
|
+
if (transaction.resolveOnDone) {
|
|
248
|
+
emitter.on('success', data => {
|
|
249
|
+
validatedTransaction.id = data.id;
|
|
250
|
+
validatedTransaction.extrinsicHash = data.extrinsicHash;
|
|
251
|
+
resolve();
|
|
252
|
+
});
|
|
253
|
+
} else {
|
|
254
|
+
emitter.on('signed', data => {
|
|
255
|
+
validatedTransaction.id = data.id;
|
|
256
|
+
validatedTransaction.extrinsicHash = data.extrinsicHash;
|
|
257
|
+
resolve();
|
|
258
|
+
});
|
|
259
|
+
}
|
|
253
260
|
emitter.on('error', data => {
|
|
254
261
|
if (data.errors.length > 0) {
|
|
255
262
|
validatedTransaction.errors.push(...data.errors);
|
|
@@ -315,7 +322,7 @@ class TransactionService {
|
|
|
315
322
|
}
|
|
316
323
|
getTransactionLink(id) {
|
|
317
324
|
const transaction = this.getTransaction(id);
|
|
318
|
-
const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
|
|
325
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
|
|
319
326
|
return (0, _utils2.getExplorerLink)(chainInfo, transaction.extrinsicHash, 'tx');
|
|
320
327
|
}
|
|
321
328
|
transactionToHistories(id, startBlock, nonce, eventLogs) {
|
|
@@ -343,7 +350,7 @@ class TransactionService {
|
|
|
343
350
|
nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
|
|
344
351
|
startBlock: startBlock || 0
|
|
345
352
|
};
|
|
346
|
-
const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
|
|
353
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
|
|
347
354
|
const nativeAsset = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
|
|
348
355
|
const baseNativeAmount = {
|
|
349
356
|
value: '0',
|
|
@@ -357,7 +364,7 @@ class TransactionService {
|
|
|
357
364
|
{
|
|
358
365
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
359
366
|
historyItem.to = inputData.to;
|
|
360
|
-
const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
367
|
+
const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
361
368
|
historyItem.amount = {
|
|
362
369
|
value: inputData.value || '0',
|
|
363
370
|
decimals: sendingTokenInfo.decimals || 0,
|
|
@@ -370,7 +377,7 @@ class TransactionService {
|
|
|
370
377
|
{
|
|
371
378
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
372
379
|
historyItem.to = inputData.to;
|
|
373
|
-
const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
380
|
+
const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
374
381
|
historyItem.amount = {
|
|
375
382
|
value: inputData.value || '0',
|
|
376
383
|
decimals: sendingTokenInfo.decimals || 0,
|
|
@@ -383,7 +390,7 @@ class TransactionService {
|
|
|
383
390
|
{
|
|
384
391
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
385
392
|
historyItem.to = inputData.to;
|
|
386
|
-
const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
393
|
+
const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
387
394
|
historyItem.amount = {
|
|
388
395
|
value: inputData.value || '0',
|
|
389
396
|
decimals: sendingTokenInfo.decimals || 0,
|
|
@@ -432,17 +439,29 @@ class TransactionService {
|
|
|
432
439
|
case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
|
|
433
440
|
{
|
|
434
441
|
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
442
|
+
if (data.isLiquidStaking && data.derivativeTokenInfo && data.exchangeRate && data.inputTokenInfo) {
|
|
443
|
+
historyItem.amount = {
|
|
444
|
+
decimals: (0, _utils._getAssetDecimals)(data.derivativeTokenInfo),
|
|
445
|
+
symbol: (0, _utils._getAssetSymbol)(data.derivativeTokenInfo),
|
|
446
|
+
value: data.amount
|
|
447
|
+
};
|
|
448
|
+
historyItem.additionalInfo = {
|
|
449
|
+
inputTokenSlug: data.inputTokenInfo.slug,
|
|
450
|
+
exchangeRate: data.exchangeRate
|
|
451
|
+
};
|
|
452
|
+
} else {
|
|
453
|
+
historyItem.to = data.validatorAddress || '';
|
|
454
|
+
historyItem.amount = {
|
|
455
|
+
...baseNativeAmount,
|
|
456
|
+
value: data.amount || '0'
|
|
457
|
+
};
|
|
458
|
+
}
|
|
440
459
|
}
|
|
441
460
|
break;
|
|
442
461
|
case _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL:
|
|
443
462
|
{
|
|
444
463
|
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
445
|
-
historyItem.to = data.
|
|
464
|
+
historyItem.to = data.address || '';
|
|
446
465
|
historyItem.amount = {
|
|
447
466
|
...baseNativeAmount,
|
|
448
467
|
value: data.amount || '0'
|
|
@@ -461,11 +480,21 @@ class TransactionService {
|
|
|
461
480
|
case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
|
|
462
481
|
{
|
|
463
482
|
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
464
|
-
|
|
465
|
-
|
|
483
|
+
const slug = data.slug;
|
|
484
|
+
const poolHandler = this.state.earningService.getPoolHandler(slug);
|
|
485
|
+
const amount = {
|
|
466
486
|
...baseNativeAmount,
|
|
467
487
|
value: data.unstakingInfo.claimable || '0'
|
|
468
488
|
};
|
|
489
|
+
if (poolHandler) {
|
|
490
|
+
const asset = this.state.getAssetBySlug(poolHandler.metadataInfo.inputAsset);
|
|
491
|
+
if (asset) {
|
|
492
|
+
amount.decimals = asset.decimals || 0;
|
|
493
|
+
amount.symbol = asset.symbol;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
historyItem.to = data.unstakingInfo.validatorAddress || '';
|
|
497
|
+
historyItem.amount = amount;
|
|
469
498
|
break;
|
|
470
499
|
}
|
|
471
500
|
case _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE:
|
|
@@ -486,6 +515,116 @@ class TransactionService {
|
|
|
486
515
|
historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
|
|
487
516
|
break;
|
|
488
517
|
}
|
|
518
|
+
case _KoniTypes.ExtrinsicType.MINT_STDOT:
|
|
519
|
+
case _KoniTypes.ExtrinsicType.MINT_QDOT:
|
|
520
|
+
case _KoniTypes.ExtrinsicType.MINT_LDOT:
|
|
521
|
+
case _KoniTypes.ExtrinsicType.MINT_SDOT:
|
|
522
|
+
|
|
523
|
+
// eslint-disable-next-line no-fallthrough
|
|
524
|
+
case _KoniTypes.ExtrinsicType.MINT_VDOT:
|
|
525
|
+
{
|
|
526
|
+
const params = (0, _utils2.parseTransactionData)(transaction.data);
|
|
527
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
|
|
528
|
+
const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
|
|
529
|
+
historyItem.amount = {
|
|
530
|
+
value: params.amount,
|
|
531
|
+
symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
|
|
532
|
+
decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
|
|
533
|
+
};
|
|
534
|
+
const additionalInfo = {
|
|
535
|
+
slug: params.slug,
|
|
536
|
+
derivativeTokenSlug: params.derivativeTokenSlug,
|
|
537
|
+
exchangeRate: params.exchangeRate
|
|
538
|
+
};
|
|
539
|
+
historyItem.additionalInfo = additionalInfo;
|
|
540
|
+
eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
|
|
541
|
+
break;
|
|
542
|
+
}
|
|
543
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
|
|
544
|
+
|
|
545
|
+
// eslint-disable-next-line no-fallthrough
|
|
546
|
+
case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
|
|
547
|
+
{
|
|
548
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
549
|
+
const yieldPoolInfo = data.poolInfo;
|
|
550
|
+
if (yieldPoolInfo.metadata.derivativeAssets) {
|
|
551
|
+
const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
|
|
552
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
|
|
553
|
+
historyItem.amount = {
|
|
554
|
+
value: data.amount,
|
|
555
|
+
symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
|
|
556
|
+
decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
|
|
557
|
+
};
|
|
558
|
+
eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
|
|
559
|
+
const additionalInfo = {
|
|
560
|
+
minAmountPercent: 1,
|
|
561
|
+
symbol: inputTokenInfo.symbol,
|
|
562
|
+
decimals: inputTokenInfo.decimals || 0,
|
|
563
|
+
exchangeRate: 1,
|
|
564
|
+
slug: yieldPoolInfo.slug,
|
|
565
|
+
type: yieldPoolInfo.type,
|
|
566
|
+
chain: yieldPoolInfo.chain,
|
|
567
|
+
group: yieldPoolInfo.group,
|
|
568
|
+
isFast: data.fastLeave
|
|
569
|
+
};
|
|
570
|
+
historyItem.additionalInfo = additionalInfo;
|
|
571
|
+
}
|
|
572
|
+
break;
|
|
573
|
+
}
|
|
574
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
|
|
575
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
|
|
576
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
|
|
577
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
|
|
578
|
+
case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
|
|
579
|
+
case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
|
|
580
|
+
case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
|
|
581
|
+
|
|
582
|
+
// eslint-disable-next-line no-fallthrough
|
|
583
|
+
case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
|
|
584
|
+
{
|
|
585
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
586
|
+
const yieldPoolInfo = data.poolInfo;
|
|
587
|
+
const minAmountPercents = this.state.earningService.getMinAmountPercent();
|
|
588
|
+
if (yieldPoolInfo.metadata.derivativeAssets) {
|
|
589
|
+
var _yieldPoolInfo$statis;
|
|
590
|
+
const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
|
|
591
|
+
const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
|
|
592
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
|
|
593
|
+
historyItem.amount = {
|
|
594
|
+
value: data.amount,
|
|
595
|
+
symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
|
|
596
|
+
decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
|
|
597
|
+
};
|
|
598
|
+
eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
|
|
599
|
+
const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
|
|
600
|
+
const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
|
|
601
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
|
|
602
|
+
const additionalInfo = {
|
|
603
|
+
minAmountPercent,
|
|
604
|
+
symbol: inputTokenInfo.symbol,
|
|
605
|
+
decimals: inputTokenInfo.decimals || 0,
|
|
606
|
+
exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
|
|
607
|
+
slug: yieldPoolInfo.slug,
|
|
608
|
+
type: yieldPoolInfo.type,
|
|
609
|
+
chain: yieldPoolInfo.chain,
|
|
610
|
+
group: yieldPoolInfo.group,
|
|
611
|
+
isFast: data.fastLeave
|
|
612
|
+
};
|
|
613
|
+
historyItem.additionalInfo = additionalInfo;
|
|
614
|
+
}
|
|
615
|
+
break;
|
|
616
|
+
}
|
|
617
|
+
case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
|
|
618
|
+
{
|
|
619
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
620
|
+
const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
|
|
621
|
+
historyItem.amount = {
|
|
622
|
+
value: '0',
|
|
623
|
+
symbol: (0, _utils._getAssetSymbol)(inputAsset),
|
|
624
|
+
decimals: (0, _utils._getAssetDecimals)(inputAsset)
|
|
625
|
+
};
|
|
626
|
+
break;
|
|
627
|
+
}
|
|
489
628
|
case _KoniTypes.ExtrinsicType.UNKNOWN:
|
|
490
629
|
break;
|
|
491
630
|
}
|
|
@@ -533,7 +672,7 @@ class TransactionService {
|
|
|
533
672
|
});
|
|
534
673
|
|
|
535
674
|
// Create Input History Transaction History
|
|
536
|
-
this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
|
|
675
|
+
this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
|
|
537
676
|
console.debug(`Transaction "${id}" is sent`);
|
|
538
677
|
}
|
|
539
678
|
onHasTransactionHash(_ref3) {
|
|
@@ -551,8 +690,12 @@ class TransactionService {
|
|
|
551
690
|
this.updateTransaction(id, updateData);
|
|
552
691
|
|
|
553
692
|
// In this case transaction id is the same as extrinsic hash and will change after below update
|
|
554
|
-
this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
|
|
693
|
+
this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
|
|
555
694
|
console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
|
|
695
|
+
const transaction = this.getTransaction(id);
|
|
696
|
+
if ([_KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.JOIN_YIELD_POOL, _KoniTypes.ExtrinsicType.MINT_LDOT, _KoniTypes.ExtrinsicType.MINT_QDOT, _KoniTypes.ExtrinsicType.MINT_SDOT, _KoniTypes.ExtrinsicType.MINT_VDOT].includes(transaction.extrinsicType)) {
|
|
697
|
+
this.handlePostEarningTransaction(id);
|
|
698
|
+
}
|
|
556
699
|
}
|
|
557
700
|
handlePostProcessing(id) {
|
|
558
701
|
// must be done after success/failure to make sure the transaction is finalized
|
|
@@ -561,15 +704,15 @@ class TransactionService {
|
|
|
561
704
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
562
705
|
try {
|
|
563
706
|
const sender = _uiKeyring.default.getPair(inputData.senderAddress);
|
|
564
|
-
sender && this.
|
|
565
|
-
this.eventService.emit('transaction.transferNft', undefined);
|
|
707
|
+
sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
|
|
708
|
+
this.state.eventService.emit('transaction.transferNft', undefined);
|
|
566
709
|
}).catch(console.error);
|
|
567
710
|
} catch (e) {
|
|
568
711
|
console.error(e);
|
|
569
712
|
}
|
|
570
713
|
try {
|
|
571
714
|
const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
|
|
572
|
-
recipient && this.
|
|
715
|
+
recipient && this.state.dbService.addNft(recipient.address, {
|
|
573
716
|
...inputData.nftItem,
|
|
574
717
|
owner: recipient.address
|
|
575
718
|
}).catch(console.error);
|
|
@@ -577,7 +720,7 @@ class TransactionService {
|
|
|
577
720
|
console.error(e);
|
|
578
721
|
}
|
|
579
722
|
} else if ([_KoniTypes.ExtrinsicType.STAKING_BOND, _KoniTypes.ExtrinsicType.STAKING_UNBOND, _KoniTypes.ExtrinsicType.STAKING_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE, _KoniTypes.ExtrinsicType.STAKING_CLAIM_REWARD, _KoniTypes.ExtrinsicType.STAKING_JOIN_POOL, _KoniTypes.ExtrinsicType.STAKING_POOL_WITHDRAW, _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL].includes(transaction.extrinsicType)) {
|
|
580
|
-
this.eventService.emit('transaction.submitStaking', transaction.chain);
|
|
723
|
+
this.state.eventService.emit('transaction.submitStaking', transaction.chain);
|
|
581
724
|
}
|
|
582
725
|
}
|
|
583
726
|
onSuccess(_ref4) {
|
|
@@ -594,14 +737,14 @@ class TransactionService {
|
|
|
594
737
|
});
|
|
595
738
|
|
|
596
739
|
// Write success transaction history
|
|
597
|
-
this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
740
|
+
this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
598
741
|
extrinsicHash,
|
|
599
742
|
status: _KoniTypes.ExtrinsicStatus.SUCCESS,
|
|
600
743
|
blockNumber: blockNumber || 0,
|
|
601
744
|
blockHash: blockHash || ''
|
|
602
745
|
}).catch(console.error);
|
|
603
|
-
const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
|
|
604
|
-
this.notificationService.notify({
|
|
746
|
+
const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
|
|
747
|
+
this.state.notificationService.notify({
|
|
605
748
|
type: _KoniTypes.NotificationType.SUCCESS,
|
|
606
749
|
title: (0, _i18next.t)('Transaction completed'),
|
|
607
750
|
message: (0, _i18next.t)('Transaction {{info}} completed', {
|
|
@@ -614,7 +757,7 @@ class TransactionService {
|
|
|
614
757
|
},
|
|
615
758
|
notifyViaBrowser: true
|
|
616
759
|
});
|
|
617
|
-
this.eventService.emit('transaction.done', transaction);
|
|
760
|
+
this.state.eventService.emit('transaction.done', transaction);
|
|
618
761
|
}
|
|
619
762
|
onFailed(_ref5) {
|
|
620
763
|
let {
|
|
@@ -634,14 +777,14 @@ class TransactionService {
|
|
|
634
777
|
});
|
|
635
778
|
|
|
636
779
|
// Write failed transaction history
|
|
637
|
-
this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
780
|
+
this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
638
781
|
extrinsicHash: extrinsicHash || transaction.extrinsicHash,
|
|
639
782
|
status: nextStatus,
|
|
640
783
|
blockNumber: blockNumber || 0,
|
|
641
784
|
blockHash: blockHash || ''
|
|
642
785
|
}).catch(console.error);
|
|
643
|
-
const info = (0, _util.isHex)(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
|
|
644
|
-
this.notificationService.notify({
|
|
786
|
+
const info = (0, _util.isHex)(transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash) ? transaction === null || transaction === void 0 ? void 0 : transaction.extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
|
|
787
|
+
this.state.notificationService.notify({
|
|
645
788
|
type: _KoniTypes.NotificationType.ERROR,
|
|
646
789
|
title: (0, _i18next.t)('Transaction failed'),
|
|
647
790
|
message: (0, _i18next.t)('Transaction {{info}} failed', {
|
|
@@ -655,11 +798,11 @@ class TransactionService {
|
|
|
655
798
|
notifyViaBrowser: true
|
|
656
799
|
});
|
|
657
800
|
}
|
|
658
|
-
this.eventService.emit('transaction.failed', transaction);
|
|
801
|
+
this.state.eventService.emit('transaction.failed', transaction);
|
|
659
802
|
}
|
|
660
803
|
generateHashPayload(chain, transaction) {
|
|
661
804
|
var _transaction$nonce;
|
|
662
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
805
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
663
806
|
const txObject = {
|
|
664
807
|
nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
|
|
665
808
|
gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
|
|
@@ -681,8 +824,8 @@ class TransactionService {
|
|
|
681
824
|
url
|
|
682
825
|
} = _ref6;
|
|
683
826
|
const payload = transaction;
|
|
684
|
-
const evmApi = this.chainService.getEvmApi(chain);
|
|
685
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
827
|
+
const evmApi = this.state.chainService.getEvmApi(chain);
|
|
828
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
686
829
|
const accountPair = _uiKeyring.default.getPair(address);
|
|
687
830
|
const account = {
|
|
688
831
|
address,
|
|
@@ -712,7 +855,7 @@ class TransactionService {
|
|
|
712
855
|
|
|
713
856
|
// Set unique nonce to avoid transaction errors
|
|
714
857
|
if (!payload.nonce) {
|
|
715
|
-
const evmApi = this.chainService.getEvmApi(chain);
|
|
858
|
+
const evmApi = this.state.chainService.getEvmApi(chain);
|
|
716
859
|
payload.nonce = await evmApi.api.eth.getTransactionCount(address);
|
|
717
860
|
}
|
|
718
861
|
if (!payload.chainId) {
|
|
@@ -747,7 +890,7 @@ class TransactionService {
|
|
|
747
890
|
extrinsicHash: id
|
|
748
891
|
};
|
|
749
892
|
if (isInjected) {
|
|
750
|
-
this.requestService.addConfirmation(id, url ||
|
|
893
|
+
this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref7 => {
|
|
751
894
|
let {
|
|
752
895
|
isApproved,
|
|
753
896
|
payload
|
|
@@ -756,7 +899,7 @@ class TransactionService {
|
|
|
756
899
|
if (!payload) {
|
|
757
900
|
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
|
|
758
901
|
}
|
|
759
|
-
const web3Api = this.chainService.getEvmApi(chain).api;
|
|
902
|
+
const web3Api = this.state.chainService.getEvmApi(chain).api;
|
|
760
903
|
|
|
761
904
|
// Emit signed event
|
|
762
905
|
emitter.emit('signed', eventData);
|
|
@@ -812,7 +955,7 @@ class TransactionService {
|
|
|
812
955
|
emitter.emit('error', eventData);
|
|
813
956
|
});
|
|
814
957
|
} else {
|
|
815
|
-
this.requestService.addConfirmation(id, url ||
|
|
958
|
+
this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref8 => {
|
|
816
959
|
let {
|
|
817
960
|
isApproved,
|
|
818
961
|
payload
|
|
@@ -822,7 +965,7 @@ class TransactionService {
|
|
|
822
965
|
if (!payload) {
|
|
823
966
|
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
|
|
824
967
|
}
|
|
825
|
-
const web3Api = this.chainService.getEvmApi(chain).api;
|
|
968
|
+
const web3Api = this.state.chainService.getEvmApi(chain).api;
|
|
826
969
|
if (!isExternal) {
|
|
827
970
|
signedTransaction = payload;
|
|
828
971
|
} else {
|
|
@@ -890,7 +1033,7 @@ class TransactionService {
|
|
|
890
1033
|
transaction.signAsync(address, {
|
|
891
1034
|
signer: {
|
|
892
1035
|
signPayload: async payload => {
|
|
893
|
-
const signing = await this.requestService.signInternalTransaction(id, address, url ||
|
|
1036
|
+
const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
|
|
894
1037
|
return {
|
|
895
1038
|
id: new Date().getTime(),
|
|
896
1039
|
signature: signing.signature
|
|
@@ -902,7 +1045,7 @@ class TransactionService {
|
|
|
902
1045
|
emitter.emit('signed', eventData);
|
|
903
1046
|
|
|
904
1047
|
// Send transaction
|
|
905
|
-
const api = this.chainService.getSubstrateApi(chain);
|
|
1048
|
+
const api = this.state.chainService.getSubstrateApi(chain);
|
|
906
1049
|
eventData.nonce = rs.nonce.toNumber();
|
|
907
1050
|
eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
|
|
908
1051
|
this.handleTransactionTimeout(emitter, eventData);
|
|
@@ -966,7 +1109,7 @@ class TransactionService {
|
|
|
966
1109
|
emitter.emit('error', eventData);
|
|
967
1110
|
clearTimeout(timeout);
|
|
968
1111
|
}
|
|
969
|
-
},
|
|
1112
|
+
}, _constants3.TRANSACTION_TIMEOUT);
|
|
970
1113
|
emitter.once('success', () => {
|
|
971
1114
|
clearTimeout(timeout);
|
|
972
1115
|
});
|
|
@@ -974,6 +1117,33 @@ class TransactionService {
|
|
|
974
1117
|
clearTimeout(timeout);
|
|
975
1118
|
});
|
|
976
1119
|
}
|
|
1120
|
+
handlePostEarningTransaction(id) {
|
|
1121
|
+
const transaction = this.getTransaction(id);
|
|
1122
|
+
let slug;
|
|
1123
|
+
|
|
1124
|
+
// TODO
|
|
1125
|
+
if ('data' in transaction.data) {
|
|
1126
|
+
slug = transaction.data.data.slug;
|
|
1127
|
+
} else {
|
|
1128
|
+
slug = transaction.data.slug;
|
|
1129
|
+
}
|
|
1130
|
+
const poolHandler = this.state.earningService.getPoolHandler(slug);
|
|
1131
|
+
if (poolHandler) {
|
|
1132
|
+
const type = poolHandler.type;
|
|
1133
|
+
if (type === _types.YieldPoolType.NATIVE_STAKING) {
|
|
1134
|
+
return;
|
|
1135
|
+
}
|
|
1136
|
+
} else {
|
|
1137
|
+
return;
|
|
1138
|
+
}
|
|
1139
|
+
this.state.mintCampaignService.unlockDotCampaign.mintNft({
|
|
1140
|
+
transactionId: id,
|
|
1141
|
+
address: transaction.address,
|
|
1142
|
+
slug: slug,
|
|
1143
|
+
network: transaction.chain,
|
|
1144
|
+
extrinsicHash: transaction.extrinsicHash
|
|
1145
|
+
}).catch(console.error);
|
|
1146
|
+
}
|
|
977
1147
|
resetWallet() {
|
|
978
1148
|
this.transactionSubject.next({});
|
|
979
1149
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _unlockDot = require("./unlock-dot");
|
|
7
|
+
Object.keys(_unlockDot).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _unlockDot[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _unlockDot[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/cjs/types/index.js
CHANGED
|
@@ -24,4 +24,48 @@ Object.keys(_buy).forEach(function (key) {
|
|
|
24
24
|
return _buy[key];
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
|
+
});
|
|
28
|
+
var _campaigns = require("./campaigns");
|
|
29
|
+
Object.keys(_campaigns).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _campaigns[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _campaigns[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
var _ordinal = require("./ordinal");
|
|
40
|
+
Object.keys(_ordinal).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _ordinal[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _ordinal[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
var _transaction = require("./transaction");
|
|
51
|
+
Object.keys(_transaction).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _transaction[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _transaction[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
var _yield = require("./yield");
|
|
62
|
+
Object.keys(_yield).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _yield[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _yield[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
27
71
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|