@rabbitio/ui-kit 1.0.0-beta.80 → 1.0.0-beta.82

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 (258) hide show
  1. package/coverage/clover.xml +1617 -3041
  2. package/coverage/coverage-final.json +101 -153
  3. package/coverage/index.html +113 -353
  4. package/coverage/{ui-kit → rabbit-ui-kit}/index.html +3 -3
  5. package/coverage/{ui-kit → rabbit-ui-kit}/index.js.html +3 -3
  6. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +148 -0
  7. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +131 -0
  8. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +199 -0
  9. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/adapters/axiosAdapter.js.html +3 -3
  10. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/adapters/index.html +3 -3
  11. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/adapters/qrUtils.js.html +3 -3
  12. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/amountUtils.js.html +3 -3
  13. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/errorUtils.js.html +3 -3
  14. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/external-apis/apiGroups.js.html +3 -3
  15. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/external-apis/index.html +3 -3
  16. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/external-apis/ipAddressProviders.js.html +3 -3
  17. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/fiatCurrenciesService.js.html +3 -3
  18. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/globalConstants.jsx.html +3 -3
  19. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/index.html +3 -3
  20. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/models/blockchain.js.html +3 -3
  21. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/models/coin.js.html +42 -42
  22. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/models/index.html +3 -3
  23. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/models/protocol.js.html +5 -5
  24. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/cache.js.html +8 -8
  25. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/emailAPI.js.html +3 -3
  26. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/index.html +3 -3
  27. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/logging/index.html +3 -3
  28. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/logging/logger.js.html +6 -6
  29. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/logging/logsStorage.js.html +5 -5
  30. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/postponeExecution.js.html +3 -3
  31. package/coverage/{ui-kit → rabbit-ui-kit}/src/common-apis/utils/safeStringify.js.html +3 -3
  32. package/coverage/{ui-kit → rabbit-ui-kit}/src/index.html +7 -7
  33. package/coverage/{ui-kit → rabbit-ui-kit}/src/index.js.html +15 -6
  34. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +3 -3
  35. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +3 -3
  36. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/cancelProcessing.js.html +3 -3
  37. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +3 -3
  38. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/externalApiProvider.js.html +3 -3
  39. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/externalServicesStatsCollector.js.html +3 -3
  40. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/index.html +3 -3
  41. package/coverage/{ui-kit → rabbit-ui-kit}/src/robust-api-caller/robustExternalAPICallerService.js.html +3 -3
  42. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/external-apis/index.html +30 -30
  43. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +19 -19
  44. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/external-apis/swapProvider.js.html +282 -177
  45. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +167 -149
  46. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/models/baseSwapCreationInfo.js.html +3 -3
  47. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/models/existingSwap.js.html +3 -3
  48. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/models/existingSwapWithFiatData.js.html +3 -3
  49. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/models/index.html +26 -11
  50. package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +193 -0
  51. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/services/index.html +7 -7
  52. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/services/publicSwapService.js.html +15 -18
  53. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/utils/index.html +3 -3
  54. package/coverage/{ui-kit → rabbit-ui-kit}/src/swaps-lib/utils/swapUtils.js.html +3 -3
  55. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +3 -3
  56. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +3 -3
  57. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +3 -3
  58. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +3 -3
  59. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +3 -3
  60. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +3 -3
  61. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/index.html +3 -3
  62. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +3 -3
  63. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +3 -3
  64. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +3 -3
  65. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +3 -3
  66. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +3 -3
  67. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/AssetIcon/index.html +3 -3
  68. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +3 -3
  69. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/AssetSelection/index.html +3 -3
  70. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +3 -3
  71. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/BackgroundTitle/index.html +3 -3
  72. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +3 -3
  73. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/InformationMessage/index.html +3 -3
  74. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Input/Input.jsx.html +3 -3
  75. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Input/index.html +3 -3
  76. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +3 -3
  77. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/LoadingDots/index.html +3 -3
  78. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +3 -3
  79. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/NoticeIcon/index.html +3 -3
  80. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +7 -25
  81. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/QrCode/index.html +7 -7
  82. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +3 -3
  83. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/RateSelector/index.html +3 -3
  84. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +3 -3
  85. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/SupportChat/index.html +3 -3
  86. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +3 -3
  87. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Textarea/index.html +3 -3
  88. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +3 -3
  89. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/TitleBox/index.html +3 -3
  90. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +3 -3
  91. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Tooltip/index.html +3 -3
  92. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +3 -3
  93. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/TwoLinesOfText/index.html +3 -3
  94. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Validation/Validation.jsx.html +3 -3
  95. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/Validation/index.html +3 -3
  96. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +3 -3
  97. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/Button/index.html +3 -3
  98. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +3 -3
  99. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/Close/index.html +3 -3
  100. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +3 -3
  101. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/LinkButton/index.html +3 -3
  102. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +3 -3
  103. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +3 -3
  104. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +4 -4
  105. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/AmountInput/index.html +3 -3
  106. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +3 -3
  107. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/CoinPicker/index.html +3 -3
  108. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +3 -3
  109. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/LineWithIconLink/index.html +3 -3
  110. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +3 -3
  111. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +3 -3
  112. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +3 -3
  113. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +3 -3
  114. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +3 -3
  115. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +3 -3
  116. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +3 -3
  117. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +3 -3
  118. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +3 -3
  119. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/Dialog/index.html +3 -3
  120. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +42 -18
  121. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/organisms/SwapForm/index.html +7 -7
  122. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +3 -3
  123. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +3 -3
  124. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/hooks/index.html +3 -3
  125. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/hooks/useCallHandlingErrors.js.html +3 -3
  126. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/hooks/useIsHydrated.js.html +3 -3
  127. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/hooks/useReferredState.js.html +3 -3
  128. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/utils/index.html +3 -3
  129. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/utils/inputValueProviders.js.html +3 -3
  130. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/utils/textUtils.js.html +3 -3
  131. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/utils/uiUtils.js.html +3 -3
  132. package/coverage/{ui-kit → rabbit-ui-kit}/src/ui-kit/utils/urlQueryUtils.js.html +3 -3
  133. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/BackgroundTitle.stories.jsx.html +3 -3
  134. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/LinesOfText.stories.jsx.html +3 -3
  135. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/LoadingDots.stories.jsx.html +3 -3
  136. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/QrCode.stories.jsx.html +3 -3
  137. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/RateSelector.stories.jsx.html +3 -3
  138. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/Validation.stories.jsx.html +3 -3
  139. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/buttons/Button.stories.jsx.html +3 -3
  140. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/buttons/Close.stories.jsx.html +3 -3
  141. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/buttons/LinkButton.stories.jsx.html +3 -3
  142. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/buttons/index.html +3 -3
  143. package/coverage/{ui-kit → rabbit-ui-kit}/stories/atoms/index.html +3 -3
  144. package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +271 -0
  145. package/coverage/{ui-kit → rabbit-ui-kit}/stories/molecules/LineWithIconLink.stories.jsx.html +3 -3
  146. package/coverage/{ui-kit → rabbit-ui-kit}/stories/molecules/TitledLineWithIconLink.stories.jsx.html +3 -3
  147. package/coverage/{ui-kit → rabbit-ui-kit}/stories/molecules/index.html +22 -7
  148. package/coverage/{ui-kit → rabbit-ui-kit}/stories/organisms/Dialog/Dialog.stories.jsx.html +3 -3
  149. package/coverage/{ui-kit → rabbit-ui-kit}/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +3 -3
  150. package/coverage/{ui-kit → rabbit-ui-kit}/stories/organisms/Dialog/DialogButtons/index.html +3 -3
  151. package/coverage/{ui-kit → rabbit-ui-kit}/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +3 -3
  152. package/coverage/{ui-kit → rabbit-ui-kit}/stories/organisms/Dialog/DialogStep/index.html +3 -3
  153. package/coverage/{ui-kit → rabbit-ui-kit}/stories/organisms/Dialog/index.html +3 -3
  154. package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +6880 -0
  155. package/coverage/{ui-kit → rabbit-ui-kit}/stories/stubs/exampleContent.jsx.html +3 -3
  156. package/coverage/{ui-kit/storybook-static/sb-preview → rabbit-ui-kit/stories/stubs}/index.html +11 -11
  157. package/coverage/{ui-kit → rabbit-ui-kit}/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +3 -3
  158. package/coverage/{ui-kit → rabbit-ui-kit}/stories/templates/index.html +3 -3
  159. package/dist/global.css.map +1 -1
  160. package/dist/index.cjs +183 -110
  161. package/dist/index.cjs.map +1 -1
  162. package/dist/index.modern.js +123 -62
  163. package/dist/index.modern.js.map +1 -1
  164. package/dist/index.module.js +182 -111
  165. package/dist/index.module.js.map +1 -1
  166. package/dist/index.umd.js +183 -110
  167. package/dist/index.umd.js.map +1 -1
  168. package/package.json +1 -1
  169. package/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js +21 -0
  170. package/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js +38 -0
  171. package/src/index.js +3 -0
  172. package/src/swaps-lib/external-apis/letsExchangeSwapProvider.js +16 -16
  173. package/src/swaps-lib/external-apis/swapProvider.js +41 -6
  174. package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +22 -16
  175. package/src/swaps-lib/models/swapProviderCoinInfo.js +36 -0
  176. package/src/swaps-lib/services/publicSwapService.js +9 -10
  177. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/_fetchSupportedCurrenciesIfNeeded.test.js +502 -501
  178. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +120 -120
  179. package/src/ui-kit/assets/styles/global.scss +10 -1
  180. package/src/ui-kit/components/atoms/QrCode/QrCode.jsx +0 -6
  181. package/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx +1 -1
  182. package/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx +20 -12
  183. package/stories/font.scss +40 -0
  184. package/stories/stubs/coins.jsx +2266 -0
  185. package/coverage/ui-kit/stories/stubs/index.html +0 -116
  186. package/coverage/ui-kit/storybook-static/138.56b7edc4.iframe.bundle.js.html +0 -85
  187. package/coverage/ui-kit/storybook-static/312.6f62bbd9.iframe.bundle.js.html +0 -85
  188. package/coverage/ui-kit/storybook-static/341.57a15f57.iframe.bundle.js.html +0 -85
  189. package/coverage/ui-kit/storybook-static/595.2e40d981.iframe.bundle.js.html +0 -85
  190. package/coverage/ui-kit/storybook-static/607.3ea32459.iframe.bundle.js.html +0 -85
  191. package/coverage/ui-kit/storybook-static/609.949af3f6.iframe.bundle.js.html +0 -85
  192. package/coverage/ui-kit/storybook-static/693.1acf0184.iframe.bundle.js.html +0 -85
  193. package/coverage/ui-kit/storybook-static/797.c87cdf19.iframe.bundle.js.html +0 -85
  194. package/coverage/ui-kit/storybook-static/862.c15e3c9c.iframe.bundle.js.html +0 -85
  195. package/coverage/ui-kit/storybook-static/87.0a1bfeb1.iframe.bundle.js.html +0 -85
  196. package/coverage/ui-kit/storybook-static/893.e21210d8.iframe.bundle.js.html +0 -85
  197. package/coverage/ui-kit/storybook-static/996.10688684.iframe.bundle.js.html +0 -85
  198. package/coverage/ui-kit/storybook-static/atoms-BackgroundTitle-stories.1a5386a1.iframe.bundle.js.html +0 -85
  199. package/coverage/ui-kit/storybook-static/atoms-LinesOfText-stories.7043a48b.iframe.bundle.js.html +0 -85
  200. package/coverage/ui-kit/storybook-static/atoms-LoadingDots-stories.662d6a83.iframe.bundle.js.html +0 -85
  201. package/coverage/ui-kit/storybook-static/atoms-QrCode-stories.e10363b6.iframe.bundle.js.html +0 -85
  202. package/coverage/ui-kit/storybook-static/atoms-RateSelector-stories.da7b9f1f.iframe.bundle.js.html +0 -85
  203. package/coverage/ui-kit/storybook-static/atoms-Validation-stories.d561b311.iframe.bundle.js.html +0 -85
  204. package/coverage/ui-kit/storybook-static/atoms-buttons-Button-stories.d336c1a5.iframe.bundle.js.html +0 -85
  205. package/coverage/ui-kit/storybook-static/atoms-buttons-Close-stories.0a902a7c.iframe.bundle.js.html +0 -85
  206. package/coverage/ui-kit/storybook-static/atoms-buttons-LinkButton-stories.ca93ab6b.iframe.bundle.js.html +0 -85
  207. package/coverage/ui-kit/storybook-static/index.html +0 -536
  208. package/coverage/ui-kit/storybook-static/main.75ff1c31.iframe.bundle.js.html +0 -85
  209. package/coverage/ui-kit/storybook-static/molecules-LineWithIconLink-stories.2d2d5753.iframe.bundle.js.html +0 -85
  210. package/coverage/ui-kit/storybook-static/molecules-TitledLineWithIconLink-stories.1383fe3f.iframe.bundle.js.html +0 -85
  211. package/coverage/ui-kit/storybook-static/organisms-Dialog-Dialog-stories.4e6da717.iframe.bundle.js.html +0 -85
  212. package/coverage/ui-kit/storybook-static/organisms-Dialog-DialogButtons-DialogButtons-stories.b79c32a3.iframe.bundle.js.html +0 -85
  213. package/coverage/ui-kit/storybook-static/organisms-Dialog-DialogStep-DialogStep-stories.74896048.iframe.bundle.js.html +0 -85
  214. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/addon-backgrounds/dist/index.html +0 -116
  215. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/addon-backgrounds/dist/preview.js.html +0 -118
  216. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/components/dist/formatter-SWP5E3XI.mjs.html +0 -118
  217. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/@storybook/components/dist/index.html +0 -116
  218. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/buffer/index.html +0 -116
  219. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/buffer/index.js.html +0 -118
  220. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/markdown-to-jsx/dist/index.html +0 -116
  221. package/coverage/ui-kit/storybook-static/rabbitio/ui-kit/node_modules/markdown-to-jsx/dist/index.modern.js.html +0 -118
  222. package/coverage/ui-kit/storybook-static/runtime~main.b108a22d.iframe.bundle.js.html +0 -85
  223. package/coverage/ui-kit/storybook-static/sb-addons/actions-9/index.html +0 -116
  224. package/coverage/ui-kit/storybook-static/sb-addons/actions-9/manager-bundle.js.html +0 -94
  225. package/coverage/ui-kit/storybook-static/sb-addons/essentials-backgrounds-2/index.html +0 -116
  226. package/coverage/ui-kit/storybook-static/sb-addons/essentials-backgrounds-2/manager-bundle.js.html +0 -121
  227. package/coverage/ui-kit/storybook-static/sb-addons/essentials-controls-1/index.html +0 -116
  228. package/coverage/ui-kit/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.html +0 -274
  229. package/coverage/ui-kit/storybook-static/sb-addons/essentials-measure-4/index.html +0 -116
  230. package/coverage/ui-kit/storybook-static/sb-addons/essentials-measure-4/manager-bundle.js.html +0 -94
  231. package/coverage/ui-kit/storybook-static/sb-addons/essentials-outline-5/index.html +0 -116
  232. package/coverage/ui-kit/storybook-static/sb-addons/essentials-outline-5/manager-bundle.js.html +0 -94
  233. package/coverage/ui-kit/storybook-static/sb-addons/essentials-toolbars-3/index.html +0 -116
  234. package/coverage/ui-kit/storybook-static/sb-addons/essentials-toolbars-3/manager-bundle.js.html +0 -94
  235. package/coverage/ui-kit/storybook-static/sb-addons/interactions-7/index.html +0 -116
  236. package/coverage/ui-kit/storybook-static/sb-addons/interactions-7/manager-bundle.js.html +0 -121
  237. package/coverage/ui-kit/storybook-static/sb-addons/links-0/index.html +0 -116
  238. package/coverage/ui-kit/storybook-static/sb-addons/links-0/manager-bundle.js.html +0 -94
  239. package/coverage/ui-kit/storybook-static/sb-addons/onboarding-6/index.html +0 -116
  240. package/coverage/ui-kit/storybook-static/sb-addons/onboarding-6/manager-bundle.js.html +0 -1588
  241. package/coverage/ui-kit/storybook-static/sb-addons/viewport-8/index.html +0 -116
  242. package/coverage/ui-kit/storybook-static/sb-addons/viewport-8/manager-bundle.js.html +0 -94
  243. package/coverage/ui-kit/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-LVYLGZW2.js.html +0 -88
  244. package/coverage/ui-kit/storybook-static/sb-manager/chunk-2IXBUOFS.js.html +0 -106
  245. package/coverage/ui-kit/storybook-static/sb-manager/chunk-INSKDKQB.js.html +0 -1129
  246. package/coverage/ui-kit/storybook-static/sb-manager/chunk-NGTUFCUO.js.html +0 -112
  247. package/coverage/ui-kit/storybook-static/sb-manager/chunk-UUEAOBSN.js.html +0 -1303
  248. package/coverage/ui-kit/storybook-static/sb-manager/chunk-ZEU7PDD3.js.html +0 -88
  249. package/coverage/ui-kit/storybook-static/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js.html +0 -553
  250. package/coverage/ui-kit/storybook-static/sb-manager/globals-module-info.js.html +0 -88
  251. package/coverage/ui-kit/storybook-static/sb-manager/globals.js.html +0 -88
  252. package/coverage/ui-kit/storybook-static/sb-manager/index.html +0 -281
  253. package/coverage/ui-kit/storybook-static/sb-manager/index.js.html +0 -88
  254. package/coverage/ui-kit/storybook-static/sb-manager/runtime.js.html +0 -88
  255. package/coverage/ui-kit/storybook-static/sb-manager/syntaxhighlighter-V7JZZA35-DXZCI2WR.js.html +0 -88
  256. package/coverage/ui-kit/storybook-static/sb-preview/globals.js.html +0 -88
  257. package/coverage/ui-kit/storybook-static/sb-preview/runtime.js.html +0 -421
  258. package/coverage/ui-kit/storybook-static/templates-DeterminedErrorDialogStep-stories.3cc14214.iframe.bundle.js.html +0 -85
