@rabbitio/ui-kit 1.0.0-beta.123 → 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 (219) hide show
  1. package/coverage/clover.xml +714 -670
  2. package/coverage/coverage-final.json +10 -10
  3. package/coverage/index.html +23 -23
  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 +40 -16
  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 +11 -11
  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 +183 -93
  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 +20 -5
  110. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +5 -5
  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 +7 -4
  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 +5 -5
  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/global.css +10 -0
  187. package/dist/global.css.map +1 -1
  188. package/dist/index.cjs +138 -109
  189. package/dist/index.cjs.map +1 -1
  190. package/dist/index.css +3 -0
  191. package/dist/index.css.map +1 -1
  192. package/dist/index.modern.js +48 -15
  193. package/dist/index.modern.js.map +1 -1
  194. package/dist/index.module.js +138 -109
  195. package/dist/index.module.js.map +1 -1
  196. package/dist/index.umd.js +138 -109
  197. package/dist/index.umd.js.map +1 -1
  198. package/docker-compose.loadtest.yml +64 -0
  199. package/package.json +1 -1
  200. package/src/common-apis/utils/amountUtils.js +18 -10
  201. package/src/swaps-lib/external-apis/exolixSwapProvider.js +1 -1
  202. package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +32 -2
  203. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/PairSupport.int.test.js +4 -1
  204. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +42 -0
  205. package/src/ui-kit/assets/styles/_mixins.scss +9 -0
  206. package/src/ui-kit/assets/styles/global.scss +4 -0
  207. package/src/ui-kit/components/atoms/buttons/Button/Button.jsx +6 -1
  208. package/src/ui-kit/components/atoms/buttons/Button/Button.module.scss +4 -0
  209. package/tools/rate-limits-tester/Dockerfile.loadtest +18 -0
  210. package/tools/rate-limits-tester/docker-compose.loadtest.yml +65 -0
  211. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-changehero-2026-03-10T14-57-24-907Z.json +572 -0
  212. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-changenow-2026-03-10T15-30-53-033Z.json +572 -0
  213. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-exolix-2026-03-10T13-49-07-452Z.json +518 -0
  214. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-letsexchange-2026-03-10T14-26-27-034Z.json +572 -0
  215. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-05T23-05-54-995Z.json +140 -0
  216. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T10-59-26-699Z.json +83 -0
  217. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T11-19-31-962Z.json +121 -0
  218. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T12-35-39-529Z.json +21 -0
  219. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T13-00-46-343Z.json +115 -0
