@rabbitio/ui-kit 1.0.0-beta.112 → 1.0.0-beta.113

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 (198) hide show
  1. package/coverage/clover.xml +1226 -1255
  2. package/coverage/coverage-final.json +13 -13
  3. package/coverage/index.html +18 -18
  4. package/coverage/ui-kit/index.html +1 -1
  5. package/coverage/ui-kit/index.js.html +1 -1
  6. package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
  7. package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
  8. package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +1 -1
  9. package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
  10. package/coverage/ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
  11. package/coverage/ui-kit/src/common-apis/adapters/index.html +1 -1
  12. package/coverage/ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
  13. package/coverage/ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
  14. package/coverage/ui-kit/src/common-apis/external-apis/emailAPI.js.html +1 -1
  15. package/coverage/ui-kit/src/common-apis/external-apis/index.html +1 -1
  16. package/coverage/ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
  17. package/coverage/ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
  18. package/coverage/ui-kit/src/common-apis/index.html +1 -1
  19. package/coverage/ui-kit/src/common-apis/models/blockchain.js.html +1 -1
  20. package/coverage/ui-kit/src/common-apis/models/coin.js.html +221 -221
  21. package/coverage/ui-kit/src/common-apis/models/index.html +1 -1
  22. package/coverage/ui-kit/src/common-apis/models/protocol.js.html +3 -3
  23. package/coverage/ui-kit/src/common-apis/services/fiatCurrenciesService.js.html +1 -1
  24. package/coverage/ui-kit/src/common-apis/services/index.html +1 -1
  25. package/coverage/ui-kit/src/common-apis/utils/amountUtils.js.html +21 -21
  26. package/coverage/ui-kit/src/common-apis/utils/cache.js.html +6 -6
  27. package/coverage/ui-kit/src/common-apis/utils/errorUtils.js.html +13 -13
  28. package/coverage/ui-kit/src/common-apis/utils/index.html +1 -1
  29. package/coverage/ui-kit/src/common-apis/utils/logging/index.html +1 -1
  30. package/coverage/ui-kit/src/common-apis/utils/logging/logger.js.html +22 -22
  31. package/coverage/ui-kit/src/common-apis/utils/logging/logsStorage.js.html +3 -3
  32. package/coverage/ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
  33. package/coverage/ui-kit/src/common-apis/utils/rabbitTicker.js.html +10 -10
  34. package/coverage/ui-kit/src/common-apis/utils/safeStringify.js.html +25 -25
  35. package/coverage/ui-kit/src/index.html +1 -1
  36. package/coverage/ui-kit/src/index.js.html +1 -1
  37. package/coverage/ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
  38. package/coverage/ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
  39. package/coverage/ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
  40. package/coverage/ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
  41. package/coverage/ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
  42. package/coverage/ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
  43. package/coverage/ui-kit/src/robust-api-caller/index.html +1 -1
  44. package/coverage/ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
  45. package/coverage/ui-kit/src/swaps-lib/external-apis/exolixSwapProvider.js.html +1 -1
  46. package/coverage/ui-kit/src/swaps-lib/external-apis/goexmeSwapProvider.js.html +241 -328
  47. package/coverage/ui-kit/src/swaps-lib/external-apis/index.html +19 -19
  48. package/coverage/ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1 -1
  49. package/coverage/ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +284 -284
  50. package/coverage/ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +1 -1
  51. package/coverage/ui-kit/src/swaps-lib/external-apis/utils.js.html +14 -14
  52. package/coverage/ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  53. package/coverage/ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  54. package/coverage/ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  55. package/coverage/ui-kit/src/swaps-lib/models/index.html +1 -1
  56. package/coverage/ui-kit/src/swaps-lib/models/partner.js.html +1 -1
  57. package/coverage/ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +73 -73
  58. package/coverage/ui-kit/src/swaps-lib/services/index.html +1 -1
  59. package/coverage/ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  60. package/coverage/ui-kit/src/swaps-lib/utils/index.html +1 -1
  61. package/coverage/ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  62. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  63. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  64. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  65. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  66. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
  67. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  68. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
  69. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
  70. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
  71. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  72. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  73. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
  74. package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
  75. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  76. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
  77. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  78. package/coverage/ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
  79. package/coverage/ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  80. package/coverage/ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
  81. package/coverage/ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  82. package/coverage/ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
  83. package/coverage/ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
  84. package/coverage/ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
  85. package/coverage/ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  86. package/coverage/ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
  87. package/coverage/ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  88. package/coverage/ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
  89. package/coverage/ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +1 -1
  90. package/coverage/ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
  91. package/coverage/ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
  92. package/coverage/ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
  93. package/coverage/ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  94. package/coverage/ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
  95. package/coverage/ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
  96. package/coverage/ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
  97. package/coverage/ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  98. package/coverage/ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
  99. package/coverage/ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  100. package/coverage/ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
  101. package/coverage/ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  102. package/coverage/ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
  103. package/coverage/ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
  104. package/coverage/ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
  105. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
  106. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
  107. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
  108. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
  109. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  110. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
  111. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  112. package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  113. package/coverage/ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
  114. package/coverage/ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
  115. package/coverage/ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
  116. package/coverage/ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
  117. package/coverage/ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
  118. package/coverage/ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
  119. package/coverage/ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  120. package/coverage/ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
  121. package/coverage/ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +1 -1
  122. package/coverage/ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +1 -1
  123. package/coverage/ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
  124. package/coverage/ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
  125. package/coverage/ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  126. package/coverage/ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
  127. package/coverage/ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  128. package/coverage/ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
  129. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
  130. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  131. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
  132. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
  133. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
  134. package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
  135. package/coverage/ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +1 -1
  136. package/coverage/ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +1 -1
  137. package/coverage/ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
  138. package/coverage/ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
  139. package/coverage/ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  140. package/coverage/ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  141. package/coverage/ui-kit/src/ui-kit/hooks/index.html +1 -1
  142. package/coverage/ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
  143. package/coverage/ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
  144. package/coverage/ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
  145. package/coverage/ui-kit/src/ui-kit/utils/index.html +1 -1
  146. package/coverage/ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
  147. package/coverage/ui-kit/src/ui-kit/utils/searchCoins.js.html +1 -1
  148. package/coverage/ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
  149. package/coverage/ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
  150. package/coverage/ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
  151. package/coverage/ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  152. package/coverage/ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  153. package/coverage/ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  154. package/coverage/ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  155. package/coverage/ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
  156. package/coverage/ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  157. package/coverage/ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  158. package/coverage/ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  159. package/coverage/ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  160. package/coverage/ui-kit/stories/atoms/buttons/index.html +1 -1
  161. package/coverage/ui-kit/stories/atoms/index.html +1 -1
  162. package/coverage/ui-kit/stories/molecules/AmountInput.stories.jsx.html +1 -1
  163. package/coverage/ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
  164. package/coverage/ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
  165. package/coverage/ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  166. package/coverage/ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
  167. package/coverage/ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  168. package/coverage/ui-kit/stories/molecules/index.html +1 -1
  169. package/coverage/ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  170. package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  171. package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  172. package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  173. package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  174. package/coverage/ui-kit/stories/organisms/Dialog/index.html +1 -1
  175. package/coverage/ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
  176. package/coverage/ui-kit/stories/organisms/index.html +1 -1
  177. package/coverage/ui-kit/stories/stubs/coins.jsx.html +1 -1
  178. package/coverage/ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  179. package/coverage/ui-kit/stories/stubs/index.html +1 -1
  180. package/coverage/ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  181. package/coverage/ui-kit/stories/templates/index.html +1 -1
  182. package/dist/index.cjs +93 -129
  183. package/dist/index.cjs.map +1 -1
  184. package/dist/index.modern.js +8 -31
  185. package/dist/index.modern.js.map +1 -1
  186. package/dist/index.module.js +93 -129
  187. package/dist/index.module.js.map +1 -1
  188. package/dist/index.umd.js +93 -129
  189. package/dist/index.umd.js.map +1 -1
  190. package/package.json +1 -1
  191. package/src/swaps-lib/external-apis/goexmeSwapProvider.js +15 -44
  192. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/createSwap.test.js +0 -7
  193. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/getSwapInfo.test.js +0 -15
  194. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/PairSupport.int.test.js +1 -30
  195. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/_fetchSupportedCurrenciesIfNeeded.int.test.js +0 -28
  196. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/createSwap.int.test.js +0 -1
  197. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/getSwapInfo.int.test.js +0 -1
  198. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/_ensurePairsLoaded.test.js +0 -77
