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

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 (215) hide show
  1. package/.analysis/rabbit-ai-review/review-feature-type-declarations-2026-03-19T16-25-11.json +25 -0
  2. package/.analysis/rabbit-ai-review/review-feature-type-declarations-2026-03-19T16-32-17.json +25 -0
  3. package/coverage/clover.xml +232 -183
  4. package/coverage/coverage-final.json +8 -8
  5. package/coverage/index.html +16 -16
  6. package/coverage/rabbit-ui-kit/index.html +1 -1
  7. package/coverage/rabbit-ui-kit/index.js.html +1 -1
  8. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
  9. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
  10. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +1 -1
  11. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
  12. package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
  13. package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +1 -1
  14. package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
  15. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
  16. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/emailAPI.js.html +1 -1
  17. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +1 -1
  18. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
  19. package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
  20. package/coverage/rabbit-ui-kit/src/common-apis/index.html +1 -1
  21. package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +1 -1
  22. package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +1 -1
  23. package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +1 -1
  24. package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +1 -1
  25. package/coverage/rabbit-ui-kit/src/common-apis/services/fiatCurrenciesService.js.html +1 -1
  26. package/coverage/rabbit-ui-kit/src/common-apis/services/index.html +1 -1
  27. package/coverage/rabbit-ui-kit/src/common-apis/utils/amountUtils.js.html +1 -1
  28. package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +6 -6
  29. package/coverage/rabbit-ui-kit/src/common-apis/utils/emailUtils.js.html +1 -1
  30. package/coverage/rabbit-ui-kit/src/common-apis/utils/errorUtils.js.html +1 -1
  31. package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +1 -1
  32. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +1 -1
  33. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +5 -5
  34. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +3 -3
  35. package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
  36. package/coverage/rabbit-ui-kit/src/common-apis/utils/rabbitTicker.js.html +1 -1
  37. package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +1 -1
  38. package/coverage/rabbit-ui-kit/src/index.html +1 -1
  39. package/coverage/rabbit-ui-kit/src/index.js.html +1 -1
  40. package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
  41. package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
  42. package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
  43. package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
  44. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
  45. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
  46. package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +1 -1
  47. package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
  48. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/changeHeroSwapProvider.js.html +1 -1
  49. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/changeNowSwapProvider.js.html +1 -1
  50. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/exolixSwapProvider.js.html +4 -4
  51. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/goexmeSwapProvider.js.html +1 -1
  52. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +18 -18
  53. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1 -1
  54. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/retriableErrorsUtils.js.html +1 -1
  55. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +36 -36
  56. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +128 -128
  57. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/utils.js.html +14 -14
  58. package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
  59. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  60. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  61. package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +1 -1
  62. package/coverage/rabbit-ui-kit/src/swaps-lib/models/partner.js.html +1 -1
  63. package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +1 -1
  64. package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +1 -1
  65. package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
  66. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
  67. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
  68. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  69. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  70. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  71. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  72. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
  73. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  74. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
  75. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
  76. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
  77. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  78. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  79. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
  80. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
  81. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  82. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
  83. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  84. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
  85. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  86. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
  87. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  88. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
  89. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
  90. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
  91. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  92. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
  93. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  94. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
  95. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +1 -1
  96. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
  97. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
  98. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
  99. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  100. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
  101. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
  102. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
  103. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  104. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
  105. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  106. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
  107. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  108. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
  109. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
  110. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
  111. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
  112. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
  113. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
  114. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
  115. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  116. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
  117. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  118. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  119. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
  120. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
  121. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
  122. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
  123. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
  124. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
  125. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  126. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
  127. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +1 -1
  128. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +1 -1
  129. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
  130. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
  131. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  132. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
  133. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  134. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
  135. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
  136. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  137. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
  138. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
  139. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
  140. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
  141. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +194 -47
  142. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +5 -5
  143. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
  144. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
  145. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  146. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  147. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +1 -1
  148. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
  149. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
  150. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
  151. package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +1 -1
  152. package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
  153. package/coverage/rabbit-ui-kit/src/ui-kit/utils/searchCoins.js.html +1 -1
  154. package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
  155. package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
  156. package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
  157. package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  158. package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  159. package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  160. package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  161. package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
  162. package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  163. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  164. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  165. package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  166. package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +1 -1
  167. package/coverage/rabbit-ui-kit/stories/atoms/index.html +1 -1
  168. package/coverage/rabbit-ui-kit/stories/molecules/AmountInput.stories.jsx.html +1 -1
  169. package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
  170. package/coverage/rabbit-ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
  171. package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  172. package/coverage/rabbit-ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
  173. package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  174. package/coverage/rabbit-ui-kit/stories/molecules/index.html +1 -1
  175. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  176. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  177. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  178. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  179. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  180. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +1 -1
  181. package/coverage/rabbit-ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
  182. package/coverage/rabbit-ui-kit/stories/organisms/index.html +1 -1
  183. package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +1 -1
  184. package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  185. package/coverage/rabbit-ui-kit/stories/stubs/index.html +1 -1
  186. package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  187. package/coverage/rabbit-ui-kit/stories/templates/index.html +1 -1
  188. package/dist/index.cjs +69 -19
  189. package/dist/index.cjs.map +1 -1
  190. package/dist/index.css +11 -4
  191. package/dist/index.css.map +1 -1
  192. package/dist/index.modern.js +64 -19
  193. package/dist/index.modern.js.map +1 -1
  194. package/dist/index.module.js +69 -19
  195. package/dist/index.module.js.map +1 -1
  196. package/dist/index.umd.js +69 -19
  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/swaps-lib/external-apis/exolixSwapProvider.js +1 -1
  201. package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/PairSupport.int.test.js +4 -1
  202. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +42 -0
  203. package/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx +92 -43
  204. package/src/ui-kit/components/organisms/SwapForm/swap-form.module.scss +11 -4
  205. package/tools/rate-limits-tester/Dockerfile.loadtest +18 -0
  206. package/tools/rate-limits-tester/docker-compose.loadtest.yml +65 -0
  207. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-changehero-2026-03-10T14-57-24-907Z.json +572 -0
  208. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-changenow-2026-03-10T15-30-53-033Z.json +572 -0
  209. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-exolix-2026-03-10T13-49-07-452Z.json +518 -0
  210. package/tools/rate-limits-tester/reports/fixed-pair-rps-dedicated-letsexchange-2026-03-10T14-26-27-034Z.json +572 -0
  211. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-05T23-05-54-995Z.json +140 -0
  212. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T10-59-26-699Z.json +83 -0
  213. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T11-19-31-962Z.json +121 -0
  214. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T12-35-39-529Z.json +21 -0
  215. package/tools/rate-limits-tester/reports/fixed-pair-rps-report-2026-03-10T13-00-46-343Z.json +115 -0
