@subwallet/extension-base 1.1.33-0 → 1.1.33-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/background/KoniTypes.d.ts +120 -69
- package/background/KoniTypes.js +22 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +23 -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 +31 -28
- 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 +49 -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 +4 -17
- package/cjs/services/chain-service/handler/SubstrateApi.js +10 -5
- package/cjs/services/chain-service/index.js +123 -39
- package/cjs/services/chain-service/utils.js +75 -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 +98 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +299 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +41 -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 +497 -0
- package/cjs/services/earning-service/service.js +741 -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 +92 -1
- package/cjs/services/storage-service/databases/index.js +7 -0
- package/cjs/services/storage-service/db-stores/AssetRef.js +24 -0
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
- package/cjs/services/storage-service/index.js +241 -0
- package/cjs/services/subscan-service/index.js +16 -0
- package/cjs/services/transaction-service/event-parser/index.js +58 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -1
- package/cjs/services/transaction-service/index.js +252 -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 +48 -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 +25 -22
- 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 +34 -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 +327 -4
- package/services/campaign-service/index.js +9 -6
- package/services/chain-service/constants.d.ts +1 -12
- package/services/chain-service/constants.js +1 -14
- package/services/chain-service/handler/SubstrateApi.js +10 -5
- package/services/chain-service/index.d.ts +11 -1
- package/services/chain-service/index.js +119 -36
- package/services/chain-service/utils.d.ts +11 -1
- package/services/chain-service/utils.js +71 -2
- 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 +90 -0
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.d.ts +37 -0
- package/services/earning-service/handlers/liquid-staking/bifrost-manta.js +132 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +288 -0
- package/services/earning-service/handlers/liquid-staking/index.d.ts +5 -0
- package/services/earning-service/handlers/liquid-staking/index.js +8 -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 +489 -0
- package/services/earning-service/service.d.ts +94 -0
- package/services/earning-service/service.js +730 -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 +30 -3
- package/services/storage-service/DatabaseService.js +91 -1
- package/services/storage-service/databases/index.d.ts +8 -2
- package/services/storage-service/databases/index.js +7 -0
- package/services/storage-service/db-stores/AssetRef.d.ts +7 -0
- package/services/storage-service/db-stores/AssetRef.js +16 -0
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
- package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
- package/services/subscan-service/index.d.ts +3 -2
- package/services/subscan-service/index.js +15 -0
- package/services/subscan-service/types.d.ts +20 -0
- package/services/transaction-service/event-parser/index.d.ts +3 -1
- package/services/transaction-service/event-parser/index.js +57 -1
- package/services/transaction-service/helpers/index.js +3 -1
- package/services/transaction-service/index.d.ts +6 -13
- package/services/transaction-service/index.js +250 -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 +96 -0
- package/types/yield/actions/join/step.js +47 -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/fetchStaticData.js +2 -1
- package/utils/index.d.ts +5 -0
- package/utils/index.js +52 -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,119 @@ 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
|
+
case _KoniTypes.ExtrinsicType.MINT_VMANTA:
|
|
533
|
+
|
|
534
|
+
// eslint-disable-next-line no-fallthrough
|
|
535
|
+
case _KoniTypes.ExtrinsicType.MINT_VDOT:
|
|
536
|
+
{
|
|
537
|
+
const params = (0, _utils2.parseTransactionData)(transaction.data);
|
|
538
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(params.inputTokenSlug);
|
|
539
|
+
const isFeePaidWithInputAsset = params.feeTokenSlug === params.inputTokenSlug;
|
|
540
|
+
historyItem.amount = {
|
|
541
|
+
value: params.amount,
|
|
542
|
+
symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
|
|
543
|
+
decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
|
|
544
|
+
};
|
|
545
|
+
const additionalInfo = {
|
|
546
|
+
slug: params.slug,
|
|
547
|
+
derivativeTokenSlug: params.derivativeTokenSlug,
|
|
548
|
+
exchangeRate: params.exchangeRate
|
|
549
|
+
};
|
|
550
|
+
historyItem.additionalInfo = additionalInfo;
|
|
551
|
+
eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingEvents)(historyItem, eventLogs, inputTokenInfo, chainInfo, isFeePaidWithInputAsset, extrinsicType);
|
|
552
|
+
break;
|
|
553
|
+
}
|
|
554
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_QDOT:
|
|
555
|
+
|
|
556
|
+
// eslint-disable-next-line no-fallthrough
|
|
557
|
+
case _KoniTypes.ExtrinsicType.REDEEM_QDOT:
|
|
558
|
+
{
|
|
559
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
560
|
+
const yieldPoolInfo = data.poolInfo;
|
|
561
|
+
if (yieldPoolInfo.metadata.derivativeAssets) {
|
|
562
|
+
const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
|
|
563
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
|
|
564
|
+
historyItem.amount = {
|
|
565
|
+
value: data.amount,
|
|
566
|
+
symbol: (0, _utils._getAssetSymbol)(inputTokenInfo),
|
|
567
|
+
decimals: (0, _utils._getAssetDecimals)(inputTokenInfo)
|
|
568
|
+
};
|
|
569
|
+
eventLogs && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
|
|
570
|
+
const additionalInfo = {
|
|
571
|
+
minAmountPercent: 1,
|
|
572
|
+
symbol: inputTokenInfo.symbol,
|
|
573
|
+
decimals: inputTokenInfo.decimals || 0,
|
|
574
|
+
exchangeRate: 1,
|
|
575
|
+
slug: yieldPoolInfo.slug,
|
|
576
|
+
type: yieldPoolInfo.type,
|
|
577
|
+
chain: yieldPoolInfo.chain,
|
|
578
|
+
group: yieldPoolInfo.group,
|
|
579
|
+
isFast: data.fastLeave
|
|
580
|
+
};
|
|
581
|
+
historyItem.additionalInfo = additionalInfo;
|
|
582
|
+
}
|
|
583
|
+
break;
|
|
584
|
+
}
|
|
585
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_VDOT:
|
|
586
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_VMANTA:
|
|
587
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_LDOT:
|
|
588
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_SDOT:
|
|
589
|
+
case _KoniTypes.ExtrinsicType.UNSTAKE_STDOT:
|
|
590
|
+
case _KoniTypes.ExtrinsicType.REDEEM_STDOT:
|
|
591
|
+
case _KoniTypes.ExtrinsicType.REDEEM_LDOT:
|
|
592
|
+
case _KoniTypes.ExtrinsicType.REDEEM_SDOT:
|
|
593
|
+
case _KoniTypes.ExtrinsicType.REDEEM_VMANTA:
|
|
594
|
+
|
|
595
|
+
// eslint-disable-next-line no-fallthrough
|
|
596
|
+
case _KoniTypes.ExtrinsicType.REDEEM_VDOT:
|
|
597
|
+
{
|
|
598
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
599
|
+
const yieldPoolInfo = data.poolInfo;
|
|
600
|
+
const minAmountPercents = this.state.earningService.getMinAmountPercent();
|
|
601
|
+
if (yieldPoolInfo.metadata.derivativeAssets) {
|
|
602
|
+
var _yieldPoolInfo$statis;
|
|
603
|
+
const derivativeTokenSlug = yieldPoolInfo.metadata.derivativeAssets[0];
|
|
604
|
+
const derivativeTokenInfo = this.state.chainService.getAssetBySlug(derivativeTokenSlug);
|
|
605
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(data.poolInfo.chain);
|
|
606
|
+
historyItem.amount = {
|
|
607
|
+
value: data.amount,
|
|
608
|
+
symbol: (0, _utils._getAssetSymbol)(derivativeTokenInfo),
|
|
609
|
+
decimals: (0, _utils._getAssetDecimals)(derivativeTokenInfo)
|
|
610
|
+
};
|
|
611
|
+
eventLogs && !(0, _utils._isChainEvmCompatible)(chainInfo) && (0, _eventParser.parseLiquidStakingFastUnstakeEvents)(historyItem, eventLogs, chainInfo, extrinsicType);
|
|
612
|
+
const minAmountPercent = minAmountPercents[yieldPoolInfo.slug] || 1;
|
|
613
|
+
const inputTokenSlug = yieldPoolInfo.metadata.inputAsset;
|
|
614
|
+
const inputTokenInfo = this.state.chainService.getAssetBySlug(inputTokenSlug);
|
|
615
|
+
const additionalInfo = {
|
|
616
|
+
minAmountPercent,
|
|
617
|
+
symbol: inputTokenInfo.symbol,
|
|
618
|
+
decimals: inputTokenInfo.decimals || 0,
|
|
619
|
+
exchangeRate: ((_yieldPoolInfo$statis = yieldPoolInfo.statistic) === null || _yieldPoolInfo$statis === void 0 ? void 0 : _yieldPoolInfo$statis.assetEarning[0].exchangeRate) || 1,
|
|
620
|
+
slug: yieldPoolInfo.slug,
|
|
621
|
+
type: yieldPoolInfo.type,
|
|
622
|
+
chain: yieldPoolInfo.chain,
|
|
623
|
+
group: yieldPoolInfo.group,
|
|
624
|
+
isFast: data.fastLeave
|
|
625
|
+
};
|
|
626
|
+
historyItem.additionalInfo = additionalInfo;
|
|
627
|
+
}
|
|
628
|
+
break;
|
|
629
|
+
}
|
|
630
|
+
case _KoniTypes.ExtrinsicType.TOKEN_APPROVE:
|
|
631
|
+
{
|
|
632
|
+
const data = (0, _utils2.parseTransactionData)(transaction.data);
|
|
633
|
+
const inputAsset = this.state.chainService.getAssetBySlug(data.inputTokenSlug);
|
|
634
|
+
historyItem.amount = {
|
|
635
|
+
value: '0',
|
|
636
|
+
symbol: (0, _utils._getAssetSymbol)(inputAsset),
|
|
637
|
+
decimals: (0, _utils._getAssetDecimals)(inputAsset)
|
|
638
|
+
};
|
|
639
|
+
break;
|
|
640
|
+
}
|
|
495
641
|
case _KoniTypes.ExtrinsicType.UNKNOWN:
|
|
496
642
|
break;
|
|
497
643
|
}
|
|
@@ -539,7 +685,7 @@ class TransactionService {
|
|
|
539
685
|
});
|
|
540
686
|
|
|
541
687
|
// Create Input History Transaction History
|
|
542
|
-
this.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
|
|
688
|
+
this.state.historyService.insertHistories(this.transactionToHistories(id, startBlock, nonce)).catch(console.error);
|
|
543
689
|
console.debug(`Transaction "${id}" is sent`);
|
|
544
690
|
}
|
|
545
691
|
onHasTransactionHash(_ref3) {
|
|
@@ -557,8 +703,12 @@ class TransactionService {
|
|
|
557
703
|
this.updateTransaction(id, updateData);
|
|
558
704
|
|
|
559
705
|
// 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);
|
|
706
|
+
this.state.historyService.updateHistoryByExtrinsicHash(id, updateData).catch(console.error);
|
|
561
707
|
console.debug(`Transaction "${id}" is submitted with hash ${extrinsicHash || ''}`);
|
|
708
|
+
const transaction = this.getTransaction(id);
|
|
709
|
+
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)) {
|
|
710
|
+
this.handlePostEarningTransaction(id);
|
|
711
|
+
}
|
|
562
712
|
}
|
|
563
713
|
handlePostProcessing(id) {
|
|
564
714
|
// must be done after success/failure to make sure the transaction is finalized
|
|
@@ -567,15 +717,15 @@ class TransactionService {
|
|
|
567
717
|
const inputData = (0, _utils2.parseTransactionData)(transaction.data);
|
|
568
718
|
try {
|
|
569
719
|
const sender = _uiKeyring.default.getPair(inputData.senderAddress);
|
|
570
|
-
sender && this.
|
|
571
|
-
this.eventService.emit('transaction.transferNft', undefined);
|
|
720
|
+
sender && this.state.dbService.handleNftTransfer(transaction.chain, [sender.address, _constants.ALL_ACCOUNT_KEY], inputData.nftItem).then(() => {
|
|
721
|
+
this.state.eventService.emit('transaction.transferNft', undefined);
|
|
572
722
|
}).catch(console.error);
|
|
573
723
|
} catch (e) {
|
|
574
724
|
console.error(e);
|
|
575
725
|
}
|
|
576
726
|
try {
|
|
577
727
|
const recipient = _uiKeyring.default.getPair(inputData.recipientAddress);
|
|
578
|
-
recipient && this.
|
|
728
|
+
recipient && this.state.dbService.addNft(recipient.address, {
|
|
579
729
|
...inputData.nftItem,
|
|
580
730
|
owner: recipient.address
|
|
581
731
|
}).catch(console.error);
|
|
@@ -583,7 +733,7 @@ class TransactionService {
|
|
|
583
733
|
console.error(e);
|
|
584
734
|
}
|
|
585
735
|
} 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);
|
|
736
|
+
this.state.eventService.emit('transaction.submitStaking', transaction.chain);
|
|
587
737
|
}
|
|
588
738
|
}
|
|
589
739
|
onSuccess(_ref4) {
|
|
@@ -600,14 +750,14 @@ class TransactionService {
|
|
|
600
750
|
});
|
|
601
751
|
|
|
602
752
|
// Write success transaction history
|
|
603
|
-
this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
753
|
+
this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
604
754
|
extrinsicHash,
|
|
605
755
|
status: _KoniTypes.ExtrinsicStatus.SUCCESS,
|
|
606
756
|
blockNumber: blockNumber || 0,
|
|
607
757
|
blockHash: blockHash || ''
|
|
608
758
|
}).catch(console.error);
|
|
609
|
-
const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.chainService.getChainInfoMap());
|
|
610
|
-
this.notificationService.notify({
|
|
759
|
+
const info = (0, _util.isHex)(extrinsicHash) ? extrinsicHash : (0, _helpers.getBaseTransactionInfo)(transaction, this.state.chainService.getChainInfoMap());
|
|
760
|
+
this.state.notificationService.notify({
|
|
611
761
|
type: _KoniTypes.NotificationType.SUCCESS,
|
|
612
762
|
title: (0, _i18next.t)('Transaction completed'),
|
|
613
763
|
message: (0, _i18next.t)('Transaction {{info}} completed', {
|
|
@@ -620,7 +770,7 @@ class TransactionService {
|
|
|
620
770
|
},
|
|
621
771
|
notifyViaBrowser: true
|
|
622
772
|
});
|
|
623
|
-
this.eventService.emit('transaction.done', transaction);
|
|
773
|
+
this.state.eventService.emit('transaction.done', transaction);
|
|
624
774
|
}
|
|
625
775
|
onFailed(_ref5) {
|
|
626
776
|
let {
|
|
@@ -640,14 +790,14 @@ class TransactionService {
|
|
|
640
790
|
});
|
|
641
791
|
|
|
642
792
|
// Write failed transaction history
|
|
643
|
-
this.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
793
|
+
this.state.historyService.updateHistoryByExtrinsicHash(transaction.extrinsicHash, {
|
|
644
794
|
extrinsicHash: extrinsicHash || transaction.extrinsicHash,
|
|
645
795
|
status: nextStatus,
|
|
646
796
|
blockNumber: blockNumber || 0,
|
|
647
797
|
blockHash: blockHash || ''
|
|
648
798
|
}).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({
|
|
799
|
+
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());
|
|
800
|
+
this.state.notificationService.notify({
|
|
651
801
|
type: _KoniTypes.NotificationType.ERROR,
|
|
652
802
|
title: (0, _i18next.t)('Transaction failed'),
|
|
653
803
|
message: (0, _i18next.t)('Transaction {{info}} failed', {
|
|
@@ -661,7 +811,7 @@ class TransactionService {
|
|
|
661
811
|
notifyViaBrowser: true
|
|
662
812
|
});
|
|
663
813
|
}
|
|
664
|
-
this.eventService.emit('transaction.failed', transaction);
|
|
814
|
+
this.state.eventService.emit('transaction.failed', transaction);
|
|
665
815
|
}
|
|
666
816
|
onTimeOut(_ref6) {
|
|
667
817
|
let {
|
|
@@ -704,7 +854,7 @@ class TransactionService {
|
|
|
704
854
|
}
|
|
705
855
|
generateHashPayload(chain, transaction) {
|
|
706
856
|
var _transaction$nonce;
|
|
707
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
857
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
708
858
|
const txObject = {
|
|
709
859
|
nonce: (_transaction$nonce = transaction.nonce) !== null && _transaction$nonce !== void 0 ? _transaction$nonce : 0,
|
|
710
860
|
gasPrice: (0, _ethereumjsUtil.addHexPrefix)((0, _eth.anyNumberToBN)(transaction.gasPrice).toString(16)),
|
|
@@ -726,8 +876,8 @@ class TransactionService {
|
|
|
726
876
|
url
|
|
727
877
|
} = _ref7;
|
|
728
878
|
const payload = transaction;
|
|
729
|
-
const evmApi = this.chainService.getEvmApi(chain);
|
|
730
|
-
const chainInfo = this.chainService.getChainInfoByKey(chain);
|
|
879
|
+
const evmApi = this.state.chainService.getEvmApi(chain);
|
|
880
|
+
const chainInfo = this.state.chainService.getChainInfoByKey(chain);
|
|
731
881
|
const accountPair = _uiKeyring.default.getPair(address);
|
|
732
882
|
const account = {
|
|
733
883
|
address,
|
|
@@ -757,7 +907,7 @@ class TransactionService {
|
|
|
757
907
|
|
|
758
908
|
// Set unique nonce to avoid transaction errors
|
|
759
909
|
if (!payload.nonce) {
|
|
760
|
-
const evmApi = this.chainService.getEvmApi(chain);
|
|
910
|
+
const evmApi = this.state.chainService.getEvmApi(chain);
|
|
761
911
|
payload.nonce = await evmApi.api.eth.getTransactionCount(address);
|
|
762
912
|
}
|
|
763
913
|
if (!payload.chainId) {
|
|
@@ -792,7 +942,7 @@ class TransactionService {
|
|
|
792
942
|
extrinsicHash: id
|
|
793
943
|
};
|
|
794
944
|
if (isInjected) {
|
|
795
|
-
this.requestService.addConfirmation(id, url ||
|
|
945
|
+
this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmWatchTransactionRequest', payload, {}).then(async _ref8 => {
|
|
796
946
|
let {
|
|
797
947
|
isApproved,
|
|
798
948
|
payload
|
|
@@ -801,7 +951,7 @@ class TransactionService {
|
|
|
801
951
|
if (!payload) {
|
|
802
952
|
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, 'Bad signature');
|
|
803
953
|
}
|
|
804
|
-
const web3Api = this.chainService.getEvmApi(chain).api;
|
|
954
|
+
const web3Api = this.state.chainService.getEvmApi(chain).api;
|
|
805
955
|
|
|
806
956
|
// Emit signed event
|
|
807
957
|
emitter.emit('signed', eventData);
|
|
@@ -857,7 +1007,7 @@ class TransactionService {
|
|
|
857
1007
|
emitter.emit('error', eventData);
|
|
858
1008
|
});
|
|
859
1009
|
} else {
|
|
860
|
-
this.requestService.addConfirmation(id, url ||
|
|
1010
|
+
this.state.requestService.addConfirmation(id, url || _constants2.EXTENSION_REQUEST_URL, 'evmSendTransactionRequest', payload, {}).then(async _ref9 => {
|
|
861
1011
|
let {
|
|
862
1012
|
isApproved,
|
|
863
1013
|
payload
|
|
@@ -867,7 +1017,7 @@ class TransactionService {
|
|
|
867
1017
|
if (!payload) {
|
|
868
1018
|
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.UNAUTHORIZED, (0, _i18next.t)('Failed to sign'));
|
|
869
1019
|
}
|
|
870
|
-
const web3Api = this.chainService.getEvmApi(chain).api;
|
|
1020
|
+
const web3Api = this.state.chainService.getEvmApi(chain).api;
|
|
871
1021
|
if (!isExternal) {
|
|
872
1022
|
signedTransaction = payload;
|
|
873
1023
|
} else {
|
|
@@ -935,7 +1085,7 @@ class TransactionService {
|
|
|
935
1085
|
transaction.signAsync(address, {
|
|
936
1086
|
signer: {
|
|
937
1087
|
signPayload: async payload => {
|
|
938
|
-
const signing = await this.requestService.signInternalTransaction(id, address, url ||
|
|
1088
|
+
const signing = await this.state.requestService.signInternalTransaction(id, address, url || _constants2.EXTENSION_REQUEST_URL, payload);
|
|
939
1089
|
return {
|
|
940
1090
|
id: new Date().getTime(),
|
|
941
1091
|
signature: signing.signature
|
|
@@ -947,7 +1097,7 @@ class TransactionService {
|
|
|
947
1097
|
emitter.emit('signed', eventData);
|
|
948
1098
|
|
|
949
1099
|
// Send transaction
|
|
950
|
-
const api = this.chainService.getSubstrateApi(chain);
|
|
1100
|
+
const api = this.state.chainService.getSubstrateApi(chain);
|
|
951
1101
|
eventData.nonce = rs.nonce.toNumber();
|
|
952
1102
|
eventData.startBlock = (await api.api.query.system.number()).toPrimitive();
|
|
953
1103
|
this.handleTransactionTimeout(emitter, eventData);
|
|
@@ -1011,7 +1161,7 @@ class TransactionService {
|
|
|
1011
1161
|
emitter.emit('timeout', eventData);
|
|
1012
1162
|
clearTimeout(timeout);
|
|
1013
1163
|
}
|
|
1014
|
-
},
|
|
1164
|
+
}, _constants3.TRANSACTION_TIMEOUT);
|
|
1015
1165
|
emitter.once('success', () => {
|
|
1016
1166
|
clearTimeout(timeout);
|
|
1017
1167
|
});
|
|
@@ -1019,6 +1169,33 @@ class TransactionService {
|
|
|
1019
1169
|
clearTimeout(timeout);
|
|
1020
1170
|
});
|
|
1021
1171
|
}
|
|
1172
|
+
handlePostEarningTransaction(id) {
|
|
1173
|
+
const transaction = this.getTransaction(id);
|
|
1174
|
+
let slug;
|
|
1175
|
+
|
|
1176
|
+
// TODO
|
|
1177
|
+
if ('data' in transaction.data) {
|
|
1178
|
+
slug = transaction.data.data.slug;
|
|
1179
|
+
} else {
|
|
1180
|
+
slug = transaction.data.slug;
|
|
1181
|
+
}
|
|
1182
|
+
const poolHandler = this.state.earningService.getPoolHandler(slug);
|
|
1183
|
+
if (poolHandler) {
|
|
1184
|
+
const type = poolHandler.type;
|
|
1185
|
+
if (type === _types.YieldPoolType.NATIVE_STAKING) {
|
|
1186
|
+
return;
|
|
1187
|
+
}
|
|
1188
|
+
} else {
|
|
1189
|
+
return;
|
|
1190
|
+
}
|
|
1191
|
+
this.state.mintCampaignService.unlockDotCampaign.mintNft({
|
|
1192
|
+
transactionId: id,
|
|
1193
|
+
address: transaction.address,
|
|
1194
|
+
slug: slug,
|
|
1195
|
+
network: transaction.chain,
|
|
1196
|
+
extrinsicHash: transaction.extrinsicHash
|
|
1197
|
+
}).catch(console.error);
|
|
1198
|
+
}
|
|
1022
1199
|
resetWallet() {
|
|
1023
1200
|
this.transactionSubject.next({});
|
|
1024
1201
|
}
|
|
@@ -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";
|