@@ -10701,21 +10701,11 @@ class GoexmeSwapProvider extends SwapProvider {
10701
10701
  validateStatus: s => [200, 400, 404].includes(s)
10702
10702
  };
10703
10703
  this.COINS_EXPIRATION_TIME_MS = 5 * 60 * 1000;
10704
- this.PAIRS_EXPIRATION_TIME_MS = 5 * 60 * 1000;
10705
10704
  this.SWAP_EXPIRATION_TIME_MS = 4 * 60 * 60 * 1000;
10706
- this._pairsCache = null;
10707
- this._pairsCacheTimestamp = 0;
10708
10705
  }
10709
10706
  getSwapCreationInfoTtlMs() {
10710
10707
  return 30000;
10711
10708
  }
10712
- _isPairSupported(fromInfo, toInfo) {
10713
- if (!this._pairsCache || !this._pairsCache[fromInfo.code]) return false;
10714
- const toSet = this._pairsCache[fromInfo.code];
10715
- /* GoExme may list either the raw provider code **or**
10716
- * the “pretty” Rabbit ticker in `/pairs`, so we test both. */
10717
- return toSet.has(toInfo.code) || toSet.has(toInfo.coin.ticker);
10718
- }
10719
10709
  _findInfoByTicker(ticker) {
10720
10710
  return this._supportedCoins.find(i => i.coin.ticker === ticker) || null;
10721
10711
  }