@@ -871,7 +871,7 @@
871
871
  <div class='footer quiet pad2 space-top1 center small'>
872
872
  Code coverage generated by
873
873
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
874
- at 2026-02-23T21:56:30.875Z
874
+ at 2026-03-24T23:54:19.831Z
875
875
  </div>
876
876
  <script src="../../../../prettify.js"></script>
877
877
  <script>
@@ -196,7 +196,7 @@
196
196
  <div class='footer quiet pad2 space-top1 center small'>
197
197
  Code coverage generated by
198
198
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
199
- at 2026-02-23T21:56:30.875Z
199
+ at 2026-03-24T23:54:19.831Z
200
200
  </div>
201
201
  <script src="../../../../prettify.js"></script>
202
202
  <script>
@@ -286,7 +286,7 @@
286
286
  <div class='footer quiet pad2 space-top1 center small'>
287
287
  Code coverage generated by
288
288
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
289
- at 2026-02-23T21:56:30.875Z
289
+ at 2026-03-24T23:54:19.831Z
290
290
  </div>
291
291
  <script src="../../../../prettify.js"></script>
292
292
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-02-23T21:56:30.875Z
134
+ at 2026-03-24T23:54:19.831Z
135
135
  </div>
136
136
  <script src="../../../../prettify.js"></script>
137
137
  <script>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2026-02-23T21:56:30.875Z
179
+ at 2026-03-24T23:54:19.831Z
180
180
  </div>
181
181
  <script src="../../../prettify.js"></script>
182
182
  <script>
@@ -274,7 +274,7 @@
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
- at 2026-02-23T21:56:30.875Z
277
+ at 2026-03-24T23:54:19.831Z
278
278
  </div>
279
279
  <script src="../../../prettify.js"></script>
280
280
  <script>
@@ -307,7 +307,7 @@
307
307
  <div class='footer quiet pad2 space-top1 center small'>
308
308
  Code coverage generated by
