@subwallet/extension-base 1.3.70-2 → 1.3.71-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 (182) hide show
  1. package/background/KoniTypes.js +65 -8
  2. package/cjs/background/KoniTypes.js +65 -8
  3. package/cjs/constants/blocked-actions.js +3 -0
  4. package/cjs/core/logic-validation/swap.js +0 -3
  5. package/cjs/core/substrate/system-pallet.js +0 -2
  6. package/cjs/koni/api/nft/wasm_nft/index.js +0 -1
  7. package/cjs/koni/api/staking/bonding/astar.js +0 -2
  8. package/cjs/koni/api/staking/bonding/paraChain.js +0 -3
  9. package/cjs/koni/api/staking/bonding/relayChain.js +2 -4
  10. package/cjs/koni/api/staking/bonding/utils.js +0 -4
  11. package/cjs/koni/background/cron.js +0 -1
  12. package/cjs/koni/background/handlers/Extension.js +154 -158
  13. package/cjs/koni/background/handlers/State.js +54 -52
  14. package/cjs/koni/background/handlers/Tabs.js +39 -34
  15. package/cjs/packageInfo.js +1 -1
  16. package/cjs/page/index.js +7 -0
  17. package/cjs/page/substrate/PostMessageProvider.js +3 -0
  18. package/cjs/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
  19. package/cjs/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
  20. package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +2 -3
  21. package/cjs/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
  22. package/cjs/services/balance-service/index.js +103 -7
  23. package/cjs/services/balance-service/transfer/bitcoin-transfer.js +0 -1
  24. package/cjs/services/balance-service/transfer/cardano-transfer.js +1 -2
  25. package/cjs/services/balance-service/transfer/smart-contract.js +0 -1
  26. package/cjs/services/balance-service/transfer/token.js +0 -2
  27. package/cjs/services/balance-service/transfer/ton-transfer.js +0 -1
  28. package/cjs/services/balance-service/transfer/xcm/snowBridge.js +0 -1
  29. package/cjs/services/chain-service/handler/CardanoApi.js +3 -1
  30. package/cjs/services/chain-service/handler/SubstrateApi.js +0 -2
  31. package/cjs/services/chain-service/handler/light-client/index.js +1 -2
  32. package/cjs/services/chain-service/health-check/index.js +0 -1
  33. package/cjs/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
  34. package/cjs/services/chain-service/index.js +18 -26
  35. package/cjs/services/chain-service/utils/index.js +21 -25
  36. package/cjs/services/earning-service/handlers/base.js +32 -0
  37. package/cjs/services/earning-service/handlers/lending/base.js +0 -2
  38. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +0 -1
  39. package/cjs/services/earning-service/handlers/liquid-staking/base.js +0 -2
  40. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
  41. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
  42. package/cjs/services/earning-service/handlers/native-staking/astar.js +0 -2
  43. package/cjs/services/earning-service/handlers/native-staking/dtao.js +43 -2
  44. package/cjs/services/earning-service/handlers/native-staking/energy.js +0 -1
  45. package/cjs/services/earning-service/handlers/native-staking/mythos.js +0 -2
  46. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +0 -2
  47. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
  48. package/cjs/services/earning-service/handlers/special.js +7 -0
  49. package/cjs/services/history-service/subsquid-multi-chain-history.js +0 -1
  50. package/cjs/services/keyring-service/context/handlers/Derive.js +1 -1
  51. package/cjs/services/keyring-service/context/handlers/Migration.js +11 -9
  52. package/cjs/services/keyring-service/context/handlers/Mnemonic.js +18 -13
  53. package/cjs/services/keyring-service/context/state.js +21 -3
  54. package/cjs/services/keyring-service/utils.js +12 -2
  55. package/cjs/services/migration-service/index.js +1 -2
  56. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
  57. package/cjs/services/nft-service/index.js +5 -0
  58. package/cjs/services/open-gov/handler.js +0 -2
  59. package/cjs/services/open-gov/interface.js +4 -1
  60. package/cjs/services/request-service/handler/BitcoinRequestHandler.js +1 -2
  61. package/cjs/services/request-service/handler/CardanoRequestHandler.js +0 -1
  62. package/cjs/services/request-service/handler/EvmRequestHandler.js +0 -1
  63. package/cjs/services/request-service/handler/TonRequestHandler.js +0 -1
  64. package/cjs/services/request-service/helper/index.js +1 -2
  65. package/cjs/services/storage-service/DatabaseService.js +0 -2
  66. package/cjs/services/storage-service/databases/index.js +2 -0
  67. package/cjs/services/swap-service/handler/asset-hub/handler.js +0 -1
  68. package/cjs/services/swap-service/handler/asset-hub/router.js +0 -1
  69. package/cjs/services/swap-service/handler/chainflip-handler.js +1 -4
  70. package/cjs/services/swap-service/handler/hydradx-handler.js +0 -1
  71. package/cjs/services/swap-service/handler/kyber-handler.js +0 -1
  72. package/cjs/services/swap-service/handler/optimex-handler.js +1 -2
  73. package/cjs/services/swap-service/handler/simpleswap-handler.js +1 -3
  74. package/cjs/services/swap-service/handler/uniswap-handler.js +0 -3
  75. package/cjs/services/transaction-service/event-parser/index.js +6 -6
  76. package/cjs/services/transaction-service/index.js +28 -28
  77. package/cjs/services/wallet-connect-service/index.js +21 -18
  78. package/cjs/services/wallet-connect-service/types.js +1 -1
  79. package/cjs/types/account/info/keyring.js +9 -1
  80. package/cjs/types/balance/index.js +5 -1
  81. package/cjs/types/swap/index.js +2 -1
  82. package/cjs/types/transaction/process.js +2 -0
  83. package/cjs/types/yield/actions/join/step.js +17 -1
  84. package/cjs/utils/account/common.js +0 -26
  85. package/cjs/utils/account/derive/info/solo.js +7 -4
  86. package/cjs/utils/account/derive/validate.js +1 -1
  87. package/cjs/utils/account/transform.js +5 -1
  88. package/cjs/utils/auth.js +1 -1
  89. package/cjs/utils/bitcoin/utxo-management.js +0 -1
  90. package/cjs/utils/environment.js +2 -1
  91. package/cjs/utils/fee/transfer.js +1 -2
  92. package/cjs/utils/index.js +1 -2
  93. package/constants/blocked-actions.js +3 -0
  94. package/core/logic-validation/swap.js +0 -3
  95. package/core/substrate/system-pallet.js +0 -2
  96. package/koni/api/nft/wasm_nft/index.js +0 -1
  97. package/koni/api/staking/bonding/astar.js +0 -2
  98. package/koni/api/staking/bonding/paraChain.js +0 -3
  99. package/koni/api/staking/bonding/relayChain.js +2 -4
  100. package/koni/api/staking/bonding/utils.js +0 -4
  101. package/koni/background/cron.js +0 -1
  102. package/koni/background/handlers/Extension.js +8 -11
  103. package/koni/background/handlers/State.js +41 -38
  104. package/koni/background/handlers/Tabs.js +9 -3
  105. package/package.json +19 -20
  106. package/packageInfo.js +1 -1
  107. package/page/substrate/PostMessageProvider.js +3 -0
  108. package/services/balance-service/helpers/subscribe/cardano/utils.js +0 -1
  109. package/services/balance-service/helpers/subscribe/substrate/gear.js +0 -2
  110. package/services/balance-service/helpers/subscribe/substrate/index.js +0 -1
  111. package/services/balance-service/helpers/subscribe/ton/utils.js +0 -3
  112. package/services/balance-service/index.d.ts +8 -0
  113. package/services/balance-service/index.js +105 -9
  114. package/services/balance-service/transfer/bitcoin-transfer.js +0 -1
  115. package/services/balance-service/transfer/smart-contract.js +0 -1
  116. package/services/balance-service/transfer/token.js +0 -2
  117. package/services/balance-service/transfer/ton-transfer.js +0 -1
  118. package/services/balance-service/transfer/xcm/snowBridge.js +0 -1
  119. package/services/chain-service/handler/CardanoApi.js +3 -1
  120. package/services/chain-service/handler/SubstrateApi.js +0 -2
  121. package/services/chain-service/health-check/index.js +0 -1
  122. package/services/chain-service/health-check/utils/new-utils/chain-asset-validate.js +0 -1
  123. package/services/chain-service/index.d.ts +0 -1
  124. package/services/chain-service/index.js +15 -23
  125. package/services/chain-service/utils/index.js +22 -26
  126. package/services/earning-service/handlers/base.js +32 -0
  127. package/services/earning-service/handlers/lending/base.js +0 -2
  128. package/services/earning-service/handlers/liquid-staking/acala.js +0 -1
  129. package/services/earning-service/handlers/liquid-staking/base.js +0 -2
  130. package/services/earning-service/handlers/liquid-staking/bifrost.js +0 -2
  131. package/services/earning-service/handlers/liquid-staking/parallel.js +0 -1
  132. package/services/earning-service/handlers/native-staking/astar.js +0 -2
  133. package/services/earning-service/handlers/native-staking/dtao.js +43 -0
  134. package/services/earning-service/handlers/native-staking/energy.js +0 -1
  135. package/services/earning-service/handlers/native-staking/mythos.js +0 -2
  136. package/services/earning-service/handlers/native-staking/para-chain.js +0 -2
  137. package/services/earning-service/handlers/native-staking/relay-chain.js +8 -9
  138. package/services/earning-service/handlers/special.js +7 -0
  139. package/services/history-service/subsquid-multi-chain-history.js +0 -1
  140. package/services/keyring-service/context/handlers/Derive.js +2 -2
  141. package/services/keyring-service/context/handlers/Migration.js +3 -1
  142. package/services/keyring-service/context/handlers/Mnemonic.d.ts +1 -1
  143. package/services/keyring-service/context/handlers/Mnemonic.js +16 -10
  144. package/services/keyring-service/context/state.d.ts +3 -0
  145. package/services/keyring-service/context/state.js +21 -3
  146. package/services/keyring-service/utils.d.ts +1 -0
  147. package/services/keyring-service/utils.js +9 -0
  148. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +0 -1
  149. package/services/nft-service/index.js +6 -0
  150. package/services/open-gov/handler.js +0 -2
  151. package/services/open-gov/interface.js +4 -1
  152. package/services/request-service/handler/CardanoRequestHandler.js +0 -1
  153. package/services/request-service/handler/EvmRequestHandler.js +0 -1
  154. package/services/request-service/handler/TonRequestHandler.js +0 -1
  155. package/services/setting-service/constants.js +0 -1
  156. package/services/storage-service/DatabaseService.js +0 -2
  157. package/services/storage-service/databases/index.js +3 -0
  158. package/services/swap-service/handler/asset-hub/handler.js +0 -1
  159. package/services/swap-service/handler/asset-hub/router.js +0 -1
  160. package/services/swap-service/handler/chainflip-handler.js +0 -2
  161. package/services/swap-service/handler/hydradx-handler.js +0 -1
  162. package/services/swap-service/handler/kyber-handler.js +0 -1
  163. package/services/swap-service/handler/simpleswap-handler.js +0 -1
  164. package/services/swap-service/handler/uniswap-handler.js +0 -3
  165. package/services/transaction-service/event-parser/index.js +6 -6
  166. package/services/wallet-connect-service/index.js +21 -18
  167. package/services/wallet-connect-service/types.js +1 -1
  168. package/types/account/action/add/mnemonic.d.ts +3 -2
  169. package/types/account/info/keyring.js +9 -1
  170. package/types/balance/index.js +5 -1
  171. package/types/swap/index.js +2 -1
  172. package/types/transaction/process.js +3 -1
  173. package/types/yield/actions/join/step.js +17 -1
  174. package/utils/account/common.d.ts +0 -3
  175. package/utils/account/common.js +0 -24
  176. package/utils/account/derive/info/solo.js +8 -5
  177. package/utils/account/derive/validate.d.ts +2 -2
  178. package/utils/account/derive/validate.js +1 -1
  179. package/utils/account/transform.js +5 -1
  180. package/utils/auth.js +2 -2
  181. package/utils/bitcoin/utxo-management.js +0 -1
  182. package/utils/index.js +2 -5
