@subwallet/extension-base 1.3.76-0 → 1.3.78-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.
Files changed (96) hide show
  1. package/background/KoniTypes.d.ts +4 -1
  2. package/cjs/core/logic-validation/index.js +1 -1
  3. package/cjs/core/substrate/xcm-parser.js +17 -11
  4. package/cjs/koni/background/handlers/Extension.js +293 -71
  5. package/cjs/koni/background/handlers/State.js +20 -0
  6. package/cjs/koni/background/handlers/Tabs.js +2 -3
  7. package/cjs/packageInfo.js +1 -1
  8. package/cjs/services/balance-service/helpers/subscribe/evm.js +85 -6
  9. package/cjs/services/balance-service/helpers/subscribe/index.js +2 -1
  10. package/cjs/services/balance-service/index.js +6 -2
  11. package/cjs/services/balance-service/transfer/token.js +15 -0
  12. package/cjs/services/balance-service/transfer/xcm/bittensorBridge/index.js +27 -0
  13. package/cjs/services/balance-service/transfer/xcm/bittensorBridge/nativeTokenBridge.js +58 -0
  14. package/cjs/services/balance-service/transfer/xcm/bittensorBridge/utils.js +36 -0
  15. package/cjs/services/balance-service/transfer/xcm/index.js +61 -2
  16. package/cjs/services/balance-service/transfer/xcm/utils.js +94 -6
  17. package/cjs/services/chain-service/constants.js +4 -2
  18. package/cjs/services/chain-service/utils/patch.js +1 -1
  19. package/cjs/services/earning-service/constants/chains.js +7 -2
  20. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +8 -5
  21. package/cjs/services/earning-service/handlers/special.js +82 -65
  22. package/cjs/services/earning-service/service.js +19 -2
  23. package/cjs/services/multisig-service/index.js +1 -1
  24. package/cjs/services/request-service/handler/SubstrateRequestHandler.js +12 -0
  25. package/cjs/services/request-service/index.js +3 -0
  26. package/cjs/services/setting-service/constants.js +2 -1
  27. package/cjs/services/storage-service/db-stores/InappNotification.js +1 -1
  28. package/cjs/services/swap-service/handler/bittensor-handler.js +197 -0
  29. package/cjs/services/swap-service/index.js +7 -0
  30. package/cjs/services/transaction-service/index.js +10 -0
  31. package/cjs/types/balance/index.js +1 -0
  32. package/cjs/types/swap/index.js +3 -1
  33. package/cjs/utils/fee/transfer.js +20 -5
  34. package/core/logic-validation/index.js +1 -1
  35. package/core/substrate/xcm-parser.d.ts +3 -0
  36. package/core/substrate/xcm-parser.js +14 -11
  37. package/koni/background/handlers/Extension.d.ts +19 -0
  38. package/koni/background/handlers/Extension.js +233 -14
  39. package/koni/background/handlers/State.d.ts +1 -0
  40. package/koni/background/handlers/State.js +20 -0
  41. package/koni/background/handlers/Tabs.js +2 -3
  42. package/package.json +26 -6
  43. package/packageInfo.js +1 -1
  44. package/services/balance-service/helpers/subscribe/evm.d.ts +1 -0
  45. package/services/balance-service/helpers/subscribe/evm.js +76 -1
  46. package/services/balance-service/helpers/subscribe/index.js +2 -1
  47. package/services/balance-service/index.js +6 -2
  48. package/services/balance-service/transfer/token.d.ts +2 -1
  49. package/services/balance-service/transfer/token.js +15 -0
  50. package/services/balance-service/transfer/xcm/bittensorBridge/index.d.ts +2 -0
  51. package/services/balance-service/transfer/xcm/bittensorBridge/index.js +5 -0
  52. package/services/balance-service/transfer/xcm/bittensorBridge/nativeTokenBridge.d.ts +6 -0
  53. package/services/balance-service/transfer/xcm/bittensorBridge/nativeTokenBridge.js +50 -0
  54. package/services/balance-service/transfer/xcm/bittensorBridge/utils.d.ts +8 -0
  55. package/services/balance-service/transfer/xcm/bittensorBridge/utils.js +29 -0
  56. package/services/balance-service/transfer/xcm/index.d.ts +5 -0
  57. package/services/balance-service/transfer/xcm/index.js +57 -2
  58. package/services/balance-service/transfer/xcm/utils.d.ts +3 -2
  59. package/services/balance-service/transfer/xcm/utils.js +87 -1
  60. package/services/chain-service/constants.d.ts +2 -0
  61. package/services/chain-service/constants.js +4 -2
  62. package/services/chain-service/utils/patch.d.ts +1 -1
  63. package/services/chain-service/utils/patch.js +1 -1
  64. package/services/earning-service/constants/chains.d.ts +2 -0
  65. package/services/earning-service/constants/chains.js +4 -1
  66. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +1 -0
  67. package/services/earning-service/handlers/liquid-staking/stella-swap.js +6 -4
  68. package/services/earning-service/handlers/special.d.ts +1 -1
  69. package/services/earning-service/handlers/special.js +85 -68
  70. package/services/earning-service/service.js +21 -4
  71. package/services/inapp-notification-service/interfaces.d.ts +1 -0
  72. package/services/multisig-service/index.js +1 -1
  73. package/services/request-service/handler/SubstrateRequestHandler.d.ts +1 -0
  74. package/services/request-service/handler/SubstrateRequestHandler.js +12 -0
  75. package/services/request-service/index.d.ts +1 -0
  76. package/services/request-service/index.js +3 -0
  77. package/services/request-service/types.d.ts +1 -0
  78. package/services/setting-service/constants.js +2 -1
  79. package/services/storage-service/db-stores/InappNotification.js +1 -1
  80. package/services/swap-service/handler/bittensor-handler.d.ts +21 -0
  81. package/services/swap-service/handler/bittensor-handler.js +189 -0
  82. package/services/swap-service/index.js +7 -0
  83. package/services/transaction-service/index.d.ts +1 -1
  84. package/services/transaction-service/index.js +10 -0
  85. package/services/transaction-service/types.d.ts +4 -3
  86. package/types/balance/index.d.ts +3 -1
  87. package/types/balance/index.js +1 -0
  88. package/types/balance/transfer.d.ts +9 -0
  89. package/types/fee/base.d.ts +1 -0
  90. package/types/multisig/index.d.ts +12 -0
  91. package/types/swap/index.d.ts +3 -1
  92. package/types/swap/index.js +3 -1
  93. package/types/yield/actions/join/step.d.ts +6 -0
  94. package/types/yield/actions/join/submit.d.ts +1 -0
  95. package/utils/fee/transfer.d.ts +1 -0
  96. package/utils/fee/transfer.js +21 -6