309
309
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
310
- at 2026-02-23T21:56:30.875Z
310
+ at 2026-03-24T23:54:19.831Z
311
311
  </div>
312
312
  <script src="../../../prettify.js"></script>
313
313
  <script>
@@ -163,7 +163,7 @@
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2026-02-23T21:56:30.875Z
166
+ at 2026-03-24T23:54:19.831Z
167
167
  </div>
168
168
  <script src="../../../prettify.js"></script>
169
169
  <script>
@@ -139,7 +139,7 @@
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2026-02-23T21:56:30.875Z
142
+ at 2026-03-24T23:54:19.831Z
143
143
  </div>
144
144
  <script src="../../../prettify.js"></script>
145
145
  <script>
@@ -220,7 +220,7 @@
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at 2026-02-23T21:56:30.875Z
223
+ at 2026-03-24T23:54:19.831Z
224
224
  </div>
225
225
  <script src="../../../prettify.js"></script>
226
226
  <script>
@@ -145,7 +145,7 @@
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at 2026-02-23T21:56:30.875Z
148
+ at 2026-03-24T23:54:19.831Z
149
149
  </div>
150
150
  <script src="../../../prettify.js"></script>
151
151
  <script>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2026-02-23T21:56:30.875Z
179
+ at 2026-03-24T23:54:19.831Z
180
180
  </div>
181
181
  <script src="../../../prettify.js"></script>
182
182
  <script>
@@ -508,7 +508,7 @@
508
508
  <div class='footer quiet pad2 space-top1 center small'>
509
509
  Code coverage generated by
510
510
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
511
- at 2026-02-23T21:56:30.875Z
511
+ at 2026-03-24T23:54:19.831Z
512
512
  </div>
513
513
  <script src="../../../../prettify.js"></script>
514
514
  <script>
@@ -313,7 +313,7 @@
313
313
  <div class='footer quiet pad2 space-top1 center small'>
314
314
  Code coverage generated by
315
315
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316
- at 2026-02-23T21:56:30.875Z
316
+ at 2026-03-24T23:54:19.831Z
317
317
  </div>
318
318
  <script src="../../../../../prettify.js"></script>
319
319
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-23T21:56:30.875Z
104
+ at 2026-03-24T23:54:19.831Z
105
105
  </div>
106
106
  <script src="../../../../../prettify.js"></script>
107
107
  <script>
@@ -322,7 +322,7 @@
322
322
  <div class='footer quiet pad2 space-top1 center small'>
323
323
  Code coverage generated by
324
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
325
- at 2026-02-23T21:56:30.875Z
325
+ at 2026-03-24T23:54:19.831Z
326
326
  </div>
327
327
  <script src="../../../../../prettify.js"></script>
328
328
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-23T21:56:30.875Z
104
+ at 2026-03-24T23:54:19.831Z
105
105
  </div>
106
106
  <script src="../../../../../prettify.js"></script>
107
107
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-23T21:56:30.875Z
104
+ at 2026-03-24T23:54:19.831Z
105
105
  </div>
106
106
  <script src="../../../../prettify.js"></script>
107
107
  <script>
@@ -136,7 +136,7 @@
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
- at 2026-02-23T21:56:30.875Z
139
+ at 2026-03-24T23:54:19.831Z
140
140
  </div>
141
141
  <script src="../../../prettify.js"></script>
142
142
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-23T21:56:30.875Z
104
+ at 2026-03-24T23:54:19.831Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
@@ -6865,7 +6865,7 @@
6865
6865
  <div class='footer quiet pad2 space-top1 center small'>
6866
6866
  Code coverage generated by
6867
6867
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
6868
- at 2026-02-23T21:56:30.875Z
6868
+ at 2026-03-24T23:54:19.831Z
6869
6869
  </div>
6870
6870
  <script src="../../../prettify.js"></script>
6871
6871
  <script>
@@ -130,7 +130,7 @@
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
- at 2026-02-23T21:56:30.875Z
133
+ at 2026-03-24T23:54:19.831Z
134
134
  </div>
135
135
  <script src="../../../prettify.js"></script>
136
136
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-02-23T21:56:30.875Z
119
+ at 2026-03-24T23:54:19.831Z
120
120
  </div>
121
121
  <script src="../../../prettify.js"></script>
122
122
  <script>
@@ -175,7 +175,7 @@
175
175
  <div class='footer quiet pad2 space-top1 center small'>
176
176
  Code coverage generated by
