@rabbitio/ui-kit 1.0.0-beta.124 → 1.0.0-beta.125

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 (209) hide show
  1. package/coverage/clover.xml +181 -181
  2. package/coverage/coverage-final.json +7 -7
  3. package/coverage/index.html +14 -14
  4. package/coverage/rabbit-ui-kit/index.html +1 -1
  5. package/coverage/rabbit-ui-kit/index.js.html +1 -1
  6. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
  7. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
  8. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +1 -1
  9. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
  10. package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
  11. package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +1 -1
  12. package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
  13. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
  14. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/emailAPI.js.html +1 -1
  15. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +1 -1
  16. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
  17. package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
  18. package/coverage/rabbit-ui-kit/src/common-apis/index.html +1 -1
  19. package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +1 -1
  20. package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +1 -1
  21. package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +1 -1
  22. package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +1 -1
  23. package/coverage/rabbit-ui-kit/src/common-apis/services/fiatCurrenciesService.js.html +1 -1
  24. package/coverage/rabbit-ui-kit/src/common-apis/services/index.html +1 -1
  25. package/coverage/rabbit-ui-kit/src/common-apis/utils/amountUtils.js.html +1 -1
  26. package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +6 -6
  27. package/coverage/rabbit-ui-kit/src/common-apis/utils/emailUtils.js.html +1 -1
  28. package/coverage/rabbit-ui-kit/src/common-apis/utils/errorUtils.js.html +1 -1
  29. package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +1 -1
  30. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +1 -1
  31. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +5 -5
  32. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +3 -3
  33. package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
  34. package/coverage/rabbit-ui-kit/src/common-apis/utils/rabbitTicker.js.html +1 -1
  35. package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +1 -1
  36. package/coverage/rabbit-ui-kit/src/index.html +1 -1
  37. package/coverage/rabbit-ui-kit/src/index.js.html +1 -1
  38. package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
  39. package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
  40. package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
  41. package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
  42. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
  43. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
  44. package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +1 -1
  45. package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
  46. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/changeHeroSwapProvider.js.html +1 -1
  47. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/changeNowSwapProvider.js.html +1 -1
  48. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/exolixSwapProvider.js.html +4 -4
  49. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/goexmeSwapProvider.js.html +1 -1
  50. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +18 -18
  51. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1 -1
  52. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/retriableErrorsUtils.js.html +1 -1
  53. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +36 -36
  54. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +128 -128
  55. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/utils.js.html +14 -14
  56. package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  57. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  58. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  59. package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +1 -1
  60. package/coverage/rabbit-ui-kit/src/swaps-lib/models/partner.js.html +1 -1
  61. package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +1 -1
  62. package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +1 -1
  63. package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  64. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
  65. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  66. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  67. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  68. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  69. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  70. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
  71. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  72. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
  73. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
  74. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
  75. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  76. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  77. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
  78. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
  79. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  80. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
  81. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  82. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
  83. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  84. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
  85. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  86. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
  87. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
  88. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
  89. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  90. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
  91. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  92. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
  93. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +1 -1
  94. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
  95. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
  96. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
  97. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  98. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
  99. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
  100. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
  101. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  102. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
  103. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  104. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
  105. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  106. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
  107. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
  108. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
  109. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
  110. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
  111. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
  112. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
  113. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  114. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
  115. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  116. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  117. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
  118. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
  119. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
  120. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
  121. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
  122. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
  123. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  124. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
  125. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +1 -1
  126. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +1 -1
  127. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
  128. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
  129. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  130. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
  131. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  132. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
  133. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
  134. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  135. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
  136. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
  137. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
  138. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
  139. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +1 -1
  140. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +1 -1
  141. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
  142. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
  143. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  144. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  145. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +1 -1
  146. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
  147. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
  148. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
  149. package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +1 -1
  150. package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
  151. package/coverage/rabbit-ui-kit/src/ui-kit/utils/searchCoins.js.html +1 -1
  152. package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
  153. package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
  154. package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
  155. package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  156. package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  157. package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  158. package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  159. package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
  160. package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  161. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  162. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  163. package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  164. package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +1 -1
  165. package/coverage/rabbit-ui-kit/stories/atoms/index.html +1 -1
  166. package/coverage/rabbit-ui-kit/stories/molecules/AmountInput.stories.jsx.html +1 -1
  167. package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
  168. package/coverage/rabbit-ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
  169. package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  170. package/coverage/rabbit-ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
  171. package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  172. package/coverage/rabbit-ui-kit/stories/molecules/index.html +1 -1
  173. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  174. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  175. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  176. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  177. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  178. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +1 -1
  179. package/coverage/rabbit-ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
  180. package/coverage/rabbit-ui-kit/stories/organisms/index.html +1 -1
  181. package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +1 -1
  182. package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  183. package/coverage/rabbit-ui-kit/stories/stubs/index.html +1 -1
  184. package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  185. package/coverage/rabbit-ui-kit/stories/templates/index.html +1 -1
  186. package/dist/index.cjs +1 -1
  187. package/dist/index.cjs.map +1 -1
  188. package/dist/index.modern.js +1 -1
  189. package/dist/index.modern.js.map +1 -1
  190. package/dist/index.module.js +1 -1
  191. package/dist/index.module.js.map +1 -1
  192. package/dist/index.umd.js +1 -1
  193. package/dist/index.umd.js.map +1 -1
  194. package/docker-compose.loadtest.yml +64 -0
  195. package/package.json +1 -1
  196. package/src/swaps-lib/external-apis/exolixSwapProvider.js +1 -1
  197. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/PairSupport.int.test.js +4 -1
  198. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +42 -0
  199. package/tools/rate-limits-tester/Dockerfile.loadtest +18 -0
  200. package/tools/rate-limits-tester/docker-compose.loadtest.yml +65 -0
  201. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-changehero-2026-03-10T14-57-24-907Z.json +572 -0
  202. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-changenow-2026-03-10T15-30-53-033Z.json +572 -0
  203. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-exolix-2026-03-10T13-49-07-452Z.json +518 -0
  204. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-letsexchange-2026-03-10T14-26-27-034Z.json +572 -0
  205. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-05T23-05-54-995Z.json +140 -0
  206. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T10-59-26-699Z.json +83 -0
  207. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T11-19-31-962Z.json +121 -0
  208. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T12-35-39-529Z.json +21 -0
  209. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T13-00-46-343Z.json +115 -0