@@ -69,7 +69,6 @@ export default class BaseLiquidStakingPoolHandler extends BaseSpecialStakingPool
69
69
  if (!(bnRemainingStake.isZero() || bnRemainingStake.gte(minStake))) {
70
70
  errors.push(new TransactionError(StakingTxErrorType.INVALID_ACTIVE_STAKE)); // TODO
71
71
  }
72
-
73
72
  if (poolPosition.unstakings.length > maxUnstakeRequest) {
74
73
  errors.push(new TransactionError(StakingTxErrorType.EXCEED_MAX_UNSTAKING, t('bg.EARNING.services.service.earning.liquidStaking.maxUnstakeTimes', {
75
74
  replace: {
@@ -81,7 +80,6 @@ export default class BaseLiquidStakingPoolHandler extends BaseSpecialStakingPool
81
80
  if (bnRemainingStake.lt(BN_ZERO)) {
82
81
  errors.push(new TransactionError(StakingTxErrorType.INVALID_ACTIVE_STAKE)); // TODO
83
82
  }
84
-
85
83
  return Promise.resolve(errors);
86
84
  }
87
85
 
@@ -154,7 +154,6 @@ export default class BifrostLiquidStakingPoolHandler extends BaseLiquidStakingPo
154
154
 
155
155
  // const bnTotalBalance = bnActiveBalance.add(bnUnstakingBalance);
156
156
  }
157
-
158
157
  const unlockingMap = {};
159
158
 
160
159
  // TODO: review unstaking info vtokenMinting.userUnlockLedger
@@ -203,7 +202,6 @@ export default class BifrostLiquidStakingPoolHandler extends BaseLiquidStakingPo
203
202
  });
204
203
  });
