@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
package/dist/index.cjs CHANGED
@@ -4272,7 +4272,7 @@ var AmountInput = /*#__PURE__*/React__default["default"].forwardRef(function (_r
4272
4272
  className: s$a["requested-amount-fiat"] + (interactedWith ? " " + s$a["interacted"] : "")
4273
4273
  }, interactedWith ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("span", {
4274
4274
  className: s$a["requested-amount-fiat-currency"]
4275
- }, (estimateAmount ? "~ " : "") + fiatCurrencyCode), !isLoading && cryptoAssetToFiatRate ? /*#__PURE__*/React__default["default"].createElement("input", {
4275
+ }, (estimateAmount ? "~ " : "") + fiatCurrencyCode), !isLoading && cryptoAssetToFiatRate != null ? /*#__PURE__*/React__default["default"].createElement("input", {
4276
4276
  type: "text",
4277
4277
  inputMode: "decimal",
4278
4278
  className: s$a["requested-amount-fiat-input"],
@@ -4694,11 +4694,10 @@ function useIsHydrated() {
4694
4694
  * @param {boolean} [props.formHasFiat] - Indicates if the form supports fiat currency.
4695
4695
  * @param {string|null} [props.termsOfUseUrl] - Terms of use URL, shown only if both terms & privacy policy passed.
4696
4696
  * @param {string|null} [props.privacyPolicyUrl] - Privacy policy of use URL, shown only if both terms & privacy policy passed.
4697
- * @param {string} props.recipientAddressExtraIdName - Extra ID name for the recipient address.
4698
- * @param {string} props.refundAddressExtraIdName - Extra ID name for the refund address.
4699
4697
  * @param {object} [props.translations] - Object containing translations, default English texts will be used if omitted.
4700
4698
  * @param {string} props.swapSeparatorIconSrc - Source URL for the swap separator icon.
4701
4699
  * @param {boolean} props.swapButtonAlwaysActive - Setting that allows the form state to proceed to the next step regardless of validity.
4700
+ * @param {getExtraIdNameByTicker} props.getExtraIdNameByTicker - Function returning extraId name for asset
4702
4701
  * @param {validateAddressByTicker} [props.validateAddressByTicker] - Function validating address
4703
4702
  * @param {onIsFixedChange} [props.onIsFixedChange] - callback for changed isFixed
4704
4703
  * @return {JSX.Element} Rendered SwapForm component.
@@ -4843,6 +4842,9 @@ var SwapForm = function SwapForm(_ref) {
4843
4842
  } : _ref$translations;
4844
4843
  var DETAIL_REFRESH_INTERVAL_MS = 1.5 * 60000;
4845
4844
  var IS_FIXED_BY_DEFAULT = false;
4845
+
4846
+ // Setting up an asyncronyous states, which can change during the function execution.
4847
+ // This is done so that we can cancel the calculation update in case the selected asset changes.
4846
4848
  var _useReferredState = useReferredState(null),
4847
4849
  sendingAssetTickerReferred = _useReferredState[0],
4848
4850
  setSendingAssetTickerReferred = _useReferredState[1];
@@ -5116,18 +5118,23 @@ var SwapForm = function SwapForm(_ref) {
5116
5118
  setIsSameCoins(false);
5117
5119
  setIsPairSupported(true);
5118
5120
  setIsSwapCalculated(false);
5121
+
5122
+ // Saving the selected coins at the moment, so we can cancel
5123
+ // the processing if they get changed during the loading.
5119
5124
  var currentSendingAssetTicker = sendingAssetTicker;
5120
5125
  var currentReceivingAssetTicker = receivingAssetTicker;
5121
5126
  return Promise.resolve(retrieveSwapDetails(currentSendingAssetTicker, currentReceivingAssetTicker, amount, isSwapAll.current, (_isFixedRate$current = isFixedRate.current) != null ? _isFixedRate$current : IS_FIXED_BY_DEFAULT, isFixedRate.current ? isLastEditedReceiving.current : false)).then(function (response) {
5122
5127
  if (currentSendingAssetTicker !== sendingAssetTickerReferred.current || currentReceivingAssetTicker !== receivingAssetTickerReferred.current) {
5128
+ // Cancelling the further processing in case the
5129
+ // selected coins were changed during the loading.
5123
5130
  return;
5124
5131
  }
5125
5132
  if (!isSwapAll.current && String(amount) !== String(isForPreserved && sendAssetAmount.current == null && receiveAssetAmount.current == null ? preservedAmount : isFixedRate.current && isLastEditedReceiving.current ? receiveAssetAmount.current : sendAssetAmount.current)) {
5126
5133
  // Means amount changed and we no more need to do this exact calculation
5127
5134
  return;
5128
5135
  }
5129
- var swapCreationInfo = response == null ? void 0 : response.swapCreationInfo;
5130
5136
  if (response.result) {
5137
+ var swapCreationInfo = response == null ? void 0 : response.swapCreationInfo;
5131
5138
  if (isSwapAll.current) {
5132
5139
  setIsAmountZero(bignumber_js.BigNumber("0").eq(swapCreationInfo.fromAmountCoins));
5133
5140
  }
@@ -5328,6 +5335,8 @@ var SwapForm = function SwapForm(_ref) {
5328
5335
  };
5329
5336
  // eslint-disable-next-line react-hooks/exhaustive-deps
5330
5337
  }, [readyToSwap]);
5338
+
5339
+ // TODO: [refactoring, critical] this code looks like a hack related to task_id=6e328d39063142b7b9fa01d497e616da
5331
5340
  React.useEffect(function () {
5332
5341
  if (triggerDataUpdateResetting) {
5333
5342
  clearTimeout(dataUpdateTimeoutId.current);
@@ -5337,6 +5346,8 @@ var SwapForm = function SwapForm(_ref) {
5337
5346
  }
5338
5347
  // eslint-disable-next-line react-hooks/exhaustive-deps
5339
5348
  }, [triggerDataUpdateResetting]);
5349
+
5350
+ // Resets the passed "set value to" param to null, so it can be used multiple times with any value
5340
5351
  React.useEffect(function () {
5341
5352
  if (!!updateSendInputTo) setUpdateSendInputTo(null);
5342
5353
  if (!!updateReceiveInputTo) setUpdateReceiveInputTo(null);
@@ -5366,12 +5377,10 @@ var SwapForm = function SwapForm(_ref) {
5366
5377
  setIsSwapCalculated(false);
5367
5378
  };
5368
5379
  React.useEffect(function () {
5369
- if (!isLastEditedReceiving.current) return;
5370
- handleAmountChange(receiveAssetAmount.current === "" ? "0" : receiveAssetAmount.current);
5380
+ if (isLastEditedReceiving.current) handleAmountChange(receiveAssetAmount.current === "" ? "0" : receiveAssetAmount.current);
5371
5381
  }, [receiveAssetAmount.current]);
5372
5382
  React.useEffect(function () {
5373
- if (isLastEditedReceiving.current) return;
5374
- handleAmountChange(sendAssetAmount.current === "" ? "0" : sendAssetAmount.current);
5383
+ if (!isLastEditedReceiving.current) handleAmountChange(sendAssetAmount.current === "" ? "0" : sendAssetAmount.current);
5375
5384
  }, [sendAssetAmount.current]);
5376
5385
  var recipientAddressExtraIdName = getExtraIdNameByTicker(receivingAssetTicker);
5377
5386
  var refundAddressExtraIdName = getExtraIdNameByTicker(sendingAssetTicker);
@@ -5589,12 +5598,12 @@ SwapForm.propTypes = {
5589
5598
  formHasFiat: PropTypes.bool,
5590
5599
  termsOfUseUrl: PropTypes.oneOfType([PropTypes.string, null]),
5591
5600
  privacyPolicyUrl: PropTypes.oneOfType([PropTypes.string, null]),
5592
- recipientAddressExtraIdName: PropTypes.string,
5593
- refundAddressExtraIdName: PropTypes.string,
5601
+ getExtraIdNameByTicker: PropTypes.func,
5594
5602
  translations: PropTypes.object,
5595
5603
  validateAddressByTicker: PropTypes.func,
5596
5604
  swapSeparatorIconSrc: PropTypes.string.isRequired,
5597
- swapButtonAlwaysActive: PropTypes.bool
5605
+ swapButtonAlwaysActive: PropTypes.bool,
5606
+ onIsFixedChange: PropTypes.func
5598
5607
  };
5599
5608
  SwapForm.defaultProps = {
5600
5609
  sendingAssetDecimalCount: AmountUtils.significantDecimalCount,
@@ -5627,10 +5636,14 @@ SwapForm.defaultProps = {
5627
5636
  formHasFiat: true,
5628
5637
  termsOfUseUrl: null,
5629
5638
  privacyPolicyUrl: null,
5639
+ getExtraIdNameByTicker: function getExtraIdNameByTicker(ticker) {
5640
+ return null;
5641
+ },
5630
5642
  validateAddressByTicker: function validateAddressByTicker(ticker) {
5631
5643
  return false;
5632
5644
  },
5633
- swapButtonAlwaysActive: false
5645
+ swapButtonAlwaysActive: false,
5646
+ onIsFixedChange: function onIsFixedChange() {}
5634
5647
  };
5635
5648
 
5636
5649
  /**
@@ -5672,11 +5685,6 @@ var s$6 = {"qr-code":"_VZ0dT","fill":"_hFE1l"};
5672
5685
  * QrCode component renders a QR code for a provided crypto address.
5673
5686
  *
5674
5687
  * @component
5675
- * @example
5676
- * const address = "0x123456789abcdef";
5677
- * const fill = true;
5678
- * return <QrCode address={address} fill={fill} />;
5679
- *
5680
5688
  * @param {Object} props - The props for the component.
5681
5689
  * @param {string} props.address - The crypto address to generate the QR code for.
5682
5690
  * @param {boolean} [props.fill=false] - If true, applies additional CSS class to fill the container.
@@ -5730,7 +5738,6 @@ QrCode.propTypes = {
5730
5738
  fill: PropTypes.bool
5731
5739
  };
5732
5740
  QrCode.defaultProps = {
5733
- address: "",
5734
5741
  fill: false
5735
5742
  };
5736
5743
 
@@ -9556,6 +9563,60 @@ var IpAddressProvider = /*#__PURE__*/function () {
9556
9563
  }();
9557
9564
  IpAddressProvider.externalIPAddressAPICaller = new CachedRobustExternalApiCallerService("externalIPAddressAPICaller", new Cache(EventBusInstance__default["default"]), [new BigdatacloudIpAddressProvider(), new TrackipIpAddressProvider(), new IpifyV6IpAddressProvider(), new IpifyIpAddressProvider(), new WhatismyipaddressIpAddressProvider()], 300000);
9558
9565
 
9566
+ var GoogleAnalyticsAdapter = /*#__PURE__*/function () {
9567
+ function GoogleAnalyticsAdapter() {}
9568
+ GoogleAnalyticsAdapter.sendEvent = function sendEvent(eventName, parameters) {
9569
+ console.log("Sending ga event: ", parameters, ["event", eventName, parameters]);
9570
+ this.doActionOnGTag(["event", eventName, parameters]);
9571
+ };
9572
+ GoogleAnalyticsAdapter.doActionOnGTag = function doActionOnGTag(parameters) {
9573
+ try {
9574
+ if (window.gtag) {
9575
+ var _window;
9576
+ (_window = window).gtag.apply(_window, parameters);
9577
+ } else {
9578
+ Logger.logError(null, "doActionOnGTag", "No gtag found");
9579
+ }
9580
+ } catch (e) {
9581
+ Logger.logError(e, "doActionOnGTag", "Failed to do gtag action: " + safeStringify(parameters));
9582
+ }
9583
+ };
9584
+ return GoogleAnalyticsAdapter;
9585
+ }();
9586
+
9587
+ var MixpanelAdapter = /*#__PURE__*/function () {
9588
+ function MixpanelAdapter() {}
9589
+ MixpanelAdapter.sendEvent = function sendEvent(eventName, parameters) {
9590
+ try {
9591
+ if (window.mixpanel) {
9592
+ var result = window.mixpanel.track(eventName, parameters);
9593
+ // eslint-disable-next-line no-console
9594
+ console.log("Mixpanel sendEvent result: " + result);
9595
+ } else {
9596
+ Logger.logError(null, "sendEvent", "No mixpanel found");
9597
+ }
9598
+ } catch (e) {
9599
+ Logger.logError(e, "sendEvent", "Failed to do mixpanel action: " + eventName + " - " + safeStringify(parameters));
9600
+ }
9601
+ };
9602
+ MixpanelAdapter.identify = function identify(uniqueId) {
9603
+ try {
9604
+ if (window.mixpanel) {
9605
+ if (uniqueId) {
9606
+ var result = window.mixpanel.identify(uniqueId);
9607
+ // eslint-disable-next-line no-console
9608
+ console.log("Mixpanel identify result: " + result);
9609
+ }
9610
+ } else {
9611
+ Logger.logError(null, "identify", "No mixpanel found");
9612
+ }
9613
+ } catch (e) {
9614
+ Logger.logError(e, "identify", "Failed to identify.");
9615
+ }
9616
+ };
9617
+ return MixpanelAdapter;
9618
+ }();
9619
+
9559
9620
  /**
9560
9621
  * Utils class needed to perform cancelling of axios request inside some process.
9561
9622
  * Provides cancel state and axios token for HTTP requests
@@ -9723,7 +9784,26 @@ function BaseSwapCreationInfo(fromCoin, toCoin, fromAmountCoins, toAmountCoins,
9723
9784
  this.isRefundAddressRequired = isRefundAddressRequired;
9724
9785
  };
9725
9786
 
9726
- // TODO: [refactoring, moderate] extract structure of _supportedCoins into model class
9787
+ /**
9788
+ * Coin construction rules:
9789
+ * 1. ticker should be CODEPROTOCOL_CODE e.g. USDTERC20
9790
+ * 2. name should not contain (PROTOCOL_CODE) or just PROTOCOL_CODe
9791
+ * 3. protocol should be null for coins major for their blockchains like BTC, ETH
9792
+ * 4. isPopular should be a number - the higher -> the more popular
9793
+ */
9794
+ var SwapProviderCoinInfo = function SwapProviderCoinInfo(coin, code, network, hasExtraId, extraIdName, popularity, iconURL, deposit, withdrawal, validationRegexp, isAvailable) {
9795
+ this.coin = coin;
9796
+ this.code = code;
9797
+ this.network = network;
9798
+ this.hasExtraId = hasExtraId;
9799
+ this.extraIdName = extraIdName;
9800
+ this.isPopular = popularity;
9801
+ this.iconURL = iconURL != null ? iconURL : FALLBACK_ASSET_ICON_URL;
9802
+ this.deposit = deposit != null ? deposit : false;
9803
+ this.withdrawal = withdrawal != null ? withdrawal : false;
9804
+ this.validationRegexp = validationRegexp != null ? validationRegexp : null;
9805
+ this.isAvailable = isAvailable != null ? isAvailable : true;
9806
+ };
9727
9807
 
9728
9808
  function _catch$4(body, recover) {
9729
9809
  try {
@@ -9735,7 +9815,10 @@ function _catch$4(body, recover) {
9735
9815
  return result.then(void 0, recover);
9736
9816
  }
9737
9817
  return result;
9738
- }
9818
+ } // TODO: [refactoring, moderate] extract structure of _supportedCoins into model class
9819
+ var 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",
9820
+ // "https://hamsterkombat.io/images/icons/hamster-coin.png"
9821
+ true, true, "^(EQ|UQ)[A-Za-z0-9-_]{46}$", false)];
9739
9822
  var SwapProvider = /*#__PURE__*/function () {
9740
9823
  function SwapProvider(cache, customCoinBuilder, useRestrictedCoinsSet) {
9741
9824
  if (customCoinBuilder === void 0) {
@@ -9779,7 +9862,7 @@ var SwapProvider = /*#__PURE__*/function () {
9779
9862
  * @private
9780
9863
  */;
9781
9864
  _proto._putPopularCoinsFirst = function _putPopularCoinsFirst() {
9782
- var 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"];
9865
+ var 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"];
9783
9866
  this._supportedCoins.sort(function (i1, i2) {
9784
9867
  var isInPopularList1 = popularCoinsList.includes(i1.coin.ticker);
9785
9868
  var isInPopularList2 = popularCoinsList.includes(i2.coin.ticker);
@@ -9807,18 +9890,21 @@ var SwapProvider = /*#__PURE__*/function () {
9807
9890
 
9808
9891
  /**
9809
9892
  * Should fill _supportedCoins with array of coins.
9810
- * Coin construction rules:
9811
- * 1. ticker should be CODEPROTOCOL_CODE e.g. USDTERC20
9812
- * 2. name should not contain (PROTOCOL_CODE) or just PROTOCOL_CODe
9813
- * 3. protocol should be null for coins major for their blockchains like BTC, ETH
9814
- * 4. isPopular should be a number
9815
9893
  *
9816
9894
  * @return {Promise<void>}
9817
9895
  * @private
9818
9896
  */;
9819
9897
  _proto._fetchSupportedCurrenciesIfNeeded = function _fetchSupportedCurrenciesIfNeeded() {
9820
9898
  try {
9821
- throw new Error("Not implemented in base - _fetchSupportedCurrenciesIfNeeded");
9899
+ var _this2 = this;
9900
+ PRE_LISTED_COINS.forEach(function (preListedCoin) {
9901
+ if (!_this2._supportedCoins.find(function (existingCoin) {
9902
+ return preListedCoin.coin.ticker === existingCoin.coin.ticker;
9903
+ })) {
9904
+ _this2._supportedCoins.push(preListedCoin);
9905
+ }
9906
+ });
9907
+ return Promise.resolve();
9822
9908
  } catch (e) {
9823
9909
  return Promise.reject(e);
9824
9910
  }
@@ -9832,15 +9918,15 @@ var SwapProvider = /*#__PURE__*/function () {
9832
9918
  ;
9833
9919
  _proto.getAllSupportedCurrencies = function getAllSupportedCurrencies() {
9834
9920
  try {
9835
- var _this2 = this;
9921
+ var _this3 = this;
9836
9922
  var loggerSource = "getAllSupportedCurrencies";
9837
9923
  return Promise.resolve(_catch$4(function () {
9838
- return Promise.resolve(_this2._fetchSupportedCurrenciesIfNeeded()).then(function () {
9839
- var _this2$_supportedCoin;
9840
- Logger.log("We have " + ((_this2$_supportedCoin = _this2._supportedCoins) == null ? void 0 : _this2$_supportedCoin.length) + " supported coins returning", loggerSource);
9924
+ return Promise.resolve(_this3._fetchSupportedCurrenciesIfNeeded()).then(function () {
9925
+ var _this3$_supportedCoin;
9926
+ Logger.log("We have " + ((_this3$_supportedCoin = _this3._supportedCoins) == null ? void 0 : _this3$_supportedCoin.length) + " supported coins returning", loggerSource);
9841
9927
  return {
9842
9928
  result: true,
9843
- coins: _this2._supportedCoins.map(function (item) {
9929
+ coins: _this3._supportedCoins.map(function (item) {
9844
9930
  return item.coin;
9845
9931
  })
9846
9932
  };
@@ -9868,15 +9954,15 @@ var SwapProvider = /*#__PURE__*/function () {
9868
9954
  ;
9869
9955
  _proto.getDepositCurrencies = function getDepositCurrencies() {
9870
9956
  try {
9871
- var _this3 = this;
9957
+ var _this4 = this;
9872
9958
  var loggerSource = "getDepositCurrencies";
9873
9959
  return Promise.resolve(_catch$4(function () {
9874
- return Promise.resolve(_this3._fetchSupportedCurrenciesIfNeeded()).then(function () {
9875
- var _this3$_supportedCoin;
9876
- Logger.log("We have " + ((_this3$_supportedCoin = _this3._supportedCoins) == null ? void 0 : _this3$_supportedCoin.length) + " supported coins, getting depositable", loggerSource);
9960
+ return Promise.resolve(_this4._fetchSupportedCurrenciesIfNeeded()).then(function () {
9961
+ var _this4$_supportedCoin;
9962
+ Logger.log("We have " + ((_this4$_supportedCoin = _this4._supportedCoins) == null ? void 0 : _this4$_supportedCoin.length) + " supported coins, getting depositable", loggerSource);
9877
9963
  return {
9878
9964
  result: true,
9879
- coins: _this3._supportedCoins.filter(function (item) {
9965
+ coins: _this4._supportedCoins.filter(function (item) {
9880
9966
  return item.deposit;
9881
9967
  }).map(function (item) {
9882
9968
  return item.coin;
@@ -9910,15 +9996,15 @@ var SwapProvider = /*#__PURE__*/function () {
9910
9996
  exceptCurrency = null;
9911
9997
  }
9912
9998
  try {
9913
- var _this4 = this;
9999
+ var _this5 = this;
9914
10000
  var loggerSource = "getWithdrawalCurrencies";
9915
10001
  return Promise.resolve(_catch$4(function () {
9916
- return Promise.resolve(_this4._fetchSupportedCurrenciesIfNeeded()).then(function () {
9917
- var _this4$_supportedCoin;
9918
- Logger.log("We have " + ((_this4$_supportedCoin = _this4._supportedCoins) == null ? void 0 : _this4$_supportedCoin.length) + " supported coins, getting withdrawable", loggerSource);
10002
+ return Promise.resolve(_this5._fetchSupportedCurrenciesIfNeeded()).then(function () {
10003
+ var _this5$_supportedCoin;
10004
+ Logger.log("We have " + ((_this5$_supportedCoin = _this5._supportedCoins) == null ? void 0 : _this5$_supportedCoin.length) + " supported coins, getting withdrawable", loggerSource);
9919
10005
  return {
9920
10006
  result: true,
9921
- coins: _this4._supportedCoins.filter(function (item) {
10007
+ coins: _this5._supportedCoins.filter(function (item) {
9922
10008
  var _item$coin, _exceptCurrency;
9923
10009
  return item.withdrawal && (!exceptCurrency || ((_item$coin = item.coin) == null ? void 0 : _item$coin.ticker) !== ((_exceptCurrency = exceptCurrency) == null ? void 0 : _exceptCurrency.ticker));
9924
10010
  }).map(function (item) {
@@ -9975,21 +10061,21 @@ var SwapProvider = /*#__PURE__*/function () {
9975
10061
  */;
9976
10062
  _proto.getCoinToUSDTRate = function getCoinToUSDTRate(coin) {
9977
10063
  try {
9978
- var _this5 = this;
10064
+ var _this6 = this;
9979
10065
  var loggerSource = "getCoinToUSDTRate";
9980
10066
  return Promise.resolve(_catch$4(function () {
9981
- return coin ? Promise.resolve(_this5._fetchSupportedCurrenciesIfNeeded()).then(function () {
9982
- var _this5$_supportedCoin;
10067
+ return coin ? Promise.resolve(_this6._fetchSupportedCurrenciesIfNeeded()).then(function () {
10068
+ var _this6$_supportedCoin;
9983
10069
  // Using USDT TRC20 as usually fee in this network is smaller than ERC20 and this network is widely used for USDT
9984
- var usdtTrc20 = (_this5$_supportedCoin = _this5._supportedCoins.find(function (i) {
10070
+ var usdtTrc20 = (_this6$_supportedCoin = _this6._supportedCoins.find(function (i) {
9985
10071
  return i.coin.ticker === "USDTTRC20";
9986
- })) == null ? void 0 : _this5$_supportedCoin.coin;
10072
+ })) == null ? void 0 : _this6$_supportedCoin.coin;
9987
10073
  if (!usdtTrc20) {
9988
10074
  return {
9989
10075
  result: false
9990
10076
  };
9991
10077
  }
9992
- var cached = _this5._cache.get("swapspace_usdt_rate_" + coin.ticker);
10078
+ var cached = _this6._cache.get("swapspace_usdt_rate_" + coin.ticker);
9993
10079
  if (cached != null) {
9994
10080
  return {
9995
10081
  result: true,
@@ -9997,7 +10083,7 @@ var SwapProvider = /*#__PURE__*/function () {
9997
10083
  };
9998
10084
  }
9999
10085
  Logger.log("Loading USDT->coin rate as not found in cache:", coin == null ? void 0 : coin.ticker);
10000
- return Promise.resolve(_this5.getSwapInfo(usdtTrc20, coin, "5000", false)).then(function (result) {
10086
+ return Promise.resolve(_this6.getSwapInfo(usdtTrc20, coin, "5000", false)).then(function (result) {
10001
10087
  if (!result.result) {
10002
10088
  return {
10003
10089
  result: false
@@ -10007,7 +10093,7 @@ var SwapProvider = /*#__PURE__*/function () {
10007
10093
  // This calculation is not precise as we cannot recognize the actual fee and network fee. Just approximate.
10008
10094
  var standardSwapspaceFeeMultiplier = 1.004; // fee is usually 0.4%
10009
10095
  var rate = bignumber_js.BigNumber(1).div(bignumber_js.BigNumber(result.rate).times(standardSwapspaceFeeMultiplier)).toString();
10010
- _this5._cache.put("swap_usdt_rate_" + coin.ticker, rate, 15 * 60000 // 15 minutes
10096
+ _this6._cache.put("swap_usdt_rate_" + coin.ticker, rate, 15 * 60000 // 15 minutes
10011
10097
  );
10012
10098
  return {
10013
10099
  result: true,
@@ -10304,23 +10390,12 @@ var SwapspaceSwapProvider = /*#__PURE__*/function (_SwapProvider) {
10304
10390
  }
10305
10391
  if (coin) {
10306
10392
  var _item$deposit, _item$withdrawal, _item$validationRegex;
10307
- return {
10308
- coin: coin,
10309
- code: item.code,
10310
- network: item.network,
10311
- hasExtraId: item.hasExtraId,
10312
- extraIdName: item.extraIdName,
10313
- isPopular: item.popular ? 1 : 0,
10314
- iconURL: item.icon ? "https://storage.swapspace.co" + item.icon : FALLBACK_ASSET_ICON_URL,
10315
- deposit: (_item$deposit = item.deposit) != null ? _item$deposit : false,
10316
- withdrawal: (_item$withdrawal = item.withdrawal) != null ? _item$withdrawal : false,
10317
- validationRegexp: (_item$validationRegex = item.validationRegexp) != null ? _item$validationRegex : null,
10318
- isAvailable: true
10319
- };
10393
+ 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);
10320
10394
  }
10321
10395
  return [];
10322
10396
  }).flat();
10323
10397
  _this2._putPopularCoinsFirst();
10398
+ return Promise.resolve(_SwapProvider.prototype._fetchSupportedCurrenciesIfNeeded.call(_this2)).then(function () {});
10324
10399
  });
10325
10400
  }
10326
10401
  }();
@@ -10383,7 +10458,7 @@ var SwapspaceSwapProvider = /*#__PURE__*/function (_SwapProvider) {
10383
10458
  if (!fromCoinSwapspaceDetails || !toCoinSwapspaceDetails) {
10384
10459
  throw new Error("Failed to find swapspace coin details for: " + fromCoin.ticker + " -> " + toCoin.ticker);
10385
10460
  }
10386
- return !fromCoinSwapspaceDetails.deposit || !toCoinSwapspaceDetails.withdrawal ? {
10461
+ return !fromCoinSwapspaceDetails.deposit || !toCoinSwapspaceDetails.withdrawal || !fromCoinSwapspaceDetails.isAvailable || !toCoinSwapspaceDetails.isAvailable ? {
10387
10462
  result: false,
10388
10463
  reason: SwapProvider.NO_SWAPS_REASONS.NOT_SUPPORTED
10389
10464
  } : Promise.resolve(axios__default["default"].get(_this4._URL + "/api/v2/amounts?fromCurrency=" + fromCoinSwapspaceDetails.code + "&fromNetwork=" + fromCoinSwapspaceDetails.network + "&toNetwork=" + toCoinSwapspaceDetails.network + "&toCurrency=" + toCoinSwapspaceDetails.code + "&amount=" + amountCoins + "&estimated=false")).then(function (response) {
@@ -10622,7 +10697,7 @@ var SwapspaceSwapProvider = /*#__PURE__*/function (_SwapProvider) {
10622
10697
  Logger.log("Returning fail - RPS limit exceeded " + data, loggerSource);
10623
10698
  return composeFailResult(SwapProvider.COMMON_ERRORS.REQUESTS_LIMIT_EXCEEDED);
10624
10699
  }
10625
- var texts422 = ["Pair cannot be processed by", "Currency not found", "Amount maximum is", "Amount minimum is"];
10700
+ var texts422 = ["Pair cannot be processed by", "Currency not found", "Currencies not found", "Amount maximum is", "Amount minimum is"];
10626
10701
  var text403 = "IP address is forbidden";
10627
10702
  if (typeof data === "string" && (status === 403 && data.includes(text403) || status === 422 && texts422.find(function (text) {
10628
10703
  return data.includes(text);
@@ -11170,27 +11245,17 @@ var LetsExchangeSwapProvider = /*#__PURE__*/function (_SwapProvider) {
11170
11245
  }
11171
11246
  if (coin) {
11172
11247
  var _networkDetails$extra, _networkDetails$valid;
11173
- return {
11174
- coin: coin,
11175
- code: item.code,
11176
- network: networkDetails.code,
11177
- hasExtraId: !!networkDetails.has_extra,
11178
- extraIdName: (_networkDetails$extra = networkDetails.extra_name) != null ? _networkDetails$extra : null,
11179
- isPopular: item.rating || 0,
11180
- iconURL: item.icon ? item.icon : FALLBACK_ASSET_ICON_URL,
11181
- deposit: true,
11182
- // Letsexchange provide no such details
11183
- withdrawal: true,
11184
- // Letsexchange provide no such details
11185
- validationRegexp: (_networkDetails$valid = networkDetails.validation_address_regex) != null ? _networkDetails$valid : null,
11186
- 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)
11187
- };
11248
+ 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,
11249
+ // Letsexchange provide no such details
11250
+ true, // Letsexchange provide no such details
11251
+ (_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));
11188
11252
  }
11189
11253
  return [];
11190
11254
  });
11191
11255
  }).flat();
11192
11256
  _this2.coinsLastUpdateTimestamp = Date.now();
11193
11257
  _this2._putPopularCoinsFirst();
11258
+ return Promise.resolve(_SwapProvider.prototype._fetchSupportedCurrenciesIfNeeded.call(_this2)).then(function () {});
11194
11259
  });
11195
11260
  }
11196
11261
  }();
@@ -11931,35 +11996,40 @@ var PublicSwapService = /*#__PURE__*/function () {
11931
11996
  var _temp5 = function () {
11932
11997
  if (result.result && result != null && result.swapId) {
11933
11998
  var _temp4 = function _temp4() {
11934
- var _result$fromCurrencyE;
11935
- // TODO: feature, cirtical] add GA event. task_id=091004f1b6b748b29ddece6a130df904
11936
- EventBusInstance__default["default"].dispatch(PublicSwapService.PUBLIC_SWAP_CREATED_EVENT, null, fromCoin.ticker, toCoin.ticker, _fromAmountFiat);
11937
- var toReturn = {
11938
- result: true,
11939
- swapId: result.swapId,
11940
- fromCoin: fromCoin,
11941
- toCoin: toCoin,
11942
- fromAmount: result.fromAmount,
11943
- toAmount: result.toAmount,
11944
- fromAmountFiat: _fromAmountFiat,
11945
- toAmountFiat: _toAmountFiat,
11946
- fiatCurrencyCode: "USD",
11947
- fiatCurrencyDecimals: PublicSwapService._fiatDecimalsCount,
11948
- rate: result.rate,
11949
- durationMinutesRange: swapCreationInfo.durationMinutesRange,
11950
- address: result.fromAddress,
11951
- // CRITICAL: this is the address to send coins to swaps provider
11952
- fromCurrencyExtraId: (_result$fromCurrencyE = result.fromCurrencyExtraId) != null ? _result$fromCurrencyE : "",
11953
- // CRITICAL: this is the extra ID for address to send coins to swaps provider
11954
- fixed: result.fixed
11955
- };
11956
- _this8._savePublicSwapIdLocally(result.swapId);
11957
- Logger.log("Returning: " + safeStringify(_extends({}, toReturn, {
11958
- fromCoin: fromCoin == null ? void 0 : fromCoin.ticker,
11959
- toCoin: toCoin == null ? void 0 : toCoin.ticker
11960
- })), loggerSource);
11961
- _exit = 1;
11962
- return toReturn;
11999
+ return Promise.resolve(GoogleAnalyticsAdapter.sendEvent(PublicSwapService.PUBLIC_SWAP_CREATED_ANALYTICS_EVENT, {
12000
+ coin_amount: result.fromAmount,
12001
+ usd_amount: _fromAmountFiat,
12002
+ fromCoin: fromCoin.ticker,
12003
+ toCoin: toCoin.ticker
12004
+ })).then(function () {
12005
+ var _result$fromCurrencyE;
12006
+ var toReturn = {
12007
+ result: true,
12008
+ swapId: result.swapId,
12009
+ fromCoin: fromCoin,
12010
+ toCoin: toCoin,
12011
+ fromAmount: result.fromAmount,
12012
+ toAmount: result.toAmount,
12013
+ fromAmountFiat: _fromAmountFiat,
12014
+ toAmountFiat: _toAmountFiat,
12015
+ fiatCurrencyCode: "USD",
12016
+ fiatCurrencyDecimals: PublicSwapService._fiatDecimalsCount,
12017
+ rate: result.rate,
12018
+ durationMinutesRange: swapCreationInfo.durationMinutesRange,
12019
+ address: result.fromAddress,
12020
+ // CRITICAL: this is the address to send coins to swaps provider
12021
+ fromCurrencyExtraId: (_result$fromCurrencyE = result.fromCurrencyExtraId) != null ? _result$fromCurrencyE : "",
12022
+ // CRITICAL: this is the extra ID for address to send coins to swaps provider
12023
+ fixed: result.fixed
12024
+ };
12025
+ _this8._savePublicSwapIdLocally(result.swapId);
12026
+ Logger.log("Returning: " + safeStringify(_extends({}, toReturn, {
12027
+ fromCoin: fromCoin == null ? void 0 : fromCoin.ticker,
12028
+ toCoin: toCoin == null ? void 0 : toCoin.ticker
12029
+ })), loggerSource);
12030
+ _exit = 1;
12031
+ return toReturn;
12032
+ });
11963
12033
  };
11964
12034
  var _fromAmountFiat = null,
11965
12035
  _toAmountFiat = null;
@@ -12233,7 +12303,8 @@ var PublicSwapService = /*#__PURE__*/function () {
12233
12303
  };
12234
12304
  return PublicSwapService;
12235
12305
  }();
12236
- PublicSwapService.PUBLIC_SWAP_CREATED_EVENT = "publicSwapCreatedEvent";
12306
+ PublicSwapService.PUBLIC_SWAP_CREATED_ANALYTICS_EVENT = "public_swap_created_event";
12307
+ PublicSwapService.PUBLIC_SWAP_SUCCEED_ANALYTICS_EVENT = "public_swap_succeed_event";
12237
12308
  PublicSwapService.PUBLIC_SWAPS_COMMON_ERRORS = {
12238
12309
  REQUESTS_LIMIT_EXCEEDED: "requestsLimitExceeded"
12239
12310
  };
@@ -12282,6 +12353,7 @@ exports.ExistingSwapWithFiatData = ExistingSwapWithFiatData;
12282
12353
  exports.ExternalApiProvider = ExternalApiProvider;
12283
12354
  exports.FALLBACK_ASSET_ICON_URL = FALLBACK_ASSET_ICON_URL;
12284
12355
  exports.FiatCurrenciesService = FiatCurrenciesService;
12356
+ exports.GoogleAnalyticsAdapter = GoogleAnalyticsAdapter;
12285
12357
  exports.ICON_ROTATE_OPTIONS = ICON_ROTATE_OPTIONS;
12286
12358
  exports.InformationMessage = InformationMessage;
12287
12359
  exports.Input = Input;
@@ -12293,6 +12365,7 @@ exports.LinkButton = LinkButton;
12293
12365
  exports.LoadingDots = LoadingDots;
12294
12366
  exports.Logger = Logger;
12295
12367
  exports.LogsStorage = LogsStorage;
12368
+ exports.MixpanelAdapter = MixpanelAdapter;
12296
12369
  exports.NoticeIcon = NoticeIcon;
12297
12370
  exports.Protocol = Protocol;
12298
12371
  exports.PublicSwapService = PublicSwapService;