@@ -0,0 +1,64 @@
1
+ name: rabbit-loadtest
2
+
3
+ x-loadtest-base: &loadtest-base
4
+ image: node:20
5
+ restart: "no"
6
+ working_dir: /work
7
+ volumes:
8
+ - /root/ui-kit:/work
9
+ env_file:
10
+ - /root/ui-kit/.env.loadtest
11
+ command: >
12
+ bash -lc '
13
+ set -euo pipefail
14
+ RUN_ID=$${RUN_ID:-run-unknown}
15
+ mkdir -p /work/tools/rate-limits-tester/logs /work/tools/rate-limits-tester/reports
16
+ LOG_FILE=/work/tools/rate-limits-tester/logs/$${PARTNER_ID}-$${RUN_ID}.log
17
+ touch "$${LOG_FILE}"
18
+ exec >>"$${LOG_FILE}" 2>&1
19
+
20
+ echo "[INFO] container_started partner=$${PARTNER_ID} run_id=$${RUN_ID}"
21
+
22
+ SCRIPT_PATH=/work/src/swaps-lib/external-apis/load-test/loadTestForProviders.js
23
+ if [ ! -f "$${SCRIPT_PATH}" ]; then
24
+ SCRIPT_PATH="$$(find /work -type f -name loadTestForProviders.js | head -n 1 || true)"
25
+ fi
26
+
27
+ if [ -z "$${SCRIPT_PATH}" ] || [ ! -f "$${SCRIPT_PATH}" ]; then
28
+ echo "[ERROR] loadTestForProviders.js_not_found_under_/work"
29
+ ls -la /work
30
+ exit 1
31
+ fi
32
+ echo "[INFO] script_path=$${SCRIPT_PATH}"
33
+
34
+ TMP_BUNDLE=/tmp/loadTestForProviders-$${PARTNER_ID}.cjs
35
+ npx -y esbuild "$${SCRIPT_PATH}" --bundle --platform=node --format=cjs --target=node20 --outfile="$${TMP_BUNDLE}"
36
+ echo "[INFO] bundle_ready path=$${TMP_BUNDLE}"
37
+
38
+ node "$${TMP_BUNDLE}"
39
+ '
40
+
41
+ services:
42
+ loadtest-exolix:
43
+ <<: *loadtest-base
44
+ container_name: lt-exolix
45
+ environment:
46
+ PARTNER_ID: exolix
47
+
48
+ loadtest-changenow:
49
+ <<: *loadtest-base
50
+ container_name: lt-changenow
51
+ environment:
52
+ PARTNER_ID: changenow
53
+
54
+ loadtest-changehero:
55
+ <<: *loadtest-base
56
+ container_name: lt-changehero
57
+ environment:
58
+ PARTNER_ID: changehero
59
+
60
+ loadtest-letsexchange:
61
+ <<: *loadtest-base
62
+ container_name: lt-letsexchange
63
+ environment:
64
+ PARTNER_ID: letsexchange
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rabbitio/ui-kit",
3
- "version": "1.0.0-beta.124",
3
+ "version": "1.0.0-beta.125",
4
4
  "description": "Rabbit.io react.js components kit",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -286,7 +286,7 @@ export class ExolixSwapProvider extends SwapProvider {
286
286
  );
