@rabbitio/ui-kit 1.0.0-beta.111 → 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 (204) hide show
  1. package/.env +1 -0
  2. package/.env.example +1 -1
  3. package/coverage/clover.xml +1686 -1723
  4. package/coverage/coverage-final.json +118 -118
  5. package/coverage/index.html +86 -86
  6. package/coverage/{rabbit-ui-kit → ui-kit}/index.html +3 -3
  7. package/coverage/{rabbit-ui-kit → ui-kit}/index.js.html +3 -3
  8. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +3 -3
  9. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/analyticsAdapters/index.html +3 -3
  10. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +3 -3
  11. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +3 -3
  12. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/axiosAdapter.js.html +3 -3
  13. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/index.html +3 -3
  14. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/adapters/qrUtils.js.html +3 -3
  15. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/external-apis/apiGroups.js.html +3 -3
  16. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/external-apis/emailAPI.js.html +3 -3
  17. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/external-apis/index.html +3 -3
  18. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/external-apis/ipAddressProviders.js.html +3 -3
  19. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/globalConstants.jsx.html +3 -3
  20. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/index.html +3 -3
  21. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/models/blockchain.js.html +6 -6
  22. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/models/coin.js.html +223 -223
  23. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/models/index.html +3 -3
  24. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/models/protocol.js.html +5 -5
  25. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/services/fiatCurrenciesService.js.html +3 -3
  26. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/services/index.html +3 -3
  27. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/amountUtils.js.html +51 -51
  28. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/cache.js.html +8 -8
  29. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/errorUtils.js.html +15 -15
  30. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/index.html +3 -3
  31. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/logging/index.html +3 -3
  32. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/logging/logger.js.html +24 -24
  33. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/logging/logsStorage.js.html +5 -5
  34. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/postponeExecution.js.html +3 -3
  35. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/rabbitTicker.js.html +12 -12
  36. package/coverage/{rabbit-ui-kit → ui-kit}/src/common-apis/utils/safeStringify.js.html +29 -29
  37. package/coverage/{rabbit-ui-kit → ui-kit}/src/index.html +3 -3
  38. package/coverage/{rabbit-ui-kit → ui-kit}/src/index.js.html +3 -3
  39. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +3 -3
  40. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +3 -3
  41. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/cancelProcessing.js.html +3 -3
  42. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +3 -3
  43. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/externalApiProvider.js.html +3 -3
  44. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/externalServicesStatsCollector.js.html +3 -3
  45. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/index.html +3 -3
  46. package/coverage/{rabbit-ui-kit → ui-kit}/src/robust-api-caller/robustExternalAPICallerService.js.html +14 -14
  47. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/exolixSwapProvider.js.html +3 -3
  48. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/goexmeSwapProvider.js.html +566 -677
  49. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/index.html +29 -29
  50. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +3 -3
  51. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/swapProvider.js.html +349 -349
  52. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +3 -3
  53. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/external-apis/utils.js.html +16 -16
  54. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/baseSwapCreationInfo.js.html +3 -3
  55. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/existingSwap.js.html +143 -143
  56. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/existingSwapWithFiatData.js.html +103 -103
  57. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/index.html +16 -16
  58. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/partner.js.html +3 -3
  59. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/models/swapProviderCoinInfo.js.html +75 -75
  60. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/services/index.html +3 -3
  61. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/services/publicSwapService.js.html +3 -3
  62. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/utils/index.html +3 -3
  63. package/coverage/{rabbit-ui-kit → ui-kit}/src/swaps-lib/utils/swapUtils.js.html +3 -3
  64. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +3 -3
  65. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +3 -3
  66. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +3 -3
  67. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +3 -3
  68. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +3 -3
  69. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +3 -3
  70. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/index.html +3 -3
  71. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +3 -3
  72. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +3 -3
  73. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +3 -3
  74. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +3 -3
  75. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +3 -3
  76. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +3 -3
  77. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +3 -3
  78. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/AssetIcon/index.html +3 -3
  79. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +3 -3
  80. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/AssetSelection/index.html +3 -3
  81. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +3 -3
  82. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/BackgroundTitle/index.html +3 -3
  83. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +3 -3
  84. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/InformationMessage/index.html +3 -3
  85. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Input/Input.jsx.html +3 -3
  86. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Input/index.html +3 -3
  87. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +3 -3
  88. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/LoadingDots/index.html +3 -3
  89. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +3 -3
  90. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/NoticeIcon/index.html +3 -3
  91. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +3 -3
  92. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/QrCode/index.html +3 -3
  93. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +3 -3
  94. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/RateSelector/index.html +3 -3
  95. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +3 -3
  96. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/SupportChat/index.html +3 -3
  97. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +3 -3
  98. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Textarea/index.html +3 -3
  99. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +3 -3
  100. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/TitleBox/index.html +3 -3
  101. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +3 -3
  102. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Tooltip/index.html +3 -3
  103. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +3 -3
  104. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/TwoLinesOfText/index.html +3 -3
  105. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Validation/Validation.jsx.html +3 -3
  106. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/Validation/index.html +3 -3
  107. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +3 -3
  108. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/Button/index.html +3 -3
  109. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +3 -3
  110. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/Close/index.html +3 -3
  111. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +3 -3
  112. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/LinkButton/index.html +3 -3
  113. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +3 -3
  114. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +3 -3
  115. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +3 -3
  116. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/AmountInput/index.html +3 -3
  117. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +3 -3
  118. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/CoinPicker/index.html +3 -3
  119. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +3 -3
  120. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/ColoredNotice/index.html +3 -3
  121. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +3 -3
  122. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/LineWithIconLink/index.html +3 -3
  123. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +3 -3
  124. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/LogoCarousel/index.html +3 -3
  125. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +3 -3
  126. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/SearchableCoinsList/index.html +3 -3
  127. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +3 -3
  128. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +3 -3
  129. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +3 -3
  130. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +3 -3
  131. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +3 -3
  132. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +3 -3
  133. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +3 -3
  134. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +3 -3
  135. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +3 -3
  136. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/Dialog/index.html +3 -3
  137. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +3 -3
  138. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/SwapForm/index.html +3 -3
  139. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +3 -3
  140. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/organisms/WaitlistSubscription/index.html +3 -3
  141. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +3 -3
  142. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +3 -3
  143. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/hooks/index.html +3 -3
  144. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/hooks/useCallHandlingErrors.js.html +3 -3
  145. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/hooks/useIsHydrated.js.html +3 -3
  146. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/hooks/useReferredState.js.html +3 -3
  147. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/utils/index.html +3 -3
  148. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/utils/inputValueProviders.js.html +3 -3
  149. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/utils/searchCoins.js.html +3 -3
  150. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/utils/textUtils.js.html +3 -3
  151. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/utils/uiUtils.js.html +3 -3
  152. package/coverage/{rabbit-ui-kit → ui-kit}/src/ui-kit/utils/urlQueryUtils.js.html +3 -3
  153. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/BackgroundTitle.stories.jsx.html +3 -3
  154. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/LinesOfText.stories.jsx.html +3 -3
  155. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/LoadingDots.stories.jsx.html +3 -3
  156. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/QrCode.stories.jsx.html +3 -3
  157. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/RateSelector.stories.jsx.html +3 -3
  158. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/Validation.stories.jsx.html +3 -3
  159. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/Button.stories.jsx.html +3 -3
  160. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/Close.stories.jsx.html +3 -3
  161. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/LinkButton.stories.jsx.html +3 -3
  162. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/buttons/index.html +3 -3
  163. package/coverage/{rabbit-ui-kit → ui-kit}/stories/atoms/index.html +3 -3
  164. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/AmountInput.stories.jsx.html +3 -3
  165. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/CoinPicker.stories.jsx.html +3 -3
  166. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/ColoredNotice.stories.jsx.html +3 -3
  167. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/LineWithIconLink.stories.jsx.html +3 -3
  168. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/LogoCarousel.stories.jsx.html +3 -3
  169. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/TitledLineWithIconLink.stories.jsx.html +3 -3
  170. package/coverage/{rabbit-ui-kit → ui-kit}/stories/molecules/index.html +3 -3
  171. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/Dialog.stories.jsx.html +3 -3
  172. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +3 -3
  173. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogButtons/index.html +3 -3
  174. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +3 -3
  175. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/DialogStep/index.html +3 -3
  176. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/Dialog/index.html +3 -3
  177. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/WaitlistSubscription.stories.jsx.html +3 -3
  178. package/coverage/{rabbit-ui-kit → ui-kit}/stories/organisms/index.html +3 -3
  179. package/coverage/{rabbit-ui-kit → ui-kit}/stories/stubs/coins.jsx.html +3 -3
  180. package/coverage/{rabbit-ui-kit → ui-kit}/stories/stubs/exampleContent.jsx.html +3 -3
  181. package/coverage/{rabbit-ui-kit → ui-kit}/stories/stubs/index.html +3 -3
  182. package/coverage/{rabbit-ui-kit → ui-kit}/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +3 -3
  183. package/coverage/{rabbit-ui-kit → ui-kit}/stories/templates/index.html +3 -3
  184. package/dist/index.cjs +120 -169
  185. package/dist/index.cjs.map +1 -1
  186. package/dist/index.modern.js +36 -71
  187. package/dist/index.modern.js.map +1 -1
  188. package/dist/index.module.js +120 -169
  189. package/dist/index.module.js.map +1 -1
  190. package/dist/index.umd.js +120 -169
  191. package/dist/index.umd.js.map +1 -1
  192. package/package.json +1 -1
  193. package/src/swaps-lib/external-apis/goexmeSwapProvider.js +40 -77
  194. package/src/swaps-lib/models/existingSwap.js +1 -1
  195. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/_convertCurrencyMeta.test.js +80 -0
  196. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/_fetchSupportedCurrenciesIfNeeded.test.js +50 -123
  197. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/createSwap.test.js +177 -72
  198. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/getExistingSwapsDetailsAndStatus.test.js +151 -0
  199. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/getSwapInfo.test.js +140 -104
  200. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/helpers.test.js +26 -0
  201. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/PairSupport.int.test.js +31 -60
  202. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/_fetchSupportedCurrenciesIfNeeded.int.test.js +261 -126
  203. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/createSwap.int.test.js +319 -225
  204. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/getSwapInfo.int.test.js +137 -127