205
204
  }
206
-
207
205
  const activeToTotalBalance = exchangeRate.multipliedBy(bnActiveBalance.toString());
208
206
  const totalBalance = activeToTotalBalance.plus(unlockBalance.toString());
209
207
  const result = {
@@ -132,7 +132,6 @@ export default class ParallelLiquidStakingPoolHandler extends BaseLiquidStakingP
132
132
  });
133
133
  }
134
134
  }
135
-
136
135
  const result = {
137
136
  ...this.baseInfo,
138
137
  type: this.type,
@@ -192,7 +192,6 @@ export default class AstarNativeStakingPoolHandler extends BaseParaNativeStaking
192
192
  }
193
193
  }
194
194
  }
195
-
196
195
  const unlockingChunks = ledger.unbondingInfo.unlockingChunks;
197
196
  if (unlockingChunks.length > 0) {
198
197
  for (const unlockingChunk of unlockingChunks) {
@@ -211,7 +210,6 @@ export default class AstarNativeStakingPoolHandler extends BaseParaNativeStaking
211
210
  });
212
211
  }
213
212
  }
214
-
215
213
  if (nominationList.length === 0 && unstakingList.length === 0) {
216
214
  return {
217
215
  balanceToken: this.nativeToken.slug,
@@ -8,6 +8,49 @@ import { reformatAddress } from '@subwallet/extension-base/utils';
8
8
  import BigN from 'bignumber.js';
9
9
  import { BN, BN_ZERO } from '@polkadot/util';
10
10
  import TaoNativeStakingPoolHandler, { DEFAULT_DTAO_MINBOND } from "./tao.js";
11
+
12
+ // interface ApiResponse {
13
+ // data: SubnetData[];
14
+ // }
15
+
16
+ // interface PoolData {
17
+ // netuid: number;
18
+ // name: string;
19
+ // symbol: string;
20
+ // }
21
+
22
+ // interface PoolApiResponse {
23
+ // data: PoolData[];
24
+ // }
25
+
26
+ // const SUBNET_API_URL = 'https://dash.taostats.io/api/subnet';
27
+ // const POOL_API_URL = 'https://dash.taostats.io/api/dtao/pool';
28
+
29
+ // export async function fetchSubnetData () {
30
+ // try {
31
+ // const [subnetResponse, poolResponse] = await Promise.all([
32
+ // fetch(SUBNET_API_URL).then((res) => res.json()) as Promise<ApiResponse>,
33
+ // fetch(POOL_API_URL).then((res) => res.json()) as Promise<PoolApiResponse>
34
+ // ]);
35
+
36
+ // const poolMap = new Map(poolResponse.data.map((pool) => [pool.netuid, pool]));
37
+
38
+ // const filteredSubnets = subnetResponse.data.filter((subnet) => subnet.netuid !== 0);
39
+
40
+ // const mergedData = filteredSubnets.map((subnet) => ({
41
+ // ...subnet,
42
+ // name: poolMap.get(subnet.netuid)?.name || 'Unknown',
43
+ // symbol: poolMap.get(subnet.netuid)?.symbol || 'Unknown'
44
+ // }));
45
+
46
+ // return mergedData;
47
+ // } catch (err) {
48
+ // console.error('Error:', err);
49
+
50
+ // return [];
51
+ // }
52
+ // }
53
+
11
54
  const getAlphaToTaoMapping = async substrateApi => {
12
55
  const allSubnets = (await substrateApi.api.call.subnetInfoRuntimeApi.getAllDynamicInfo()).toJSON();
13
56
  if (!allSubnets || allSubnets.length === 0) {
@@ -151,7 +151,6 @@ export default class EnergyNativeStakingPoolHandler extends BaseParaNativeStakin
151
151
  }
152
152
  }
153
153
  }
154
-
155
154
  const bnStake = new BN(nomination.amount);
156
155
  const bnUnstakeBalance = unstakingMap[nomination.owner] ? new BN(unstakingMap[nomination.owner].claimable) : BN_ZERO;
157
156
  const bnActiveStake = bnStake.sub(bnUnstakeBalance);
@@ -105,7 +105,6 @@ export default class MythosNativeStakingPoolHandler extends BaseParaStakingPoolH
105
105
  // tvl: totalStake.toString(),
106
106
  // inflation
107
107
  },
108
-
109
108
  maxPoolMembers: parseInt(maxStakers)
110
109
  };
111
110
  callback(data);
@@ -340,7 +339,6 @@ export default class MythosNativeStakingPoolHandler extends BaseParaStakingPoolH
340
339
  }
341
340
  extrinsicList.push(...[substrateApi.api.tx.collatorStaking.unstakeFrom(selectedTarget), substrateApi.api.tx.collatorStaking.unlock(null) // ignore amount to unlock all
342
341
  ]);
343
-
344
342
  return [ExtrinsicType.STAKING_UNBOND, substrateApi.api.tx.utility.batchAll(extrinsicList)];
345
343
  }
346
344
 
@@ -81,7 +81,6 @@ export default class ParaNativeStakingPoolHandler extends BaseParaNativeStakingP
81
81
  if (unvestedAllocation) {
82
82
  totalIssuance.add(unvestedAllocation); // for Turing network, read more at https://hackmd.io/@sbAqOuXkRvyiZPOB3Ryn6Q/Sypr3ZJh5
83
83
  }
84
-
85
84
  const inflationConfig = _inflation.toHuman();