287
287
  if (returnObject) return returnObject;
288
288
 
289
- if (min && max & BigNumber(max).lt(min)) {
289
+ if (min && max && BigNumber(max).lt(min)) {
290
290
  Logger.log(
291
291
  `Exolix swap info failed, max limit is below the min one. ${safeStringify(response)}`,
292
292
  loggerSource
@@ -29,6 +29,7 @@ const ALLOWED_RABBIT_TICKERS = [
29
29
  ];
30
30
 
31
31
  const FORBIDDEN_TICKERS = ["WELL", "VOXEL", "WOO"];
32
+ const BANNED_LIVE_PAIRS = new Set(["BTC->USDTTRC20", "ETH->BTC", "GMTSOL->BTC", "XMR->BTC"]);
32
33
 
33
34
  function checkPairSupported(response, providerInstance) {
34
35
  const { TOO_LOW, TOO_HIGH } = providerInstance.constructor.NO_SWAPS_REASONS;
@@ -46,8 +47,10 @@ maybeDescribe("external-apis/goexmeSwapProvider integration", function () {
46
47
 
47
48
  ALLOWED_RABBIT_TICKERS.forEach(fromTicker => {
48
49
  const toTicker = fromTicker === "BTC" ? "USDTTRC20" : "BTC";
50
+ const pairKey = `${fromTicker}->${toTicker}`;
51
+ const pairSupportCheck = BANNED_LIVE_PAIRS.has(pairKey) ? it.skip : it;
49
52
 
50
- it(`Should support swaps for ${fromTicker}→${toTicker}`, async function () {
53
+ pairSupportCheck(`Should support swaps for ${fromTicker}→${toTicker}`, async function () {
51
54
  const fromCoin = provider.getCoinByTickerIfPresent(fromTicker);
52
55
  const toCoin = provider.getCoinByTickerIfPresent(toTicker);
53
56
 
@@ -1739,5 +1739,47 @@ describe("swapspaceSwapProvider", function () {
1739
1739
  result.result.should.be.true();
1740
1740
  result.rawSwapData.partner.should.be.equal("partner2");
1741
1741
  });
1742
+
1743
+ it("Should pass only allowed swapspace partners in partner query parameter", async () => {
1744
+ swapspaceSwapProvider._supportedCoins = [
1745
+ { coin: BTC, code: "btc", network: "btc", deposit: true, isAvailable: true },
1746
+ { coin: ETH, code: "eth", network: "eth", withdrawal: true, isAvailable: true },
1747
+ ];
1748
+ swapspaceSwapProvider._partners = [
1749
+ { path: "easybit" },
1750
+ { path: "fixedfloat" },
1751
+ { path: "shapebtc" },
1752
+ { path: "quickex" },
1753
+ ];
1754
+ axiosGetStub.returns(Promise.resolve({ data: [] }));
1755
+
1756
+ await swapspaceSwapProvider.getSwapInfo(
1757
+ BTC,
1758
+ ETH,
1759
+ "1",
1760
+ false,
1761
+ null,
1762
+ false,
1763
+ ["quickex", "swapuz", "godex"],
1764
+ ["easybit", "fixedfloat", "shapebtc", "quickex", "bitcoinvn"]
1765
+ );
1766
+
1767
+ new URL(axiosGetStub.firstCall.args[0], "https://example.org").searchParams
1768
+ .get("partner")
1769
+ .should.be.equal("easybit,fixedfloat,shapebtc");
1770
+ });
1771
+
1772
+ it("Should not call rates endpoint when no allowed partners remain after restrictions", async () => {
1773
+ swapspaceSwapProvider._supportedCoins = [
1774
+ { coin: BTC, code: "btc", network: "btc", deposit: true, isAvailable: true },
1775
+ { coin: ETH, code: "eth", network: "eth", withdrawal: true, isAvailable: true },
1776
+ ];
1777
+ swapspaceSwapProvider._partners = [{ path: "partner1" }];
1778
+ axiosGetStub.returns(Promise.resolve({ data: [] }));
1779
+
1780
+ await swapspaceSwapProvider.getSwapInfo(BTC, ETH, "1", false, null, false, ["partner1"], ["partner1"]);
1781
+
1782
+ axiosGetStub.callCount.should.be.equal(0);
1783
+ });
1742
1784
  });
1743
1785
  });
@@ -0,0 +1,18 @@
1
+ FROM node:20-slim AS build
2
+
3
+ WORKDIR /src
4
+ COPY package.json package-lock.json ./
5
+ RUN npm ci
6
+ COPY . .
7
+ RUN npx -y esbuild ./src/swaps-lib/external-apis/load-test/loadTestForProviders.js \
8
+ --bundle \
9
+ --platform=node \
10
+ --format=cjs \
11
+ --target=node20 \
12
+ --outfile=/opt/loadtest/loadTestForProviders.cjs
13
+
14
+ FROM node:20-slim
15
+
16
+ WORKDIR /work
17
+ COPY --from=build /opt/loadtest/loadTestForProviders.cjs /opt/loadtest/loadTestForProviders.cjs
18
+ CMD ["node", "/opt/loadtest/loadTestForProviders.cjs"]
@@ -0,0 +1,65 @@
1
+ name: rabbit-loadtest
2
+
3
+ services:
4
+ loadtest-exolix:
5
+ container_name: lt-exolix
6
+ build:
7
+ context: ../..
8
+ dockerfile: tools/rate-limits-tester/Dockerfile.loadtest
9
+ image: rabbit-loadtest:latest
10
+ restart: "no"
11
+ working_dir: /work
12
+ volumes:
13
+ - ../..:/work
14
+ env_file:
15
+ - ../../.env.loadtest
16
+ environment:
17
+ PARTNER_ID: exolix
18
+ command: >
19
+ bash -lc "mkdir -p /work/tools/rate-limits-tester/logs /work/tools/rate-limits-tester/reports
20
+ && node /opt/loadtest/loadTestForProviders.cjs >> /work/tools/rate-limits-tester/logs/exolix-$$RUN_ID.log 2>&1"
21
+
22
+ loadtest-changenow:
23
+ container_name: lt-changenow
24
+ image: rabbit-loadtest:latest
25
+ restart: "no"
26
+ working_dir: /work
27
+ volumes:
28
+ - ../..:/work
29
+ env_file:
30
+ - ../../.env.loadtest
31
+ environment:
32
+ PARTNER_ID: changenow
33
+ command: >
34
+ bash -lc "mkdir -p /work/tools/rate-limits-tester/logs /work/tools/rate-limits-tester/reports
35
+ && node /opt/loadtest/loadTestForProviders.cjs >> /work/tools/rate-limits-tester/logs/changenow-$$RUN_ID.log 2>&1"
36
+
37
+ loadtest-changehero:
38
+ container_name: lt-changehero
39
+ image: rabbit-loadtest:latest
40
+ restart: "no"
41
+ working_dir: /work
42
+ volumes:
43
+ - ../..:/work
44
+ env_file:
45
+ - ../../.env.loadtest
46
+ environment:
47
+ PARTNER_ID: changehero
48
+ command: >
49
+ bash -lc "mkdir -p /work/tools/rate-limits-tester/logs /work/tools/rate-limits-tester/reports
50
+ && node /opt/loadtest/loadTestForProviders.cjs >> /work/tools/rate-limits-tester/logs/changehero-$$RUN_ID.log 2>&1"
51
+
52
+ loadtest-letsexchange:
53
+ container_name: lt-letsexchange
54
+ image: rabbit-loadtest:latest
55
+ restart: "no"
56
+ working_dir: /work
57
+ volumes:
58
+ - ../..:/work
59
+ env_file:
60
+ - ../../.env.loadtest
61
+ environment:
62
+ PARTNER_ID: letsexchange
63
+ command: >
64
+ bash -lc "mkdir -p /work/tools/rate-limits-tester/logs /work/tools/rate-limits-tester/reports
65
+ && node /opt/loadtest/loadTestForProviders.cjs >> /work/tools/rate-limits-tester/logs/letsexchange-$$RUN_ID.log 2>&1"