@@ -3825,7 +3825,7 @@ const AmountInput = /*#__PURE__*/React.forwardRef(({
3825
3825
  className: s$a["requested-amount-fiat"] + (interactedWith ? " " + s$a["interacted"] : "")
3826
3826
  }, interactedWith ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
3827
3827
  className: s$a["requested-amount-fiat-currency"]
3828
- }, (_estimateAmount ? "~ " : "") + _fiatCurrencyCode), !_isLoading && _cryptoAssetToFiatRate ? /*#__PURE__*/React.createElement("input", {
3828
+ }, (_estimateAmount ? "~ " : "") + _fiatCurrencyCode), !_isLoading && _cryptoAssetToFiatRate != null ? /*#__PURE__*/React.createElement("input", {
3829
3829
  type: "text",
3830
3830
  inputMode: "decimal",
3831
3831
  className: s$a["requested-amount-fiat-input"],
@@ -4207,11 +4207,10 @@ function useIsHydrated() {
4207
4207
  * @param {boolean} [props.formHasFiat] - Indicates if the form supports fiat currency.
4208
4208
  * @param {string|null} [props.termsOfUseUrl] - Terms of use URL, shown only if both terms & privacy policy passed.
4209
4209
  * @param {string|null} [props.privacyPolicyUrl] - Privacy policy of use URL, shown only if both terms & privacy policy passed.
4210
- * @param {string} props.recipientAddressExtraIdName - Extra ID name for the recipient address.
4211
- * @param {string} props.refundAddressExtraIdName - Extra ID name for the refund address.
4212
4210
  * @param {object} [props.translations] - Object containing translations, default English texts will be used if omitted.
4213
4211
  * @param {string} props.swapSeparatorIconSrc - Source URL for the swap separator icon.
4214
4212
  * @param {boolean} props.swapButtonAlwaysActive - Setting that allows the form state to proceed to the next step regardless of validity.
4213
+ * @param {getExtraIdNameByTicker} props.getExtraIdNameByTicker - Function returning extraId name for asset
4215
4214
  * @param {validateAddressByTicker} [props.validateAddressByTicker] - Function validating address
4216
4215
  * @param {onIsFixedChange} [props.onIsFixedChange] - callback for changed isFixed
4217
4216
  * @return {JSX.Element} Rendered SwapForm component.
@@ -4261,8 +4260,6 @@ const SwapForm = ({
4261
4260
  swapSeparatorIconSrc,
4262
4261
  swapButtonAlwaysActive: _swapButtonAlwaysActive = false,
4263
4262
  onIsFixedChange: _onIsFixedChange = () => {},
4264
- // recipientAddressExtraIdName,
4265
- // refundAddressExtraIdName,
4266
4263
  translations: _translations = {
4267
4264
  swapAllButtonTitles: {
4268
4265
  enable: "Swap all",
@@ -4307,6 +4304,9 @@ const SwapForm = ({
4307
4304
  var _isFixedRate$current2, _isFixedRate$current3, _maximumAmount$curren6, _maximumAmount$curren7, _maximumAmount$curren8, _minimalAmount$curren7;
4308
4305
  const DETAIL_REFRESH_INTERVAL_MS = 1.5 * 60000;
4309
4306
  const IS_FIXED_BY_DEFAULT = false;
4307
+
4308
+ // Setting up an asyncronyous states, which can change during the function execution.
4309
+ // This is done so that we can cancel the calculation update in case the selected asset changes.
4310
4310
  const [sendingAssetTickerReferred, setSendingAssetTickerReferred] = useReferredState(null);
4311
4311
  const [receivingAssetTickerReferred, setReceivingAssetTickerReferred] = useReferredState(null);
4312
4312
 
@@ -4495,18 +4495,23 @@ const SwapForm = ({
4495
4495
  setIsSameCoins(false);
4496
4496
  setIsPairSupported(true);
4497
4497
  setIsSwapCalculated(false);
4498
+
4499
+ // Saving the selected coins at the moment, so we can cancel
4500
+ // the processing if they get changed during the loading.
4498
4501
  const currentSendingAssetTicker = sendingAssetTicker;
4499
4502
  const currentReceivingAssetTicker = receivingAssetTicker;
4500
4503
  const response = await _retrieveSwapDetails(currentSendingAssetTicker, currentReceivingAssetTicker, amount, isSwapAll.current, (_isFixedRate$current = isFixedRate.current) != null ? _isFixedRate$current : IS_FIXED_BY_DEFAULT, isFixedRate.current ? isLastEditedReceiving.current : false);
4501
4504
  if (currentSendingAssetTicker !== sendingAssetTickerReferred.current || currentReceivingAssetTicker !== receivingAssetTickerReferred.current) {
4505
+ // Cancelling the further processing in case the
4506
+ // selected coins were changed during the loading.
4502
4507
  return;
4503
4508
  }
4504
4509
  if (!isSwapAll.current && String(amount) !== String(isForPreserved && sendAssetAmount.current == null && receiveAssetAmount.current == null ? _preservedAmount : isFixedRate.current && isLastEditedReceiving.current ? receiveAssetAmount.current : sendAssetAmount.current)) {
4505
4510
  // Means amount changed and we no more need to do this exact calculation
4506
4511
  return;
4507
4512
  }
4508
- const swapCreationInfo = response == null ? void 0 : response.swapCreationInfo;
4509
4513
  if (response.result) {
4514
+ const swapCreationInfo = response == null ? void 0 : response.swapCreationInfo;
4510
4515
  if (isSwapAll.current) {
4511
4516
  setIsAmountZero(BigNumber("0").eq(swapCreationInfo.fromAmountCoins));
4512
4517
  }
@@ -4679,6 +4684,8 @@ const SwapForm = ({
4679
4684
  };
4680
4685
  // eslint-disable-next-line react-hooks/exhaustive-deps
4681
4686
  }, [readyToSwap]);
4687
+
4688
+ // TODO: [refactoring, critical] this code looks like a hack related to task_id=6e328d39063142b7b9fa01d497e616da
4682
4689
  useEffect(() => {
4683
4690
  if (_triggerDataUpdateResetting) {
4684
4691
  clearTimeout(dataUpdateTimeoutId.current);
@@ -4688,6 +4695,8 @@ const SwapForm = ({
4688
4695
  }
4689
4696
  // eslint-disable-next-line react-hooks/exhaustive-deps
4690
4697
  }, [_triggerDataUpdateResetting]);
4698
+
4699
+ // Resets the passed "set value to" param to null, so it can be used multiple times with any value
4691
4700
  useEffect(() => {
4692
4701
  if (!!updateSendInputTo) setUpdateSendInputTo(null);
4693
4702
  if (!!updateReceiveInputTo) setUpdateReceiveInputTo(null);
@@ -4717,12 +4726,10 @@ const SwapForm = ({
4717
4726
  setIsSwapCalculated(false);
4718
4727
  };
4719
4728
  useEffect(() => {
4720
- if (!isLastEditedReceiving.current) return;
4721
- handleAmountChange(receiveAssetAmount.current === "" ? "0" : receiveAssetAmount.current);
4729
+ if (isLastEditedReceiving.current) handleAmountChange(receiveAssetAmount.current === "" ? "0" : receiveAssetAmount.current);
4722
4730
  }, [receiveAssetAmount.current]);
4723
4731
  useEffect(() => {
4724
- if (isLastEditedReceiving.current) return;
4725
- handleAmountChange(sendAssetAmount.current === "" ? "0" : sendAssetAmount.current);
4732
+ if (!isLastEditedReceiving.current) handleAmountChange(sendAssetAmount.current === "" ? "0" : sendAssetAmount.current);
4726
4733
  }, [sendAssetAmount.current]);
4727
4734
  const recipientAddressExtraIdName = _getExtraIdNameByTicker(receivingAssetTicker);
4728
4735
  const refundAddressExtraIdName = _getExtraIdNameByTicker(sendingAssetTicker);
@@ -4920,12 +4927,12 @@ SwapForm.propTypes = {
4920
4927
  formHasFiat: PropTypes.bool,
4921
4928
  termsOfUseUrl: PropTypes.oneOfType([PropTypes.string, null]),
4922
4929
  privacyPolicyUrl: PropTypes.oneOfType([PropTypes.string, null]),
4923
- recipientAddressExtraIdName: PropTypes.string,
4924
- refundAddressExtraIdName: PropTypes.string,
4930
+ getExtraIdNameByTicker: PropTypes.func,
4925
4931
  translations: PropTypes.object,
4926
4932
  validateAddressByTicker: PropTypes.func,
4927
4933
  swapSeparatorIconSrc: PropTypes.string.isRequired,
4928
- swapButtonAlwaysActive: PropTypes.bool
4934
+ swapButtonAlwaysActive: PropTypes.bool,
4935
+ onIsFixedChange: PropTypes.func
4929
4936
  };
4930
4937
  SwapForm.defaultProps = {
4931
4938
  sendingAssetDecimalCount: AmountUtils.significantDecimalCount,
@@ -4952,8 +4959,10 @@ SwapForm.defaultProps = {
4952
4959
  formHasFiat: true,
4953
4960
  termsOfUseUrl: null,
4954
4961
  privacyPolicyUrl: null,
4962
+ getExtraIdNameByTicker: ticker => null,
4955
4963
  validateAddressByTicker: ticker => false,
4956
- swapButtonAlwaysActive: false
4964
+ swapButtonAlwaysActive: false,
4965
+ onIsFixedChange: () => {}
4957
4966
  };
4958
4967
 
4959
4968
  /**
@@ -4979,11 +4988,6 @@ var s$6 = {"qr-code":"_VZ0dT","fill":"_hFE1l"};
4979
4988
  * QrCode component renders a QR code for a provided crypto address.
4980
4989
  *
4981
4990
  * @component
4982
- * @example
4983
- * const address = "0x123456789abcdef";
4984
- * const fill = true;
4985
- * return <QrCode address={address} fill={fill} />;
4986
- *
4987
4991
  * @param {Object} props - The props for the component.
4988
4992
  * @param {string} props.address - The crypto address to generate the QR code for.
4989
4993
  * @param {boolean} [props.fill=false] - If true, applies additional CSS class to fill the container.
@@ -5016,7 +5020,6 @@ QrCode.propTypes = {
5016
5020
  fill: PropTypes.bool
5017
5021
  };
5018
5022
  QrCode.defaultProps = {
5019
- address: "",
5020
5023
  fill: false
5021
5024
  };
5022
5025
 
@@ -7747,6 +7750,55 @@ class IpAddressProvider {
7747
7750
  }
7748
7751
  IpAddressProvider.externalIPAddressAPICaller = new CachedRobustExternalApiCallerService("externalIPAddressAPICaller", new Cache(EventBusInstance), [new BigdatacloudIpAddressProvider(), new TrackipIpAddressProvider(), new IpifyV6IpAddressProvider(), new IpifyIpAddressProvider(), new WhatismyipaddressIpAddressProvider()], 300000);
7749
7752
 
7753
+ class GoogleAnalyticsAdapter {
7754
+ static sendEvent(eventName, parameters) {
7755
+ console.log("Sending ga event: ", parameters, ["event", eventName, parameters]);
7756
+ this.doActionOnGTag(["event", eventName, parameters]);
7757
+ }
7758
+ static doActionOnGTag(parameters) {
7759
+ try {
7760
+ if (window.gtag) {
7761
+ window.gtag(...parameters);
7762
+ } else {
7763
+ Logger.logError(null, "doActionOnGTag", "No gtag found");
7764
+ }
7765
+ } catch (e) {
7766
+ Logger.logError(e, "doActionOnGTag", "Failed to do gtag action: " + safeStringify(parameters));
7767
+ }
7768
+ }
7769
+ }
7770
+
7771
+ class MixpanelAdapter {
7772
+ static sendEvent(eventName, parameters) {
7773
+ try {
7774
+ if (window.mixpanel) {
7775
+ const result = window.mixpanel.track(eventName, parameters);
7776
+ // eslint-disable-next-line no-console
7777
+ console.log("Mixpanel sendEvent result: " + result);
7778
+ } else {
7779
+ Logger.logError(null, "sendEvent", "No mixpanel found");
7780
+ }
7781
+ } catch (e) {
7782
+ Logger.logError(e, "sendEvent", "Failed to do mixpanel action: " + eventName + " - " + safeStringify(parameters));
7783
+ }
7784
+ }
7785
+ static identify(uniqueId) {
7786
+ try {
7787
+ if (window.mixpanel) {
7788
+ if (uniqueId) {
7789
+ const result = window.mixpanel.identify(uniqueId);
7790
+ // eslint-disable-next-line no-console
7791
+ console.log("Mixpanel identify result: " + result);
7792
+ }
7793
+ } else {
7794
+ Logger.logError(null, "identify", "No mixpanel found");
7795
+ }
7796
+ } catch (e) {
7797
+ Logger.logError(e, "identify", "Failed to identify.");
7798
+ }
7799
+ }
7800
+ }
7801
+
7750
7802
  /**
7751
7803
  * Utils class needed to perform cancelling of axios request inside some process.
7752
7804
  * Provides cancel state and axios token for HTTP requests
@@ -7907,6 +7959,33 @@ class BaseSwapCreationInfo {
7907
7959
  }
7908
7960
  }
7909
7961
 
7962
+ /**
7963
+ * Coin construction rules:
7964
+ * 1. ticker should be CODEPROTOCOL_CODE e.g. USDTERC20
7965
+ * 2. name should not contain (PROTOCOL_CODE) or just PROTOCOL_CODe
7966
+ * 3. protocol should be null for coins major for their blockchains like BTC, ETH
7967
+ * 4. isPopular should be a number - the higher -> the more popular
7968
+ */
7969
+ class SwapProviderCoinInfo {
7970
+ constructor(coin, code, network, hasExtraId, extraIdName, popularity, iconURL, deposit, withdrawal, validationRegexp, isAvailable) {
7971
+ this.coin = coin;
7972
+ this.code = code;
7973
+ this.network = network;
7974
+ this.hasExtraId = hasExtraId;
7975
+ this.extraIdName = extraIdName;
7976
+ this.isPopular = popularity;
7977
+ this.iconURL = iconURL != null ? iconURL : FALLBACK_ASSET_ICON_URL;
7978
+ this.deposit = deposit != null ? deposit : false;
7979
+ this.withdrawal = withdrawal != null ? withdrawal : false;
7980
+ this.validationRegexp = validationRegexp != null ? validationRegexp : null;
7981
+ this.isAvailable = isAvailable != null ? isAvailable : true;
7982
+ }
7983
+ }
7984
+
7985
+ const PRE_LISTED_COINS = [new SwapProviderCoinInfo(new Coin("Hamster Kombat", "HMSTRTON", "HMSTR", 18, null, "", null, null, 1, null, [], 60000, null, new Protocol("TON"), null, false), "HMSTR", "TON", true, "MEMO", 100, "https://rabbit.io/asset-icons/HMSTR.png",
7986
+ // "https://hamsterkombat.io/images/icons/hamster-coin.png"
7987
+ true, true, "^(EQ|UQ)[A-Za-z0-9-_]{46}$", false)];
7988
+
7910
7989
  // TODO: [refactoring, moderate] extract structure of _supportedCoins into model class
7911
7990
  class SwapProvider {
7912
7991
  constructor(cache, customCoinBuilder = (coin, network) => null, useRestrictedCoinsSet = true) {
@@ -7937,7 +8016,7 @@ class SwapProvider {
7937
8016
  * @private
7938
8017
  */
7939
8018
  _putPopularCoinsFirst() {
7940
- const popularCoinsList = ["BTC", "ETH", "USDTERC20", "USDTTRC20", "USDCERC20", "XRP", "TON", "XMR", "TRX", "DAIERC20", "DOGE", "BNB", "PEPEERC20", "NOTTON", "SOL", "DOT", "LTC", "SHIBERC20", "AVAX", "UNIERC20", "LINKERC20", "MATIC", "BUSDBEP20", "AAVEERC20", "ATOM", "RUNE", "ADA"];
8019
+ const popularCoinsList = ["HMSTRTON", "BTC", "ETH", "USDTERC20", "USDTTRC20", "USDCERC20", "XRP", "TON", "XMR", "TRX", "DAIERC20", "DOGE", "BNB", "PEPEERC20", "NOTTON", "SOL", "DOT", "LTC", "SHIBERC20", "AVAX", "UNIERC20", "LINKERC20", "MATIC", "BUSDBEP20", "AAVEERC20", "ATOM", "RUNE", "ADA"];
7941
8020
  this._supportedCoins.sort((i1, i2) => {
7942
8021
  const isInPopularList1 = popularCoinsList.includes(i1.coin.ticker);
7943
8022
  const isInPopularList2 = popularCoinsList.includes(i2.coin.ticker);
@@ -7965,17 +8044,16 @@ class SwapProvider {
7965
8044
 
7966
8045
  /**
7967
8046
  * Should fill _supportedCoins with array of coins.
7968
- * Coin construction rules:
7969
- * 1. ticker should be CODEPROTOCOL_CODE e.g. USDTERC20
7970
- * 2. name should not contain (PROTOCOL_CODE) or just PROTOCOL_CODe
7971
- * 3. protocol should be null for coins major for their blockchains like BTC, ETH
7972
- * 4. isPopular should be a number
7973
8047
  *
7974
8048
  * @return {Promise<void>}
7975
8049
  * @private
7976
8050
  */
7977
8051
  async _fetchSupportedCurrenciesIfNeeded() {
7978
- throw new Error("Not implemented in base - _fetchSupportedCurrenciesIfNeeded");
8052
+ PRE_LISTED_COINS.forEach(preListedCoin => {
8053
+ if (!this._supportedCoins.find(existingCoin => preListedCoin.coin.ticker === existingCoin.coin.ticker)) {
8054
+ this._supportedCoins.push(preListedCoin);
8055
+ }
8056
+ });
7979
8057
  }
7980
8058
 
7981
8059
  /**
@@ -8378,23 +8456,12 @@ class SwapspaceSwapProvider extends SwapProvider {
8378
8456
  }
8379
8457
  if (coin) {
8380
8458
  var _item$deposit, _item$withdrawal, _item$validationRegex;
8381
- return {
8382
- coin: coin,
8383
- code: item.code,
8384
- network: item.network,
8385
- hasExtraId: item.hasExtraId,
8386
- extraIdName: item.extraIdName,
8387
- isPopular: item.popular ? 1 : 0,
8388
- iconURL: item.icon ? `https://storage.swapspace.co${item.icon}` : FALLBACK_ASSET_ICON_URL,
8389
- deposit: (_item$deposit = item.deposit) != null ? _item$deposit : false,
8390
- withdrawal: (_item$withdrawal = item.withdrawal) != null ? _item$withdrawal : false,
8391
- validationRegexp: (_item$validationRegex = item.validationRegexp) != null ? _item$validationRegex : null,
8392
- isAvailable: true
8393
- };
8459
+ return new SwapProviderCoinInfo(coin, item.code, item.network, item.hasExtraId, item.extraIdName, item.popular ? 1 : 0, item.icon ? `https://storage.swapspace.co${item.icon}` : FALLBACK_ASSET_ICON_URL, (_item$deposit = item.deposit) != null ? _item$deposit : false, (_item$withdrawal = item.withdrawal) != null ? _item$withdrawal : false, (_item$validationRegex = item.validationRegexp) != null ? _item$validationRegex : null, true);
8394
8460
  }
8395
8461
  return [];
8396
8462
  }).flat();
8397
8463
  this._putPopularCoinsFirst();
8464
+ await super._fetchSupportedCurrenciesIfNeeded();
8398
8465
  }
8399
8466
  } catch (e) {
8400
8467
  improveAndRethrow(e, loggerSource);
@@ -8433,7 +8500,7 @@ class SwapspaceSwapProvider extends SwapProvider {
8433
8500
  if (!fromCoinSwapspaceDetails || !toCoinSwapspaceDetails) {
8434
8501
  throw new Error("Failed to find swapspace coin details for: " + fromCoin.ticker + " -> " + toCoin.ticker);
8435
8502
  }
8436
- if (!fromCoinSwapspaceDetails.deposit || !toCoinSwapspaceDetails.withdrawal) {
8503
+ if (!fromCoinSwapspaceDetails.deposit || !toCoinSwapspaceDetails.withdrawal || !fromCoinSwapspaceDetails.isAvailable || !toCoinSwapspaceDetails.isAvailable) {
8437
8504
  return {
8438
8505
  result: false,
8439
8506
  reason: SwapProvider.NO_SWAPS_REASONS.NOT_SUPPORTED
@@ -8630,7 +8697,7 @@ class SwapspaceSwapProvider extends SwapProvider {
8630
8697
  Logger.log(`Returning fail - RPS limit exceeded ${data}`, loggerSource);
8631
8698
  return composeFailResult(SwapProvider.COMMON_ERRORS.REQUESTS_LIMIT_EXCEEDED);
8632
8699
  }
8633
- const texts422 = ["Pair cannot be processed by", "Currency not found", "Amount maximum is", "Amount minimum is"];
8700
+ const texts422 = ["Pair cannot be processed by", "Currency not found", "Currencies not found", "Amount maximum is", "Amount minimum is"];
8634
8701
  const text403 = "IP address is forbidden";
8635
8702
  if (typeof data === "string" && (status === 403 && data.includes(text403) || status === 422 && texts422.find(text => data.includes(text)))) {
8636
8703
  Logger.log(`Returning retriable fail: ${status} - ${data}, ${partner}`, loggerSource);
@@ -8907,27 +8974,17 @@ class LetsExchangeSwapProvider extends SwapProvider {
8907
8974
  }
8908
8975
  if (coin) {
8909
8976
  var _networkDetails$extra, _networkDetails$valid;
8910
- return {
8911
- coin: coin,
8912
- code: item.code,
8913
- network: networkDetails.code,
8914
- hasExtraId: !!networkDetails.has_extra,
8915
- extraIdName: (_networkDetails$extra = networkDetails.extra_name) != null ? _networkDetails$extra : null,
8916
- isPopular: item.rating || 0,
8917
- iconURL: item.icon ? item.icon : FALLBACK_ASSET_ICON_URL,
8918
- deposit: true,
8919
- // Letsexchange provide no such details
8920
- withdrawal: true,
8921
- // Letsexchange provide no such details
8922
- validationRegexp: (_networkDetails$valid = networkDetails.validation_address_regex) != null ? _networkDetails$valid : null,
8923
- isAvailable: (typeof item.is_active !== "number" || item.is_active === 1) && (typeof item.disabled !== "number" || item.disabled === 0) && (typeof networkDetails.is_active !== "number" || networkDetails.is_active === 1)
8924
- };
8977
+ return new SwapProviderCoinInfo(coin, item.code, networkDetails.code, !!networkDetails.has_extra, (_networkDetails$extra = networkDetails.extra_name) != null ? _networkDetails$extra : null, item.rating || 0, item.icon ? item.icon : FALLBACK_ASSET_ICON_URL, true,
8978
+ // Letsexchange provide no such details
8979
+ true, // Letsexchange provide no such details
8980
+ (_networkDetails$valid = networkDetails.validation_address_regex) != null ? _networkDetails$valid : null, (typeof item.is_active !== "number" || item.is_active === 1) && (typeof item.disabled !== "number" || item.disabled === 0) && (typeof networkDetails.is_active !== "number" || networkDetails.is_active === 1));
8925
8981
  }
8926
8982
  return [];
8927
8983
  });
8928
8984
  }).flat();
8929
8985
  this.coinsLastUpdateTimestamp = Date.now();
8930
8986
  this._putPopularCoinsFirst();
8987
+ await super._fetchSupportedCurrenciesIfNeeded();
8931
8988
  }
8932
8989
  } catch (e) {
8933
8990
  improveAndRethrow(e, loggerSource);
@@ -9537,9 +9594,12 @@ class PublicSwapService {
9537
9594
  } catch (e) {
9538
9595
  Logger.logError(e, loggerSource, "Failed to calculate fiat amounts for result");
9539
9596
  }
9540
-
9541
- // TODO: feature, cirtical] add GA event. task_id=091004f1b6b748b29ddece6a130df904
9542
- EventBusInstance.dispatch(PublicSwapService.PUBLIC_SWAP_CREATED_EVENT, null, fromCoin.ticker, toCoin.ticker, fromAmountFiat);
9597
+ await GoogleAnalyticsAdapter.sendEvent(PublicSwapService.PUBLIC_SWAP_CREATED_ANALYTICS_EVENT, {
9598
+ coin_amount: result.fromAmount,
9599
+ usd_amount: fromAmountFiat,
9600
+ fromCoin: fromCoin.ticker,
9601
+ toCoin: toCoin.ticker
9602
+ });
9543
9603
  const toReturn = {
9544
9604
  result: true,
9545
9605
  swapId: result.swapId,
@@ -9748,7 +9808,8 @@ class PublicSwapService {
9748
9808
  }
9749
9809
  }
9750
9810
  }
9751
- PublicSwapService.PUBLIC_SWAP_CREATED_EVENT = "publicSwapCreatedEvent";
9811
+ PublicSwapService.PUBLIC_SWAP_CREATED_ANALYTICS_EVENT = "public_swap_created_event";
9812
+ PublicSwapService.PUBLIC_SWAP_SUCCEED_ANALYTICS_EVENT = "public_swap_succeed_event";
9752
9813
  PublicSwapService.PUBLIC_SWAPS_COMMON_ERRORS = {
9753
9814
  REQUESTS_LIMIT_EXCEEDED: "requestsLimitExceeded"
9754
9815
  };
@@ -9761,5 +9822,5 @@ PublicSwapService.PUBLIC_SWAP_DETAILS_FAIL_REASONS = {
9761
9822
  };
9762
9823
  PublicSwapService._fiatDecimalsCount = FiatCurrenciesService.getCurrencyDecimalCountByCode("USD");
9763
9824
 
9764
- export { AmountInput, AmountUtils, ApiGroup, ApiGroups, AssetIcon, AssetSelection, AxiosAdapter, BackgroundTitle, BaseSwapCreationInfo, Blockchain, Button, CLOSE_COLORS, COIN_PICKER_MODES, Cache, CacheAndConcurrentRequestsResolver, CachedRobustExternalApiCallerService, CancelProcessing, Close, Coin, CoinPicker, CoinPickerDialogStep, ConcurrentCalculationsMetadataHolder, DEFAULT_CRYPTO_DECIMAL_COUNT, DIALOG_SIZES, DIALOG_STEP_CLASS, DIALOG_TRANSITION_STEP_DURATION, DeterminedErrorDialogStep, Dialog, DialogButtons, DialogStep, EmailsApi, ExistingSwap, ExistingSwapWithFiatData, ExternalApiProvider, FALLBACK_ASSET_ICON_URL, FiatCurrenciesService, ICON_ROTATE_OPTIONS, InformationMessage, Input, InputValuesProviders, IpAddressProvider, LineWithIconLink, LinesOfText, LinkButton, LoadingDots, Logger, LogsStorage, NoticeIcon, Protocol, PublicSwapService, QrCode, RadioButtonWithText, RobustExternalAPICallerService, SupportChat, SwapForm, SwapProvider, SwapUtils, SwapspaceSwapProvider, TOOLTIP_POSITIONS, Textarea, TitleBox, TitledLineWithIconLink, Tooltip, Validation, copyBrowserTextToClipboard, getQueryParameterSingleValue, getQueryParameterValues, handleClickOutside, improveAndRethrow, logErrorOrOutputToConsole, postponeExecution, removeQueryParameterAndValues, safeStringify, saveQueryParameterAndValues, useCallHandlingErrors, useIsHydrated, useReferredState };
9825
+ export { AmountInput, AmountUtils, ApiGroup, ApiGroups, AssetIcon, AssetSelection, AxiosAdapter, BackgroundTitle, BaseSwapCreationInfo, Blockchain, Button, CLOSE_COLORS, COIN_PICKER_MODES, Cache, CacheAndConcurrentRequestsResolver, CachedRobustExternalApiCallerService, CancelProcessing, Close, Coin, CoinPicker, CoinPickerDialogStep, ConcurrentCalculationsMetadataHolder, DEFAULT_CRYPTO_DECIMAL_COUNT, DIALOG_SIZES, DIALOG_STEP_CLASS, DIALOG_TRANSITION_STEP_DURATION, DeterminedErrorDialogStep, Dialog, DialogButtons, DialogStep, EmailsApi, ExistingSwap, ExistingSwapWithFiatData, ExternalApiProvider, FALLBACK_ASSET_ICON_URL, FiatCurrenciesService, GoogleAnalyticsAdapter, ICON_ROTATE_OPTIONS, InformationMessage, Input, InputValuesProviders, IpAddressProvider, LineWithIconLink, LinesOfText, LinkButton, LoadingDots, Logger, LogsStorage, MixpanelAdapter, NoticeIcon, Protocol, PublicSwapService, QrCode, RadioButtonWithText, RobustExternalAPICallerService, SupportChat, SwapForm, SwapProvider, SwapUtils, SwapspaceSwapProvider, TOOLTIP_POSITIONS, Textarea, TitleBox, TitledLineWithIconLink, Tooltip, Validation, copyBrowserTextToClipboard, getQueryParameterSingleValue, getQueryParameterValues, handleClickOutside, improveAndRethrow, logErrorOrOutputToConsole, postponeExecution, removeQueryParameterAndValues, safeStringify, saveQueryParameterAndValues, useCallHandlingErrors, useIsHydrated, useReferredState };
9765
9826
  //# sourceMappingURL=index.modern.js.map