86
85
  const inflation = getParaCurrentInflation(parseRawNumber(totalStake.toString()), inflationConfig);
87
86
  const eraTime = _STAKING_ERA_LENGTH_MAP[this.chain] || _STAKING_ERA_LENGTH_MAP.default; // in hours
@@ -178,7 +177,6 @@ export default class ParaNativeStakingPoolHandler extends BaseParaNativeStakingP
178
177
  }
179
178
  }
180
179
  }
181
-
182
180
  const bnStake = new BN(delegation.amount);
183
181
  const bnUnstakeBalance = unstakingMap[delegation.owner] ? new BN(unstakingMap[delegation.owner].claimable) : BN_ZERO;
184
182
  const bnActiveStake = bnStake.sub(bnUnstakeBalance);
@@ -134,9 +134,9 @@ export default class RelayNativeStakingPoolHandler extends BaseNativeStakingPool
134
134
  /* Subscribe pool position */
135
135
 
136
136
  async parseNominatorMetadata(chainInfo, address, substrateApi, ledger, currentEra, minStake) {
137
- var _substrateApi$api$que7, _substrateApi$api$que8, _substrateApi$api$que9, _substrateApi$api$que10, _substrateApi$api$que11, _substrateApi$api$que12;
137
+ var _substrateApi$api$que7, _substrateApi$api$que8, _substrateApi$api$que9, _substrateApi$api$que0, _substrateApi$api$que1, _substrateApi$api$que10;
138
138
  const chain = chainInfo.slug;
139
- const [_nominations, _bonded, _activeEra] = await Promise.all([(_substrateApi$api$que7 = substrateApi.api.query) === null || _substrateApi$api$que7 === void 0 ? void 0 : (_substrateApi$api$que8 = _substrateApi$api$que7.staking) === null || _substrateApi$api$que8 === void 0 ? void 0 : _substrateApi$api$que8.nominators(address), (_substrateApi$api$que9 = substrateApi.api.query) === null || _substrateApi$api$que9 === void 0 ? void 0 : (_substrateApi$api$que10 = _substrateApi$api$que9.staking) === null || _substrateApi$api$que10 === void 0 ? void 0 : _substrateApi$api$que10.bonded(address), (_substrateApi$api$que11 = substrateApi.api.query) === null || _substrateApi$api$que11 === void 0 ? void 0 : (_substrateApi$api$que12 = _substrateApi$api$que11.staking) === null || _substrateApi$api$que12 === void 0 ? void 0 : _substrateApi$api$que12.activeEra()]);
139
+ const [_nominations, _bonded, _activeEra] = await Promise.all([(_substrateApi$api$que7 = substrateApi.api.query) === null || _substrateApi$api$que7 === void 0 ? void 0 : (_substrateApi$api$que8 = _substrateApi$api$que7.staking) === null || _substrateApi$api$que8 === void 0 ? void 0 : _substrateApi$api$que8.nominators(address), (_substrateApi$api$que9 = substrateApi.api.query) === null || _substrateApi$api$que9 === void 0 ? void 0 : (_substrateApi$api$que0 = _substrateApi$api$que9.staking) === null || _substrateApi$api$que0 === void 0 ? void 0 : _substrateApi$api$que0.bonded(address), (_substrateApi$api$que1 = substrateApi.api.query) === null || _substrateApi$api$que1 === void 0 ? void 0 : (_substrateApi$api$que10 = _substrateApi$api$que1.staking) === null || _substrateApi$api$que10 === void 0 ? void 0 : _substrateApi$api$que10.activeEra()]);
140
140
  const unlimitedNominatorRewarded = substrateApi.api.consts.staking.maxExposurePageSize !== undefined;
141
141
  const _maxNominatorRewardedPerValidator = (substrateApi.api.consts.staking.maxNominatorRewardedPerValidator || 0).toString();
142
142
  const maxNominatorRewardedPerValidator = unlimitedNominatorRewarded ? undefined : parseInt(_maxNominatorRewardedPerValidator);
@@ -236,23 +236,22 @@ export default class RelayNativeStakingPoolHandler extends BaseNativeStakingPool
236
236
  activeStake: '0' // relaychain allocates stake accordingly
237
237
  });
238
238
  }));
239
-
240
239
  return nominationList;
241
240
  }