@@ -1,141 +1,151 @@
1
1
  import "dotenv/config";
2
- import { describe, it, beforeEach, afterEach, expect, vi } from "vitest";
2
+ import sinon from "sinon";
3
+ import should from "should";
4
+ import { describe, it, beforeEach, afterEach } from "vitest";
3
5
  import axios from "axios";
4
6
  import BigNumber from "bignumber.js";
7
+
5
8
  import { Cache } from "../../../../../common-apis/utils/cache.js";
6
9
  import { GoexmeSwapProvider } from "../../../../external-apis/goexmeSwapProvider.js";
7
10
 
8
11
  const GOEXME_API_KEY = process.env.GOEXME_API_KEY?.trim?.() || "";
9
12
  const maybeDescribe = GOEXME_API_KEY ? describe : describe.skip;
10
13
 
11
- maybeDescribe("GoexmeSwapProvider#getSwapInfo – live integration", () => {
12
- let provider;
13
- const axiosOriginalGet = axios.get;
14
-
15
- beforeEach(async () => {
16
- provider = new GoexmeSwapProvider("/", new Cache(), () => null, false, GOEXME_API_KEY);
17
- await provider._fetchSupportedCurrenciesIfNeeded();
18
- await provider._ensurePairsLoaded();
19
- });
20
-
21
- afterEach(() => {
22
- axios.get = axiosOriginalGet;
23
- });
24
-
25
- const byCode = code => provider._supportedCoins.find(c => c.code === code)?.coin || null;
26
- const pickAmount = async (from, to, fallback) => {
27
- const info = await provider.getSwapInfo(from, to, fallback);
28
- if (info.result) return fallback;
29
- if (info.reason === provider.constructor.NO_SWAPS_REASONS.TOO_LOW && info.smallestMin) {
30
- return new BigNumber(info.smallestMin).times(1.1).toFixed(from.digits);
31
- }
32
- throw new Error();
33
- };
34
-
35
- it("happy path BTC ETH", async () => {
36
- const BTC = byCode("BTC");
37
- const ETH = byCode("ETH");
38
- const amount = await pickAmount(BTC, ETH, "0.001");
39
- const info = await provider.getSwapInfo(BTC, ETH, amount);
40
- expect(info.result).toBe(true);
41
- expect(parseFloat(info.rate)).toBeGreaterThan(0);
42
- expect(Number(info.min)).toBeLessThanOrEqual(Number(amount));
43
- expect(Number(info.max)).toBeGreaterThan(Number(amount));
44
- });
45
-
46
- it("pair not supported JOE → TRX", async () => {
47
- const JOE = byCode("JOE");
48
- const TRX = byCode("TRX");
49
- if (!JOE || !TRX) return;
50
- const info = await provider.getSwapInfo(JOE, TRX, "50");
51
- expect(info.result).toBe(false);
52
- expect(info.reason).toBe(provider.constructor.NO_SWAPS_REASONS.NOT_SUPPORTED);
53
- });
54
-
55
- it("too low amount", async () => {
56
- const BTC = byCode("BTC");
57
- const ETH = byCode("ETH");
58
- const minInfo = await provider.getSwapInfo(BTC, ETH, "0.001");
59
- const low = new BigNumber(minInfo.min || "0.0001").div(10).toFixed(BTC.digits);
60
- const info = await provider.getSwapInfo(BTC, ETH, low);
61
- expect(info.result).toBe(false);
62
- expect(info.reason).toBe(provider.constructor.NO_SWAPS_REASONS.TOO_LOW);
63
- });
64
-
65
- it("too high amount", async () => {
66
- const BTC = byCode("BTC");
67
- const ETH = byCode("ETH");
68
- const base = await provider.getSwapInfo(BTC, ETH, "0.001");
69
- const high = new BigNumber(base.max || "1").times(50).toFixed(BTC.digits);
70
- const info = await provider.getSwapInfo(BTC, ETH, high);
71
- expect(info.result).toBe(false);
72
- expect(info.reason).toBe(provider.constructor.NO_SWAPS_REASONS.TOO_HIGH);
73
- });
74
-
75
- it("rate limit", async () => {
76
- axios.get = vi.fn((url, cfg) =>
77
- url.endsWith("/rate") ? Promise.reject({ response: { status: 429 } }) : axiosOriginalGet(url, cfg)
78
- );
79
- const BTC = byCode("BTC");
80
- const ETH = byCode("ETH");
81
- const info = await provider.getSwapInfo(BTC, ETH, "0.1");
82
- expect(info.result).toBe(false);
83
- expect(info.reason).toBe(provider.constructor.COMMON_ERRORS.REQUESTS_LIMIT_EXCEEDED);
84
- });
85
-
86
- it("amount param equals passed amount when amountIsToReceive=false", async () => {
87
- let captured = null;
88
- axios.get = async (url, cfg = {}) => {
89
- if (url.endsWith("/rate")) captured = cfg.params.amount;
90
- return axiosOriginalGet(url, cfg);
91
- };
92
- const BTC = byCode("BTC");
93
- const ETH = byCode("ETH");
94
- await provider.getSwapInfo(BTC, ETH, "0.5");
95
- expect(captured).toBe("0.5");
96
- });
97
-
98
- it("includes fix=true when fixed quote requested", async () => {
99
- let captured = null;
100
- axios.get = async (url, cfg = {}) => {
101
- if (url.endsWith("/rate")) captured = cfg.params.fix;
102
- return axiosOriginalGet(url, cfg);
14
+ maybeDescribe("external-apis/goexmeSwapProvider integration", function () {
15
+ describe("getSwapInfo (live)", function () {
16
+ let provider;
17
+ let axiosOriginalGet;
18
+
19
+ beforeEach(async function () {
20
+ provider = new GoexmeSwapProvider("/", new Cache(), () => null, false, GOEXME_API_KEY);
21
+ await provider._fetchSupportedCurrenciesIfNeeded();
22
+ axiosOriginalGet = axios.get;
23
+ });
24
+
25
+ afterEach(function () {
26
+ if (axios.get.restore) {
27
+ axios.get.restore();
28
+ } else {
29
+ axios.get = axiosOriginalGet;
30
+ }
31
+ });
32
+
33
+ const getCoinByCode = code => provider._supportedCoins.find(c => c.code === code)?.coin || null;
34
+
35
+ const pickValidAmount = async (fromCoin, toCoin, fallbackAmount) => {
36
+ const info = await provider.getSwapInfo(fromCoin, toCoin, fallbackAmount);
37
+ if (info.result) return fallbackAmount;
38
+ if (info.reason === provider.constructor.NO_SWAPS_REASONS.TOO_LOW && info.smallestMin) {
39
+ return new BigNumber(info.smallestMin).times(1.1).toFixed(fromCoin.digits);
40
+ }
41
+ throw new Error();
103
42
  };
104
- const BTC = byCode("BTC");
105
- const ETH = byCode("ETH");
106
- await provider.getSwapInfo(BTC, ETH, "0.2", true);
107
- expect(captured).toBe(true);
108
- });
109
-
110
- it("handles duplicated tickers", async () => {
111
- const DUP = byCode("USDTTRC20TRC20");
112
- const BTC = byCode("BTC");
113
- if (!DUP) return;
114
- const info = await provider.getSwapInfo(DUP, BTC, "50");
115
- expect(info.result).toBe(true);
116
- });
117
43
 
118
- it("validates hasExtraId and extraIdName for every allowed coin", async () => {
119
- // Fetch raw currencies directly from GoExme to compare against adapter output
120
- const raw = await axiosOriginalGet(`${provider._URL}/currencies`, {
121
- params: { key: GOEXME_API_KEY },
122
- }).then(r => r.data);
123
-
124
- await provider._fetchSupportedCurrenciesIfNeeded();
125
-
126
- Object.entries(raw)
127
- .filter(([, meta]) => meta?.available === true)
128
- .forEach(([code, meta]) => {
129
- const info = provider._supportedCoins.find(c => c.code === code.toUpperCase());
130
- if (!info) return; // Coin might be filtered out by allow‑list
131
- const tagRaw = (meta.tagname ?? "").trim();
132
- const expectsExtra = tagRaw.length > 0;
133
- expect(info.hasExtraId).toBe(expectsExtra);
134
- if (expectsExtra) {
135
- expect(info.extraIdName).toBe(tagRaw);
136
- } else {
137
- expect(info.extraIdName).toBeNull();
138
- }
44
+ it("Should return valid info for BTC→ETH", async function () {
45
+ const btcCoin = getCoinByCode("BTC");
46
+ const ethCoin = getCoinByCode("ETH");
47
+ const amount = await pickValidAmount(btcCoin, ethCoin, "0.001");
48
+ const info = await provider.getSwapInfo(btcCoin, ethCoin, amount);
49
+ info.result.should.be.true();
50
+ parseFloat(info.rate).should.be.above(0);
51
+ (Number(info.min) <= Number(amount)).should.be.true();
52
+ (Number(info.max) > Number(amount)).should.be.true();
53
+ });
54
+
55
+ it("Should report NOT_SUPPORTED for unsupported pair JOE→TRX", async function () {
56
+ const joeCoin = getCoinByCode("JOE");
57
+ const trxCoin = getCoinByCode("TRX");
58
+ if (!joeCoin || !trxCoin) return;
59
+ const info = await provider.getSwapInfo(joeCoin, trxCoin, "50");
60
+ info.result.should.be.false();
61
+ info.reason.should.equal(provider.constructor.NO_SWAPS_REASONS.NOT_SUPPORTED);
62
+ });
63
+
64
+ it("Should return TOO_LOW for amounts below minimum", async function () {
65
+ const btcCoin = getCoinByCode("BTC");
66
+ const ethCoin = getCoinByCode("ETH");
67
+ const minInfo = await provider.getSwapInfo(btcCoin, ethCoin, "0.001");
68
+ const lowAmount = new BigNumber(minInfo.min || "0.0001").div(10).toFixed(btcCoin.digits);
69
+ const info = await provider.getSwapInfo(btcCoin, ethCoin, lowAmount);
70
+ info.result.should.be.false();
71
+ info.reason.should.equal(provider.constructor.NO_SWAPS_REASONS.TOO_LOW);
72
+ });
73
+
74
+ it("Should return TOO_HIGH for amounts above maximum", async function () {
75
+ const btcCoin = getCoinByCode("BTC");
76
+ const ethCoin = getCoinByCode("ETH");
77
+ const base = await provider.getSwapInfo(btcCoin, ethCoin, "0.001");
78
+ const highAmount = new BigNumber(base.max || "1").times(50).toFixed(btcCoin.digits);
79
+ const info = await provider.getSwapInfo(btcCoin, ethCoin, highAmount);
80
+ info.result.should.be.false();
81
+ info.reason.should.equal(provider.constructor.NO_SWAPS_REASONS.TOO_HIGH);
82
+ });
83
+
84
+ it("Should map HTTP 429 to REQUESTS_LIMIT_EXCEEDED", async function () {
85
+ sinon.stub(axios, "get").callsFake((url, cfg) => {
86
+ if (url.endsWith("/rate")) return Promise.reject({ response: { status: 429 } });
87
+ return axiosOriginalGet(url, cfg);
88
+ });
89
+ const btcCoin = getCoinByCode("BTC");
90
+ const ethCoin = getCoinByCode("ETH");
91
+ const info = await provider.getSwapInfo(btcCoin, ethCoin, "0.1");
92
+ info.result.should.be.false();
93
+ info.reason.should.equal(provider.constructor.COMMON_ERRORS.REQUESTS_LIMIT_EXCEEDED);
94
+ });
95
+
96
+ it("Should send amount param equal to passed amount when amountIsToReceive=false", async function () {
97
+ let capturedAmount = null;
98
+ sinon.stub(axios, "get").callsFake((url, cfg = {}) => {
99
+ if (url.endsWith("/rate")) capturedAmount = cfg.params.amount;
100
+ return axiosOriginalGet(url, cfg);
101
+ });
102
+ const btcCoin = getCoinByCode("BTC");
103
+ const ethCoin = getCoinByCode("ETH");
104
+ await provider.getSwapInfo(btcCoin, ethCoin, "0.5");
105
+ capturedAmount.should.equal("0.5");
106
+ });
107
+
108
+ it("Should return NOT_SUPPORTED when /rate responds with status 400", async function () {
109
+ sinon.stub(axios, "get").callsFake((url, cfg = {}) => {
110
+ if (url.endsWith("/rate")) return Promise.resolve({ status: 400, data: {} });
111
+ return axiosOriginalGet(url, cfg);
139
112
  });
113
+ const btcCoin = getCoinByCode("BTC");
114
+ const ethCoin = getCoinByCode("ETH");
115
+ const info = await provider.getSwapInfo(btcCoin, ethCoin, "0.3");
116
+ info.result.should.be.false();
117
+ info.reason.should.equal(provider.constructor.NO_SWAPS_REASONS.NOT_SUPPORTED);
118
+ });
119
+
120
+ it("Should handle duplicated tickers", async function () {
121
+ const dupCoin = getCoinByCode("USDTTRC20TRC20");
122
+ const btcCoin = getCoinByCode("BTC");
123
+ if (!dupCoin) return;
124
+ const info = await provider.getSwapInfo(dupCoin, btcCoin, "50");
125
+ info.result.should.be.true();
126
+ });
127
+
128
+ it("Should validate hasExtraId and extraIdName for every allowed coin", async function () {
129
+ const rawData = await axiosOriginalGet(`${provider._URL}/currencies`, {
130
+ params: { key: GOEXME_API_KEY },
131
+ }).then(r => r.data);
132
+
133
+ await provider._fetchSupportedCurrenciesIfNeeded();
134
+
135
+ Object.entries(rawData)
136
+ .filter(([, meta]) => meta?.available === true)
137
+ .forEach(([code, meta]) => {
138
+ const coinInfo = provider._supportedCoins.find(c => c.code === code.toUpperCase());
139
+ if (!coinInfo) return;
140
+ const tagRaw = (meta.tagname ?? "").trim();
141
+ const expectsExtra = tagRaw.length > 0;
142
+ coinInfo.hasExtraId.should.equal(expectsExtra);
143
+ if (expectsExtra) {
144
+ coinInfo.extraIdName.should.equal(tagRaw);
145
+ } else {
146
+ should(coinInfo.extraIdName).be.null();
147
+ }
148
+ });
149
+ });
140
150
  });
141
151
  });