@subwallet/extension-base 1.1.35-0 → 1.1.35-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/KoniTypes.d.ts +111 -69
- package/background/KoniTypes.js +19 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +20 -16
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/constants/index.js +19 -4
- package/cjs/koni/api/dotsama/balance.js +464 -0
- package/cjs/koni/api/nft/config.js +33 -23
- package/cjs/koni/api/nft/index.js +14 -0
- package/cjs/koni/api/nft/nft.js +1 -22
- package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
- package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
- package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
- package/cjs/koni/api/staking/bonding/amplitude.js +19 -16
- package/cjs/koni/api/staking/bonding/astar.js +11 -10
- package/cjs/koni/api/staking/bonding/index.js +4 -1
- package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
- package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
- package/cjs/koni/api/staking/bonding/utils.js +104 -86
- package/cjs/koni/api/staking/index.js +6 -5
- package/cjs/koni/api/staking/paraChain.js +6 -5
- package/cjs/koni/api/staking/relayChain.js +3 -2
- package/cjs/koni/api/yield/helper/utils.js +46 -0
- package/cjs/koni/background/cron.js +3 -21
- package/cjs/koni/background/handlers/Extension.js +368 -69
- package/cjs/koni/background/handlers/State.js +18 -12
- package/cjs/koni/background/handlers/index.js +4 -2
- package/cjs/koni/background/subscription.js +7 -104
- package/cjs/services/campaign-service/index.js +9 -6
- package/cjs/services/chain-service/constants.js +1 -16
- package/cjs/services/chain-service/index.js +6 -2
- package/cjs/services/chain-service/utils.js +7 -1
- package/cjs/services/earning-service/constants/chains.js +30 -0
- package/cjs/services/earning-service/constants/index.js +27 -0
- package/cjs/services/earning-service/constants/step.js +18 -0
- package/cjs/services/earning-service/handlers/base.js +262 -0
- package/cjs/services/earning-service/handlers/index.js +60 -0
- package/cjs/services/earning-service/handlers/lending/base.js +81 -0
- package/cjs/services/earning-service/handlers/lending/index.js +13 -0
- package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
- package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
- package/cjs/services/earning-service/handlers/special.js +493 -0
- package/cjs/services/earning-service/service.js +733 -0
- package/cjs/services/earning-service/utils/index.js +128 -0
- package/cjs/services/event-service/index.js +5 -0
- package/cjs/services/keyring-service/index.js +14 -2
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
- package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
- package/cjs/services/migration-service/scripts/index.js +6 -1
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
- package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
- package/cjs/services/mint-campaign-service/constants.js +11 -0
- package/cjs/services/mint-campaign-service/index.js +18 -0
- package/cjs/services/notification-service/NotificationService.js +3 -2
- package/cjs/services/request-service/handler/PopupHandler.js +2 -3
- package/cjs/services/storage-service/DatabaseService.js +63 -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 +71 -0
- package/cjs/services/storage-service/index.js +241 -0
- package/cjs/services/subscan-service/index.js +16 -0
- package/cjs/services/transaction-service/event-parser/index.js +58 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -1
- package/cjs/services/transaction-service/index.js +249 -75
- package/cjs/services/transaction-service/utils.js +1 -0
- package/cjs/types/campaigns/index.js +16 -0
- package/cjs/types/campaigns/unlock-dot.js +1 -0
- package/cjs/types/index.js +44 -0
- package/cjs/types/ordinal.js +1 -0
- package/cjs/types/transaction.js +1 -0
- package/cjs/types/yield/actions/index.js +27 -0
- package/cjs/types/yield/actions/join/index.js +38 -0
- package/cjs/types/yield/actions/join/step.js +47 -0
- package/cjs/types/yield/actions/join/submit.js +1 -0
- package/cjs/types/yield/actions/join/validate.js +16 -0
- package/cjs/types/yield/actions/others.js +1 -0
- package/cjs/types/yield/index.js +27 -0
- package/cjs/types/yield/info/account/index.js +49 -0
- package/cjs/types/yield/info/account/info.js +1 -0
- package/cjs/types/yield/info/account/reward.js +1 -0
- package/cjs/types/yield/info/account/target.js +32 -0
- package/cjs/types/yield/info/account/unstake.js +27 -0
- package/cjs/types/yield/info/base.js +41 -0
- package/cjs/types/yield/info/chain/index.js +27 -0
- package/cjs/types/yield/info/chain/info.js +1 -0
- package/cjs/types/yield/info/chain/target.js +1 -0
- package/cjs/types/yield/info/index.js +49 -0
- package/cjs/types/yield/info/pallet.js +15 -0
- package/cjs/types.js +1 -0
- package/cjs/utils/address.js +34 -0
- package/cjs/utils/environment.js +23 -28
- package/cjs/utils/fetchStaticCache.js +22 -0
- package/cjs/utils/fetchStaticData.js +2 -1
- package/cjs/utils/index.js +94 -10
- package/cjs/utils/keyring.js +57 -0
- package/cjs/utils/mv3.js +14 -0
- package/cjs/utils/number.js +6 -2
- package/cjs/utils/object.js +12 -0
- package/constants/index.d.ts +6 -1
- package/constants/index.js +6 -1
- package/koni/api/nft/config.js +33 -23
- package/koni/api/nft/index.js +15 -1
- package/koni/api/nft/nft.js +2 -23
- package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
- package/koni/api/nft/ordinal_nft/constants.js +12 -0
- package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
- package/koni/api/nft/ordinal_nft/index.js +114 -0
- package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
- package/koni/api/nft/ordinal_nft/utils.js +33 -0
- package/koni/api/staking/bonding/amplitude.js +13 -10
- package/koni/api/staking/bonding/astar.js +9 -8
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +5 -1
- package/koni/api/staking/bonding/paraChain.js +12 -10
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +33 -30
- package/koni/api/staking/bonding/utils.d.ts +15 -38
- package/koni/api/staking/bonding/utils.js +85 -69
- package/koni/api/staking/index.js +2 -1
- package/koni/api/staking/paraChain.js +7 -6
- package/koni/api/staking/relayChain.js +4 -3
- package/koni/api/yield/helper/utils.d.ts +10 -0
- package/koni/api/yield/helper/utils.js +32 -0
- package/koni/background/cron.d.ts +0 -4
- package/koni/background/cron.js +4 -22
- package/koni/background/handlers/Extension.d.ts +17 -1
- package/koni/background/handlers/Extension.js +327 -30
- package/koni/background/handlers/State.d.ts +6 -1
- package/koni/background/handlers/State.js +17 -12
- package/koni/background/handlers/index.js +4 -2
- package/koni/background/subscription.d.ts +1 -6
- package/koni/background/subscription.js +8 -104
- package/package.json +326 -3
- package/services/campaign-service/index.js +9 -6
- package/services/chain-service/constants.d.ts +0 -12
- package/services/chain-service/constants.js +0 -14
- package/services/chain-service/index.js +6 -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 +15 -0
- package/services/earning-service/constants/chains.js +22 -0
- package/services/earning-service/constants/index.d.ts +2 -0
- package/services/earning-service/constants/index.js +5 -0
- package/services/earning-service/constants/step.d.ts +3 -0
- package/services/earning-service/constants/step.js +10 -0
- package/services/earning-service/handlers/base.d.ts +113 -0
- package/services/earning-service/handlers/base.js +256 -0
- package/services/earning-service/handlers/index.d.ts +5 -0
- package/services/earning-service/handlers/index.js +8 -0
- package/services/earning-service/handlers/lending/base.d.ts +8 -0
- package/services/earning-service/handlers/lending/base.js +73 -0
- package/services/earning-service/handlers/lending/index.d.ts +1 -0
- package/services/earning-service/handlers/lending/index.js +4 -0
- package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
- package/services/earning-service/handlers/lending/interlay.js +184 -0
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
- package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
- package/services/earning-service/handlers/liquid-staking/base.js +89 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
- package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/liquid-staking/index.js +7 -0
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
- package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
- package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
- package/services/earning-service/handlers/native-staking/astar.js +456 -0
- package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
- package/services/earning-service/handlers/native-staking/base-para.js +138 -0
- package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/base.js +152 -0
- package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/native-staking/index.js +7 -0
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
- package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
- package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
- package/services/earning-service/handlers/nomination-pool/index.js +556 -0
- package/services/earning-service/handlers/special.d.ts +64 -0
- package/services/earning-service/handlers/special.js +485 -0
- package/services/earning-service/service.d.ts +94 -0
- package/services/earning-service/service.js +722 -0
- package/services/earning-service/utils/index.d.ts +18 -0
- package/services/earning-service/utils/index.js +112 -0
- package/services/event-service/index.d.ts +2 -0
- package/services/event-service/index.js +5 -0
- package/services/event-service/types.d.ts +9 -0
- package/services/keyring-service/index.d.ts +2 -1
- package/services/keyring-service/index.js +14 -2
- package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
- package/services/migration-service/scripts/DeleteEarningData.js +13 -0
- package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
- package/services/migration-service/scripts/EnableEarningChains.js +13 -0
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
- package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
- package/services/migration-service/scripts/index.js +6 -1
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
- package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
- package/services/mint-campaign-service/campaigns/index.js +4 -0
- package/services/mint-campaign-service/constants.d.ts +1 -0
- package/services/mint-campaign-service/constants.js +4 -0
- package/services/mint-campaign-service/index.d.ts +7 -0
- package/services/mint-campaign-service/index.js +11 -0
- package/services/notification-service/NotificationService.js +3 -2
- package/services/request-service/handler/PopupHandler.js +3 -4
- package/services/storage-service/DatabaseService.d.ts +22 -1
- package/services/storage-service/DatabaseService.js +63 -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 +11 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
- package/services/subscan-service/index.d.ts +3 -2
- package/services/subscan-service/index.js +15 -0
- package/services/subscan-service/types.d.ts +20 -0
- package/services/transaction-service/event-parser/index.d.ts +3 -1
- package/services/transaction-service/event-parser/index.js +57 -1
- package/services/transaction-service/helpers/index.js +3 -1
- package/services/transaction-service/index.d.ts +6 -13
- package/services/transaction-service/index.js +247 -73
- package/services/transaction-service/types.d.ts +2 -0
- package/services/transaction-service/utils.js +1 -0
- package/types/campaigns/index.d.ts +1 -0
- package/types/campaigns/index.js +4 -0
- package/types/campaigns/unlock-dot.d.ts +71 -0
- package/types/campaigns/unlock-dot.js +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.js +5 -1
- package/types/ordinal.d.ts +69 -0
- package/types/ordinal.js +1 -0
- package/types/transaction.d.ts +3 -0
- package/types/transaction.js +1 -0
- package/types/yield/actions/index.d.ts +2 -0
- package/types/yield/actions/index.js +5 -0
- package/types/yield/actions/join/index.d.ts +3 -0
- package/types/yield/actions/join/index.js +6 -0
- package/types/yield/actions/join/step.d.ts +95 -0
- package/types/yield/actions/join/step.js +46 -0
- package/types/yield/actions/join/submit.d.ts +58 -0
- package/types/yield/actions/join/submit.js +1 -0
- package/types/yield/actions/join/validate.d.ts +18 -0
- package/types/yield/actions/join/validate.js +10 -0
- package/types/yield/actions/others.d.ts +85 -0
- package/types/yield/actions/others.js +1 -0
- package/types/yield/index.d.ts +2 -0
- package/types/yield/index.js +5 -0
- package/types/yield/info/account/index.d.ts +4 -0
- package/types/yield/info/account/index.js +7 -0
- package/types/yield/info/account/info.d.ts +92 -0
- package/types/yield/info/account/info.js +1 -0
- package/types/yield/info/account/reward.d.ts +47 -0
- package/types/yield/info/account/reward.js +1 -0
- package/types/yield/info/account/target.d.ts +43 -0
- package/types/yield/info/account/target.js +27 -0
- package/types/yield/info/account/unstake.d.ts +31 -0
- package/types/yield/info/account/unstake.js +22 -0
- package/types/yield/info/base.d.ts +45 -0
- package/types/yield/info/base.js +36 -0
- package/types/yield/info/chain/index.d.ts +2 -0
- package/types/yield/info/chain/index.js +5 -0
- package/types/yield/info/chain/info.d.ts +252 -0
- package/types/yield/info/chain/info.js +1 -0
- package/types/yield/info/chain/target.d.ts +37 -0
- package/types/yield/info/chain/target.js +1 -0
- package/types/yield/info/index.d.ts +4 -0
- package/types/yield/info/index.js +7 -0
- package/types/yield/info/pallet.d.ts +143 -0
- package/types/yield/info/pallet.js +9 -0
- package/utils/environment.d.ts +9 -2
- package/utils/environment.js +14 -26
- package/utils/fetchStaticCache.d.ts +1 -0
- package/utils/fetchStaticCache.js +14 -0
- package/utils/fetchStaticData.js +2 -1
- package/utils/index.d.ts +5 -1
- package/utils/index.js +53 -3
- package/utils/mv3.d.ts +2 -0
- package/utils/mv3.js +6 -0
- package/utils/number.d.ts +2 -1
- package/utils/number.js +2 -1
- package/utils/object.d.ts +1 -0
- package/utils/object.js +6 -0
|
@@ -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,12 @@ class TransactionService {
|
|
|
39
40
|
get transactions() {
|
|
40
41
|
return this.transactionSubject.getValue();
|
|
41
42
|
}
|
|
42
|
-
constructor(
|
|
43
|
-
this.
|
|
44
|
-
this.eventService = eventService;
|
|
45
|
-
this.
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
this.notificationService = notificationService;
|
|
49
|
-
this.databaseService = databaseService;
|
|
43
|
+
constructor(state) {
|
|
44
|
+
this.state = state;
|
|
45
|
+
this.eventService = state.eventService;
|
|
46
|
+
this.historyService = state.historyService;
|
|
47
|
+
this.notificationService = state.notificationService;
|
|
48
|
+
this.chainService = state.chainService;
|
|
50
49
|
}
|
|
51
50
|
get allTransactions() {
|
|
52
51
|
return Object.values(this.transactions);
|
|
@@ -103,7 +102,7 @@ class TransactionService {
|
|
|
103
102
|
decimals: 0,
|
|
104
103
|
value: ''
|
|
105
104
|
};
|
|
106
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
105
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
107
106
|
if (!chainInfo) {
|
|
108
107
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.INTERNAL_ERROR, (0, _i18next.t)('Cannot find network')));
|
|
109
108
|
} else {
|
|
@@ -118,7 +117,7 @@ class TransactionService {
|
|
|
118
117
|
if ((0, _helpers.isSubstrateTransaction)(transaction)) {
|
|
119
118
|
estimateFee.value = (await transaction.paymentInfo(address)).partialFee.toString();
|
|
120
119
|
} else {
|
|
121
|
-
const web3 = this.chainService.getEvmApi(chain);
|
|
120
|
+
const web3 = this.state.chainService.getEvmApi(chain);
|
|
122
121
|
if (!web3) {
|
|
123
122
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.CHAIN_DISCONNECTED, undefined));
|
|
124
123
|
} else {
|
|
@@ -152,32 +151,35 @@ class TransactionService {
|
|
|
152
151
|
|
|
153
152
|
// Balance
|
|
154
153
|
const transferNative = validationResponse.transferNativeAmount || '0';
|
|
155
|
-
const nativeTokenInfo = this.chainService.getNativeTokenInfo(chain);
|
|
156
|
-
const balance = await this.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
|
|
154
|
+
const nativeTokenInfo = this.state.chainService.getNativeTokenInfo(chain);
|
|
155
|
+
const balance = await this.state.balanceService.getTokenFreeBalance(address, chain, nativeTokenInfo.slug);
|
|
157
156
|
const existentialDeposit = nativeTokenInfo.minAmount || '0';
|
|
158
157
|
const feeNum = parseInt(estimateFee.value);
|
|
159
158
|
const balanceNum = parseInt(balance.value);
|
|
160
159
|
const edNum = parseInt(existentialDeposit);
|
|
161
160
|
const transferNativeNum = parseInt(transferNative);
|
|
162
|
-
if (!
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
if (transferNativeNum + feeNum > balanceNum) {
|
|
166
|
-
if (!isTransferAll) {
|
|
161
|
+
if (!validationInput.skipFeeValidation) {
|
|
162
|
+
// TODO
|
|
163
|
+
if (!new _bignumber.default(balance.value).gt(0)) {
|
|
167
164
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
165
|
+
}
|
|
166
|
+
if (transferNativeNum + feeNum > balanceNum) {
|
|
167
|
+
if (!isTransferAll) {
|
|
171
168
|
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
169
|
+
} else {
|
|
170
|
+
if ([..._constants4._TRANSFER_CHAIN_GROUP.acala, ..._constants4._TRANSFER_CHAIN_GROUP.genshiro, ..._constants4._TRANSFER_CHAIN_GROUP.bitcountry, ..._constants4._TRANSFER_CHAIN_GROUP.statemine].includes(chain)) {
|
|
171
|
+
// Chain not have transfer all function
|
|
172
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_BALANCE));
|
|
173
|
+
}
|
|
172
174
|
}
|
|
173
175
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
if (!isTransferAll) {
|
|
177
|
+
if (balanceNum - (transferNativeNum + feeNum) < edNum) {
|
|
178
|
+
if (edAsWarning) {
|
|
179
|
+
validationResponse.warnings.push(new _TransactionWarning.TransactionWarning(_KoniTypes.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
|
|
180
|
+
} else {
|
|
181
|
+
validationResponse.errors.push(new _TransactionError.TransactionError(_KoniTypes.BasicTxErrorType.NOT_ENOUGH_EXISTENTIAL_DEPOSIT));
|
|
182
|
+
}
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
185
|
}
|
|
@@ -198,7 +200,7 @@ class TransactionService {
|
|
|
198
200
|
updatedAt: new Date().getTime(),
|
|
199
201
|
errors: transaction.errors || [],
|
|
200
202
|
warnings: transaction.warnings || [],
|
|
201
|
-
url: transaction.url ||
|
|
203
|
+
url: transaction.url || _constants2.EXTENSION_REQUEST_URL,
|
|
202
204
|
status: _KoniTypes.ExtrinsicStatus.QUEUED,
|
|
203
205
|
isInternal,
|
|
204
206
|
id: transactionId,
|
|
@@ -244,12 +246,21 @@ class TransactionService {
|
|
|
244
246
|
}
|
|
245
247
|
validatedTransaction.warnings = [];
|
|
246
248
|
const emitter = await this.addTransaction(validatedTransaction);
|
|
247
|
-
await new Promise(resolve => {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
249
|
+
await new Promise((resolve, reject) => {
|
|
250
|
+
// TODO
|
|
251
|
+
if (transaction.resolveOnDone) {
|
|
252
|
+
emitter.on('success', data => {
|
|
253
|
+
validatedTransaction.id = data.id;
|
|
254
|
+
validatedTransaction.extrinsicHash = data.extrinsicHash;
|
|
255
|
+
resolve();
|
|
256
|
+
});
|
|
257
|
+
} else {
|
|
258
|
+
emitter.on('signed', data => {
|
|
259
|
+
validatedTransaction.id = data.id;
|
|
260
|
+
validatedTransaction.extrinsicHash = data.extrinsicHash;
|
|
261
|
+
resolve();
|
|
262
|
+
});
|
|
263
|
+
}
|
|
253
264
|
emitter.on('error', data => {
|
|
254
265
|
if (data.errors.length > 0) {
|
|
255
266
|
validatedTransaction.errors.push(...data.errors);
|
|
@@ -321,7 +332,7 @@ class TransactionService {
|
|
|
321
332
|
}
|
|
322
333
|
getTransactionLink(id) {
|
|
323
334
|
const transaction = this.getTransaction(id);
|
|
324
|
-
const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
|
|
335
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
|
|
325
336
|
return (0, _utils2.getExplorerLink)(chainInfo, transaction.extrinsicHash, 'tx');
|
|
326
337
|
}
|
|
327
338
|
transactionToHistories(id, startBlock, nonce, eventLogs) {
|
|
@@ -349,7 +360,7 @@ class TransactionService {
|
|
|
349
360
|
nonce: nonce !== null && nonce !== void 0 ? nonce : 0,
|
|
350
361
|
startBlock: startBlock || 0
|
|
351
362
|
};
|
|
352
|
-
const chainInfo = this.chainService.getChainInfoByKey(transaction.chain);
|
|
363
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(transaction.chain);
|
|
353
364
|
const nativeAsset = (0, _utils._getChainNativeTokenBasicInfo)(chainInfo);
|
|
354
365
|
const baseNativeAmount = {
|
|
355
366
|
value: '0',
|
|
@@ -363,7 +374,7 @@ class TransactionService {
|
|
|
363
374
|
{
|
|
364
375
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
365
376
|
historyItem.to = inputData.to;
|
|
366
|
-
const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
377
|
+
const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
367
378
|
historyItem.amount = {
|
|
368
379
|
value: inputData.value || '0',
|
|
369
380
|
decimals: sendingTokenInfo.decimals || 0,
|
|
@@ -376,7 +387,7 @@ class TransactionService {
|
|
|
376
387
|
{
|
|
377
388
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
378
389
|
historyItem.to = inputData.to;
|
|
379
|
-
const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
390
|
+
const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
380
391
|
historyItem.amount = {
|
|
381
392
|
value: inputData.value || '0',
|
|
382
393
|
decimals: sendingTokenInfo.decimals || 0,
|
|
@@ -389,7 +400,7 @@ class TransactionService {
|
|
|
389
400
|
{
|
|
390
401
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
391
402
|
historyItem.to = inputData.to;
|
|
392
|
-
const sendingTokenInfo = this.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
403
|
+
const sendingTokenInfo = this.state.chainService.getAssetBySlug(inputData.tokenSlug);
|
|
393
404
|
historyItem.amount = {
|
|
394
405
|
value: inputData.value || '0',
|
|
395
406
|
decimals: sendingTokenInfo.decimals || 0,
|
|
@@ -438,17 +449,29 @@ class TransactionService {
|
|
|
438
449
|
case _KoniTypes.ExtrinsicType.STAKING_UNBOND:
|
|
439
450
|
{
|
|
440
451
|
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
452
|
+
if (data.isLiquidStaking && data.derivativeTokenInfo && data.exchangeRate && data.inputTokenInfo) {
|
|
453
|
+
historyItem.amount = {
|
|
454
|
+
decimals: (0, _utils._getAssetDecimals)(data.derivativeTokenInfo),
|
|
455
|
+
symbol: (0, _utils._getAssetSymbol)(data.derivativeTokenInfo),
|
|
456
|
+
value: data.amount
|
|
457
|
+
};
|
|
458
|
+
historyItem.additionalInfo = {
|
|
459
|
+
inputTokenSlug: data.inputTokenInfo.slug,
|
|
460
|
+
exchangeRate: data.exchangeRate
|
|
461
|
+
};
|
|
462
|
+
} else {
|
|
463
|
+
historyItem.to = data.validatorAddress || '';
|
|
464
|
+
historyItem.amount = {
|
|
465
|
+
...baseNativeAmount,
|
|
466
|
+
value: data.amount || '0'
|
|
467
|
+
};
|
|
468
|
+
}
|
|
446
469
|
}
|
|
447
470
|
break;
|
|
448
471
|
case _KoniTypes.ExtrinsicType.STAKING_LEAVE_POOL:
|
|
449
472
|
{
|
|
450
473
|
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
451
|
-
historyItem.to = data.
|
|
474
|
+
historyItem.to = data.address || '';
|
|
452
475
|
historyItem.amount = {
|
|
453
476
|
...baseNativeAmount,
|
|
454
477
|
value: data.amount || '0'
|
|
@@ -467,11 +490,21 @@ class TransactionService {
|
|
|
467
490
|
case _KoniTypes.ExtrinsicType.STAKING_WITHDRAW:
|
|
468
491
|
{
|
|
469
492
|
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
470
|
-
|
|
471
|
-
|
|
493
|
+
const slug = data.slug;
|
|
494
|
+
const poolHandler = this.state.earningService.getPoolHandler(slug);
|
|
495
|
+
const amount = {
|
|
472
496
|
...baseNativeAmount,
|
|
473
497
|
value: data.unstakingInfo.claimable || '0'
|
|
474
498
|
};
|
|
499
|
+
if (poolHandler) {
|
|
500
|
+
const asset = this.state.getAssetBySlug(poolHandler.metadataInfo.inputAsset);
|
|
501
|
+
if (asset) {
|
|
502
|
+
amount.decimals = asset.decimals || 0;
|
|
503
|
+
amount.symbol = asset.symbol;
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
historyItem.to = data.unstakingInfo.validatorAddress || '';
|
|
507
|
+
historyItem.amount = amount;
|
|
475
508
|
break;
|
|
476
509
|
}
|
|
477
510
|
case _KoniTypes.ExtrinsicType.STAKING_CANCEL_UNSTAKE:
|
|
@@ -492,6 +525,116 @@ class TransactionService {
|
|
|
492
525
|
historyItem.to = (data === null || data === void 0 ? void 0 : data.to) || '';
|
|
493
526
|
break;
|
|
494
527
|
}
|
|
528
|
+
case _KoniTypes.ExtrinsicType.MINT_STDOT:
|
|
529
|
+
case _KoniTypes.ExtrinsicType.MINT_QDOT:
|
|
530
|
+
case _KoniTypes.ExtrinsicType.MINT_LDOT:
|
|
531
|
+
case _KoniTypes.ExtrinsicType.MINT_SDOT:
|
|
532
|
+
|
|
533
|
+
// eslint-disable-next-line no-fallthrough
|
|
534
|
+
case _KoniTypes.ExtrinsicType.MINT_VDOT:
|
|
535
|
+
{
|
|
536
|
+
const params = (0, _utils2.parseTransactionData)(transaction.data);
|
|
537
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
|
|
538
|
+
const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
|
|
539
|
+
historyItem.amount = {
|
|
540
|
+
value: params.amount,
|
|
541
|
+
symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
|
|
542
|
+
decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
|
|
543
|
+
};
|
|
544
|
+
const additionalInfo = {
|
|
545
|
+
slug: params.slug,
|
|
546
|
+
derivativeTokenSlug: params.derivativeTokenSlug,
|
|
547
|
+
exchangeRate: params.exchangeRate
|
|
548
|
+
};
|
|
549
|
+
historyItem.additionalInfo = additionalInfo;
|
|
550
|
+
eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
|
|
551
|
+
break;
|
|
552
|
+
}
|
|
553
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
|
|
554
|
+
|
|
555
|
+
// eslint-disable-next-line no-fallthrough
|
|
556
|
+
case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
|
|
557
|
+
{
|
|
558
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
559
|
+
const yieldPoolInfo = data.poolInfo;
|
|
560
|
+
if (yieldPoolInfo.metadata.derivativeAssets) {
|
|
561
|
+
const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
|
|
562
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
|
|
563
|
+
historyItem.amount = {
|
|
564
|
+
value: data.amount,
|
|
565
|
+
symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
|
|
566
|
+
decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
|
|
567
|
+
};
|
|
568
|
+
eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
|
|
569
|
+
const additionalInfo = {
|
|
570
|
+
minAmountPercent: 1,
|
|
571
|
+
symbol: inputTokenInfo.symbol,
|
|
572
|
+
decimals: inputTokenInfo.decimals || 0,
|
|
573
|
+
exchangeRate: 1,
|
|
574
|
+
slug: yieldPoolInfo.slug,
|
|
575
|
+
type: yieldPoolInfo.type,
|
|
576
|
+
chain: yieldPoolInfo.chain,
|
|
577
|
+
group: yieldPoolInfo.group,
|
|
578
|
+
isFast: data.fastLeave
|
|
579
|
+
};
|
|
580
|
+
historyItem.additionalInfo = additionalInfo;
|
|
581
|
+
}
|
|
582
|
+
break;
|
|
583
|
+
}
|
|
584
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
|
|
585
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
|
|
586
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
|
|
587
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
|
|
588
|
+
case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
|
|
589
|
+
case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
|
|
590
|
+
case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
|
|
591
|
+
|
|
592
|
+
// eslint-disable-next-line no-fallthrough
|
|
593
|
+
case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
|
|
594
|
+
{
|
|
595
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
596
|
+
const yieldPoolInfo = data.poolInfo;
|
|
597
|
+
const minAmountPercents = this.state.earningService.getMinAmountPercent();
|
|
598
|
+
if (yieldPoolInfo.metadata.derivativeAssets) {
|
|
599
|
+
var _yieldPoolInfo$statis;
|
|
600
|
+
const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
|
|
601
|
+
const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
|
|
602
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
|
|
603
|
+
historyItem.amount = {
|
|
604
|
+
value: data.amount,
|
|
605
|
+
symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
|
|
606
|
+
decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
|
|
607
|
+
};
|
|
608
|
+
eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
|
|
609
|
+
const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
|
|
610
|
+
const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
|
|
611
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
|
|
612
|
+
const additionalInfo = {
|
|
613
|
+
minAmountPercent,
|
|
614
|
+
symbol: inputTokenInfo.symbol,
|
|
615
|
+
decimals: inputTokenInfo.decimals || 0,
|
|
616
|
+
exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
|
|
617
|
+
slug: yieldPoolInfo.slug,
|
|
618
|
+
type: yieldPoolInfo.type,
|
|
619
|
+
chain: yieldPoolInfo.chain,
|
|
620
|
+
group: yieldPoolInfo.group,
|
|
621
|
+
isFast: data.fastLeave
|
|
622
|
+
};
|
|
623
|
+
historyItem.additionalInfo = additionalInfo;
|
|
624
|
+
}
|
|
625
|
+
break;
|
|
626
|
+
}
|
|
627
|
+
case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
|
|
628
|
+
{
|
|
629
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
630
|
+
const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
|
|
631
|
+
historyItem.amount = {
|
|
632
|
+
value: '0',
|
|
633
|
+
symbol: (0, _utils._getAssetSymbol)(inputAsset),
|
|
634
|
+
decimals: (0, _utils._getAssetDecimals)(inputAsset)
|
|
635
|
+
};
|
|
636
|
+
break;
|
|
637
|
+
}
|
|
495
638
|
case _KoniTypes.ExtrinsicType.UNKNOWN:
|
|
496
639
|
break;
|
|
497
640
|
}
|
|
@@ -539,7 +682,7 @@ class TransactionService {
|
|
|
539
682
|
});
|
|
540
683
|
|
|
541
684
|
// Create Input History Transaction History
|
|
542
|
-
this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
|
|
685
|
+
this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
|
|
543
686
|
console.debug(`Transaction "${id}" is sent`);
|
|
544
687
|
}
|
|
545
688
|
onHasTransactionHash(_ref3) {
|
|
@@ -557,8 +700,12 @@ class TransactionService {
|
|
|
557
700
|
this.updateTransaction(id, updateData);
|
|
558
701
|
|
|
559
702
|
// In this case transaction id is the same as extrinsic hash and will change after below update
|
|
560
|
-
this.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
|
|
703
|
+
this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
|
|
561
704
|
console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
|
|
705
|
+
const transaction = this.getTransaction(id);
|
|
706
|
+
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)) {
|
|
707
|
+
this.handlePostEarningTransaction(id);
|
|
708
|
+
}
|
|
562
709
|
}
|
|
563
710
|
handlePostProcessing(id) {
|
|
564
711
|
// must be done after success/failure to make sure the transaction is finalized
|
|
@@ -567,15 +714,15 @@ class TransactionService {
|
|
|
567
714
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
568
715
|
try {
|
|
569
716
|
const sender = _uiKeyring.default.getPair(inputData.senderAddress);
|
|
570
|
-
sender && this.
|
|
571
|
-
this.eventService.emit('transaction.transferNft', undefined);
|
|
717
|
+
sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
|
|
718
|
+
this.state.eventService.emit('transaction.transferNft', undefined);
|
|
572
719
|
}).catch(console.error);
|
|
573
720
|
} catch (e) {
|
|
574
721
|
console.error(e);
|
|
575
722
|
}
|
|
576
723
|
try {
|
|
577
724
|
const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
|
|
578
|
-
recipient && this.
|
|
725
|
+
recipient && this.state.dbService.addNft(recipient.address, {
|
|
579
726
|
...inputData.nftItem,
|
|
580
727
|
owner: recipient.address
|
|
581
728
|
}).catch(console.error);
|
|
@@ -583,7 +730,7 @@ class TransactionService {
|
|
|
583
730
|
console.error(e);
|
|
584
731
|
}
|
|
585
732
|
} 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)) {
|
|
586
|
-
this.eventService.emit('transaction.submitStaking', transaction.chain);
|
|
733
|
+
this.state.eventService.emit('transaction.submitStaking', transaction.chain);
|
|
587
734
|
}
|
|
588
735
|
}
|
|
589
736
|
onSuccess(_ref4) {
|
|
@@ -600,14 +747,14 @@ class TransactionService {
|
|
|
600
747
|
});
|
|
601
748
|
|
|
602
749
|
// Write success transaction history
|
|
603
|
-
this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
750
|
+
this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
604
751
|
extrinsicHash,
|
|
605
752
|
status: _KoniTypes.ExtrinsicStatus.SUCCESS,
|
|
606
753
|
blockNumber: blockNumber || 0,
|
|
607
754
|
blockHash: blockHash || ''
|
|
608
755
|
}).catch(console.error);
|
|
609
|
-
const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
|
|
610
|
-
this.notificationService.notify({
|
|
756
|
+
const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
|
|
757
|
+
this.state.notificationService.notify({
|
|
611
758
|
type: _KoniTypes.NotificationType.SUCCESS,
|
|
612
759
|
title: (0, _i18next.t)('Transaction completed'),
|
|
613
760
|
message: (0, _i18next.t)('Transaction {{info}} completed', {
|
|
@@ -620,7 +767,7 @@ class TransactionService {
|
|
|
620
767
|
},
|
|
621
768
|
notifyViaBrowser: true
|
|
622
769
|
});
|
|
623
|
-
this.eventService.emit('transaction.done', transaction);
|
|
770
|
+
this.state.eventService.emit('transaction.done', transaction);
|
|
624
771
|
}
|
|
625
772
|
onFailed(_ref5) {
|
|
626
773
|
let {
|
|
@@ -640,14 +787,14 @@ class TransactionService {
|
|
|
640
787
|
});
|
|
641
788
|
|
|
642
789
|
// Write failed transaction history
|
|
643
|
-
this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
790
|
+
this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
644
791
|
extrinsicHash: extrinsicHash || transaction.extrinsicHash,
|
|
645
792
|
status: nextStatus,
|
|
646
793
|
blockNumber: blockNumber || 0,
|
|
647
794
|
blockHash: blockHash || ''
|
|
648
795
|
}).catch(console.error);
|
|
649
|
-
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());
|
|
650
|
-
this.notificationService.notify({
|
|
796
|
+
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());
|
|
797
|
+
this.state.notificationService.notify({
|
|
651
798
|
type: _KoniTypes.NotificationType.ERROR,
|
|
652
799
|
title: (0, _i18next.t)('Transaction failed'),
|
|
653
800
|
message: (0, _i18next.t)('Transaction {{info}} failed', {
|
|
@@ -661,7 +808,7 @@ class TransactionService {
|
|
|
661
808
|
notifyViaBrowser: true
|
|
662
809
|
});
|
|
663
810
|
}
|
|
664
|
-
this.eventService.emit('transaction.failed', transaction);
|
|
811
|
+
this.state.eventService.emit('transaction.failed', transaction);
|
|
665
812
|
}
|
|
666
813
|
onTimeOut(_ref6) {
|
|
667
814
|
let {
|
|
@@ -704,7 +851,7 @@ class TransactionService {
|
|
|
704
851
|
}
|
|
705
852
|
generateHashPayload(chain, transaction) {
|
|
706
853
|
var _transaction$nonce;
|
|
707
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
854
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
708
855
|
const txObject = {
|
|
709
856
|
nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
|
|
710
857
|
gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
|
|
@@ -726,8 +873,8 @@ class TransactionService {
|
|
|
726
873
|
url
|
|
727
874
|
} = _ref7;
|
|
728
875
|
const payload = transaction;
|
|
729
|
-
const evmApi = this.chainService.getEvmApi(chain);
|
|
730
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
876
|
+
const evmApi = this.state.chainService.getEvmApi(chain);
|
|
877
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
731
878
|
const accountPair = _uiKeyring.default.getPair(address);
|
|
732
879
|
const account = {
|
|
733
880
|
address,
|
|
@@ -757,7 +904,7 @@ class TransactionService {
|
|
|
757
904
|
|
|
758
905
|
// Set unique nonce to avoid transaction errors
|
|
759
906
|
if (!payload.nonce) {
|
|
760
|
-
const evmApi = this.chainService.getEvmApi(chain);
|
|
907
|
+
const evmApi = this.state.chainService.getEvmApi(chain);
|
|
761
908
|
payload.nonce = await evmApi.api.eth.getTransactionCount(address);
|
|
762
909
|
}
|
|
763
910
|
if (!payload.chainId) {
|
|
@@ -792,7 +939,7 @@ class TransactionService {
|
|
|
792
939
|
extrinsicHash: id
|
|
793
940
|
};
|
|
794
941
|
if (isInjected) {
|
|
795
|
-
this.requestService.addConfirmation(id, url ||
|
|
942
|
+
this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
|
|
796
943
|
let {
|
|
797
944
|
isApproved,
|
|
798
945
|
payload
|
|
@@ -801,7 +948,7 @@ class TransactionService {
|
|
|
801
948
|
if (!payload) {
|
|
802
949
|
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
|
|
803
950
|
}
|
|
804
|
-
const web3Api = this.chainService.getEvmApi(chain).api;
|
|
951
|
+
const web3Api = this.state.chainService.getEvmApi(chain).api;
|
|
805
952
|
|
|
806
953
|
// Emit signed event
|
|
807
954
|
emitter.emit('signed', eventData);
|
|
@@ -857,7 +1004,7 @@ class TransactionService {
|
|
|
857
1004
|
emitter.emit('error', eventData);
|
|
858
1005
|
});
|
|
859
1006
|
} else {
|
|
860
|
-
this.requestService.addConfirmation(id, url ||
|
|
1007
|
+
this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
|
|
861
1008
|
let {
|
|
862
1009
|
isApproved,
|
|
863
1010
|
payload
|
|
@@ -867,7 +1014,7 @@ class TransactionService {
|
|
|
867
1014
|
if (!payload) {
|
|
868
1015
|
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
|
|
869
1016
|
}
|
|
870
|
-
const web3Api = this.chainService.getEvmApi(chain).api;
|
|
1017
|
+
const web3Api = this.state.chainService.getEvmApi(chain).api;
|
|
871
1018
|
if (!isExternal) {
|
|
872
1019
|
signedTransaction = payload;
|
|
873
1020
|
} else {
|
|
@@ -935,7 +1082,7 @@ class TransactionService {
|
|
|
935
1082
|
transaction.signAsync(address, {
|
|
936
1083
|
signer: {
|
|
937
1084
|
signPayload: async payload => {
|
|
938
|
-
const signing = await this.requestService.signInternalTransaction(id, address, url ||
|
|
1085
|
+
const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
|
|
939
1086
|
return {
|
|
940
1087
|
id: new Date().getTime(),
|
|
941
1088
|
signature: signing.signature
|
|
@@ -947,7 +1094,7 @@ class TransactionService {
|
|
|
947
1094
|
emitter.emit('signed', eventData);
|
|
948
1095
|
|
|
949
1096
|
// Send transaction
|
|
950
|
-
const api = this.chainService.getSubstrateApi(chain);
|
|
1097
|
+
const api = this.state.chainService.getSubstrateApi(chain);
|
|
951
1098
|
eventData.nonce = rs.nonce.toNumber();
|
|
952
1099
|
eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
|
|
953
1100
|
this.handleTransactionTimeout(emitter, eventData);
|
|
@@ -1011,7 +1158,7 @@ class TransactionService {
|
|
|
1011
1158
|
emitter.emit('timeout', eventData);
|
|
1012
1159
|
clearTimeout(timeout);
|
|
1013
1160
|
}
|
|
1014
|
-
},
|
|
1161
|
+
}, _constants3.TRANSACTION_TIMEOUT);
|
|
1015
1162
|
emitter.once('success', () => {
|
|
1016
1163
|
clearTimeout(timeout);
|
|
1017
1164
|
});
|
|
@@ -1019,6 +1166,33 @@ class TransactionService {
|
|
|
1019
1166
|
clearTimeout(timeout);
|
|
1020
1167
|
});
|
|
1021
1168
|
}
|
|
1169
|
+
handlePostEarningTransaction(id) {
|
|
1170
|
+
const transaction = this.getTransaction(id);
|
|
1171
|
+
let slug;
|
|
1172
|
+
|
|
1173
|
+
// TODO
|
|
1174
|
+
if ('data' in transaction.data) {
|
|
1175
|
+
slug = transaction.data.data.slug;
|
|
1176
|
+
} else {
|
|
1177
|
+
slug = transaction.data.slug;
|
|
1178
|
+
}
|
|
1179
|
+
const poolHandler = this.state.earningService.getPoolHandler(slug);
|
|
1180
|
+
if (poolHandler) {
|
|
1181
|
+
const type = poolHandler.type;
|
|
1182
|
+
if (type === _types.YieldPoolType.NATIVE_STAKING) {
|
|
1183
|
+
return;
|
|
1184
|
+
}
|
|
1185
|
+
} else {
|
|
1186
|
+
return;
|
|
1187
|
+
}
|
|
1188
|
+
this.state.mintCampaignService.unlockDotCampaign.mintNft({
|
|
1189
|
+
transactionId: id,
|
|
1190
|
+
address: transaction.address,
|
|
1191
|
+
slug: slug,
|
|
1192
|
+
network: transaction.chain,
|
|
1193
|
+
extrinsicHash: transaction.extrinsicHash
|
|
1194
|
+
}).catch(console.error);
|
|
1195
|
+
}
|
|
1022
1196
|
resetWallet() {
|
|
1023
1197
|
this.transactionSubject.next({});
|
|
1024
1198
|
}
|
|
@@ -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";
|