242
241
  async subscribePoolPosition(useAddresses, resultCallback) {
243
- var _substrateApi$api$que13;
242
+ var _substrateApi$api$que11;
244
243
  let cancel = false;
245
244
  const substrateApi = await this.substrateApi.isReady;
246
245
  const defaultInfo = this.baseInfo;
247
246
  const chainInfo = this.chainInfo;
248
- const unsub = await ((_substrateApi$api$que13 = substrateApi.api.query.staking) === null || _substrateApi$api$que13 === void 0 ? void 0 : _substrateApi$api$que13.ledger.multi(useAddresses, async ledgers => {
247
+ const unsub = await ((_substrateApi$api$que11 = substrateApi.api.query.staking) === null || _substrateApi$api$que11 === void 0 ? void 0 : _substrateApi$api$que11.ledger.multi(useAddresses, async ledgers => {
249
248
  if (cancel) {
250
249
  unsub === null || unsub === void 0 ? void 0 : unsub();
251
250
  return;
252
251
  }
253
252
  if (ledgers) {
254
- var _substrateApi$api$que14, _substrateApi$api$que15, _substrateApi$api$que16, _substrateApi$api$que17, _substrateApi$api$que18, _substrateApi$api$que19, _substrateApi$api$que20, _substrateApi$api$que21, _substrateApi$api$der, _substrateApi$api$der2;
255
- const [_currentEra, _minimumActiveStake, _minNominatorBond] = await Promise.all([(_substrateApi$api$que14 = substrateApi.api.query) === null || _substrateApi$api$que14 === void 0 ? void 0 : (_substrateApi$api$que15 = _substrateApi$api$que14.staking) === null || _substrateApi$api$que15 === void 0 ? void 0 : _substrateApi$api$que15.currentEra(), ((_substrateApi$api$que16 = substrateApi.api.query) === null || _substrateApi$api$que16 === void 0 ? void 0 : (_substrateApi$api$que17 = _substrateApi$api$que16.staking) === null || _substrateApi$api$que17 === void 0 ? void 0 : _substrateApi$api$que17.minimumActiveStake) && ((_substrateApi$api$que18 = substrateApi.api.query) === null || _substrateApi$api$que18 === void 0 ? void 0 : (_substrateApi$api$que19 = _substrateApi$api$que18.staking) === null || _substrateApi$api$que19 === void 0 ? void 0 : _substrateApi$api$que19.minimumActiveStake()), (_substrateApi$api$que20 = substrateApi.api.query) === null || _substrateApi$api$que20 === void 0 ? void 0 : (_substrateApi$api$que21 = _substrateApi$api$que20.staking) === null || _substrateApi$api$que21 === void 0 ? void 0 : _substrateApi$api$que21.minNominatorBond(), (_substrateApi$api$der = substrateApi.api.derive) === null || _substrateApi$api$der === void 0 ? void 0 : (_substrateApi$api$der2 = _substrateApi$api$der.session) === null || _substrateApi$api$der2 === void 0 ? void 0 : _substrateApi$api$der2.progress()]);
253
+ var _substrateApi$api$que12, _substrateApi$api$que13, _substrateApi$api$que14, _substrateApi$api$que15, _substrateApi$api$que16, _substrateApi$api$que17, _substrateApi$api$que18, _substrateApi$api$que19, _substrateApi$api$der, _substrateApi$api$der2;
254
+ const [_currentEra, _minimumActiveStake, _minNominatorBond] = await Promise.all([(_substrateApi$api$que12 = substrateApi.api.query) === null || _substrateApi$api$que12 === void 0 ? void 0 : (_substrateApi$api$que13 = _substrateApi$api$que12.staking) === null || _substrateApi$api$que13 === void 0 ? void 0 : _substrateApi$api$que13.currentEra(), ((_substrateApi$api$que14 = substrateApi.api.query) === null || _substrateApi$api$que14 === void 0 ? void 0 : (_substrateApi$api$que15 = _substrateApi$api$que14.staking) === null || _substrateApi$api$que15 === void 0 ? void 0 : _substrateApi$api$que15.minimumActiveStake) && ((_substrateApi$api$que16 = substrateApi.api.query) === null || _substrateApi$api$que16 === void 0 ? void 0 : (_substrateApi$api$que17 = _substrateApi$api$que16.staking) === null || _substrateApi$api$que17 === void 0 ? void 0 : _substrateApi$api$que17.minimumActiveStake()), (_substrateApi$api$que18 = substrateApi.api.query) === null || _substrateApi$api$que18 === void 0 ? void 0 : (_substrateApi$api$que19 = _substrateApi$api$que18.staking) === null || _substrateApi$api$que19 === void 0 ? void 0 : _substrateApi$api$que19.minNominatorBond(), (_substrateApi$api$der = substrateApi.api.derive) === null || _substrateApi$api$der === void 0 ? void 0 : (_substrateApi$api$der2 = _substrateApi$api$der.session) === null || _substrateApi$api$der2 === void 0 ? void 0 : _substrateApi$api$der2.progress()]);
256
255
  const currentEra = _currentEra.toString();
257
256
  const minActiveStake = (_minimumActiveStake === null || _minimumActiveStake === void 0 ? void 0 : _minimumActiveStake.toString()) || '0';
258
257
  const minNominatorBond = _minNominatorBond.toString();
@@ -294,10 +293,10 @@ export default class RelayNativeStakingPoolHandler extends BaseNativeStakingPool
294
293
  };
295
294
  }
296
295
  async checkAccountHaveStake(useAddresses) {
297
- var _substrateApi$api$que22, _substrateApi$api$que23, _substrateApi$api$que24;
296
+ var _substrateApi$api$que20, _substrateApi$api$que21, _substrateApi$api$que22;
298
297
  const result = [];
299
298
  const substrateApi = await this.substrateApi.isReady;
300
- const ledgers = await ((_substrateApi$api$que22 = substrateApi.api.query.staking) === null || _substrateApi$api$que22 === void 0 ? void 0 : (_substrateApi$api$que23 = _substrateApi$api$que22.ledger) === null || _substrateApi$api$que23 === void 0 ? void 0 : (_substrateApi$api$que24 = _substrateApi$api$que23.multi) === null || _substrateApi$api$que24 === void 0 ? void 0 : _substrateApi$api$que24.call(_substrateApi$api$que23, useAddresses));
299
+ const ledgers = await ((_substrateApi$api$que20 = substrateApi.api.query.staking) === null || _substrateApi$api$que20 === void 0 ? void 0 : (_substrateApi$api$que21 = _substrateApi$api$que20.ledger) === null || _substrateApi$api$que21 === void 0 ? void 0 : (_substrateApi$api$que22 = _substrateApi$api$que21.multi) === null || _substrateApi$api$que22 === void 0 ? void 0 : _substrateApi$api$que22.call(_substrateApi$api$que21, useAddresses));
301
300
  if (ledgers) {
302
301
  for (let i = 0; i < useAddresses.length; i++) {
303
302
  const address = useAddresses[i];
@@ -274,6 +274,13 @@ export default class BaseSpecialStakingPoolHandler extends BasePoolHandler {
274
274
  * @return Fee of the submitting step
275
275
  * */
276
276
 
277
+ /**
278
+ * @async
279
+ * @function getSubmitStepFee
280
+ * @description Get submit step fee
281
+ * @return {Promise<YieldTokenBaseInfo>} Fee of the submitting step
282
+ * */
283
+
277
284
  async getSubmitStep(params) {
278
285
  const fee = await this.getSubmitStepFee(params);
279
286
  return [this.submitJoinStepInfo, fee];
@@ -38,7 +38,6 @@ export let SubsquidTransactionType;
38
38
  const HISTORY_SUPPORT_TYPES = [SubsquidTransactionType.BalanceTransfer, SubsquidTransactionType.EthereumExecuted, SubsquidTransactionType.StakingBonded
39
39
  // SubsquidTransactionType.CrowdloanContributed // Not support because data indexer not enough data
40
40
  ];
41
-
42
41
  function parseData(anyData) {
43
42
  try {
44
43
  return JSON.parse(anyData);
@@ -4,12 +4,12 @@
4
4
  import { ALL_ACCOUNT_KEY } from '@subwallet/extension-base/constants';
5
5
  import { CommonAccountErrorType, DeriveErrorType, SWCommonAccountError, SWDeriveError } from '@subwallet/extension-base/types';
6
6
  import { createAccountProxyId, derivePair, findSoloNextDerive, findUnifiedNextDerive, getSoloDerivationInfo, parseUnifiedSuriToDerivationPath, validateDerivationPath } from '@subwallet/extension-base/utils';
7
- import { BitcoinKeypairTypes, EthereumKeypairTypes, SubstrateKeypairTypes } from '@subwallet/keyring/types';
7
+ import { BitcoinKeypairTypes, DefaultSubstrateKeypairTypes, EthereumKeypairTypes } from '@subwallet/keyring/types';
8
8
  import { keyring } from '@subwallet/ui-keyring';
9
9
  import { t } from 'i18next';
10
10
  import { assert } from '@polkadot/util';
11
11
  import { AccountBaseHandler } from "./Base.js";
12
- const validDeriveKeypairTypes = [...SubstrateKeypairTypes, ...EthereumKeypairTypes, 'ton', 'cardano', ...BitcoinKeypairTypes];
12
+ const validDeriveKeypairTypes = [...DefaultSubstrateKeypairTypes, ...EthereumKeypairTypes, 'ton', 'cardano', ...BitcoinKeypairTypes];
13
13
 
14
14
  /**
15
15
  * @class AccountDeriveHandler
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import { AccountBaseHandler } from '@subwallet/extension-base/services/keyring-service/context/handlers/Base';
5
+ import { isTWAccount } from '@subwallet/extension-base/services/keyring-service/utils';
5
6
  import { AccountChainType, SUPPORTED_ACCOUNT_CHAIN_TYPES } from '@subwallet/extension-base/types';
6
7
  import { createAccountProxyId, getDefaultKeypairTypeFromAccountChainType, getSuri } from '@subwallet/extension-base/utils';
7
8
  import { generateRandomString } from '@subwallet/extension-base/utils/getId';
@@ -26,7 +27,8 @@ export class AccountMigrationHandler extends AccountBaseHandler {
26
27
  async migrateUnifiedAndFetchEligibleSoloAccounts(request, setMigratingModeFn) {
27
28
  // Migrate unified -> unified
28
29
  const password = request.password;
29
- const allAccountProxies = Object.values(this.state.accounts);
30
+ const _allAccountProxies = Object.values(this.state.accounts);
31
+ const allAccountProxies = _allAccountProxies.filter(acc => !isTWAccount(acc)); // Prevent migrate TrustWallet solo account
30
32
  const UACanBeMigrated = this.getUACanBeMigrated(allAccountProxies);
31
33
  const UACanBeMigratedSortedByParent = this.sortUAByParent(UACanBeMigrated); // master account must be migrated before derived account
32
34
  const migratedUnifiedAccountIds = await this.migrateUnifiedToUnifiedAccount(password, UACanBeMigratedSortedByParent, setMigratingModeFn);
@@ -9,7 +9,7 @@ export declare const SEED_LENGTHS: number[];
9
9
  * */
10
10
  export declare class AccountMnemonicHandler extends AccountBaseHandler {
11
11
  mnemonicCreateV2({ length, mnemonic: _seed, type }: RequestMnemonicCreateV2): Promise<ResponseMnemonicCreateV2>;
12
- mnemonicValidateV2({ mnemonic }: RequestMnemonicValidateV2): ResponseMnemonicValidateV2;
12
+ mnemonicValidateV2(request: RequestMnemonicValidateV2): ResponseMnemonicValidateV2;
13
13
  accountsCreateSuriV2(request: RequestAccountCreateSuriV2): ResponseAccountCreateSuriV2;
14
14
  exportAccountProxyMnemonic({ password, proxyId }: RequestExportAccountProxyMnemonic): ResponseExportAccountProxyMnemonic;
15
15
  }
@@ -41,9 +41,11 @@ export class AccountMnemonicHandler extends AccountBaseHandler {
41
41
  }
42
42
 
43
43
  /* Validate seed */
44
- mnemonicValidateV2({
45
- mnemonic
46
- }) {
44
+ mnemonicValidateV2(request) {
45
+ const {
46
+ mnemonic,
47
+ mnemonicType
48
+ } = request;
47
49
  const {
48
50
  phrase
49
51
  } = keyExtractSuri(mnemonic);
@@ -60,8 +62,13 @@ export class AccountMnemonicHandler extends AccountBaseHandler {
60
62
  }));
61
63
  try {
62
64
  assert(mnemonicValidate(phrase), t('bg.ACCOUNT.services.keyring.handler.Mnemonic.invalidSeedPhraseTryAgain'));
63
- mnemonicTypes = 'general';
64
- pairTypes = ['sr25519', ...EthereumKeypairTypes, 'ton', ...CardanoKeypairTypes, ...BitcoinKeypairTypes];
65
+ if (mnemonicType === 'trust-wallet') {
66
+ mnemonicTypes = 'trust-wallet';
67
+ pairTypes = ['ed25519-tw'];
68
+ } else {
69
+ mnemonicTypes = 'general';
70
+ pairTypes = ['sr25519', ...EthereumKeypairTypes, 'ton', ...CardanoKeypairTypes, ...BitcoinKeypairTypes];
71
+ }
65
72
  } catch (e) {
66
73
  assert(tonMnemonicValidate(phrase), t('bg.ACCOUNT.services.keyring.handler.Mnemonic.invalidSeedPhraseTryAgain'));
67
74
  mnemonicTypes = 'ton';
@@ -77,10 +84,10 @@ export class AccountMnemonicHandler extends AccountBaseHandler {
77
84
  pairTypes.forEach(type => {
78
85
  rs.addressMap[type] = keyring.createFromUri(getSuri(mnemonic, type), {}, type).address;
79
86
  });
80
- const exists = this.state.checkAddressExists(Object.values(rs.addressMap));
81
- assert(!exists, t('bg.ACCOUNT.services.keyring.handler.Mnemonic.accountAlreadyExistsWithName', {
87
+ const existingAccount = this.state.checkAddressExists(Object.values(rs.addressMap));
88
+ assert(!existingAccount, t('bg.ACCOUNT.services.keyring.handler.Mnemonic.accountAlreadyExistsWithName', {
82
89
  replace: {
83
- name: (exists === null || exists === void 0 ? void 0 : exists.name) || (exists === null || exists === void 0 ? void 0 : exists.address) || ''
90
+ name: (existingAccount === null || existingAccount === void 0 ? void 0 : existingAccount.name) || (existingAccount === null || existingAccount === void 0 ? void 0 : existingAccount.address) || ''
84
91
  }
85
92
  }));
86
93
  return rs;
@@ -93,12 +100,11 @@ export class AccountMnemonicHandler extends AccountBaseHandler {
93
100
  name,
94
101
  password,
95
102
  suri: _suri,
96
- type
103
+ types
97
104
  } = request;
98
105
  const addressDict = {};
99
106
  let changedAccount = false;
100
107
  const hasMasterPassword = keyring.keyring.hasMasterPassword;
101
- const types = type ? [type] : ['sr25519', ...EthereumKeypairTypes, 'ton', ...CardanoKeypairTypes, ...BitcoinKeypairTypes];
102
108
  if (!hasMasterPassword) {
103
109
  if (!password) {
104
110
  throw Error(t('bg.ACCOUNT.services.keyring.handler.Mnemonic.eachAccountPasswordNeeded'));
@@ -1,9 +1,11 @@
1
1
  import KoniState from '@subwallet/extension-base/koni/background/handlers/State';
2
2
  import { AccountProxy, AccountProxyData, AccountProxyMap, AccountProxyStoreData, CurrentAccountInfo, ModifyPairStoreData } from '@subwallet/extension-base/types';
3
+ import { KeypairType } from '@subwallet/keyring/types';
3
4
  import { SubjectInfo } from '@subwallet/ui-keyring/observable/types';
4
5
  interface ExistsAccount {
5
6
  address: string;
6
7
  name: string;
8
+ relatedAccountTypes: KeypairType[];
7
9
  }
8
10
  export declare class AccountState {
9
11
  private readonly koniState;
@@ -70,6 +72,7 @@ export declare class AccountState {
70
72
  getAllAddresses(): string[];
71
73
  getProxyId(): string | null;
72
74
  getDecodedAddresses(accountProxy?: string, allowGetAllAccount?: boolean): string[];
75
+ getDecodedAccountTypes(accountProxyId: string): KeypairType[];
73
76
  /**
74
77
  * Account ref
75
78
  * @deprecated
@@ -279,15 +279,19 @@ export class AccountState {
279
279
  const belongsTo = this.belongUnifiedAccount(address);
280
280
  if (belongsTo) {
281
281
  const accountProxy = this.accountProxies[belongsTo];
282
+ const allAccountTypes = this.getDecodedAccountTypes(belongsTo); // get allAccountTypes of unified account of the account address
283
+
282
284
  return {
283
285
  address,
284
- name: accountProxy.name
286
+ name: accountProxy.name,
287
+ relatedAccountTypes: allAccountTypes
285
288
  };
286
289
  } else {
287
290
  var _pair$meta;
288
291
  return {
289
292
  address,
290
- name: ((_pair$meta = pair.meta) === null || _pair$meta === void 0 ? void 0 : _pair$meta.name) || address
293
+ name: ((_pair$meta = pair.meta) === null || _pair$meta === void 0 ? void 0 : _pair$meta.name) || address,
294
+ relatedAccountTypes: [pair.type]
291
295
  };
292
296
  }
293
297
  }
@@ -449,6 +453,20 @@ export class AccountState {
449
453
  return accountProxies[proxyId].accounts.map(account => account.address);
450
454
  }
451
455
  }
456
+ getDecodedAccountTypes(accountProxyId) {
457
+ if (!accountProxyId) {
458
+ return [];
459
+ }
460
+ if (accountProxyId === ALL_ACCOUNT_KEY) {
461
+ return []; // todo
462
+ }
463
+ const accountProxies = this.accounts;
464
+ if (!accountProxies[accountProxyId]) {
465
+ return [];
466
+ } else {
467
+ return accountProxies[accountProxyId].accounts.map(account => account.type);
468
+ }
469
+ }
452
470
 
453
471
  /* Get address for another service */
454
472
 
@@ -563,7 +581,7 @@ export class AccountState {
563
581
  metadata.suri = _parentSuri;
564
582
  needUpdateSet.add(address);
565
583
  }
566
- const hasSuri = ('suri' in metadata);
584
+ const hasSuri = 'suri' in metadata;
567
585
  const lacksDerivationPath = !('derivationPath' in metadata);
568
586
  const isEthereumType = EthereumKeypairTypes.includes(pair.type);
569
587
  const isTonType = pair.type === 'ton';
@@ -1,2 +1,3 @@
1
1
  import { AccountProxy } from '@subwallet/extension-base/types';
2
2
  export declare const hasAnyAccountForMigration: (allAccountProxies: AccountProxy[]) => boolean;
3
+ export declare const isTWAccount: (account: AccountProxy) => boolean;
@@ -1,6 +1,7 @@
1
1
  // Copyright 2019-2022 @subwallet/extension-base
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
+ import { AccountProxyType } from '@subwallet/extension-base/types';
4
5
  export const hasAnyAccountForMigration = allAccountProxies => {
5
6
  for (const account of allAccountProxies) {
6
7
  if (account.isNeedMigrateUnifiedAccount) {
@@ -8,4 +9,12 @@ export const hasAnyAccountForMigration = allAccountProxies => {
8
9
  }
9
10
  }
10
11
  return false;
12
+ };
13
+
14
+ // Check if account is TrustWallet account
15
+ export const isTWAccount = account => {
16
+ const isTWDerivation = account.suri === "m/44'/354'/0'/0'/0'";
17
+ const isTWSolo = account.accountType === AccountProxyType.SOLO;
18
+ const isTWKeyPairType = account.accounts[0].type === 'ed25519-tw';
19
+ return isTWDerivation && isTWSolo && isTWKeyPairType;
11
20
  };
@@ -36,7 +36,6 @@ export default class UnlockDotCampaign {
36
36
  // } else {
37
37
  // result = await this.getMinted(address, slug);
38
38
  }
39
-
40
39
  this.#transactionNftState[transactionId] = (_result = result) !== null && _result !== void 0 ? _result : {
41
40
  nftImage: ''
42
41
  };
@@ -7,6 +7,12 @@ import { baseParseIPFSUrl } from '@subwallet/extension-base/utils';
7
7
  import { getKeypairTypeByAddress } from '@subwallet/keyring';
8
8
  import { EthereumKeypairTypes } from '@subwallet/keyring/types';
9
9
  import subwalletApiSdk from '@subwallet-monorepos/subwallet-services-sdk';
10
+
11
+ /**
12
+ * NFT detection service
13
+ * Responsible for managing NFT detection jobs per address
14
+ */
15
+
10
16
  function mapSdkToNftItem(rawInstance, chain, collectionId, owner) {
11
17
  var _rawInstance$token_ty, _rawInstance$token_ty2, _rawInstance$id;
12
18
  const metadata = rawInstance.metadata || {};
@@ -178,7 +178,6 @@ export default class BaseOpenGovHandler {
178
178
  const decimals = Number(_getAssetDecimals(this.nativeToken));
179
179
  estimatedFee = new BigN(0.001).multipliedBy(new BigN(10).pow(decimals)); // fallback 0.001
180
180
  }
181
-
182
181
  const availableBalance = new BigN(totalBalance.value).minus(estimatedFee);
183
182
  if (availableBalance.lte(0)) {
184
183
  return new TransactionError(BasicTxErrorType.NOT_ENOUGH_BALANCE, "You don't have enough tokens to proceed");
@@ -225,7 +224,6 @@ export default class BaseOpenGovHandler {
225
224
  estimatedFee = new BigN(0.001 * 10 ** _getAssetDecimals(this.nativeToken)); // fallback 0.001
226
225
  }
227
226
  }
228
-
229
227
  const availableBalance = new BigN(totalBalance.value).minus(estimatedFee);
230
228
  if (availableBalance.lte(0)) {
231
229
  return new TransactionError(BasicTxErrorType.NOT_ENOUGH_BALANCE, "You don't have enough tokens to proceed");
@@ -18,4 +18,7 @@ export let Conviction;
18
18
  Conviction["Locked4x"] = "Locked4x";
19
19
  Conviction["Locked5x"] = "Locked5x";
20
20
  Conviction["Locked6x"] = "Locked6x";
21
- })(Conviction || (Conviction = {}));
21
+ })(Conviction || (Conviction = {})); // ----- Casting -----
22
+ // ----- Delegating -----
23
+ // ----- VotingFor -----
24
+ // Unlock Vote
@@ -48,7 +48,6 @@ export default class CardanoRequestHandler {
48
48
  if (duplicated) {
49
49
  throw new Error('Cardano duplicate request'); // update this message.
50
50
  }
51
-
52
51
  confirmationType[id] = {
53
52
  id,
54
53
  url,
@@ -201,7 +201,6 @@ export default class EvmRequestHandler {
201
201
  maxPriorityFeePerGas: anyNumberToBN(maxPriorityFeePerGas).toNumber()
202
202
  // nonce: await web3.eth.getTransactionCount(from) // Todo: fill this value from transaction service
203
203
  };
204
-
205
204
  const tx = this.configToTransaction(params);
206
205
  await Promise.resolve();
207
206
  if (pair.isLocked) {
@@ -50,7 +50,6 @@ export default class TonRequestHandler {
50
50
  if (duplicated) {
51
51
  throw new Error('Ton duplicate request'); // update this message.
52
52
  }
53
-
54
53
  confirmationType[id] = {
55
54
  id,
56
55
  url,
@@ -29,7 +29,6 @@ export const DEFAULT_NOTIFICATION_SETUP = {
29
29
  // isHideAnnouncement: false
30
30
  }
31
31
  };
32
-
33
32
  export const DEFAULT_ACKNOWLEDGED_MIGRATION_STATUS = false;
34
33
  export const DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_PROGRESS = false;
35
34
  export const DEFAULT_UNIFIED_ACCOUNT_MIGRATION_IN_DONE = false;
@@ -461,11 +461,9 @@ export default class DatabaseService {
461
461
  async setMantaPayData(data) {
462
462
  await this._db.mantaPay.put(data); // just override if exist
463
463
  }
464
-
465
464
  async updateMantaPayData(key, data) {
466
465
  await this._db.mantaPay.update(key, data); // just override if exist
467
466
  }
468
-
469
467
  async getMantaPayData(key) {
470
468
  return this._db.mantaPay.get({
471
469
  key
@@ -3,6 +3,9 @@
3
3
 
4
4
  import Dexie from 'dexie';
5
5
  export const DEFAULT_DATABASE = 'SubWalletDB_v2';
6
+
7
+ // TODO: refactor this
8
+
6
9
  export default class KoniDatabase extends Dexie {
7
10
  constructor(name = DEFAULT_DATABASE, schemaVersion = 11) {
8
11
  super(name);
@@ -186,7 +186,6 @@ export class AssetHubSwapHandler {
186
186
  if (swap) {
187
187
  return this.swapBaseHandler.validateSwapOnlyProcess(params, 1); // todo: create interface for input request
188
188
  }
189
-
190
189
  if (swapXcm) {
191
190
  return this.swapBaseHandler.validateSwapXcmProcess(params, 1, 2);
192
191
  }
@@ -29,7 +29,6 @@ export class AssetHubRouter {
29
29
  // return [assetFrom, nativeToken, assetTo];
30
30
  // }
31
31
  }
32
-
33
32
  async earlyValidateSwapValidation(request) {
34
33
  const substrateApi = await this.substrateApi.isReady;
35
34
  const paths = this.buildPath(request.pair);
@@ -87,7 +87,6 @@ export class ChainflipSwapHandler {
87
87
  // address to which assets are refunded
88
88
  retryDurationInBlocks: '100' // 100 blocks * 6 seconds = 10 minutes before deposits are refunded
89
89
  };
90
-
91
90
  const path = `/swap?${new URLSearchParams(depositParams).toString()}`;
92
91
  const response = await fetchFromProxyService(ProxyServiceRoute.CHAINFLIP, path, {
93
92
  method: 'GET'
@@ -255,7 +254,6 @@ export class ChainflipSwapHandler {
255
254
  if (swap) {
256
255
  return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
257
256
  }
258
-
259
257
  if (swapXcm) {
260
258
  return [new TransactionError(BasicTxErrorType.INTERNAL_ERROR)];
261
259
  }
@@ -313,7 +313,6 @@ export class HydradxHandler {
313
313
  if (swap) {
314
314
  return this.swapBaseHandler.validateSwapOnlyProcess(params, 1); // todo: create interface for input request
315
315
  }
316
-
317
316
  if (swapXcm) {
318
317
  return this.swapBaseHandler.validateSwapXcmProcess(params, 1, 2);
319
318
  }
@@ -344,7 +344,6 @@ export class KyberHandler {
344
344
  if (swap) {
345
345
  return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
346
346
  }
347
-
348
347
  if (swapXcm) {
349
348
  return [new TransactionError(BasicTxErrorType.INTERNAL_ERROR)];
350
349
  }
@@ -285,7 +285,6 @@ export class SimpleSwapHandler {
285
285
  if (swap) {
286
286
  return this.swapBaseHandler.validateSwapOnlyProcess(params, swapIndex); // todo: create interface for input request
287
287
  }
288
-
289
288
  if (swapXcm) {
290
289
  return [new TransactionError(BasicTxErrorType.INTERNAL_ERROR)];
291
290
  }