@subwallet/extension-base 1.1.28-beta.1 → 1.1.30-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 +70 -93
- package/background/KoniTypes.js +14 -16
- package/background/errors/TransactionError.js +4 -9
- package/cjs/background/KoniTypes.js +17 -17
- package/cjs/background/errors/TransactionError.js +4 -9
- package/cjs/constants/index.js +3 -9
- package/cjs/koni/api/nft/config.js +23 -33
- package/cjs/koni/api/nft/index.js +0 -14
- package/cjs/koni/api/nft/nft.js +22 -1
- package/cjs/koni/api/staking/bonding/amplitude.js +15 -17
- package/cjs/koni/api/staking/bonding/astar.js +10 -11
- package/cjs/koni/api/staking/bonding/index.js +1 -4
- package/cjs/koni/api/staking/bonding/paraChain.js +23 -25
- package/cjs/koni/api/staking/bonding/relayChain.js +45 -48
- package/cjs/koni/api/staking/bonding/utils.js +86 -104
- package/cjs/koni/api/staking/index.js +5 -6
- package/cjs/koni/api/staking/paraChain.js +5 -6
- package/cjs/koni/api/staking/relayChain.js +2 -3
- package/cjs/koni/background/cron.js +0 -2
- package/cjs/koni/background/handlers/Extension.js +88 -326
- package/cjs/koni/background/handlers/State.js +3 -51
- package/cjs/koni/background/handlers/index.js +2 -4
- package/cjs/koni/background/subscription.js +18 -88
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/campaign-service/index.js +6 -9
- package/cjs/services/chain-service/constants.js +16 -2
- package/cjs/services/chain-service/utils.js +1 -7
- package/cjs/services/event-service/index.js +0 -4
- package/cjs/services/keyring-service/index.js +2 -14
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/index.js +0 -4
- package/cjs/services/notification-service/NotificationService.js +1 -1
- package/cjs/services/storage-service/DatabaseService.js +0 -47
- package/cjs/services/storage-service/databases/index.js +0 -4
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/transaction-service/event-parser/index.js +0 -58
- package/cjs/services/transaction-service/helpers/index.js +1 -3
- package/cjs/services/transaction-service/index.js +74 -180
- package/cjs/services/transaction-service/utils.js +0 -1
- package/cjs/types/index.js +0 -44
- package/cjs/utils/fetchStaticData.js +1 -2
- package/cjs/utils/index.js +1 -89
- package/constants/index.d.ts +0 -2
- package/constants/index.js +0 -2
- package/koni/api/nft/config.js +23 -33
- package/koni/api/nft/index.js +1 -15
- package/koni/api/nft/nft.js +23 -2
- package/koni/api/staking/bonding/amplitude.js +9 -11
- package/koni/api/staking/bonding/astar.js +8 -9
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +1 -5
- package/koni/api/staking/bonding/paraChain.js +10 -12
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +30 -33
- package/koni/api/staking/bonding/utils.d.ts +38 -15
- package/koni/api/staking/bonding/utils.js +69 -85
- package/koni/api/staking/index.js +1 -2
- package/koni/api/staking/paraChain.js +6 -7
- package/koni/api/staking/relayChain.js +3 -4
- package/koni/background/cron.js +0 -2
- package/koni/background/handlers/Extension.d.ts +1 -14
- package/koni/background/handlers/Extension.js +50 -286
- package/koni/background/handlers/State.d.ts +2 -18
- package/koni/background/handlers/State.js +3 -50
- package/koni/background/handlers/index.js +2 -4
- package/koni/background/subscription.d.ts +1 -5
- package/koni/background/subscription.js +20 -90
- package/package.json +8 -311
- package/packageInfo.js +1 -1
- package/services/campaign-service/index.js +6 -9
- package/services/chain-service/constants.d.ts +11 -0
- package/services/chain-service/constants.js +14 -1
- package/services/chain-service/utils.d.ts +0 -1
- package/services/chain-service/utils.js +1 -5
- package/services/event-service/index.d.ts +0 -1
- package/services/event-service/index.js +0 -4
- package/services/event-service/types.d.ts +0 -8
- package/services/keyring-service/index.d.ts +1 -2
- package/services/keyring-service/index.js +2 -14
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/index.js +0 -4
- package/services/notification-service/NotificationService.js +1 -1
- package/services/storage-service/DatabaseService.d.ts +1 -17
- package/services/storage-service/DatabaseService.js +0 -47
- package/services/storage-service/databases/index.d.ts +1 -3
- package/services/storage-service/databases/index.js +0 -4
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/subscan-service/index.d.ts +2 -2
- package/services/transaction-service/event-parser/index.d.ts +1 -3
- package/services/transaction-service/event-parser/index.js +1 -57
- package/services/transaction-service/helpers/index.js +1 -3
- package/services/transaction-service/index.d.ts +15 -4
- package/services/transaction-service/index.js +72 -178
- package/services/transaction-service/types.d.ts +0 -2
- package/services/transaction-service/utils.js +0 -1
- package/types/index.d.ts +0 -5
- package/types/index.js +1 -5
- package/utils/fetchStaticData.js +1 -2
- package/utils/index.d.ts +0 -5
- package/utils/index.js +1 -53
- package/cjs/koni/api/dotsama/balance.js +0 -464
- package/cjs/koni/api/nft/ordinal_nft/constants.js +0 -21
- package/cjs/koni/api/nft/ordinal_nft/index.js +0 -121
- package/cjs/koni/api/nft/ordinal_nft/utils.js +0 -41
- package/cjs/koni/api/yield/helper/utils.js +0 -46
- package/cjs/services/earning-service/constants/chains.js +0 -29
- package/cjs/services/earning-service/constants/index.js +0 -27
- package/cjs/services/earning-service/constants/step.js +0 -18
- package/cjs/services/earning-service/handlers/base.js +0 -202
- package/cjs/services/earning-service/handlers/index.js +0 -60
- package/cjs/services/earning-service/handlers/lending/base.js +0 -20
- package/cjs/services/earning-service/handlers/lending/index.js +0 -13
- package/cjs/services/earning-service/handlers/lending/interlay.js +0 -168
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -196
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -39
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -257
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +0 -34
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -180
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -373
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +0 -359
- package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -426
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +0 -137
- package/cjs/services/earning-service/handlers/native-staking/base.js +0 -109
- package/cjs/services/earning-service/handlers/native-staking/index.js +0 -34
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -361
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +0 -512
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +0 -501
- package/cjs/services/earning-service/handlers/special.js +0 -387
- package/cjs/services/earning-service/service.js +0 -327
- package/cjs/services/earning-service/utils/index.js +0 -111
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +0 -21
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +0 -21
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +0 -17
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +0 -17
- package/cjs/services/migration-service/scripts/MigrateProvider.js +0 -29
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -149
- package/cjs/services/mint-campaign-service/campaigns/index.js +0 -13
- package/cjs/services/mint-campaign-service/constants.js +0 -11
- package/cjs/services/mint-campaign-service/index.js +0 -18
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +0 -36
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +0 -65
- package/cjs/services/storage-service/index.js +0 -241
- package/cjs/types/campaigns/index.js +0 -16
- package/cjs/types/campaigns/unlock-dot.js +0 -1
- package/cjs/types/ordinal.js +0 -1
- package/cjs/types/transaction.js +0 -1
- package/cjs/types/yield/actions/index.js +0 -27
- package/cjs/types/yield/actions/join/index.js +0 -38
- package/cjs/types/yield/actions/join/step.js +0 -37
- package/cjs/types/yield/actions/join/submit.js +0 -1
- package/cjs/types/yield/actions/join/validate.js +0 -16
- package/cjs/types/yield/actions/others.js +0 -1
- package/cjs/types/yield/index.js +0 -27
- package/cjs/types/yield/info/account/index.js +0 -49
- package/cjs/types/yield/info/account/info.js +0 -1
- package/cjs/types/yield/info/account/reward.js +0 -1
- package/cjs/types/yield/info/account/target.js +0 -32
- package/cjs/types/yield/info/account/unstake.js +0 -27
- package/cjs/types/yield/info/base.js +0 -34
- package/cjs/types/yield/info/chain/index.js +0 -27
- package/cjs/types/yield/info/chain/info.js +0 -1
- package/cjs/types/yield/info/chain/target.js +0 -1
- package/cjs/types/yield/info/index.js +0 -49
- package/cjs/types/yield/info/pallet.js +0 -15
- package/cjs/types.js +0 -1
- package/cjs/utils/address.js +0 -34
- package/cjs/utils/keyring.js +0 -57
- package/cjs/utils/object.js +0 -12
- package/koni/api/nft/ordinal_nft/constants.d.ts +0 -9
- package/koni/api/nft/ordinal_nft/constants.js +0 -12
- package/koni/api/nft/ordinal_nft/index.d.ts +0 -8
- package/koni/api/nft/ordinal_nft/index.js +0 -114
- package/koni/api/nft/ordinal_nft/utils.d.ts +0 -2
- package/koni/api/nft/ordinal_nft/utils.js +0 -33
- package/koni/api/yield/helper/utils.d.ts +0 -10
- package/koni/api/yield/helper/utils.js +0 -32
- package/services/earning-service/constants/abis/compound_finance_v2_abi.json +0 -1235
- package/services/earning-service/constants/abis/st_liquid_token_abi.json +0 -1355
- package/services/earning-service/constants/chains.d.ts +0 -14
- package/services/earning-service/constants/chains.js +0 -21
- package/services/earning-service/constants/index.d.ts +0 -2
- package/services/earning-service/constants/index.js +0 -5
- package/services/earning-service/constants/step.d.ts +0 -3
- package/services/earning-service/constants/step.js +0 -10
- package/services/earning-service/handlers/base.d.ts +0 -105
- package/services/earning-service/handlers/base.js +0 -195
- package/services/earning-service/handlers/index.d.ts +0 -5
- package/services/earning-service/handlers/index.js +0 -8
- package/services/earning-service/handlers/lending/base.d.ts +0 -6
- package/services/earning-service/handlers/lending/base.js +0 -12
- package/services/earning-service/handlers/lending/index.d.ts +0 -1
- package/services/earning-service/handlers/lending/index.js +0 -4
- package/services/earning-service/handlers/lending/interlay.d.ts +0 -22
- package/services/earning-service/handlers/lending/interlay.js +0 -160
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +0 -27
- package/services/earning-service/handlers/liquid-staking/acala.js +0 -188
- package/services/earning-service/handlers/liquid-staking/base.d.ts +0 -8
- package/services/earning-service/handlers/liquid-staking/base.js +0 -31
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +0 -44
- package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -246
- package/services/earning-service/handlers/liquid-staking/index.d.ts +0 -4
- package/services/earning-service/handlers/liquid-staking/index.js +0 -7
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +0 -27
- package/services/earning-service/handlers/liquid-staking/parallel.js +0 -172
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +0 -36
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +0 -363
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +0 -22
- package/services/earning-service/handlers/native-staking/amplitude.js +0 -350
- package/services/earning-service/handlers/native-staking/astar.d.ts +0 -18
- package/services/earning-service/handlers/native-staking/astar.js +0 -416
- package/services/earning-service/handlers/native-staking/base-para.d.ts +0 -11
- package/services/earning-service/handlers/native-staking/base-para.js +0 -129
- package/services/earning-service/handlers/native-staking/base.d.ts +0 -19
- package/services/earning-service/handlers/native-staking/base.js +0 -101
- package/services/earning-service/handlers/native-staking/index.d.ts +0 -4
- package/services/earning-service/handlers/native-staking/index.js +0 -7
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +0 -15
- package/services/earning-service/handlers/native-staking/para-chain.js +0 -353
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +0 -21
- package/services/earning-service/handlers/native-staking/relay-chain.js +0 -503
- package/services/earning-service/handlers/nomination-pool/index.d.ts +0 -33
- package/services/earning-service/handlers/nomination-pool/index.js +0 -492
- package/services/earning-service/handlers/special.d.ts +0 -56
- package/services/earning-service/handlers/special.js +0 -379
- package/services/earning-service/service.d.ts +0 -36
- package/services/earning-service/service.js +0 -320
- package/services/earning-service/utils/index.d.ts +0 -14
- package/services/earning-service/utils/index.js +0 -100
- package/services/migration-service/scripts/DeleteEarningData.d.ts +0 -4
- package/services/migration-service/scripts/DeleteEarningData.js +0 -13
- package/services/migration-service/scripts/EnableEarningChains.d.ts +0 -4
- package/services/migration-service/scripts/EnableEarningChains.js +0 -13
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +0 -13
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -139
- package/services/mint-campaign-service/campaigns/index.d.ts +0 -1
- package/services/mint-campaign-service/campaigns/index.js +0 -4
- package/services/mint-campaign-service/constants.d.ts +0 -1
- package/services/mint-campaign-service/constants.js +0 -4
- package/services/mint-campaign-service/index.d.ts +0 -7
- package/services/mint-campaign-service/index.js +0 -11
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +0 -10
- package/services/storage-service/db-stores/YieldPoolStore.js +0 -28
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +0 -9
- package/services/storage-service/db-stores/YieldPositionStore.js +0 -57
- package/types/campaigns/index.d.ts +0 -1
- package/types/campaigns/index.js +0 -4
- package/types/campaigns/unlock-dot.d.ts +0 -71
- package/types/campaigns/unlock-dot.js +0 -1
- package/types/ordinal.d.ts +0 -69
- package/types/ordinal.js +0 -1
- package/types/transaction.d.ts +0 -3
- package/types/transaction.js +0 -1
- package/types/yield/actions/index.d.ts +0 -2
- package/types/yield/actions/index.js +0 -5
- package/types/yield/actions/join/index.d.ts +0 -3
- package/types/yield/actions/join/index.js +0 -6
- package/types/yield/actions/join/step.d.ts +0 -75
- package/types/yield/actions/join/step.js +0 -34
- package/types/yield/actions/join/submit.d.ts +0 -53
- package/types/yield/actions/join/submit.js +0 -1
- package/types/yield/actions/join/validate.d.ts +0 -18
- package/types/yield/actions/join/validate.js +0 -10
- package/types/yield/actions/others.d.ts +0 -60
- package/types/yield/actions/others.js +0 -1
- package/types/yield/index.d.ts +0 -2
- package/types/yield/index.js +0 -5
- package/types/yield/info/account/index.d.ts +0 -4
- package/types/yield/info/account/index.js +0 -7
- package/types/yield/info/account/info.d.ts +0 -112
- package/types/yield/info/account/info.js +0 -1
- package/types/yield/info/account/reward.d.ts +0 -41
- package/types/yield/info/account/reward.js +0 -1
- package/types/yield/info/account/target.d.ts +0 -43
- package/types/yield/info/account/target.js +0 -27
- package/types/yield/info/account/unstake.d.ts +0 -31
- package/types/yield/info/account/unstake.js +0 -22
- package/types/yield/info/base.d.ts +0 -28
- package/types/yield/info/base.js +0 -28
- package/types/yield/info/chain/index.d.ts +0 -2
- package/types/yield/info/chain/index.js +0 -5
- package/types/yield/info/chain/info.d.ts +0 -190
- package/types/yield/info/chain/info.js +0 -1
- package/types/yield/info/chain/target.d.ts +0 -33
- package/types/yield/info/chain/target.js +0 -1
- package/types/yield/info/index.d.ts +0 -4
- package/types/yield/info/index.js +0 -7
- package/types/yield/info/pallet.d.ts +0 -143
- package/types/yield/info/pallet.js +0 -9
- package/utils/object.d.ts +0 -1
- package/utils/object.js +0 -6
|
@@ -7,7 +7,7 @@ import { TransactionError } from '@subwallet/extension-base/background/errors/Tr
|
|
|
7
7
|
import { isJsonPayload, SEED_DEFAULT_LENGTH, SEED_LENGTHS } from '@subwallet/extension-base/background/handlers/Extension';
|
|
8
8
|
import { withErrorLog } from '@subwallet/extension-base/background/handlers/helpers';
|
|
9
9
|
import { createSubscription } from '@subwallet/extension-base/background/handlers/subscriptions';
|
|
10
|
-
import { AccountExternalErrorCode, BasicTxErrorType, BasicTxWarningCode, CampaignDataType, ChainType, ExternalRequestPromiseStatus, ExtrinsicType, MantaPayEnableMessage, StakingType, TransferTxErrorType } from '@subwallet/extension-base/background/KoniTypes';
|
|
10
|
+
import { AccountExternalErrorCode, BasicTxErrorType, BasicTxWarningCode, CampaignDataType, ChainType, ExternalRequestPromiseStatus, ExtrinsicType, MantaPayEnableMessage, StakingTxErrorType, StakingType, TransferTxErrorType } from '@subwallet/extension-base/background/KoniTypes';
|
|
11
11
|
import { TransactionWarning } from '@subwallet/extension-base/background/warnings/TransactionWarning';
|
|
12
12
|
import { ALL_ACCOUNT_KEY, ALL_GENESIS_HASH, XCM_MIN_AMOUNT_RATIO } from '@subwallet/extension-base/constants';
|
|
13
13
|
import { ALLOWED_PATH } from '@subwallet/extension-base/defaults';
|
|
@@ -15,13 +15,12 @@ import { resolveAzeroAddressToDomain, resolveAzeroDomainToAddress } from '@subwa
|
|
|
15
15
|
import { parseSubstrateTransaction } from '@subwallet/extension-base/koni/api/dotsama/parseTransaction';
|
|
16
16
|
import { checkReferenceCount, checkSupportTransfer, createTransferExtrinsic } from '@subwallet/extension-base/koni/api/dotsama/transfer';
|
|
17
17
|
import { getNftTransferExtrinsic, isRecipientSelf } from '@subwallet/extension-base/koni/api/nft/transfer';
|
|
18
|
-
import { getBondingExtrinsic, getCancelWithdrawalExtrinsic, getClaimRewardExtrinsic, getNominationPoolsInfo, getUnbondingExtrinsic, getValidatorsInfo, validateBondingCondition, validateUnbondingCondition } from '@subwallet/extension-base/koni/api/staking/bonding';
|
|
18
|
+
import { getBondingExtrinsic, getCancelWithdrawalExtrinsic, getClaimRewardExtrinsic, getNominationPoolsInfo, getUnbondingExtrinsic, getValidatorsInfo, getWithdrawalExtrinsic, validateBondingCondition, validateUnbondingCondition } from '@subwallet/extension-base/koni/api/staking/bonding';
|
|
19
19
|
import { getTuringCancelCompoundingExtrinsic, getTuringCompoundExtrinsic } from '@subwallet/extension-base/koni/api/staking/bonding/paraChain';
|
|
20
20
|
import { getPoolingBondingExtrinsic, getPoolingUnbondingExtrinsic, validatePoolBondingCondition, validateRelayUnbondingCondition } from '@subwallet/extension-base/koni/api/staking/bonding/relayChain';
|
|
21
21
|
import { getERC20TransactionObject, getERC721Transaction, getEVMTransactionObject } from '@subwallet/extension-base/koni/api/tokens/evm/transfer';
|
|
22
22
|
import { getPSP34TransferExtrinsic } from '@subwallet/extension-base/koni/api/tokens/wasm';
|
|
23
23
|
import { createXcmExtrinsic } from '@subwallet/extension-base/koni/api/xcm';
|
|
24
|
-
import { YIELD_EXTRINSIC_TYPES } from '@subwallet/extension-base/koni/api/yield/helper/utils';
|
|
25
24
|
import { _API_OPTIONS_CHAIN_GROUP, _DEFAULT_MANTA_ZK_CHAIN, _MANTA_ZK_CHAIN_GROUP, _ZK_ASSET_PREFIX } from '@subwallet/extension-base/services/chain-service/constants';
|
|
26
25
|
import { _ChainConnectionStatus } from '@subwallet/extension-base/services/chain-service/types';
|
|
27
26
|
import { _getChainNativeTokenBasicInfo, _getContractAddressOfToken, _getEvmChainId, _getSubstrateGenesisHash, _getTokenMinAmount, _isAssetSmartContractNft, _isChainEvmCompatible, _isCustomAsset, _isLocalToken, _isMantaZkAsset, _isNativeToken, _isTokenEvmSmartContract, _isTokenTransferredByEvm } from '@subwallet/extension-base/services/chain-service/utils';
|
|
@@ -29,7 +28,6 @@ import { EXTENSION_REQUEST_URL } from '@subwallet/extension-base/services/reques
|
|
|
29
28
|
import { DEFAULT_AUTO_LOCK_TIME } from '@subwallet/extension-base/services/setting-service/constants';
|
|
30
29
|
import { WALLET_CONNECT_EIP155_NAMESPACE } from '@subwallet/extension-base/services/wallet-connect-service/constants';
|
|
31
30
|
import { isProposalExpired, isSupportWalletConnectChain, isSupportWalletConnectNamespace } from '@subwallet/extension-base/services/wallet-connect-service/helpers';
|
|
32
|
-
import { YieldPoolType } from '@subwallet/extension-base/types';
|
|
33
31
|
import { convertSubjectInfoToAddresses, isSameAddress, reformatAddress, uniqueStringArray } from '@subwallet/extension-base/utils';
|
|
34
32
|
import { createTransactionFromRLP, recalculateGasPrice, signatureToHex } from '@subwallet/extension-base/utils/eth';
|
|
35
33
|
import { parseContractInput, parseEvmRlp } from '@subwallet/extension-base/utils/eth/parseTransaction';
|
|
@@ -470,7 +468,6 @@ export default class KoniExtension {
|
|
|
470
468
|
const cb = createSubscription(id, port);
|
|
471
469
|
const keyringService = this.#koniState.keyringService;
|
|
472
470
|
await this.#koniState.eventService.waitAccountReady;
|
|
473
|
-
await this.#koniState.eventService.waitInjectReady;
|
|
474
471
|
const currentAccount = keyringService.currentAccount;
|
|
475
472
|
const transformedAccounts = transformAccounts(keyringService.accounts);
|
|
476
473
|
const responseData = {
|
|
@@ -1025,9 +1022,6 @@ export default class KoniExtension {
|
|
|
1025
1022
|
getCrowdloan(reset) {
|
|
1026
1023
|
return this.#koniState.getCrowdloan(reset);
|
|
1027
1024
|
}
|
|
1028
|
-
getCrowdloanContributions(request) {
|
|
1029
|
-
return this.#koniState.getCrowdloanContributions(request);
|
|
1030
|
-
}
|
|
1031
1025
|
subscribeCrowdloan(id, port) {
|
|
1032
1026
|
const cb = createSubscription(id, port);
|
|
1033
1027
|
const crowdloanSubscription = this.#koniState.subscribeCrowdloan().subscribe({
|
|
@@ -1916,22 +1910,12 @@ export default class KoniExtension {
|
|
|
1916
1910
|
token
|
|
1917
1911
|
}, id, port) {
|
|
1918
1912
|
const cb = createSubscription(id, port);
|
|
1919
|
-
const
|
|
1920
|
-
return {
|
|
1921
|
-
...data,
|
|
1922
|
-
id
|
|
1923
|
-
};
|
|
1924
|
-
};
|
|
1925
|
-
const _cb = data => {
|
|
1926
|
-
// eslint-disable-next-line node/no-callback-literal
|
|
1927
|
-
cb(convertData(data));
|
|
1928
|
-
};
|
|
1929
|
-
const [unsub, currentFreeBalance] = await this.#koniState.balanceService.subscribeTokenFreeBalance(address, networkKey, token, _cb);
|
|
1913
|
+
const [unsub, currentFreeBalance] = await this.#koniState.balanceService.subscribeTokenFreeBalance(address, networkKey, token, cb);
|
|
1930
1914
|
this.createUnsubscriptionHandle(id, unsub);
|
|
1931
1915
|
port.onDisconnect.addListener(() => {
|
|
1932
1916
|
this.cancelSubscription(id);
|
|
1933
1917
|
});
|
|
1934
|
-
return
|
|
1918
|
+
return currentFreeBalance;
|
|
1935
1919
|
}
|
|
1936
1920
|
async transferCheckReferenceCount({
|
|
1937
1921
|
address,
|
|
@@ -2496,7 +2480,12 @@ export default class KoniExtension {
|
|
|
2496
2480
|
const chainInfo = this.#koniState.getChainInfo(chain);
|
|
2497
2481
|
const chainStakingMetadata = await this.#koniState.getStakingMetadataByChain(chain, StakingType.NOMINATED);
|
|
2498
2482
|
if (!chainStakingMetadata) {
|
|
2499
|
-
|
|
2483
|
+
const errMessage = t('Unable to fetch staking data. Re-enable "{{chainName}}" and try again.', {
|
|
2484
|
+
replace: {
|
|
2485
|
+
chainName: chainInfo.name
|
|
2486
|
+
}
|
|
2487
|
+
});
|
|
2488
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(StakingTxErrorType.CAN_NOT_GET_METADATA, errMessage)]);
|
|
2500
2489
|
}
|
|
2501
2490
|
const bondingValidation = validateBondingCondition(chainInfo, amount, selectedValidators, address, chainStakingMetadata, nominatorMetadata);
|
|
2502
2491
|
if (!amount || !selectedValidators || bondingValidation.length > 0) {
|
|
@@ -2541,18 +2530,36 @@ export default class KoniExtension {
|
|
|
2541
2530
|
chainType: ChainType.SUBSTRATE
|
|
2542
2531
|
});
|
|
2543
2532
|
}
|
|
2533
|
+
async submitStakeWithdrawal(inputData) {
|
|
2534
|
+
const {
|
|
2535
|
+
chain,
|
|
2536
|
+
nominatorMetadata,
|
|
2537
|
+
validatorAddress
|
|
2538
|
+
} = inputData;
|
|
2539
|
+
if (!nominatorMetadata) {
|
|
2540
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INVALID_PARAMS)]);
|
|
2541
|
+
}
|
|
2542
|
+
const dotSamaApi = this.#koniState.getSubstrateApi(chain);
|
|
2543
|
+
const extrinsic = await getWithdrawalExtrinsic(dotSamaApi, chain, nominatorMetadata, validatorAddress);
|
|
2544
|
+
return await this.#koniState.transactionService.handleTransaction({
|
|
2545
|
+
address: nominatorMetadata.address,
|
|
2546
|
+
chain: chain,
|
|
2547
|
+
transaction: extrinsic,
|
|
2548
|
+
data: inputData,
|
|
2549
|
+
extrinsicType: ExtrinsicType.STAKING_WITHDRAW,
|
|
2550
|
+
chainType: ChainType.SUBSTRATE
|
|
2551
|
+
});
|
|
2552
|
+
}
|
|
2544
2553
|
async submitStakeClaimReward(inputData) {
|
|
2545
2554
|
const {
|
|
2546
2555
|
address,
|
|
2547
2556
|
bondReward,
|
|
2548
|
-
|
|
2557
|
+
chain,
|
|
2558
|
+
stakingType
|
|
2549
2559
|
} = inputData;
|
|
2550
|
-
|
|
2551
|
-
if (!address || !poolHandler) {
|
|
2560
|
+
if (!address) {
|
|
2552
2561
|
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INVALID_PARAMS)]);
|
|
2553
2562
|
}
|
|
2554
|
-
const chain = poolHandler.chain;
|
|
2555
|
-
const stakingType = poolHandler.type === YieldPoolType.NOMINATION_POOL ? StakingType.POOLED : StakingType.NOMINATED;
|
|
2556
2563
|
const substrateApi = this.#koniState.getSubstrateApi(chain);
|
|
2557
2564
|
const extrinsic = await getClaimRewardExtrinsic(substrateApi, chain, address, stakingType, bondReward);
|
|
2558
2565
|
return await this.#koniState.transactionService.handleTransaction({
|
|
@@ -2565,18 +2572,15 @@ export default class KoniExtension {
|
|
|
2565
2572
|
});
|
|
2566
2573
|
}
|
|
2567
2574
|
async submitCancelStakeWithdrawal(inputData) {
|
|
2568
|
-
var _this$koniState$earni;
|
|
2569
2575
|
const {
|
|
2570
2576
|
address,
|
|
2571
|
-
|
|
2572
|
-
|
|
2577
|
+
chain,
|
|
2578
|
+
selectedUnstaking
|
|
2573
2579
|
} = inputData;
|
|
2574
|
-
const chain = (_this$koniState$earni = this.#koniState.earningService.getPoolHandler(slug)) === null || _this$koniState$earni === void 0 ? void 0 : _this$koniState$earni.chain;
|
|
2575
2580
|
if (!chain || !selectedUnstaking) {
|
|
2576
2581
|
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INVALID_PARAMS)]);
|
|
2577
2582
|
}
|
|
2578
2583
|
const substrateApi = this.#koniState.getSubstrateApi(chain);
|
|
2579
|
-
// @ts-ignore
|
|
2580
2584
|
const extrinsic = await getCancelWithdrawalExtrinsic(substrateApi, chain, selectedUnstaking);
|
|
2581
2585
|
return await this.#koniState.transactionService.handleTransaction({
|
|
2582
2586
|
address,
|
|
@@ -2598,7 +2602,12 @@ export default class KoniExtension {
|
|
|
2598
2602
|
const chainInfo = this.#koniState.getChainInfo(chain);
|
|
2599
2603
|
const chainStakingMetadata = await this.#koniState.getStakingMetadataByChain(chain, StakingType.NOMINATED);
|
|
2600
2604
|
if (!chainStakingMetadata) {
|
|
2601
|
-
|
|
2605
|
+
const errMessage = t('Unable to fetch staking data. Re-enable "{{chainName}}" and try again.', {
|
|
2606
|
+
replace: {
|
|
2607
|
+
chainName: chainInfo.name
|
|
2608
|
+
}
|
|
2609
|
+
});
|
|
2610
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(StakingTxErrorType.CAN_NOT_GET_METADATA, errMessage)]);
|
|
2602
2611
|
}
|
|
2603
2612
|
const bondingValidation = validatePoolBondingCondition(chainInfo, amount, selectedPool, address, chainStakingMetadata, nominatorMetadata);
|
|
2604
2613
|
if (!amount || bondingValidation.length > 0) {
|
|
@@ -2624,7 +2633,13 @@ export default class KoniExtension {
|
|
|
2624
2633
|
} = inputData;
|
|
2625
2634
|
const chainStakingMetadata = await this.#koniState.getStakingMetadataByChain(chain, StakingType.NOMINATED);
|
|
2626
2635
|
if (!chainStakingMetadata || !nominatorMetadata) {
|
|
2627
|
-
|
|
2636
|
+
const chainInfo = this.#koniState.getChainInfo(chain);
|
|
2637
|
+
const errMessage = t('Unable to fetch staking data. Re-enable "{{chainName}}" and try again.', {
|
|
2638
|
+
replace: {
|
|
2639
|
+
chainName: chainInfo === null || chainInfo === void 0 ? void 0 : chainInfo.name
|
|
2640
|
+
}
|
|
2641
|
+
});
|
|
2642
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(StakingTxErrorType.CAN_NOT_GET_METADATA, errMessage)]);
|
|
2628
2643
|
}
|
|
2629
2644
|
const unbondingValidation = validateRelayUnbondingCondition(amount, chainStakingMetadata, nominatorMetadata);
|
|
2630
2645
|
if (!amount || unbondingValidation.length > 0) {
|
|
@@ -3538,204 +3553,9 @@ export default class KoniExtension {
|
|
|
3538
3553
|
this.#koniState.keyringService.removeInjectAccounts(request.addresses);
|
|
3539
3554
|
return true;
|
|
3540
3555
|
}
|
|
3541
|
-
subscribeYieldPoolInfo(id, port) {
|
|
3542
|
-
const cb = createSubscription(id, port);
|
|
3543
|
-
const yieldPoolSubscription = this.#koniState.subscribeYieldPoolInfo().subscribe({
|
|
3544
|
-
next: rs => {
|
|
3545
|
-
cb(rs);
|
|
3546
|
-
}
|
|
3547
|
-
});
|
|
3548
|
-
this.createUnsubscriptionHandle(id, yieldPoolSubscription.unsubscribe);
|
|
3549
|
-
port.onDisconnect.addListener(() => {
|
|
3550
|
-
this.cancelSubscription(id);
|
|
3551
|
-
});
|
|
3552
|
-
return this.#koniState.getYieldPoolInfo();
|
|
3553
|
-
}
|
|
3554
|
-
async getOptimalYieldPath(request) {
|
|
3555
|
-
return await this.#koniState.earningService.generateOptimalSteps(request);
|
|
3556
|
-
}
|
|
3557
|
-
async handleYieldStep(inputData) {
|
|
3558
|
-
const {
|
|
3559
|
-
data,
|
|
3560
|
-
path
|
|
3561
|
-
} = inputData;
|
|
3562
|
-
const {
|
|
3563
|
-
address
|
|
3564
|
-
} = data;
|
|
3565
|
-
if (!data) {
|
|
3566
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INTERNAL_ERROR)]);
|
|
3567
|
-
}
|
|
3568
|
-
const isLastStep = inputData.currentStep + 1 === path.steps.length;
|
|
3569
|
-
const yieldValidation = await this.#koniState.earningService.validateYieldJoin({
|
|
3570
|
-
data,
|
|
3571
|
-
path
|
|
3572
|
-
}); // TODO: validate, set to fail upon submission
|
|
3573
|
-
|
|
3574
|
-
if (yieldValidation.length > 0) {
|
|
3575
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors(yieldValidation);
|
|
3576
|
-
}
|
|
3577
|
-
|
|
3578
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
3579
|
-
const {
|
|
3580
|
-
extrinsic,
|
|
3581
|
-
extrinsicType,
|
|
3582
|
-
transferNativeAmount,
|
|
3583
|
-
txChain,
|
|
3584
|
-
txData
|
|
3585
|
-
} = await this.#koniState.earningService.handleYieldJoin(inputData);
|
|
3586
|
-
const isPoolSupportAlternativeFee = this.#koniState.earningService.isPoolSupportAlternativeFee(inputData.data.slug);
|
|
3587
|
-
const isMintingStep = YIELD_EXTRINSIC_TYPES.includes(extrinsicType);
|
|
3588
|
-
const chainInfo = this.#koniState.getChainInfo(txChain);
|
|
3589
|
-
return await this.#koniState.transactionService.handleTransaction({
|
|
3590
|
-
address,
|
|
3591
|
-
chain: txChain,
|
|
3592
|
-
transaction: extrinsic,
|
|
3593
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
3594
|
-
data: txData,
|
|
3595
|
-
extrinsicType,
|
|
3596
|
-
// change this depends on step
|
|
3597
|
-
chainType: _isChainEvmCompatible(chainInfo) ? ChainType.EVM : ChainType.SUBSTRATE,
|
|
3598
|
-
resolveOnDone: !isLastStep,
|
|
3599
|
-
transferNativeAmount,
|
|
3600
|
-
skipFeeValidation: isMintingStep && isPoolSupportAlternativeFee
|
|
3601
|
-
});
|
|
3602
|
-
}
|
|
3603
|
-
async handleYieldLeave(params) {
|
|
3604
|
-
const {
|
|
3605
|
-
address,
|
|
3606
|
-
slug
|
|
3607
|
-
} = params;
|
|
3608
|
-
const leaveValidation = await this.#koniState.earningService.validateYieldLeave(params);
|
|
3609
|
-
if (leaveValidation.length > 0) {
|
|
3610
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors(leaveValidation);
|
|
3611
|
-
}
|
|
3612
|
-
const [extrinsicType, extrinsic] = await this.#koniState.earningService.handleYieldLeave(params);
|
|
3613
|
-
const handler = this.#koniState.earningService.getPoolHandler(slug);
|
|
3614
|
-
return await this.#koniState.transactionService.handleTransaction({
|
|
3615
|
-
address,
|
|
3616
|
-
chain: (handler === null || handler === void 0 ? void 0 : handler.chain) || '',
|
|
3617
|
-
transaction: extrinsic,
|
|
3618
|
-
data: params,
|
|
3619
|
-
// TODO
|
|
3620
|
-
extrinsicType,
|
|
3621
|
-
chainType: (handler === null || handler === void 0 ? void 0 : handler.transactionChainType) || ChainType.SUBSTRATE
|
|
3622
|
-
});
|
|
3623
|
-
}
|
|
3624
|
-
async getYieldPoolTargets(request) {
|
|
3625
|
-
const {
|
|
3626
|
-
slug
|
|
3627
|
-
} = request;
|
|
3628
|
-
return this.#koniState.earningService.getPoolTargets(slug);
|
|
3629
|
-
}
|
|
3630
|
-
async subscribeYieldPosition(id, port) {
|
|
3631
|
-
const cb = createSubscription(id, port);
|
|
3632
|
-
const yieldPositionSubscription = this.#koniState.subscribeYieldPosition().subscribe({
|
|
3633
|
-
next: rs => {
|
|
3634
|
-
cb(rs);
|
|
3635
|
-
}
|
|
3636
|
-
});
|
|
3637
|
-
this.createUnsubscriptionHandle(id, yieldPositionSubscription.unsubscribe);
|
|
3638
|
-
port.onDisconnect.addListener(() => {
|
|
3639
|
-
this.cancelSubscription(id);
|
|
3640
|
-
});
|
|
3641
|
-
return this.#koniState.getYieldPositionInfo();
|
|
3642
|
-
}
|
|
3643
|
-
subscribeYieldReward(id, port) {
|
|
3644
|
-
const cb = createSubscription(id, port);
|
|
3645
|
-
const stakingRewardSubscription = this.#koniState.earningService.subscribeEarningReward().subscribe({
|
|
3646
|
-
next: rs => {
|
|
3647
|
-
cb(rs);
|
|
3648
|
-
}
|
|
3649
|
-
});
|
|
3650
|
-
this.createUnsubscriptionHandle(id, stakingRewardSubscription.unsubscribe);
|
|
3651
|
-
port.onDisconnect.addListener(() => {
|
|
3652
|
-
this.cancelSubscription(id);
|
|
3653
|
-
});
|
|
3654
|
-
return this.#koniState.earningService.getEarningRewards();
|
|
3655
|
-
}
|
|
3656
|
-
handleValidateYieldProcess(inputData) {
|
|
3657
|
-
return this.#koniState.earningService.validateYieldJoin(inputData);
|
|
3658
|
-
}
|
|
3659
|
-
async yieldSubmitWithdrawal(params) {
|
|
3660
|
-
const {
|
|
3661
|
-
address,
|
|
3662
|
-
slug
|
|
3663
|
-
} = params;
|
|
3664
|
-
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
3665
|
-
if (!poolHandler) {
|
|
3666
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INVALID_PARAMS)]);
|
|
3667
|
-
}
|
|
3668
|
-
const extrinsic = await this.#koniState.earningService.handleYieldWithdraw(params);
|
|
3669
|
-
return await this.#koniState.transactionService.handleTransaction({
|
|
3670
|
-
address: address,
|
|
3671
|
-
chain: poolHandler.chain,
|
|
3672
|
-
transaction: extrinsic,
|
|
3673
|
-
data: params,
|
|
3674
|
-
extrinsicType: ExtrinsicType.STAKING_WITHDRAW,
|
|
3675
|
-
chainType: (poolHandler === null || poolHandler === void 0 ? void 0 : poolHandler.transactionChainType) || ChainType.SUBSTRATE
|
|
3676
|
-
});
|
|
3677
|
-
}
|
|
3678
|
-
async yieldSubmitCancelWithdrawal(params) {
|
|
3679
|
-
const {
|
|
3680
|
-
address,
|
|
3681
|
-
selectedUnstaking,
|
|
3682
|
-
slug
|
|
3683
|
-
} = params;
|
|
3684
|
-
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
3685
|
-
if (!poolHandler || !selectedUnstaking) {
|
|
3686
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INVALID_PARAMS)]);
|
|
3687
|
-
}
|
|
3688
|
-
const chain = poolHandler.chain;
|
|
3689
|
-
const extrinsic = await this.#koniState.earningService.handleYieldCancelUnstake(params);
|
|
3690
|
-
return await this.#koniState.transactionService.handleTransaction({
|
|
3691
|
-
address,
|
|
3692
|
-
chain,
|
|
3693
|
-
transaction: extrinsic,
|
|
3694
|
-
data: params,
|
|
3695
|
-
extrinsicType: ExtrinsicType.STAKING_CANCEL_UNSTAKE,
|
|
3696
|
-
chainType: (poolHandler === null || poolHandler === void 0 ? void 0 : poolHandler.transactionChainType) || ChainType.SUBSTRATE
|
|
3697
|
-
});
|
|
3698
|
-
}
|
|
3699
|
-
async yieldSubmitClaimReward(params) {
|
|
3700
|
-
const {
|
|
3701
|
-
address,
|
|
3702
|
-
slug
|
|
3703
|
-
} = params;
|
|
3704
|
-
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
3705
|
-
if (!address || !poolHandler) {
|
|
3706
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new TransactionError(BasicTxErrorType.INVALID_PARAMS)]);
|
|
3707
|
-
}
|
|
3708
|
-
const extrinsic = await this.#koniState.earningService.handleYieldClaimReward(params);
|
|
3709
|
-
return await this.#koniState.transactionService.handleTransaction({
|
|
3710
|
-
address,
|
|
3711
|
-
chain: poolHandler.chain,
|
|
3712
|
-
transaction: extrinsic,
|
|
3713
|
-
data: params,
|
|
3714
|
-
extrinsicType: ExtrinsicType.STAKING_CLAIM_REWARD,
|
|
3715
|
-
chainType: (poolHandler === null || poolHandler === void 0 ? void 0 : poolHandler.transactionChainType) || ChainType.SUBSTRATE
|
|
3716
|
-
});
|
|
3717
|
-
}
|
|
3718
3556
|
|
|
3719
3557
|
/* Campaign */
|
|
3720
3558
|
|
|
3721
|
-
unlockDotCheckCanMint({
|
|
3722
|
-
address,
|
|
3723
|
-
network,
|
|
3724
|
-
slug
|
|
3725
|
-
}) {
|
|
3726
|
-
return this.#koniState.mintCampaignService.unlockDotCampaign.canMint(address, slug, network);
|
|
3727
|
-
}
|
|
3728
|
-
unlockDotSubscribeMintedData(id, port, {
|
|
3729
|
-
transactionId
|
|
3730
|
-
}) {
|
|
3731
|
-
const cb = createSubscription(id, port);
|
|
3732
|
-
const subscription = this.#koniState.mintCampaignService.unlockDotCampaign.subscribeMintedNft(transactionId, cb);
|
|
3733
|
-
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
3734
|
-
port.onDisconnect.addListener(() => {
|
|
3735
|
-
this.cancelSubscription(id);
|
|
3736
|
-
});
|
|
3737
|
-
return this.#koniState.mintCampaignService.unlockDotCampaign.getMintedNft(transactionId);
|
|
3738
|
-
}
|
|
3739
3559
|
async subscribeProcessingBanner(id, port) {
|
|
3740
3560
|
const cb = createSubscription(id, port);
|
|
3741
3561
|
const filterBanner = data => {
|
|
@@ -3938,8 +3758,6 @@ export default class KoniExtension {
|
|
|
3938
3758
|
return await this.subscribeBalance(id, port);
|
|
3939
3759
|
case 'pri(crowdloan.getCrowdloan)':
|
|
3940
3760
|
return this.getCrowdloan();
|
|
3941
|
-
case 'pri(crowdloan.getCrowdloanContributions)':
|
|
3942
|
-
return this.getCrowdloanContributions(request);
|
|
3943
3761
|
case 'pri(crowdloan.getSubscription)':
|
|
3944
3762
|
return this.subscribeCrowdloan(id, port);
|
|
3945
3763
|
case 'pri(derivation.createV2)':
|
|
@@ -3969,51 +3787,6 @@ export default class KoniExtension {
|
|
|
3969
3787
|
case 'pri(transaction.history.subscribe)':
|
|
3970
3788
|
return this.subscribeHistoryByChainAndAddress(request, id, port);
|
|
3971
3789
|
|
|
3972
|
-
/* Earning */
|
|
3973
|
-
|
|
3974
|
-
/* Info */
|
|
3975
|
-
|
|
3976
|
-
case 'pri(yield.subscribePoolInfo)':
|
|
3977
|
-
return this.subscribeYieldPoolInfo(id, port);
|
|
3978
|
-
case 'pri(yield.getTargets)':
|
|
3979
|
-
return this.getYieldPoolTargets(request);
|
|
3980
|
-
case 'pri(yield.subscribeYieldPosition)':
|
|
3981
|
-
return this.subscribeYieldPosition(id, port);
|
|
3982
|
-
case 'pri(yield.subscribeYieldReward)':
|
|
3983
|
-
return this.subscribeYieldReward(id, port);
|
|
3984
|
-
|
|
3985
|
-
/* Info */
|
|
3986
|
-
|
|
3987
|
-
/* Actions */
|
|
3988
|
-
|
|
3989
|
-
/* Join */
|
|
3990
|
-
|
|
3991
|
-
case 'pri(yield.join.getOptimalPath)':
|
|
3992
|
-
return await this.getOptimalYieldPath(request);
|
|
3993
|
-
case 'pri(yield.join.handleStep)':
|
|
3994
|
-
return await this.handleYieldStep(request);
|
|
3995
|
-
case 'pri(yield.join.validateProcess)':
|
|
3996
|
-
return await this.handleValidateYieldProcess(request);
|
|
3997
|
-
|
|
3998
|
-
/* Join */
|
|
3999
|
-
|
|
4000
|
-
/* Others */
|
|
4001
|
-
|
|
4002
|
-
case 'pri(yield.leave.submit)':
|
|
4003
|
-
return await this.handleYieldLeave(request);
|
|
4004
|
-
case 'pri(yield.withdraw.submit)':
|
|
4005
|
-
return await this.yieldSubmitWithdrawal(request);
|
|
4006
|
-
case 'pri(yield.cancelWithdrawal.submit)':
|
|
4007
|
-
return await this.yieldSubmitCancelWithdrawal(request);
|
|
4008
|
-
case 'pri(yield.claimReward.submit)':
|
|
4009
|
-
return await this.yieldSubmitClaimReward(request);
|
|
4010
|
-
|
|
4011
|
-
/* Others */
|
|
4012
|
-
|
|
4013
|
-
/* Actions */
|
|
4014
|
-
|
|
4015
|
-
/* Earning */
|
|
4016
|
-
|
|
4017
3790
|
/* Account management */
|
|
4018
3791
|
// Add account
|
|
4019
3792
|
case 'pri(accounts.create.suriV2)':
|
|
@@ -4132,8 +3905,6 @@ export default class KoniExtension {
|
|
|
4132
3905
|
return this.transferGetExistentialDeposit(request);
|
|
4133
3906
|
case 'pri(transfer.getMaxTransferable)':
|
|
4134
3907
|
return this.transferGetMaxTransferable(request);
|
|
4135
|
-
case 'pri(transfer.subscribeMaxTransferable)':
|
|
4136
|
-
return this.transferGetMaxTransferable(request);
|
|
4137
3908
|
case 'pri(freeBalance.get)':
|
|
4138
3909
|
return this.getAddressFreeBalance(request);
|
|
4139
3910
|
case 'pri(freeBalance.subscribe)':
|
|
@@ -4192,6 +3963,8 @@ export default class KoniExtension {
|
|
|
4192
3963
|
return await this.submitBonding(request);
|
|
4193
3964
|
case 'pri(unbonding.submitTransaction)':
|
|
4194
3965
|
return await this.submitUnbonding(request);
|
|
3966
|
+
case 'pri(unbonding.submitWithdrawal)':
|
|
3967
|
+
return await this.submitStakeWithdrawal(request);
|
|
4195
3968
|
case 'pri(staking.submitClaimReward)':
|
|
4196
3969
|
return await this.submitStakeClaimReward(request);
|
|
4197
3970
|
case 'pri(staking.submitCancelWithdrawal)':
|
|
@@ -4295,15 +4068,6 @@ export default class KoniExtension {
|
|
|
4295
4068
|
case 'pri(mantaPay.subscribeSyncingState)':
|
|
4296
4069
|
return this.subscribeMantaPaySyncState(id, port);
|
|
4297
4070
|
|
|
4298
|
-
/* Campaign */
|
|
4299
|
-
|
|
4300
|
-
case 'pri(campaign.unlockDot.canMint)':
|
|
4301
|
-
return this.unlockDotCheckCanMint(request);
|
|
4302
|
-
case 'pri(campaign.unlockDot.subscribe)':
|
|
4303
|
-
return this.unlockDotSubscribeMintedData(id, port, request);
|
|
4304
|
-
|
|
4305
|
-
/* Campaign */
|
|
4306
|
-
|
|
4307
4071
|
// Metadata
|
|
4308
4072
|
case 'pri(metadata.find)':
|
|
4309
4073
|
return this.findRawMetadata(request);
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
/// <reference types="chrome" />
|
|
2
2
|
import { _AssetRef, _AssetType, _ChainAsset, _ChainInfo, _MultiChainAsset } from '@subwallet/chain-list/types';
|
|
3
|
-
import { AddTokenRequestExternal, AmountData, ApiMap, AuthRequestV2, ChainStakingMetadata, ConfirmationsQueue, CrowdloanItem, CrowdloanJson, CurrentAccountInfo, EvmSendTransactionParams, ExternalRequestPromise, MantaPayConfig, MantaPaySyncState, NftCollection, NftItem, NftJson, NominatorMetadata, RequestAccountExportPrivateKey, RequestCheckPublicAndSecretKey, RequestConfirmationComplete,
|
|
3
|
+
import { AddTokenRequestExternal, AmountData, ApiMap, AuthRequestV2, ChainStakingMetadata, ConfirmationsQueue, CrowdloanItem, CrowdloanJson, CurrentAccountInfo, EvmSendTransactionParams, ExternalRequestPromise, MantaPayConfig, MantaPaySyncState, NftCollection, NftItem, NftJson, NominatorMetadata, RequestAccountExportPrivateKey, RequestCheckPublicAndSecretKey, RequestConfirmationComplete, RequestSettingsType, ResponseAccountExportPrivateKey, ResponseCheckPublicAndSecretKey, ServiceInfo, SingleModeJson, StakingItem, StakingJson, StakingRewardItem, StakingRewardJson, StakingType, UiSettings } from '@subwallet/extension-base/background/KoniTypes';
|
|
4
4
|
import { AccountJson, RequestAuthorizeTab, RequestRpcSend, RequestRpcSubscribe, RequestRpcUnsubscribe, RequestSign, ResponseRpcListProviders, ResponseSigning } from '@subwallet/extension-base/background/types';
|
|
5
5
|
import { BalanceService } from '@subwallet/extension-base/services/balance-service';
|
|
6
6
|
import BuyService from '@subwallet/extension-base/services/buy-service';
|
|
7
7
|
import CampaignService from '@subwallet/extension-base/services/campaign-service';
|
|
8
8
|
import { ChainService } from '@subwallet/extension-base/services/chain-service';
|
|
9
9
|
import { _ChainState, _NetworkUpsertParams, _ValidateCustomAssetRequest } from '@subwallet/extension-base/services/chain-service/types';
|
|
10
|
-
import EarningService from '@subwallet/extension-base/services/earning-service/service';
|
|
11
10
|
import { EventService } from '@subwallet/extension-base/services/event-service';
|
|
12
11
|
import { HistoryService } from '@subwallet/extension-base/services/history-service';
|
|
13
12
|
import { KeyringService } from '@subwallet/extension-base/services/keyring-service';
|
|
14
13
|
import MigrationService from '@subwallet/extension-base/services/migration-service';
|
|
15
|
-
import MintCampaignService from '@subwallet/extension-base/services/mint-campaign-service';
|
|
16
14
|
import NotificationService from '@subwallet/extension-base/services/notification-service/NotificationService';
|
|
17
15
|
import { PriceService } from '@subwallet/extension-base/services/price-service';
|
|
18
16
|
import RequestService from '@subwallet/extension-base/services/request-service';
|
|
@@ -22,7 +20,7 @@ import DatabaseService from '@subwallet/extension-base/services/storage-service/
|
|
|
22
20
|
import { SubscanService } from '@subwallet/extension-base/services/subscan-service';
|
|
23
21
|
import TransactionService from '@subwallet/extension-base/services/transaction-service';
|
|
24
22
|
import WalletConnectService from '@subwallet/extension-base/services/wallet-connect-service';
|
|
25
|
-
import { BalanceItem, BalanceJson, BalanceMap
|
|
23
|
+
import { BalanceItem, BalanceJson, BalanceMap } from '@subwallet/extension-base/types';
|
|
26
24
|
import { MetadataDef, ProviderMeta } from '@subwallet/extension-inject/types';
|
|
27
25
|
import SimpleKeyring from 'eth-simple-keyring';
|
|
28
26
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
@@ -48,8 +46,6 @@ export default class KoniState {
|
|
|
48
46
|
private stakingNominatorMetadataSubject;
|
|
49
47
|
private stakingRewardSubject;
|
|
50
48
|
private stakingRewardState;
|
|
51
|
-
private yieldPoolInfoSubject;
|
|
52
|
-
private yieldPositionSubject;
|
|
53
49
|
private lazyMap;
|
|
54
50
|
readonly notificationService: NotificationService;
|
|
55
51
|
readonly eventService: EventService;
|
|
@@ -68,10 +64,8 @@ export default class KoniState {
|
|
|
68
64
|
readonly migrationService: MigrationService;
|
|
69
65
|
readonly subscanService: SubscanService;
|
|
70
66
|
readonly walletConnectService: WalletConnectService;
|
|
71
|
-
readonly mintCampaignService: MintCampaignService;
|
|
72
67
|
readonly campaignService: CampaignService;
|
|
73
68
|
readonly buyService: BuyService;
|
|
74
|
-
readonly earningService: EarningService;
|
|
75
69
|
private generalStatus;
|
|
76
70
|
private waitSleeping;
|
|
77
71
|
private waitStarting;
|
|
@@ -114,11 +108,6 @@ export default class KoniState {
|
|
|
114
108
|
getStaking(): Promise<StakingJson>;
|
|
115
109
|
getStakingOwnersByChains(chains: string[]): Promise<string[]>;
|
|
116
110
|
getPooledStakingRecordsByAddress(addresses: string[]): Promise<StakingItem[]>;
|
|
117
|
-
getPooledPositionByAddress(addresses: string[]): Promise<YieldPositionInfo[]>;
|
|
118
|
-
subscribeYieldPoolInfo(): Subject<YieldPoolInfo[]>;
|
|
119
|
-
subscribeYieldPosition(): Subject<YieldPositionInfo[]>;
|
|
120
|
-
getYieldPoolInfo(): Promise<YieldPoolInfo[]>;
|
|
121
|
-
getYieldPositionInfo(): Promise<YieldPositionInfo[]>;
|
|
122
111
|
subscribeMantaPayConfig(): Subject<MantaPayConfig[]>;
|
|
123
112
|
subscribeStaking(): Subject<StakingJson>;
|
|
124
113
|
subscribeChainStakingMetadata(): Subject<ChainStakingMetadata[]>;
|
|
@@ -262,10 +251,5 @@ export default class KoniState {
|
|
|
262
251
|
metadata: string;
|
|
263
252
|
specVersion: number;
|
|
264
253
|
}>;
|
|
265
|
-
updateYieldPoolInfo(data: YieldPoolInfo): void;
|
|
266
|
-
resetYieldPoolInfo(chains: string[]): void;
|
|
267
|
-
updateYieldPosition(data: YieldPositionInfo): void;
|
|
268
|
-
getYieldPoolStakingInfo(chain: string, poolType: YieldPoolType): Promise<YieldPoolInfo | undefined>;
|
|
269
|
-
getCrowdloanContributions({ address, page, relayChain }: RequestCrowdloanContributions): Promise<import("../../../services/subscan-service/types").CrowdloanContributionsResponse>;
|
|
270
254
|
}
|
|
271
255
|
export {};
|
|
@@ -14,12 +14,10 @@ import CampaignService from '@subwallet/extension-base/services/campaign-service
|
|
|
14
14
|
import { ChainService } from '@subwallet/extension-base/services/chain-service';
|
|
15
15
|
import { _DEFAULT_MANTA_ZK_CHAIN, _MANTA_ZK_CHAIN_GROUP, _PREDEFINED_SINGLE_MODES } from '@subwallet/extension-base/services/chain-service/constants';
|
|
16
16
|
import { _getEvmChainId, _getSubstrateGenesisHash, _getTokenOnChainAssetId, _isAssetFungibleToken, _isChainEnabled, _isChainTestNet, _parseMetadataForSmartContractAsset } from '@subwallet/extension-base/services/chain-service/utils';
|
|
17
|
-
import EarningService from '@subwallet/extension-base/services/earning-service/service';
|
|
18
17
|
import { EventService } from '@subwallet/extension-base/services/event-service';
|
|
19
18
|
import { HistoryService } from '@subwallet/extension-base/services/history-service';
|
|
20
19
|
import { KeyringService } from '@subwallet/extension-base/services/keyring-service';
|
|
21
20
|
import MigrationService from '@subwallet/extension-base/services/migration-service';
|
|
22
|
-
import MintCampaignService from '@subwallet/extension-base/services/mint-campaign-service';
|
|
23
21
|
import NotificationService from '@subwallet/extension-base/services/notification-service/NotificationService';
|
|
24
22
|
import { PriceService } from '@subwallet/extension-base/services/price-service';
|
|
25
23
|
import RequestService from '@subwallet/extension-base/services/request-service';
|
|
@@ -77,10 +75,6 @@ export default class KoniState {
|
|
|
77
75
|
ready: false,
|
|
78
76
|
data: {}
|
|
79
77
|
};
|
|
80
|
-
|
|
81
|
-
// earning
|
|
82
|
-
yieldPoolInfoSubject = new Subject();
|
|
83
|
-
yieldPositionSubject = new Subject();
|
|
84
78
|
lazyMap = {};
|
|
85
79
|
// Handle the general status of the extension
|
|
86
80
|
generalStatus = ServiceStatus.INITIALIZING;
|
|
@@ -99,13 +93,11 @@ export default class KoniState {
|
|
|
99
93
|
this.priceService = new PriceService(this.dbService, this.eventService, this.chainService);
|
|
100
94
|
this.balanceService = new BalanceService(this);
|
|
101
95
|
this.historyService = new HistoryService(this.dbService, this.chainService, this.eventService, this.keyringService, this.subscanService);
|
|
102
|
-
this.
|
|
96
|
+
this.transactionService = new TransactionService(this.chainService, this.eventService, this.requestService, this.balanceService, this.historyService, this.notificationService, this.dbService);
|
|
103
97
|
this.walletConnectService = new WalletConnectService(this, this.requestService);
|
|
104
98
|
this.migrationService = new MigrationService(this, this.eventService);
|
|
105
99
|
this.campaignService = new CampaignService(this);
|
|
106
100
|
this.buyService = new BuyService(this);
|
|
107
|
-
this.transactionService = new TransactionService(this);
|
|
108
|
-
this.earningService = new EarningService(this);
|
|
109
101
|
this.subscription = new KoniSubscription(this, this.dbService);
|
|
110
102
|
this.cron = new KoniCron(this, this.subscription, this.dbService);
|
|
111
103
|
this.logger = createLogger('State');
|
|
@@ -248,7 +240,6 @@ export default class KoniState {
|
|
|
248
240
|
}
|
|
249
241
|
async startSubscription() {
|
|
250
242
|
await this.eventService.waitKeyringReady;
|
|
251
|
-
await this.eventService.waitAssetReady;
|
|
252
243
|
this.dbService.subscribeChainStakingMetadata([], data => {
|
|
253
244
|
this.chainStakingMetadataSubject.next(data);
|
|
254
245
|
});
|
|
@@ -259,8 +250,8 @@ export default class KoniState {
|
|
|
259
250
|
this.keyringService.accountSubject.subscribe(accounts => {
|
|
260
251
|
// TODO: improve this
|
|
261
252
|
unsub && unsub.unsubscribe();
|
|
262
|
-
unsub = this.dbService.
|
|
263
|
-
this.
|
|
253
|
+
unsub = this.dbService.subscribeNominatorMetadata(Object.keys(accounts), data => {
|
|
254
|
+
this.stakingNominatorMetadataSubject.next(data);
|
|
264
255
|
});
|
|
265
256
|
});
|
|
266
257
|
}
|
|
@@ -352,22 +343,6 @@ export default class KoniState {
|
|
|
352
343
|
async getPooledStakingRecordsByAddress(addresses) {
|
|
353
344
|
return this.dbService.getPooledStakings(addresses, this.activeChainSlugs);
|
|
354
345
|
}
|
|
355
|
-
async getPooledPositionByAddress(addresses) {
|
|
356
|
-
return this.dbService.getYieldNominationPoolPosition(addresses, this.activeChainSlugs);
|
|
357
|
-
}
|
|
358
|
-
subscribeYieldPoolInfo() {
|
|
359
|
-
return this.yieldPoolInfoSubject;
|
|
360
|
-
}
|
|
361
|
-
subscribeYieldPosition() {
|
|
362
|
-
return this.yieldPositionSubject;
|
|
363
|
-
}
|
|
364
|
-
getYieldPoolInfo() {
|
|
365
|
-
return this.dbService.getYieldPools();
|
|
366
|
-
}
|
|
367
|
-
getYieldPositionInfo() {
|
|
368
|
-
const addresses = this.getDecodedAddresses(this.keyringService.currentAccount.address);
|
|
369
|
-
return this.dbService.getYieldPositionByAddress(addresses);
|
|
370
|
-
}
|
|
371
346
|
subscribeMantaPayConfig() {
|
|
372
347
|
return this.mantaPayConfigSubject;
|
|
373
348
|
}
|
|
@@ -1766,26 +1741,4 @@ export default class KoniState {
|
|
|
1766
1741
|
specVersion: parseInt((metadata === null || metadata === void 0 ? void 0 : metadata.specVersion) || '0')
|
|
1767
1742
|
};
|
|
1768
1743
|
}
|
|
1769
|
-
updateYieldPoolInfo(data) {
|
|
1770
|
-
this.dbService.updateYieldPoolStore(data).catch(e => this.logger.warn(e));
|
|
1771
|
-
}
|
|
1772
|
-
resetYieldPoolInfo(chains) {
|
|
1773
|
-
this.dbService.subscribeYieldPoolInfo(chains, data => {
|
|
1774
|
-
// TODO: no unsub
|
|
1775
|
-
this.yieldPoolInfoSubject.next(data);
|
|
1776
|
-
});
|
|
1777
|
-
}
|
|
1778
|
-
updateYieldPosition(data) {
|
|
1779
|
-
this.dbService.updateYieldPosition(data).catch(e => this.logger.warn(e));
|
|
1780
|
-
}
|
|
1781
|
-
getYieldPoolStakingInfo(chain, poolType) {
|
|
1782
|
-
return this.dbService.getYieldPoolStakingInfo(chain, poolType);
|
|
1783
|
-
}
|
|
1784
|
-
getCrowdloanContributions({
|
|
1785
|
-
address,
|
|
1786
|
-
page,
|
|
1787
|
-
relayChain
|
|
1788
|
-
}) {
|
|
1789
|
-
return this.subscanService.getCrowdloanContributions(relayChain, address, page);
|
|
1790
|
-
}
|
|
1791
1744
|
}
|