@@ -20,7 +20,7 @@ import { WalletConnectNotSupportRequest, WalletConnectSessionRequest } from '@su
20
20
  import { AccountChainType, AccountJson, AccountsWithCurrentAddress, AddressJson, BalanceJson, BalanceType, BaseRequestSign, BuyServiceInfo, BuyTokenInfo, CommonOptimalTransferPath, CurrentAccountInfo, EarningRewardHistoryItem, EarningRewardJson, EarningStatus, HandleSubstrateProxyWrappedTxResponse, HandleYieldStepParams, InternalRequestSign, LeavePoolAdditionalData, NominationPoolInfo, OptimalYieldPath, OptimalYieldPathParams, RequestAccountBatchExportV2, RequestAccountCreateSuriV2, RequestAccountNameValidate, RequestAccountProxyEdit, RequestAccountProxyForget, RequestBatchJsonGetAccountInfo, RequestBatchRestoreV2, RequestBounceableValidate, RequestChangeAllowOneSign, RequestChangeBittensorRootClaimType, RequestChangeTonWalletContractVersion, RequestCheckCrossChainTransfer, RequestCheckPublicAndSecretKey, RequestCheckTransfer, RequestCrossChainTransfer, RequestDeriveCreateMultiple, RequestDeriveCreateV3, RequestDeriveValidateV2, RequestEarlyValidateYield, RequestEarningImpact, RequestExportAccountProxyMnemonic, RequestGetAllTonWalletContractVersion, RequestGetAmountForPair, RequestGetDeriveAccounts, RequestGetDeriveSuggestion, RequestGetTokensCanPayFee, RequestGetYieldPoolTargets, RequestInputAccountSubscribe, RequestJsonGetAccountInfo, RequestJsonRestoreV2, RequestMetadataHash, RequestMnemonicCreateV2, RequestMnemonicValidateV2, RequestPrivateKeyValidateV2, RequestShortenMetadata, RequestStakeCancelWithdrawal, RequestStakeClaimReward, RequestSubmitProcessTransaction, RequestSubscribeProcessById, RequestTransfer, RequestUnlockDotCheckCanMint, RequestUnlockDotSubscribeMintedData, RequestYieldLeave, RequestYieldStepSubmit, RequestYieldWithdrawal, ResponseAccountBatchExportV2, ResponseAccountCreateSuriV2, ResponseAccountNameValidate, ResponseBatchJsonGetAccountInfo, ResponseCheckPublicAndSecretKey, ResponseDeriveValidateV2, ResponseEarlyValidateYield, ResponseExportAccountProxyMnemonic, ResponseGetAllTonWalletContractVersion, ResponseGetDeriveAccounts, ResponseGetDeriveSuggestion, ResponseGetYieldPoolTargets, ResponseInputAccountSubscribe, ResponseJsonGetAccountInfo, ResponseMetadataHash, ResponseMnemonicCreateV2, ResponseMnemonicValidateV2, ResponsePrivateKeyValidateV2, ResponseShortenMetadata, ResponseSubscribeProcessAlive, ResponseSubscribeProcessById, StorageDataInterface, SubmitChangeValidatorStaking, SubmitYieldJoinData, SubmitYieldStepData, SubnetYieldPositionInfo, SwapPair, SwapQuoteResponse, SwapRequest, SwapRequestResult, SwapRequestV2, SwapSubmitParams, SwapTxData, TokenSpendingApprovalParams, UnlockDotTransactionNft, UnstakingStatus, ValidateSwapProcessParams, ValidateYieldProcessParams, YieldPoolInfo, YieldPoolType, YieldPositionInfo } from '@subwallet/extension-base/types';