177
177
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
178
- at 2026-02-23T21:56:30.875Z
178
+ at 2026-03-24T23:54:19.831Z
179
179
  </div>
180
180
  <script src="../../../prettify.js"></script>
181
181
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-23T21:56:30.875Z
104
+ at 2026-03-24T23:54:19.831Z
105
105
  </div>
106
106
  <script src="../../../prettify.js"></script>
107
107
  <script>
package/dist/index.cjs CHANGED
@@ -5011,6 +5011,16 @@ var EMAIL_VALIDATION_REGEXP = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
5011
5011
  * @return {void}
5012
5012
  */
5013
5013
 
5014
+ /**
5015
+ * Callback to handle click on wallet AML compliance confirmation link in the consent text.
5016
+ *
5017
+ * @function
5018
+ * @name onWalletAmlComplianceLinkClick
5019
+ * @param {boolean} isSwapReady - Current form ready state (same condition as Swap button enabled state).
5020
+ * @param {Array<any>|null} swapCreationArgs - Current swap creation args array for confirm flow, or null when not ready.
5021
+ * @return {void}
5022
+ */
5023
+
5014
5024
  /**
5015
5025
  * Function validating addresses.
5016
5026
  * By default, will treat any addresses as valid.
@@ -5069,9 +5079,10 @@ var EMAIL_VALIDATION_REGEXP = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
5069
5079
  * @param {number} [props.fiatCurrencyDecimals] - Decimal places for the fiat currency.
5070
5080
  * @param {boolean} [props.formHasFiat] - Indicates if the form supports fiat currency.
5071
5081
  * @param {boolean} [props.showEmailInput=false] - Controls whether the email input is displayed.
5072
- * @param {string|null} [props.termsOfUseUrl] - Terms of use URL, shown only if both terms & privacy policy passed.
5073
- * @param {string|null} [props.privacyPolicyUrl] - Privacy policy of use URL, shown only if both terms & privacy policy passed.
5082
+ * @param {string|null} [props.termsOfUseUrl] - Terms of use URL, shown if provided.
5083
+ * @param {string|null} [props.privacyPolicyUrl] - Privacy policy URL, shown if provided.
5074
5084
  * @param {string|null} [props.amlPolicyUrl] - AML/KYC policy URL, optional.
5085
+ * @param {onWalletAmlComplianceLinkClick} [props.onWalletAmlComplianceLinkClick] - Optional click handler for AML compliance confirmation link in consent text.
5075
5086
  * @param {object} [props.translations] - Object containing translations, default English texts will be used if omitted.
5076
5087
  * @param {string} props.swapSeparatorIconSrc - Source URL for the swap separator icon.
5077
5088
  * @param {boolean} props.swapButtonAlwaysActive - Setting that allows the form state to proceed to the next step regardless of validity.
@@ -5094,7 +5105,7 @@ function _catch$j(body, recover) {
5094
5105
  return result;
5095
5106
  }
5096
5107
  var SwapForm = function SwapForm(_ref) {
5097
- var _isFixedRate$current2, _isFixedRate$current3, _maximumAmount$curren6, _maximumAmount$curren7, _maximumAmount$curren8, _minimalAmount$curren7, _translations$informa, _translations$address, _translations$address2;
5108
+ var _translations$consent, _isFixedRate$current2, _isFixedRate$current3, _maximumAmount$curren6, _maximumAmount$curren7, _maximumAmount$curren8, _minimalAmount$curren7, _translations$informa, _translations$address, _translations$address2;
5098
5109
  var sendingAssetTicker = _ref.sendingAssetTicker,
5099
5110
  receivingAssetTicker = _ref.receivingAssetTicker,
5100
5111
  _ref$sendingAssetDeci = _ref.sendingAssetDecimalCount,
@@ -5170,6 +5181,8 @@ var SwapForm = function SwapForm(_ref) {
5170
5181
  privacyPolicyUrl = _ref$privacyPolicyUrl === void 0 ? null : _ref$privacyPolicyUrl,
5171
5182
  _ref$amlPolicyUrl = _ref.amlPolicyUrl,
5172
5183
  amlPolicyUrl = _ref$amlPolicyUrl === void 0 ? null : _ref$amlPolicyUrl,
5184
+ _ref$onWalletAmlCompl = _ref.onWalletAmlComplianceLinkClick,
5185
+ onWalletAmlComplianceLinkClick = _ref$onWalletAmlCompl === void 0 ? null : _ref$onWalletAmlCompl,
5173
5186
  _ref$getExtraIdNameBy = _ref.getExtraIdNameByTicker,
5174
5187
  getExtraIdNameByTicker = _ref$getExtraIdNameBy === void 0 ? function (ticker) {
5175
5188
  return null;
@@ -5198,7 +5211,8 @@ var SwapForm = function SwapForm(_ref) {
5198
5211
  termsOfUse: "Terms of Use",
5199
5212
  and: "and",
5200
5213
  privacyPolicy: "Privacy Policy",
5201
- aml: "AML/KYC"
5214
+ aml: "AML/KYC",
5215
+ walletAmlComplianceConfirmation: "confirm that your wallet is AML-compliant"
5202
5216
  },
5203
5217
  informationBlock: {
5204
5218
  minimumAmount: "Minimal amount: ",
@@ -5816,6 +5830,49 @@ var SwapForm = function SwapForm(_ref) {
5816
5830
  }, [sendAssetAmount.current]);
5817
5831
  var recipientAddressExtraIdName = getExtraIdNameByTicker(receivingAssetTicker);
5818
5832
  var refundAddressExtraIdName = getExtraIdNameByTicker(sendingAssetTicker);
5833
+ var composeSwapCreationArgs = function composeSwapCreationArgs(resetButtonLoader) {
5834
+ return [resetButtonLoader, setValidationContent, setBalanceValid, setMinimalAmountValid, setMaximumAmountValid, setIsPairSupported, setIsSameCoins, recipientAddress.current, recipientAddressExtraId.current, refundAddress.current, refundAddressExtraId.current, email.current, isLastEditedReceiving.current];
5835
+ };
5836
+ var consentItems = [];
5837
+ if (termsOfUseUrl) {
5838
+ consentItems.push( /*#__PURE__*/React__default["default"].createElement("a", {
5839
+ key: "terms-of-use",
5840
+ href: termsOfUseUrl,
5841
+ className: s$b["swap-form-button-container-consent-text-link"]
5842
+ }, translations.consents.termsOfUse));
5843
+ }
5844
+ if (privacyPolicyUrl) {
5845
+ consentItems.push( /*#__PURE__*/React__default["default"].createElement("a", {
5846
+ key: "privacy-policy",
5847
+ href: privacyPolicyUrl,
5848
+ className: s$b["swap-form-button-container-consent-text-link"]
5849
+ }, translations.consents.privacyPolicy));
5850
+ }
5851
+ if (amlPolicyUrl) {
5852
+ consentItems.push( /*#__PURE__*/React__default["default"].createElement("a", {
5853
+ key: "aml-policy",
5854
+ href: amlPolicyUrl,
5855
+ className: s$b["swap-form-button-container-consent-text-link"]
5856
+ }, translations.consents.aml));
5857
+ }
5858
+ if (typeof onWalletAmlComplianceLinkClick === "function" && translations != null && (_translations$consent = translations.consents) != null && _translations$consent.walletAmlComplianceConfirmation) {
5859
+ consentItems.push( /*#__PURE__*/React__default["default"].createElement("button", {
5860
+ key: "wallet-aml-compliance",
5861
+ type: "button",
5862
+ className: s$b["swap-form-button-container-consent-text-link"],
5863
+ onClick: function onClick() {
5864
+ return onWalletAmlComplianceLinkClick(readyToSwap, readyToSwap ? composeSwapCreationArgs(function () {}) : null);
5865
+ }
5866
+ }, translations.consents.walletAmlComplianceConfirmation));
5867
+ }
5868
+ var consentLinksWithSeparators = consentItems.reduce(function (acc, item, index) {
5869
+ var _translations$consent2;
5870
+ if (index === 0) return [item];
5871
+ var separator = index === consentItems.length - 1 ? " " + ((_translations$consent2 = translations.consents.and) != null ? _translations$consent2 : "and") + " " : ", ";
5872
+ return [].concat(acc, [/*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
5873
+ key: "consent-separator-" + index
5874
+ }, separator), item]);
5875
+ }, []);
5819
5876
  return /*#__PURE__*/React__default["default"].createElement("div", {
5820
5877
  className: s$b["swap-form"]
5821
5878
  }, /*#__PURE__*/React__default["default"].createElement(TitleBox, {
@@ -5981,30 +6038,21 @@ var SwapForm = function SwapForm(_ref) {
5981
6038
  text: validationContent
5982
6039
  })) : "", /*#__PURE__*/React__default["default"].createElement("div", {
5983
6040
  className: s$b["swap-form-button-container"]
5984
- }, !termsOfUseUrl || !privacyPolicyUrl ? null : /*#__PURE__*/React__default["default"].createElement("p", {
5985
- className: s$b["swap-form-button-container-consent-text"]
5986
- }, translations.consents.consentText + " ", /*#__PURE__*/React__default["default"].createElement("a", {
5987
- href: termsOfUseUrl,
5988
- className: s$b["swap-form-button-container-consent-text-link"]
5989
- }, translations.consents.termsOfUse), ", ", /*#__PURE__*/React__default["default"].createElement("a", {
5990
- href: privacyPolicyUrl,
5991
- className: s$b["swap-form-button-container-consent-text-link"]
5992
- }, translations.consents.privacyPolicy), amlPolicyUrl ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, " " + translations.consents.and + " ", /*#__PURE__*/React__default["default"].createElement("a", {
5993
- href: amlPolicyUrl,
5994
- className: s$b["swap-form-button-container-consent-text-link"]
5995
- }, translations.consents.aml)) : null, "."), /*#__PURE__*/React__default["default"].createElement(Button, {
6041
+ }, /*#__PURE__*/React__default["default"].createElement(Button, {
5996
6042
  size: "lg",
5997
6043
  mode: "primary",
5998
6044
  content: translations.confirmButtonText,
5999
6045
  onClick: function onClick(resetButtonLoader) {
6000
- return handleConfirmButtonClick(resetButtonLoader, setValidationContent, setBalanceValid, setMinimalAmountValid, setMaximumAmountValid, setIsPairSupported, setIsSameCoins, recipientAddress.current, recipientAddressExtraId.current, refundAddress.current, refundAddressExtraId.current, email.current, isLastEditedReceiving.current);
6046
+ return handleConfirmButtonClick.apply(void 0, composeSwapCreationArgs(resetButtonLoader));
6001
6047
  },
6002
6048
  fullWidthOnMobiles: true,
6003
6049
  isDisabled: !readyToSwap,
6004
6050
  to: formHasBalance ? "" : confirmButtonTo,
6005
6051
  loader: true,
6006
6052
  handleError: callHandlingErrors
6007
- }))));
6053
+ }), consentItems.length === 0 ? null : /*#__PURE__*/React__default["default"].createElement("p", {
6054
+ className: s$b["swap-form-button-container-consent-text"]
6055
+ }, translations.consents.consentText + " ", consentLinksWithSeparators, "."))));
6008
6056
  };