@@ -0,0 +1,140 @@
1
+ {
2
+ "generatedAt": "2026-03-05T22:58:06.899Z",
3
+ "desiredRequestsCount": 2000,
4
+ "desiredTimeSlotMs": 90000,
5
+ "targetRequestsPerSecondDerived": 22.22222222222222,
6
+ "maxInFlightRequests": 200,
7
+ "pair": {
8
+ "fromTicker": "BTC",
9
+ "toTicker": "ETH",
10
+ "amount": "0.01"
11
+ },
12
+ "singleRequestTimeoutMs": 60000,
13
+ "providers": [
14
+ {
15
+ "providerId": "exolix",
16
+ "ok": true,
17
+ "providerWallTimeSeconds": 95.02013025000001,
18
+ "targetRequestsPerSecond": 22.22222222222222,
19
+ "desiredRequestsCount": 2000,
20
+ "desiredTimeSlotMs": 90000,
21
+ "stoppedBecauseTimeSlotElapsed": false,
22
+ "didReachDesiredRequestsCount": true,
23
+ "achievedRequestsPerSecond": 22.10830877241178,
24
+ "durationSeconds": 90.46372658300001,
25
+ "scheduledRequestsCount": 2000,
26
+ "startedRequestsCount": 2000,
27
+ "completedRequestsCount": 2000,
28
+ "successCount": 2000,
29
+ "requestsLimitExceededCount": 0,
30
+ "timeoutOrAbortCount": 0,
31
+ "otherFailureCount": 0,
32
+ "latencyMs": {
33
+ "p50": 445.71629199999734,
34
+ "p90": 1583.4127909999988,
35
+ "p99": 3140.450458000001,
36
+ "max": 5072.582417
37
+ }
38
+ },
39
+ {
40
+ "providerId": "changenow",
41
+ "ok": true,
42
+ "providerWallTimeSeconds": 90.64885233300001,
43
+ "targetRequestsPerSecond": 22.22222222222222,
44
+ "desiredRequestsCount": 2000,
45
+ "desiredTimeSlotMs": 90000,
46
+ "stoppedBecauseTimeSlotElapsed": false,
47
+ "didReachDesiredRequestsCount": true,
48
+ "achievedRequestsPerSecond": 22.165326057110047,
49
+ "durationSeconds": 90.23102095799999,
50
+ "scheduledRequestsCount": 2000,
51
+ "startedRequestsCount": 2000,
52
+ "completedRequestsCount": 2000,
53
+ "successCount": 1491,
54
+ "requestsLimitExceededCount": 509,
55
+ "timeoutOrAbortCount": 0,
56
+ "otherFailureCount": 0,
57
+ "latencyMs": {
58
+ "p50": 439.0549580000079,
59
+ "p90": 1126.7754589999968,
60
+ "p99": 3206.923375000013,
61
+ "max": 4549.202874999988
62
+ }
63
+ },
64
+ {
65
+ "providerId": "swapspace",
66
+ "ok": true,
67
+ "providerWallTimeSeconds": 100.93169474999999,
68
+ "targetRequestsPerSecond": 22.22222222222222,
69
+ "desiredRequestsCount": 2000,
70
+ "desiredTimeSlotMs": 90000,
71
+ "stoppedBecauseTimeSlotElapsed": false,
72
+ "didReachDesiredRequestsCount": true,
73
+ "achievedRequestsPerSecond": 20.08909957622245,
74
+ "durationSeconds": 99.55647800000003,
75
+ "scheduledRequestsCount": 2000,
76
+ "startedRequestsCount": 2000,
77
+ "completedRequestsCount": 2000,
78
+ "successCount": 558,
79
+ "requestsLimitExceededCount": 1385,
80
+ "timeoutOrAbortCount": 0,
81
+ "otherFailureCount": 57,
82
+ "latencyMs": {
83
+ "p50": 92.48679200001061,
84
+ "p90": 9279.958291999996,
85
+ "p99": 15001.54916700002,
86
+ "max": 15097.930083000014
87
+ }
88
+ },
89
+ {
90
+ "providerId": "changehero",
91
+ "ok": true,
92
+ "providerWallTimeSeconds": 90.81483029100002,
93
+ "targetRequestsPerSecond": 22.22222222222222,
94
+ "desiredRequestsCount": 2000,
95
+ "desiredTimeSlotMs": 90000,
96
+ "stoppedBecauseTimeSlotElapsed": false,
97
+ "didReachDesiredRequestsCount": true,
98
+ "achievedRequestsPerSecond": 22.14266870833521,
99
+ "durationSeconds": 90.323349292,
100
+ "scheduledRequestsCount": 2000,
101
+ "startedRequestsCount": 2000,
102
+ "completedRequestsCount": 2000,
103
+ "successCount": 2000,
104
+ "requestsLimitExceededCount": 0,
105
+ "timeoutOrAbortCount": 0,
106
+ "otherFailureCount": 0,
107
+ "latencyMs": {
108
+ "p50": 389.51862499996787,
109
+ "p90": 578.7024580000434,
110
+ "p99": 1323.4849169999943,
111
+ "max": 2979.448958000052
112
+ }
113
+ },
114
+ {
115
+ "providerId": "letsexchange",
116
+ "ok": true,
117
+ "providerWallTimeSeconds": 90.676888208,
118
+ "targetRequestsPerSecond": 22.22222222222222,
119
+ "desiredRequestsCount": 2000,
120
+ "desiredTimeSlotMs": 90000,
121
+ "stoppedBecauseTimeSlotElapsed": false,
122
+ "didReachDesiredRequestsCount": true,
123
+ "achievedRequestsPerSecond": 22.191131132557704,
124
+ "durationSeconds": 90.12609533300001,
125
+ "scheduledRequestsCount": 2000,
126
+ "startedRequestsCount": 2000,
127
+ "completedRequestsCount": 2000,
128
+ "successCount": 2000,
129
+ "requestsLimitExceededCount": 0,
130
+ "timeoutOrAbortCount": 0,
131
+ "otherFailureCount": 0,
132
+ "latencyMs": {
133
+ "p50": 178.59141699998872,
134
+ "p90": 202.40654199995333,
135
+ "p99": 272.8577500000247,
136
+ "max": 340.68779199995333
137
+ }
138
+ }
139
+ ]
140
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "generatedAt": "2026-03-10T10:54:53.942Z",
3
+ "desiredRequestsCount": 2000,
4
+ "desiredTimeSlotMs": 90000,
5
+ "targetRequestsPerSecondDerived": 22.22222222222222,
6
+ "maxInFlightRequests": 200,
7
+ "pair": {
8
+ "fromTicker": "BTC",
9
+ "toTicker": "ETH",
10
+ "amount": "0.01"
11
+ },
12
+ "singleRequestTimeoutMs": 60000,
13
+ "providers": [
14
+ {
15
+ "providerId": "exolix",
16
+ "ok": true,
17
+ "providerWallTimeSeconds": 112.393288541,
18
+ "targetRequestsPerSecond": 22.22222222222222,
19
+ "desiredRequestsCount": 2000,
20
+ "desiredTimeSlotMs": 90000,
21
+ "stoppedBecauseTimeSlotElapsed": false,
22
+ "didReachDesiredRequestsCount": true,
23
+ "achievedRequestsPerSecond": 19.41334330117916,
24
+ "durationSeconds": 103.02192512500001,
25
+ "scheduledRequestsCount": 2000,
26
+ "startedRequestsCount": 2000,
27
+ "completedRequestsCount": 2000,
28
+ "successCount": 1279,
29
+ "requestsLimitExceededCount": 501,
30
+ "timeoutOrAbortCount": 0,
31
+ "otherFailureCount": 220,
32
+ "latencyMs": {
33
+ "p50": 2960.3766659999965,
34
+ "p90": 13301.227458000001,
35
+ "p99": 15001.089375000003,
36
+ "max": 15002.953749999993
37
+ }
38
+ },
39
+ {
40
+ "providerId": "changenow",
41
+ "ok": true,
42
+ "providerWallTimeSeconds": 123.006663958,
43
+ "targetRequestsPerSecond": 22.22222222222222,
44
+ "desiredRequestsCount": 2000,
45
+ "desiredTimeSlotMs": 90000,
46
+ "stoppedBecauseTimeSlotElapsed": true,
47
+ "didReachDesiredRequestsCount": false,
48
+ "achievedRequestsPerSecond": 6.334527623939152,
49
+ "durationSeconds": 107.979638042,
50
+ "scheduledRequestsCount": 684,
51
+ "startedRequestsCount": 684,
52
+ "completedRequestsCount": 684,
53
+ "successCount": 141,
54
+ "requestsLimitExceededCount": 0,
55
+ "timeoutOrAbortCount": 0,
56
+ "otherFailureCount": 543,
57
+ "latencyMs": {
58
+ "p50": 30002.277249999985,
59
+ "p90": 30004.939000000013,
60
+ "p99": 30031.904666999995,
61
+ "max": 30102.807375000004
62
+ }
63
+ },
64
+ {
65
+ "providerId": "swapspace",
66
+ "ok": false,
67
+ "providerWallTimeSeconds": 15.001118125000009,
68
+ "error": "CanceledError: canceled\n at AbortSignal.abort (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:12940:58)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:827:20)\n at AbortSignal.dispatchEvent (node:internal/event_target:762:26)\n at runAbort (node:internal/abort_controller:449:10)\n at abortSignal (node:internal/abort_controller:435:3)\n at AbortController.abort (node:internal/abort_controller:468:5)\n at Timeout._onTimeout (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:17254:21)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)\n at Axios.request (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:13901:45)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async SwapspaceSwapProvider._fetchSupportedCurrenciesIfNeeded (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:18546:33)\n at async SwapspaceSwapProvider.initialize (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:16688:9)\n at async main (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:20536:7)"
69
+ },
70
+ {
71
+ "providerId": "changehero",
72
+ "ok": false,
73
+ "providerWallTimeSeconds": 15.002011707999976,
74
+ "error": "CanceledError: canceled\n at AbortSignal.abort (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:12940:58)\n at [nodejs.internal.kHybridDispatch] (node:internal/event_target:827:20)\n at AbortSignal.dispatchEvent (node:internal/event_target:762:26)\n at runAbort (node:internal/abort_controller:449:10)\n at abortSignal (node:internal/abort_controller:435:3)\n at AbortController.abort (node:internal/abort_controller:468:5)\n at Timeout._onTimeout (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:17254:21)\n at listOnTimeout (node:internal/timers:614:17)\n at process.processTimers (node:internal/timers:549:7)\n at Axios.request (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:13901:45)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async ChangeHeroSwapProvider._fetchSupportedCurrenciesIfNeeded (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:19136:32)\n at async ChangeHeroSwapProvider.initialize (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:16688:9)\n at async main (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:20536:7)"
75
+ },
76
+ {
77
+ "providerId": "letsexchange",
78
+ "ok": false,
79
+ "providerWallTimeSeconds": 7.349750082999992,
80
+ "error": "AxiosError: Request failed with status code 403\n at settle (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:10963:12)\n at Unzip.handleStreamEnd (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:13243:15)\n at Unzip.emit (node:events:525:35)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)\n at Axios.request (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:13901:45)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async _LetsExchangeSwapProvider._fetchSupportedCurrenciesIfNeeded (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:19780:33)\n at async _LetsExchangeSwapProvider.initialize (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:16688:9)\n at async main (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.Juh3lXE4TI.cjs:20536:7)"
81
+ }
82
+ ]
83
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "generatedAt": "2026-03-10T11:13:01.535Z",
3
+ "desiredRequestsCount": 2000,
4
+ "desiredTimeSlotMs": 90000,
5
+ "targetRequestsPerSecondDerived": 22.22222222222222,
6
+ "maxInFlightRequests": 200,
7
+ "pair": {
8
+ "fromTicker": "BTC",
9
+ "toTicker": "ETH",
10
+ "amount": "0.01"
11
+ },
12
+ "singleRequestTimeoutMs": 60000,
13
+ "providers": [
14
+ {
15
+ "providerId": "exolix",
16
+ "ok": true,
17
+ "providerWallTimeSeconds": 99.249246333,
18
+ "targetRequestsPerSecond": 22.22222222222222,
19
+ "desiredRequestsCount": 2000,
20
+ "desiredTimeSlotMs": 90000,
21
+ "stoppedBecauseTimeSlotElapsed": false,
22
+ "didReachDesiredRequestsCount": true,
23
+ "achievedRequestsPerSecond": 21.44394277231563,
24
+ "durationSeconds": 93.26643058299999,
25
+ "scheduledRequestsCount": 2000,
26
+ "startedRequestsCount": 2000,
27
+ "completedRequestsCount": 2000,
28
+ "successCount": 2000,
29
+ "requestsLimitExceededCount": 0,
30
+ "timeoutOrAbortCount": 0,
31
+ "otherFailureCount": 0,
32
+ "latencyMs": {
33
+ "p50": 707.5685830000002,
34
+ "p90": 2903.9933750000055,
35
+ "p99": 4055.553667,
36
+ "max": 5636.575457999992
37
+ }
38
+ },
39
+ {
40
+ "providerId": "changenow",
41
+ "ok": true,
42
+ "providerWallTimeSeconds": 92.210227666,
43
+ "targetRequestsPerSecond": 22.22222222222222,
44
+ "desiredRequestsCount": 2000,
45
+ "desiredTimeSlotMs": 90000,
46
+ "stoppedBecauseTimeSlotElapsed": false,
47
+ "didReachDesiredRequestsCount": true,
48
+ "achievedRequestsPerSecond": 21.820912298852257,
49
+ "durationSeconds": 91.65519629100001,
50
+ "scheduledRequestsCount": 2000,
51
+ "startedRequestsCount": 2000,
52
+ "completedRequestsCount": 2000,
53
+ "successCount": 1814,
54
+ "requestsLimitExceededCount": 169,
55
+ "timeoutOrAbortCount": 0,
56
+ "otherFailureCount": 17,
57
+ "latencyMs": {
58
+ "p50": 623.3869170000107,
59
+ "p90": 1548.9690000000119,
60
+ "p99": 3387.9044999999896,
61
+ "max": 5075.836167000001
62
+ }
63
+ },
64
+ {
65
+ "providerId": "swapspace",
66
+ "ok": true,
67
+ "providerWallTimeSeconds": 106.55471849999996,
68
+ "targetRequestsPerSecond": 22.22222222222222,
69
+ "desiredRequestsCount": 2000,
70
+ "desiredTimeSlotMs": 90000,
71
+ "stoppedBecauseTimeSlotElapsed": false,
72
+ "didReachDesiredRequestsCount": true,
73
+ "achievedRequestsPerSecond": 19.07971404165399,
74
+ "durationSeconds": 104.823373958,
75
+ "scheduledRequestsCount": 2000,
76
+ "startedRequestsCount": 2000,
77
+ "completedRequestsCount": 2000,
78
+ "successCount": 205,
79
+ "requestsLimitExceededCount": 0,
80
+ "timeoutOrAbortCount": 0,
81
+ "otherFailureCount": 1795,
82
+ "latencyMs": {
83
+ "p50": 755.7931249999965,
84
+ "p90": 15001.13837499998,
85
+ "p99": 15002.653208000003,
86
+ "max": 15296.001749999996
87
+ }
88
+ },
89
+ {
90
+ "providerId": "changehero",
91
+ "ok": true,
92
+ "providerWallTimeSeconds": 91.91590354099998,
93
+ "targetRequestsPerSecond": 22.22222222222222,
94
+ "desiredRequestsCount": 2000,
95
+ "desiredTimeSlotMs": 90000,
96
+ "stoppedBecauseTimeSlotElapsed": false,
97
+ "didReachDesiredRequestsCount": true,
98
+ "achievedRequestsPerSecond": 22.08342607969724,
99
+ "durationSeconds": 90.56565737500001,
100
+ "scheduledRequestsCount": 2000,
101
+ "startedRequestsCount": 2000,
102
+ "completedRequestsCount": 2000,
103
+ "successCount": 2000,
104
+ "requestsLimitExceededCount": 0,
105
+ "timeoutOrAbortCount": 0,
106
+ "otherFailureCount": 0,
107
+ "latencyMs": {
108
+ "p50": 521.4878749999916,
109
+ "p90": 737.7487499999697,
110
+ "p99": 1570.590583000041,
111
+ "max": 2053.0120420000167
112
+ }
113
+ },
114
+ {
115
+ "providerId": "letsexchange",
116
+ "ok": false,
117
+ "providerWallTimeSeconds": 0.4915141670000157,
118
+ "error": "AxiosError: Request failed with status code 403\n at settle (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.nlE9pSxdfG.cjs:10963:12)\n at Unzip.handleStreamEnd (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.nlE9pSxdfG.cjs:13243:15)\n at Unzip.emit (node:events:525:35)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)\n at Axios.request (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.nlE9pSxdfG.cjs:13901:45)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async _LetsExchangeSwapProvider._fetchSupportedCurrenciesIfNeeded (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.nlE9pSxdfG.cjs:19780:33)\n at async _LetsExchangeSwapProvider.initialize (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.nlE9pSxdfG.cjs:16688:9)\n at async main (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.nlE9pSxdfG.cjs:20536:7)"
119
+ }
120
+ ]
121
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "generatedAt": "2026-03-10T12:35:38.838Z",
3
+ "desiredRequestsCount": 2000,
4
+ "desiredTimeSlotMs": 90000,
5
+ "targetRequestsPerSecondDerived": 22.22222222222222,
6
+ "maxInFlightRequests": 200,
7
+ "pair": {
8
+ "fromTicker": "BTC",
9
+ "toTicker": "ETH",
10
+ "amount": "0.01"
11
+ },
12
+ "singleRequestTimeoutMs": 60000,
13
+ "providers": [
14
+ {
15
+ "providerId": "letsexchange",
16
+ "ok": false,
17
+ "providerWallTimeSeconds": 0.689790958,
18
+ "error": "AxiosError: Request failed with status code 403\n at settle (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.gA7XI5FRdc.cjs:10963:12)\n at Unzip.handleStreamEnd (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.gA7XI5FRdc.cjs:13243:15)\n at Unzip.emit (node:events:525:35)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:90:21)\n at Axios.request (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.gA7XI5FRdc.cjs:13901:45)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async _LetsExchangeSwapProvider._fetchSupportedCurrenciesIfNeeded (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.gA7XI5FRdc.cjs:17358:33)\n at async _LetsExchangeSwapProvider.initialize (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.gA7XI5FRdc.cjs:16662:9)\n at async main (/private/var/folders/cg/chhj0f2968998qycnk9311sw0000gn/T/rabbit-loadtest-XXXX.gA7XI5FRdc.cjs:18106:7)"
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,115 @@
1
+ {
2
+ "generatedAt": "2026-03-10T12:54:35.773Z",
3
+ "desiredRequestsCount": 2000,
4
+ "desiredTimeSlotMs": 90000,
5
+ "targetRequestsPerSecondDerived": 22.22222222222222,
6
+ "maxInFlightRequests": 200,
7
+ "pair": {
8
+ "fromTicker": "BTC",
9
+ "toTicker": "ETH",
10
+ "amount": "0.01"
11
+ },
12
+ "singleRequestTimeoutMs": 60000,
13
+ "providers": [
14
+ {
15
+ "providerId": "exolix",
16
+ "ok": true,
17
+ "providerWallTimeSeconds": 96.684013917,
18
+ "targetRequestsPerSecond": 22.22222222222222,
19
+ "desiredRequestsCount": 2000,
20
+ "desiredTimeSlotMs": 90000,
21
+ "stoppedBecauseTimeSlotElapsed": false,
22
+ "didReachDesiredRequestsCount": true,
23
+ "achievedRequestsPerSecond": 22.063726422163228,
24
+ "durationSeconds": 90.64651916600002,
25
+ "scheduledRequestsCount": 2000,
26
+ "startedRequestsCount": 2000,
27
+ "completedRequestsCount": 2000,
28
+ "successCount": 2000,
29
+ "requestsLimitExceededCount": 0,
30
+ "timeoutOrAbortCount": 0,
31
+ "otherFailureCount": 0,
32
+ "latencyMs": {
33
+ "p50": 684.4925000000076,
34
+ "p90": 1475.2190830000036,
35
+ "p99": 2954.098749999999,
36
+ "max": 3304.301792
37
+ }
38
+ },
39
+ {
40
+ "providerId": "changenow",
41
+ "ok": true,
42
+ "providerWallTimeSeconds": 91.74561475,
43
+ "targetRequestsPerSecond": 22.22222222222222,
44
+ "desiredRequestsCount": 2000,
45
+ "desiredTimeSlotMs": 90000,
46
+ "stoppedBecauseTimeSlotElapsed": false,
47
+ "didReachDesiredRequestsCount": true,
48
+ "achievedRequestsPerSecond": 21.92971782836074,
49
+ "durationSeconds": 91.20044387499998,
50
+ "scheduledRequestsCount": 2000,
51
+ "startedRequestsCount": 2000,
52
+ "completedRequestsCount": 2000,
53
+ "successCount": 1910,
54
+ "requestsLimitExceededCount": 90,
55
+ "timeoutOrAbortCount": 0,
56
+ "otherFailureCount": 0,
57
+ "latencyMs": {
58
+ "p50": 494.2511249999807,
59
+ "p90": 1087.5471249999973,
60
+ "p99": 3488.946541000012,
61
+ "max": 5583.420250000025
62
+ }
63
+ },
64
+ {
65
+ "providerId": "changehero",
66
+ "ok": true,
67
+ "providerWallTimeSeconds": 91.10149612500004,
68
+ "targetRequestsPerSecond": 22.22222222222222,
69
+ "desiredRequestsCount": 2000,
70
+ "desiredTimeSlotMs": 90000,
71
+ "stoppedBecauseTimeSlotElapsed": false,
72
+ "didReachDesiredRequestsCount": true,
73
+ "achievedRequestsPerSecond": 22.087687416677834,
74
+ "durationSeconds": 90.54818470900003,
75
+ "scheduledRequestsCount": 2000,
76
+ "startedRequestsCount": 2000,
77
+ "completedRequestsCount": 2000,
78
+ "successCount": 1999,
79
+ "requestsLimitExceededCount": 0,
80
+ "timeoutOrAbortCount": 0,
81
+ "otherFailureCount": 1,
82
+ "latencyMs": {
83
+ "p50": 580.4251250000088,
84
+ "p90": 970.1450000000186,
85
+ "p99": 1760.729457999987,
86
+ "max": 2142.707874999993
87
+ }
88
+ },
89
+ {
90
+ "providerId": "letsexchange",
91
+ "ok": true,
92
+ "providerWallTimeSeconds": 91.03733770899998,
93
+ "targetRequestsPerSecond": 22.22222222222222,
94
+ "desiredRequestsCount": 2000,
95
+ "desiredTimeSlotMs": 90000,
96
+ "stoppedBecauseTimeSlotElapsed": false,
97
+ "didReachDesiredRequestsCount": true,
98
+ "achievedRequestsPerSecond": 22.17723886576026,
99
+ "durationSeconds": 90.18255212499999,
100
+ "scheduledRequestsCount": 2000,
101
+ "startedRequestsCount": 2000,
102
+ "completedRequestsCount": 2000,
103
+ "successCount": 2000,
104
+ "requestsLimitExceededCount": 0,
105
+ "timeoutOrAbortCount": 0,
106
+ "otherFailureCount": 0,
107
+ "latencyMs": {
108
+ "p50": 231.21183299995027,
109
+ "p90": 287.18304100004025,
110
+ "p99": 427.82541699998546,
111
+ "max": 717.8283330000122
112
+ }
113
+ }
114
+ ]
115
+ }