@@ -10763,24 +10753,6 @@ class GoexmeSwapProvider extends SwapProvider {
10763
10753
  // extraIdName (only if needed)
10764
10754
  0, FALLBACK_ASSET_ICON_URL, true, true, null, true);
10765
10755
  }
10766
- async _ensurePairsLoaded() {
10767
- const loggerSource = "Goexme._ensurePairsLoaded";
10768
- try {
10769
- if (this._pairsCache && Date.now() - this._pairsCacheTimestamp < this.PAIRS_EXPIRATION_TIME_MS) return;
10770
- const response = await axios.get(`${this._URL}/pairs`, _extends({}, this.axiosPreset, createRobustTimeoutSetupForAxios(), {
10771
- params: {
10772
- key: this._apiKey
10773
- }
10774
- }));
10775
- if (response.status !== 200 || typeof response.data !== "object") {
10776
- throw new Error("Failed to load /pairs");
10777
- }
10778
- this._pairsCache = Object.fromEntries(Object.entries(response.data).map(([from, arr]) => [from.toUpperCase(), new Set(arr.map(v => v.toUpperCase()))]));
10779
- this._pairsCacheTimestamp = Date.now();
10780
- } catch (e) {
10781
- improveAndRethrow(e, loggerSource);
10782
- }
10783
- }
10784
10756
  _mapGoexmeStatus(status) {
10785
10757
  switch (status) {
10786
10758
  case "new":
@@ -10832,10 +10804,9 @@ class GoexmeSwapProvider extends SwapProvider {
10832
10804
  if (amountIsToReceive) throw new Error("amountIsToReceive is not supported by GoExme");
10833
10805
  if (!(fromCoin instanceof Coin) || !(toCoin instanceof Coin) || BigNumber$1(amountCoins).lte(0)) throw new Error("Invalid params for getSwapInfo");
10834
10806
  await this._fetchSupportedCurrenciesIfNeeded();
10835
- await this._ensurePairsLoaded();
10836
10807
  const fromCoinInfo = this._findInfoByTicker(fromCoin.ticker);
10837
10808
  const toCoinInfo = this._findInfoByTicker(toCoin.ticker);
10838
- if (!fromCoinInfo || !toCoinInfo || !this._isPairSupported(fromCoinInfo, toCoinInfo)) {
10809
+ if (!fromCoinInfo || !toCoinInfo) {
10839
10810
  return {
10840
10811
  result: false,
10841
10812
  reason: SwapProvider.NO_SWAPS_REASONS.NOT_SUPPORTED
@@ -10877,6 +10848,12 @@ class GoexmeSwapProvider extends SwapProvider {
10877
10848
  greatestMax: pairMax
10878
10849
  };
10879
10850
  }
10851
+ if (response.data.rate == null || BigNumber$1(response.data.rate).isNaN() || BigNumber$1(response.data.rate).lte(0)) {
10852
+ return {
10853
+ result: false,
10854
+ reason: SwapProvider.NO_SWAPS_REASONS.NOT_SUPPORTED
10855
+ };
10856
+ }
10880
10857
 
10881
10858
  // Convert amountTo → ratio so that downstream code can do amountFrom * rate === amountTo
10882
10859
  let rateRatio = null;
@@ -10943,7 +10920,7 @@ class GoexmeSwapProvider extends SwapProvider {
10943
10920
  await this._fetchSupportedCurrenciesIfNeeded();
10944
10921
  const fromCoinInfo = this._findInfoByTicker(fromCoin.ticker);
10945
10922
  const toCoinInfo = this._findInfoByTicker(toCoin.ticker);
10946
- if (!fromCoinInfo || !toCoinInfo || !this._isPairSupported(fromCoinInfo, toCoinInfo)) {
10923
+ if (!fromCoinInfo || !toCoinInfo) {
10947
10924
  throw new Error(`Unsupported pair ${fromCoin.ticker} -> ${toCoin.ticker}`);
10948
10925
  }
10949
10926
  this._validateCreateSwapParams(fromCoin, toCoin, amount, toAddress, refundAddress, fixed, toCurrencyExtraId, refundExtraId, amountIsToReceive, fromCoinInfo, toCoinInfo);