21
21
  import { RequestSubmitSignPsbtTransfer, RequestSubmitTransfer, RequestSubmitTransferWithId, RequestSubscribeTransfer, ResponseSubscribeTransfer, ResponseSubscribeTransferConfirmation } from '@subwallet/extension-base/types/balance/transfer';
22
22
  import { RequestClaimBridge } from '@subwallet/extension-base/types/bridge';
23
- import { ApprovePendingTxRequest, CancelPendingTxRequest, ExecutePendingTxRequest, InitMultisigTxRequest, InitMultisigTxResponse, RequestGetSignableAccountInfos, ResponseGetSignableAccountInfos } from '@subwallet/extension-base/types/multisig';
23
+ import { ApprovePendingTxRequest, CancelPendingTxRequest, ExecutePendingTxRequest, InitMultisigTxRequest, InitMultisigTxResponse, PrepareMultisigSignRequest, PrepareMultisigSignResponse, RequestGetSignableAccountInfos, ResponseGetSignableAccountInfos } from '@subwallet/extension-base/types/multisig';
24
24
  import { GetNotificationParams, MarkAllReadParams, RequestIsClaimedPolygonBridge, RequestSwitchStatusParams } from '@subwallet/extension-base/types/notification';
25
25
  import { InjectedAccount, InjectedAccountWithMeta, MetadataDefBase } from '@subwallet/extension-inject/types';
26
26
  import { BitcoinAddressType, KeyringPair$Meta } from '@subwallet/keyring/types';
@@ -570,6 +570,7 @@ export interface XCMTransactionAdditionalInfo {
570
570
  destinationChain: string;
571
571
  originalChain: string;
572
572
  fee?: AmountData;
573
+ sendingTokenInfo?: _ChainAsset;
573
574
  }
574
575
  export interface NFTTransactionAdditionalInfo {
575
576
  collectionName: string;
@@ -629,6 +630,7 @@ export interface TransactionHistoryItem<ET extends ExtrinsicType = ExtrinsicType
629
630
  addressPrefix?: number;
630
631
  processId?: string;
631
632
  apiTxIndex?: number;
633
+ crossChainFeeInfo?: AmountData;
632
634
  substrateProxyAddresses?: string[];
633
635
  }