6009
6057
  SwapForm.propTypes = {
6010
6058
  sendingAssetTicker: PropTypes.string.isRequired,
@@ -6048,6 +6096,7 @@ SwapForm.propTypes = {
6048
6096
  termsOfUseUrl: PropTypes.string,
6049
6097
  privacyPolicyUrl: PropTypes.string,
6050
6098
  amlPolicyUrl: PropTypes.string,
6099
+ onWalletAmlComplianceLinkClick: PropTypes.func,
6051
6100
  getExtraIdNameByTicker: PropTypes.func,
6052
6101
  translations: PropTypes.object,
6053
6102
  validateAddressByTicker: PropTypes.func,
@@ -6089,6 +6138,7 @@ SwapForm.defaultProps = {
6089
6138
  termsOfUseUrl: null,
6090
6139
  privacyPolicyUrl: null,
6091
6140
  amlPolicyUrl: null,
6141
+ onWalletAmlComplianceLinkClick: null,
6092
6142
  getExtraIdNameByTicker: function getExtraIdNameByTicker(ticker) {
6093
6143
  return null;
6094
6144
  },
@@ -13124,7 +13174,7 @@ var ExolixSwapProvider = /*#__PURE__*/function (_SwapProvider) {
13124
13174
  min = _validateAndProcessLi[1],
13125
13175
  max = _validateAndProcessLi[2];
13126
13176
  if (returnObject) return returnObject;
13127
- if (min && max & BigNumber__default["default"](max).lt(min)) {
13177
+ if (min && max && BigNumber__default["default"](max).lt(min)) {
13128
13178
  Logger.log("Exolix swap info failed, max limit is below the min one. " + safeStringify(response), loggerSource);
13129
13179
  return {
13130
13180
  result: false,