634
636
  export interface SWWarning {
@@ -2147,6 +2149,7 @@ export interface KoniRequestSignatures {
2147
2149
  'pri(multisig.cancelPendingTx)': [CancelPendingTxRequest, SWTransactionResponse];
2148
2150
  'pri(multisig.getSignableAccountInfos)': [RequestGetSignableAccountInfos, ResponseGetSignableAccountInfos];
2149
2151
  'pri(multisig.initMultisigTx)': [InitMultisigTxRequest, SWTransactionResponse];
2152
+ 'pri(multisig.prepareSignRequest)': [PrepareMultisigSignRequest, PrepareMultisigSignResponse];
2150
2153
  'pri(substrateProxyAccount.getGroupInfo)': [RequestGetSubstrateProxyAccountGroup, SubstrateProxyAccountGroup];
2151
2154
  'pri(substrateProxyAccount.add)': [RequestAddSubstrateProxyAccount, SWTransactionResponse];
2152
2155
  'pri(substrateProxyAccount.remove)': [RequestRemoveSubstrateProxyAccount, SWTransactionResponse];
@@ -73,7 +73,7 @@ function validateSpendingAndFeePayment(spendingToken, feeToken, bnSpendingAmount
73
73
  }))];
74
74
  }
75
75
  } else {
76
- if (bnFromTokenBalance.lte(bnSpendingAmount.plus((0, _utils._isNativeToken)(spendingToken) ? '0' : (0, _utils._getTokenMinAmount)(spendingToken)))) {
76
+ if (bnFromTokenBalance.lt(bnSpendingAmount.plus((0, _utils._isNativeToken)(spendingToken) ? '0' : (0, _utils._getTokenMinAmount)(spendingToken)))) {
77
77
  return [new _TransactionError.TransactionError(_types.BasicTxErrorType.NOT_ENOUGH_BALANCE, (0, _i18next.t)('bg.core.validation.insufficientSpendingTokenBalance', {
78
78
  replace: {
79
79
  spendingTokenSymbol: spendingToken.symbol
@@ -6,16 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports._adaptX1Interior = _adaptX1Interior;
7
7
  exports._getXcmUnstableWarning = _getXcmUnstableWarning;
8
8
  exports._isAcrossBridgeXcm = _isAcrossBridgeXcm;
9
+ exports._isAssetHubBridgeXcm = _isAssetHubBridgeXcm;
9
10
  exports._isAvailBridgeXcm = _isAvailBridgeXcm;
11
+ exports._isBittensorToSubtensorEvmBridge = _isBittensorToSubtensorEvmBridge;
10
12
  exports._isMythosFromHydrationToMythos = _isMythosFromHydrationToMythos;
11
13
  exports._isPolygonBridgeXcm = _isPolygonBridgeXcm;
12
14
  exports._isPosBridgeXcm = _isPosBridgeXcm;
13
15
  exports._isSnowBridgeXcm = _isSnowBridgeXcm;
16
+ exports._isSubtensorEvmtoBittensorBridge = _isSubtensorEvmtoBittensorBridge;
14
17
  exports._isXcmTransferUnstable = _isXcmTransferUnstable;
15
18
  exports._isXcmWithinSameConsensus = _isXcmWithinSameConsensus;
16
19
  var _chainList = require("@subwallet/chain-list");
17
20
  var _acrossBridge = require("@subwallet/extension-base/services/balance-service/transfer/xcm/acrossBridge");
18
21
  var _availBridge = require("@subwallet/extension-base/services/balance-service/transfer/xcm/availBridge");
22
+ var _nativeTokenBridge = require("@subwallet/extension-base/services/balance-service/transfer/xcm/bittensorBridge/nativeTokenBridge");
19
23
  var _polygonBridge = require("@subwallet/extension-base/services/balance-service/transfer/xcm/polygonBridge");
20
24
  var _posBridge = require("@subwallet/extension-base/services/balance-service/transfer/xcm/posBridge");
21
25
  var _utils = require("@subwallet/extension-base/services/chain-service/utils");
@@ -23,17 +27,10 @@ var _utils = require("@subwallet/extension-base/services/chain-service/utils");
23
27
  // SPDX-License-Identifier: Apache-2.0
24
28
 
25
29
  function _isXcmTransferUnstable(originChainInfo, destChainInfo, assetSlug) {
26
- return !_isXcmWithinSameConsensus(originChainInfo, destChainInfo) || _isMythosFromHydrationToMythos(originChainInfo, destChainInfo, assetSlug) || _isPolygonBridgeXcm(originChainInfo, destChainInfo) || _isPosBridgeXcm(originChainInfo, destChainInfo);
30
+ return !_isBittensorToSubtensorEvmBridge(originChainInfo, destChainInfo) && !_isSubtensorEvmtoBittensorBridge(originChainInfo, destChainInfo) && !_isXcmWithinSameConsensus(originChainInfo, destChainInfo) && !_isAssetHubBridgeXcm(originChainInfo, destChainInfo) || _isMythosFromHydrationToMythos(originChainInfo, destChainInfo, assetSlug) || _isPolygonBridgeXcm(originChainInfo, destChainInfo) || _isPosBridgeXcm(originChainInfo, destChainInfo);
27
31
  }
28
- function getAssetHubBridgeUnstableWarning(originChainInfo) {
29
- switch (originChainInfo.slug) {
30
- case _chainList.COMMON_CHAIN_SLUGS.POLKADOT_ASSET_HUB:
31
- return 'Cross-chain transfer of this token is not recommended as it is in beta and incurs a transaction fee of 2 DOT. Continue at your own risk';
32
- case _chainList.COMMON_CHAIN_SLUGS.KUSAMA_ASSET_HUB:
33
- return 'Cross-chain transfer of this token is not recommended as it is in beta and incurs a transaction fee of 0.4 KSM. Continue at your own risk';
34
- default:
35
- return 'Cross-chain transfer of this token is not recommended as it is in beta and incurs a large transaction fee. Continue at your own risk';
36
- }
32
+ function getDefaultUnstableWarning() {
33
+ return 'Cross-chain transfer of this token is not recommended as it is in beta and incurs a large transaction fee. Continue at your own risk';
37
34
  }
38
35
  function getSnowBridgeUnstableWarning(originChainInfo) {
39
36
  switch (originChainInfo.slug) {
@@ -77,7 +74,7 @@ function _getXcmUnstableWarning(originChainInfo, destChainInfo, assetSlug) {
77
74
  } else if (_isMythosFromHydrationToMythos(originChainInfo, destChainInfo, assetSlug)) {
78
75
  return getMythosFromHydrationToMythosWarning();
79
76
  } else {
80
- return getAssetHubBridgeUnstableWarning(originChainInfo);
77
+ return getDefaultUnstableWarning();
81
78
  }
82
79
  }
83
80
  function _isXcmWithinSameConsensus(originChainInfo, destChainInfo) {
@@ -103,6 +100,15 @@ function _isPosBridgeXcm(originChainInfo, destChainInfo) {
103
100
  function _isAcrossBridgeXcm(originChainInfo, destChainInfo) {
104
101
  return (0, _acrossBridge._isAcrossChainBridge)(originChainInfo.slug, destChainInfo.slug);
105
102
  }
103
+ function _isBittensorToSubtensorEvmBridge(originChainInfo, destChainInfo) {
104
+ return (0, _nativeTokenBridge._isBittensorToSubtensorBridge)(originChainInfo.slug, destChainInfo.slug);
105
+ }
106
+ function _isSubtensorEvmtoBittensorBridge(originChainInfo, destChainInfo) {
107
+ return (0, _nativeTokenBridge._isSubtensorToBittensorBridge)(originChainInfo.slug, destChainInfo.slug);
108
+ }
109
+ function _isAssetHubBridgeXcm(originChainInfo, destChainInfo) {
110
+ return originChainInfo.slug === 'statemint' && destChainInfo.slug === 'statemine' || originChainInfo.slug === 'statemine' && destChainInfo.slug === 'statemint';
111
+ }
106
112
  // ---------------------------------------------------------------------------------------------------------------------
107
113
 
108
114
  function _adaptX1Interior(_assetIdentifier, version) {