@rabbitio/ui-kit 1.0.0-beta.87 → 1.0.0-beta.89

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 (222) hide show
  1. package/coverage/clover.xml +1882 -1481
  2. package/coverage/coverage-final.json +32 -31
  3. package/coverage/index.html +90 -75
  4. package/coverage/rabbit-ui-kit/index.html +1 -1
  5. package/coverage/rabbit-ui-kit/index.js.html +1 -1
  6. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
  7. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
  8. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +1 -1
  9. package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
  10. package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
  11. package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +1 -1
  12. package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +2 -2
  13. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
  14. package/coverage/rabbit-ui-kit/src/common-apis/{utils → external-apis}/emailAPI.js.html +4 -4
  15. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +24 -9
  16. package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +2 -2
  17. package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
  18. package/coverage/rabbit-ui-kit/src/common-apis/index.html +10 -55
  19. package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +1 -1
  20. package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +381 -96
  21. package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +17 -17
  22. package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +1 -1
  23. package/coverage/rabbit-ui-kit/src/common-apis/{fiatCurrenciesService.js.html → services/fiatCurrenciesService.js.html} +10 -10
  24. package/coverage/rabbit-ui-kit/src/common-apis/services/index.html +116 -0
  25. package/coverage/rabbit-ui-kit/src/common-apis/{amountUtils.js.html → utils/amountUtils.js.html} +11 -11
  26. package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +2 -2
  27. package/coverage/rabbit-ui-kit/src/common-apis/{errorUtils.js.html → utils/errorUtils.js.html} +12 -12
  28. package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +49 -19
  29. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +1 -1
  30. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +1 -1
  31. package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +1 -1
  32. package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
  33. package/coverage/rabbit-ui-kit/src/common-apis/utils/rabbitTicker.js.html +157 -0
  34. package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +1 -1
  35. package/coverage/rabbit-ui-kit/src/index.html +5 -5
  36. package/coverage/rabbit-ui-kit/src/index.js.html +21 -9
  37. package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +2 -2
  38. package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +2 -2
  39. package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
  40. package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
  41. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
  42. package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +2 -2
  43. package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +1 -1
  44. package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +2 -2
  45. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +28 -28
  46. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +100 -31
  47. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +418 -208
  48. package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +127 -40
  49. package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +85 -4
  50. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +1 -1
  51. package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
  52. package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +25 -25
  53. package/coverage/rabbit-ui-kit/src/swaps-lib/models/partner.js.html +76 -13
  54. package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +147 -9
  55. package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +5 -5
  56. package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +158 -23
  57. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +1 -1
  58. package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +5 -5
  59. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
  60. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
  61. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
  62. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
  63. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
  64. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
  65. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
  66. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
  67. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
  68. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
  69. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
  70. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
  71. package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
  72. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
  73. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
  74. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
  75. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
  76. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
  77. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
  78. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
  79. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
  80. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +2 -2
  81. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
  82. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
  83. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
  84. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
  85. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
  86. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +2 -2
  87. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +1 -1
  88. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
  89. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
  90. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
  91. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
  92. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
  93. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
  94. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
  95. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
  96. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
  97. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
  98. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
  99. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
  100. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
  101. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
  102. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
  103. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
  104. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
  105. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
  106. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
  107. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
  108. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
  109. package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
  110. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +3 -3
  111. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
  112. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +3 -3
  113. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
  114. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
  115. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
  116. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
  117. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
  118. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +1 -1
  119. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +1 -1
  120. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +6 -6
  121. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
  122. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
  123. package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
  124. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
  125. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
  126. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +2 -2
  127. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
  128. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
  129. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +2 -2
  130. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
  131. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
  132. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +40 -7
  133. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +5 -5
  134. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +2 -2
  135. package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
  136. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
  137. package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
  138. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +1 -1
  139. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
  140. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
  141. package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
  142. package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +1 -1
  143. package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
  144. package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +2 -2
  145. package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
  146. package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
  147. package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
  148. package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
  149. package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
  150. package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
  151. package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
  152. package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
  153. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
  154. package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
  155. package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
  156. package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +1 -1
  157. package/coverage/rabbit-ui-kit/stories/atoms/index.html +1 -1
  158. package/coverage/rabbit-ui-kit/stories/molecules/AmountInput.stories.jsx.html +1 -1
  159. package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
  160. package/coverage/rabbit-ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
  161. package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
  162. package/coverage/rabbit-ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
  163. package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
  164. package/coverage/rabbit-ui-kit/stories/molecules/index.html +1 -1
  165. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
  166. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
  167. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
  168. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
  169. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
  170. package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +1 -1
  171. package/coverage/rabbit-ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
  172. package/coverage/rabbit-ui-kit/stories/organisms/index.html +1 -1
  173. package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +1 -1
  174. package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
  175. package/coverage/rabbit-ui-kit/stories/stubs/index.html +1 -1
  176. package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
  177. package/coverage/rabbit-ui-kit/stories/templates/index.html +1 -1
  178. package/dist/index.cjs +1547 -1178
  179. package/dist/index.cjs.map +1 -1
  180. package/dist/index.modern.js +751 -421
  181. package/dist/index.modern.js.map +1 -1
  182. package/dist/index.module.js +1543 -1179
  183. package/dist/index.module.js.map +1 -1
  184. package/dist/index.umd.js +1547 -1178
  185. package/dist/index.umd.js.map +1 -1
  186. package/package.json +1 -1
  187. package/src/common-apis/adapters/qrUtils.js +1 -1
  188. package/src/common-apis/{utils → external-apis}/emailAPI.js +1 -1
  189. package/src/common-apis/external-apis/ipAddressProviders.js +1 -1
  190. package/src/common-apis/models/coin.js +96 -1
  191. package/src/common-apis/tests/{amountUtils → units/utils/amountUtils}/composeRateText.test.js +1 -1
  192. package/src/common-apis/{amountUtils.js → utils/amountUtils.js} +1 -1
  193. package/src/common-apis/utils/cache.js +1 -1
  194. package/src/common-apis/{errorUtils.js → utils/errorUtils.js} +2 -2
  195. package/src/common-apis/utils/rabbitTicker.js +24 -0
  196. package/src/index.js +9 -5
  197. package/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js +1 -1
  198. package/src/robust-api-caller/cachedRobustExternalApiCallerService.js +1 -1
  199. package/src/robust-api-caller/externalServicesStatsCollector.js +1 -1
  200. package/src/robust-api-caller/robustExternalAPICallerService.js +1 -1
  201. package/src/swaps-lib/external-apis/letsExchangeSwapProvider.js +50 -27
  202. package/src/swaps-lib/external-apis/swapProvider.js +84 -14
  203. package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +54 -25
  204. package/src/swaps-lib/models/baseSwapCreationInfo.js +27 -0
  205. package/src/swaps-lib/models/partner.js +22 -1
  206. package/src/swaps-lib/models/swapProviderCoinInfo.js +46 -0
  207. package/src/swaps-lib/services/publicSwapService.js +64 -19
  208. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/_fetchSupportedCurrenciesIfNeeded.test.js +0 -3
  209. package/src/swaps-lib/test/external-apis/swapspaceSwapProvider/getSwapInfo.test.js +9 -2
  210. package/src/swaps-lib/test/utils/swapUtils/safeHandleRequestsLimitExceeding.test.js +1 -1
  211. package/src/swaps-lib/utils/swapUtils.js +4 -4
  212. package/src/ui-kit/components/atoms/Input/Input.jsx +1 -1
  213. package/src/ui-kit/components/atoms/QrCode/QrCode.jsx +1 -1
  214. package/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx +2 -2
  215. package/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx +2 -2
  216. package/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx +5 -5
  217. package/src/ui-kit/components/organisms/Dialog/Dialog.jsx +1 -1
  218. package/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx +1 -1
  219. package/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx +14 -3
  220. package/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx +1 -1
  221. package/src/ui-kit/utils/textUtils.js +1 -1
  222. /package/src/common-apis/{fiatCurrenciesService.js → services/fiatCurrenciesService.js} +0 -0
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.44% </span>
26
+ <span class="strong">66.11% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>375/573</span>
28
+ <span class='fraction'>398/602</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">93.93% </span>
33
+ <span class="strong">92.81% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>155/165</span>
35
+ <span class='fraction'>155/167</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">65.44% </span>
47
+ <span class="strong">66.11% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>375/573</span>
49
+ <span class='fraction'>398/602</span>
50
50
  </div>
51
51
 
52
52
 
@@ -636,7 +636,36 @@
636
636
  <a name='L571'></a><a href='#L571'>571</a>
637
637
  <a name='L572'></a><a href='#L572'>572</a>
638
638
  <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a>
645
+ <a name='L580'></a><a href='#L580'>580</a>
646
+ <a name='L581'></a><a href='#L581'>581</a>
647
+ <a name='L582'></a><a href='#L582'>582</a>
648
+ <a name='L583'></a><a href='#L583'>583</a>
649
+ <a name='L584'></a><a href='#L584'>584</a>
650
+ <a name='L585'></a><a href='#L585'>585</a>
651
+ <a name='L586'></a><a href='#L586'>586</a>
652
+ <a name='L587'></a><a href='#L587'>587</a>
653
+ <a name='L588'></a><a href='#L588'>588</a>
654
+ <a name='L589'></a><a href='#L589'>589</a>
655
+ <a name='L590'></a><a href='#L590'>590</a>
656
+ <a name='L591'></a><a href='#L591'>591</a>
657
+ <a name='L592'></a><a href='#L592'>592</a>
658
+ <a name='L593'></a><a href='#L593'>593</a>
659
+ <a name='L594'></a><a href='#L594'>594</a>
660
+ <a name='L595'></a><a href='#L595'>595</a>
661
+ <a name='L596'></a><a href='#L596'>596</a>
662
+ <a name='L597'></a><a href='#L597'>597</a>
663
+ <a name='L598'></a><a href='#L598'>598</a>
664
+ <a name='L599'></a><a href='#L599'>599</a>
665
+ <a name='L600'></a><a href='#L600'>600</a>
666
+ <a name='L601'></a><a href='#L601'>601</a>
667
+ <a name='L602'></a><a href='#L602'>602</a>
668
+ <a name='L603'></a><a href='#L603'>603</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
640
669
  <span class="cline-any cline-yes">1x</span>
641
670
  <span class="cline-any cline-yes">1x</span>
642
671
  <span class="cline-any cline-yes">1x</span>
@@ -655,6 +684,23 @@
655
684
  <span class="cline-any cline-yes">1x</span>
656
685
  <span class="cline-any cline-yes">1x</span>
657
686
  <span class="cline-any cline-yes">1x</span>
687
+ <span class="cline-any cline-yes">1x</span>
688
+ <span class="cline-any cline-yes">1x</span>
689
+ <span class="cline-any cline-yes">1x</span>
690
+ <span class="cline-any cline-yes">1x</span>
691
+ <span class="cline-any cline-yes">1x</span>
692
+ <span class="cline-any cline-yes">1x</span>
693
+ <span class="cline-any cline-yes">1x</span>
694
+ <span class="cline-any cline-yes">1x</span>
695
+ <span class="cline-any cline-yes">1x</span>
696
+ <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-yes">129x</span>
698
+ <span class="cline-any cline-yes">129x</span>
699
+ <span class="cline-any cline-yes">129x</span>
700
+ <span class="cline-any cline-yes">129x</span>
701
+ <span class="cline-any cline-yes">129x</span>
702
+ <span class="cline-any cline-yes">129x</span>
703
+ <span class="cline-any cline-yes">129x</span>
658
704
  <span class="cline-any cline-yes">129x</span>
659
705
  <span class="cline-any cline-yes">129x</span>
660
706
  <span class="cline-any cline-yes">129x</span>
@@ -733,6 +779,8 @@
733
779
  <span class="cline-any cline-no">&nbsp;</span>
734
780
  <span class="cline-any cline-no">&nbsp;</span>
735
781
  <span class="cline-any cline-no">&nbsp;</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
783
+ <span class="cline-any cline-yes">1x</span>
736
784
  <span class="cline-any cline-yes">1x</span>
737
785
  <span class="cline-any cline-yes">1x</span>
738
786
  <span class="cline-any cline-yes">1x</span>
@@ -773,6 +821,7 @@
773
821
  <span class="cline-any cline-yes">66x</span>
774
822
  <span class="cline-any cline-yes">66x</span>
775
823
  <span class="cline-any cline-yes">66x</span>
824
+ <span class="cline-any cline-yes">66x</span>
776
825
  <span class="cline-any cline-yes">64x</span>
777
826
  <span class="cline-any cline-yes">66x</span>
778
827
  <span class="cline-any cline-yes">2x</span>
@@ -784,6 +833,8 @@
784
833
  <span class="cline-any cline-yes">64x</span>
785
834
  <span class="cline-any cline-yes">64x</span>
786
835
  <span class="cline-any cline-yes">64x</span>
836
+ <span class="cline-any cline-yes">64x</span>
837
+ <span class="cline-any cline-yes">64x</span>
787
838
  <span class="cline-any cline-yes">66x</span>
788
839
  <span class="cline-any cline-yes">66x</span>
789
840
  <span class="cline-any cline-yes">66x</span>
@@ -803,6 +854,7 @@
803
854
  <span class="cline-any cline-yes">55x</span>
804
855
  <span class="cline-any cline-yes">55x</span>
805
856
  <span class="cline-any cline-yes">55x</span>
857
+ <span class="cline-any cline-yes">55x</span>
806
858
  <span class="cline-any cline-yes">66x</span>
807
859
  <span class="cline-any cline-yes">66x</span>
808
860
  <span class="cline-any cline-yes">66x</span>
@@ -978,13 +1030,14 @@
978
1030
  <span class="cline-any cline-yes">11x</span>
979
1031
  <span class="cline-any cline-yes">42x</span>
980
1032
  <span class="cline-any cline-yes">42x</span>
981
- <span class="cline-any cline-yes">42x</span>
982
- <span class="cline-any cline-yes">84x</span>
983
- <span class="cline-any cline-yes">84x</span>
984
- <span class="cline-any cline-yes">42x</span>
985
- <span class="cline-any cline-yes">42x</span>
986
- <span class="cline-any cline-yes">42x</span>
987
- <span class="cline-any cline-yes">42x</span>
1033
+ <span class="cline-any cline-yes">41x</span>
1034
+ <span class="cline-any cline-yes">41x</span>
1035
+ <span class="cline-any cline-yes">41x</span>
1036
+ <span class="cline-any cline-yes">82x</span>
1037
+ <span class="cline-any cline-yes">82x</span>
1038
+ <span class="cline-any cline-yes">41x</span>
1039
+ <span class="cline-any cline-yes">41x</span>
1040
+ <span class="cline-any cline-yes">41x</span>
988
1041
  <span class="cline-any cline-yes">41x</span>
989
1042
  <span class="cline-any cline-yes">41x</span>
990
1043
  <span class="cline-any cline-yes">61x</span>
@@ -1208,12 +1261,17 @@
1208
1261
  <span class="cline-any cline-no">&nbsp;</span>
1209
1262
  <span class="cline-any cline-no">&nbsp;</span>
1210
1263
  <span class="cline-any cline-no">&nbsp;</span>
1264
+ <span class="cline-any cline-no">&nbsp;</span>
1265
+ <span class="cline-any cline-no">&nbsp;</span>
1266
+ <span class="cline-any cline-no">&nbsp;</span>
1267
+ <span class="cline-any cline-no">&nbsp;</span>
1268
+ <span class="cline-any cline-no">&nbsp;</span>
1211
1269
  <span class="cline-any cline-yes">1x</span>
1212
1270
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import axios from "axios";
1213
1271
  import { BigNumber } from "bignumber.js";
1214
1272
  &nbsp;
1215
- import { AmountUtils } from "../../common-apis/amountUtils.js";
1216
- import { improveAndRethrow } from "../../common-apis/errorUtils.js";
1273
+ import { AmountUtils } from "../../common-apis/utils/amountUtils.js";
1274
+ import { improveAndRethrow } from "../../common-apis/utils/errorUtils.js";
1217
1275
  import { SwapProvider } from "./swapProvider.js";
1218
1276
  import { ExistingSwap } from "../models/existingSwap.js";
1219
1277
  import { Coin } from "../../common-apis/models/coin.js";
@@ -1222,15 +1280,32 @@ import { safeStringify } from "../../common-apis/utils/safeStringify.js";
1222
1280
  import { Logger } from "../../common-apis/utils/logging/logger.js";
1223
1281
  import { FALLBACK_ASSET_ICON_URL } from "../../common-apis/globalConstants.jsx";
1224
1282
  import { SwapProviderCoinInfo } from "../models/swapProviderCoinInfo.js";
1225
- import { Partner } from "../models/partner.js";
1283
+ import { KYC_LEVELS, Partner } from "../models/partner.js";
1284
+ import { toRabbitTicker } from "../../common-apis/utils/rabbitTicker.js";
1226
1285
  &nbsp;
1227
- export const BANNED_PARTNERS = ["stealthex", "changee", "coincraddle", "easybit"];
1286
+ export const BANNED_PARTNERS = ["stealthex", "changee", "coincraddle", "easybit", "changelly"];
1228
1287
  &nbsp;
1229
1288
  export class SwapspaceSwapProvider extends SwapProvider {
1230
- constructor(apiKeysProxyUrl, cache, customCoinBuilder = <span class="fstat-no" title="function not covered" >(coin, network) =&gt; null,</span> useRestrictedCoinsSet = true) {
1231
- super(cache, customCoinBuilder, useRestrictedCoinsSet);
1289
+ /**
1290
+ * You should pass either proxy URL or the API key
1291
+ *
1292
+ * @param apiKeysProxyUrl {string|null}
1293
+ * @param cache {Cache}
1294
+ * @param [customCoinBuilder] {function}
1295
+ * @param [useRestrictedCoinsSet=true] {boolean}
1296
+ * @param [apiKey] {string|null}
1297
+ */
1298
+ constructor(
1299
+ apiKeysProxyUrl,
1300
+ cache,
1301
+ customCoinBuilder = <span class="fstat-no" title="function not covered" >(coin, network) =&gt; null,</span>
1302
+ useRestrictedCoinsSet = true,
1303
+ apiKey = null
1304
+ ) {
1305
+ super("swapspace", cache, customCoinBuilder, useRestrictedCoinsSet);
1232
1306
  this._partners = [];
1233
- this._URL = `${apiKeysProxyUrl}/swapspace`;
1307
+ this._URL = apiKey <span class="branch-0 cbranch-no" title="branch not covered" >? `https://api.swapspace.co` </span>: `${apiKeysProxyUrl}/${this.id}`;
1308
+ this._headers = apiKey <span class="branch-0 cbranch-no" title="branch not covered" >? { Authorization: apiKey } </span>: {};
1234
1309
  this.isAggregator = true;
1235
1310
  }
1236
1311
  &nbsp;
@@ -1243,15 +1318,16 @@ export class SwapspaceSwapProvider extends SwapProvider {
1243
1318
  async _fetchSupportedCurrenciesIfNeeded() {
1244
1319
  const loggerSource = "_fetchSupportedCurrenciesIfNeeded";
1245
1320
  try {
1246
- if (!this._supportedCoins?.length) {
1247
- const rawResponse = await axios.get(`${this._URL}/api/v2/currencies`);
1321
+ if (this._shouldCoinsListBeLoaded()) {
1322
+ const rawResponse = await axios.get(`${this._URL}/api/v2/currencies`, { headers: this._headers });
1248
1323
  <span class="branch-0 cbranch-no" title="branch not covered" > Logger.log(`Retrieved ${rawResponse?.data?.length}</span>`, loggerSource);
1249
1324
  let allowedCoins = rawResponse<span class="branch-0 cbranch-no" title="branch not covered" >?.data <span class="branch-0 cbranch-no" title="branch not covered" ></span>?? [];</span>
1250
1325
  Logger.log(`Allowed cnt ${allowedCoins.length}`, loggerSource);
1251
1326
  &nbsp;
1252
1327
  this._supportedCoins = allowedCoins
1253
1328
  .map(item =&gt; {
1254
- <span class="cstat-no" title="statement not covered" > let coin = this._customCoinBuilder(item.code, item.network);</span>
1329
+ <span class="cstat-no" title="statement not covered" > let coin =</span>
1330
+ <span class="cstat-no" title="statement not covered" > this._customCoinBuilder != null ? this._customCoinBuilder(item.code, item.network) : null;</span>
1255
1331
  <span class="cstat-no" title="statement not covered" > if (!coin &amp;&amp; !this.useRestrictedCoinsSet) {</span>
1256
1332
  <span class="cstat-no" title="statement not covered" > /** Building coin object for coin that isn't supported OOB in Rabbit.</span>
1257
1333
  <span class="cstat-no" title="statement not covered" > * We are doing this way to be able to use extended coins set for swaps.</span>
@@ -1267,7 +1343,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1267
1343
  <span class="cstat-no" title="statement not covered" > * from coin object rather than counting on having it in the coin name itself.</span>
1268
1344
  <span class="cstat-no" title="statement not covered" > * This processing is needed due to poor quality of swapspace coins names. */</span>
1269
1345
  <span class="cstat-no" title="statement not covered" > let name = this.removeProtocolNameFromCoinName(item.name, code, network);</span>
1270
- <span class="cstat-no" title="statement not covered" > const ticker = `${code}${code === network ? "" : network}`;</span>
1346
+ <span class="cstat-no" title="statement not covered" > const ticker = toRabbitTicker(code, network);</span>
1271
1347
  <span class="cstat-no" title="statement not covered" > const defaultDecimalPlacesForCoinNotSupportedOOB = 8;</span>
1272
1348
  <span class="cstat-no" title="statement not covered" > const defaultMinConfirmationsForCoinNotSupportedOOB = 1;</span>
1273
1349
  <span class="cstat-no" title="statement not covered" > coin = new Coin(</span>
@@ -1308,6 +1384,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1308
1384
  <span class="cstat-no" title="statement not covered" > return [];</span>
1309
1385
  })
1310
1386
  .flat();
1387
+ this._supportedCoinsLastUpdateTimestamp = Date.now();
1311
1388
  this._putPopularCoinsFirst();
1312
1389
  await super._fetchSupportedCurrenciesIfNeeded();
1313
1390
  <span class="cstat-no" title="statement not covered" ><span class="branch-0 cbranch-no" title="branch not covered" > }</span></span>
@@ -1320,7 +1397,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1320
1397
  <span class="cstat-no" title="statement not covered" > const loggerSource = "_fetchPartnersListIfNeeded";</span>
1321
1398
  <span class="cstat-no" title="statement not covered" > try {</span>
1322
1399
  <span class="cstat-no" title="statement not covered" > if (this._partners?.length === 0) {</span>
1323
- <span class="cstat-no" title="statement not covered" > const rawResponse = await axios.get(`${this._URL}/api/v2/partners`);</span>
1400
+ <span class="cstat-no" title="statement not covered" > const rawResponse = await axios.get(`${this._URL}/api/v2/partners`, { headers: this._headers });</span>
1324
1401
  <span class="cstat-no" title="statement not covered" > Logger.log(`Retrieved ${rawResponse?.data?.length} partners`, loggerSource);</span>
1325
1402
  <span class="cstat-no" title="statement not covered" > this._partners = Array.isArray(rawResponse?.data) ? rawResponse?.data : [];</span>
1326
1403
  <span class="cstat-no" title="statement not covered" > }</span>
@@ -1335,7 +1412,8 @@ export class SwapspaceSwapProvider extends SwapProvider {
1335
1412
  amountCoins,
1336
1413
  fixed = false,
1337
1414
  fromCoinToUsdRate = null,
1338
- amountIsToReceive = false
1415
+ amountIsToReceive = false,
1416
+ bannedPartners = []
1339
1417
  ) {
1340
1418
  const loggerSource = "getSwapInfo";
1341
1419
  try {
@@ -1354,6 +1432,8 @@ export class SwapspaceSwapProvider extends SwapProvider {
1354
1432
  }, ${toCoin instanceof Coin}, ${typeof fixed} ${fixed}`
1355
1433
  );
1356
1434
  }
1435
+ await this._fetchSupportedCurrenciesIfNeeded();
1436
+ &nbsp;
1357
1437
  const fromCoinSwapspaceDetails = this._supportedCoins.find(i =&gt; i.coin?.ticker === fromCoin?.ticker);
1358
1438
  const toCoinSwapspaceDetails = this._supportedCoins.find(i =&gt; i.coin?.ticker === toCoin?.ticker);
1359
1439
  if (
@@ -1374,7 +1454,8 @@ export class SwapspaceSwapProvider extends SwapProvider {
1374
1454
  * But we are better off using the most actual rates.
1375
1455
  */
1376
1456
  const response = await axios.get(
1377
- `${this._URL}/api/v2/amounts?fromCurrency=${fromCoinSwapspaceDetails.code}&amp;fromNetwork=${fromCoinSwapspaceDetails.network}&amp;toNetwork=${toCoinSwapspaceDetails.network}&amp;toCurrency=${toCoinSwapspaceDetails.code}&amp;amount=${amountCoins}&amp;estimated=false`
1457
+ `${this._URL}/api/v2/amounts?fromCurrency=${fromCoinSwapspaceDetails.code}&amp;fromNetwork=${fromCoinSwapspaceDetails.network}&amp;toNetwork=${toCoinSwapspaceDetails.network}&amp;toCurrency=${toCoinSwapspaceDetails.code}&amp;amount=${amountCoins}&amp;estimated=false`,
1458
+ { headers: this._headers }
1378
1459
  );
1379
1460
  Logger.log(`Retrieved ${response?.data?.length} options`, loggerSource);
1380
1461
  const options = Array.isArray(response.data) ? response.data : [];
@@ -1382,7 +1463,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1382
1463
  let exchangesSupportingThePairDespiteFixedOrFloating = options.filter(
1383
1464
  exchange =&gt;
1384
1465
  exchange?.exists &amp;&amp;
1385
- !BANNED_PARTNERS.find(bannedPartner =&gt; bannedPartner === exchange?.partner) &amp;&amp;
1466
+ !bannedPartners.find(bannedPartner =&gt; bannedPartner === exchange?.partner) &amp;&amp;
1386
1467
  (exchange?.fixed === false || exchange?.fixed === true) &amp;&amp;
1387
1468
  typeof exchange.toAmount === "number" &amp;&amp;
1388
1469
  ((typeof exchange.min === "number" &amp;&amp; typeof exchange.max === "number") || exchange.toAmount &gt; 0) &amp;&amp;
@@ -1549,6 +1630,8 @@ export class SwapspaceSwapProvider extends SwapProvider {
1549
1630
  ) {
1550
1631
  throw new Error(`Invalid raw swap data: ${safeStringify(rawSwapData)}`);
1551
1632
  }
1633
+ &nbsp;
1634
+ await this._fetchSupportedCurrenciesIfNeeded();
1552
1635
  &nbsp;
1553
1636
  const [fromCurrencyHasExtraId, toCurrencyHasExtraId] = this._supportedCoins.reduce(
1554
1637
  (prev, coinData) =&gt; [
@@ -1557,7 +1640,6 @@ export class SwapspaceSwapProvider extends SwapProvider {
1557
1640
  ],
1558
1641
  [false, false]
1559
1642
  );
1560
- await this._fetchSupportedCurrenciesIfNeeded();
1561
1643
  const requestData = {
1562
1644
  partner: partner,
1563
1645
  fromCurrency: rawSwapData?.fromCurrency,
@@ -1576,7 +1658,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1576
1658
  };
1577
1659
  &nbsp;
1578
1660
  Logger.log(`Sending create request: ${safeStringify(requestData)}`, loggerSource);
1579
- const response = await axios.post(`${this._URL}/api/v2/exchange`, requestData);
1661
+ const response = await axios.post(`${this._URL}/api/v2/exchange`, requestData, { headers: this._headers });
1580
1662
  const result = response.data;
1581
1663
  Logger.log(`Creation result ${safeStringify(result)}`, loggerSource);
1582
1664
  &nbsp;
@@ -1685,7 +1767,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1685
1767
  <span class="cstat-no" title="statement not covered" > }</span>
1686
1768
  <span class="cstat-no" title="statement not covered" > const getNotFailingOn404 = async swapId =&gt; {</span>
1687
1769
  <span class="cstat-no" title="statement not covered" > try {</span>
1688
- <span class="cstat-no" title="statement not covered" > return await axios.get(`${this._URL}/api/v2/exchange/${swapId}`);</span>
1770
+ <span class="cstat-no" title="statement not covered" > return await axios.get(`${this._URL}/api/v2/exchange/${swapId}`, { headers: this._headers });</span>
1689
1771
  <span class="cstat-no" title="statement not covered" > } catch (error) {</span>
1690
1772
  <span class="cstat-no" title="statement not covered" > if (error?.response?.status === 404) return [];</span>
1691
1773
  <span class="cstat-no" title="statement not covered" > throw error;</span>
@@ -1766,15 +1848,20 @@ export class SwapspaceSwapProvider extends SwapProvider {
1766
1848
  <span class="fstat-no" title="function not covered" > async getPartnersList() {</span>
1767
1849
  <span class="cstat-no" title="statement not covered" > try {</span>
1768
1850
  <span class="cstat-no" title="statement not covered" > await this._fetchPartnersListIfNeeded();</span>
1769
- <span class="cstat-no" title="statement not covered" > const swapspacePartners = this._partners</span>
1770
- <span class="cstat-no" title="statement not covered" > .filter(p =&gt; !BANNED_PARTNERS.find(banned =&gt; banned === p.path))</span>
1771
- <span class="cstat-no" title="statement not covered" > .map(</span>
1772
- <span class="cstat-no" title="statement not covered" > p =&gt;</span>
1773
- <span class="cstat-no" title="statement not covered" > new Partner(p.name, p?.image?.default ? "https://storage.swapspace.co" + p.image.default : null)</span>
1774
- <span class="cstat-no" title="statement not covered" > );</span>
1851
+ <span class="cstat-no" title="statement not covered" > const swapspacePartners = this._partners.map(</span>
1852
+ <span class="cstat-no" title="statement not covered" > p =&gt;</span>
1853
+ <span class="cstat-no" title="statement not covered" > new Partner(</span>
1854
+ <span class="cstat-no" title="statement not covered" > p.path,</span>
1855
+ <span class="cstat-no" title="statement not covered" > p.name,</span>
1856
+ <span class="cstat-no" title="statement not covered" > p?.image?.default ? "https://storage.swapspace.co" + p.image.default : null,</span>
1857
+ <span class="cstat-no" title="statement not covered" > p.kycLevel</span>
1858
+ <span class="cstat-no" title="statement not covered" > )</span>
1859
+ <span class="cstat-no" title="statement not covered" > );</span>
1775
1860
  <span class="cstat-no" title="statement not covered" > const swapspaceItself = new Partner(</span>
1861
+ <span class="cstat-no" title="statement not covered" > "swapspace",</span>
1776
1862
  <span class="cstat-no" title="statement not covered" > "Swapspace",</span>
1777
- <span class="cstat-no" title="statement not covered" > "https://storage.swapspace.co/static/logo-vertical-black.svg"</span>
1863
+ <span class="cstat-no" title="statement not covered" > "https://storage.swapspace.co/static/logo-vertical-black.svg",</span>
1864
+ <span class="cstat-no" title="statement not covered" > KYC_LEVELS.LOW</span>
1778
1865
  <span class="cstat-no" title="statement not covered" > );</span>
1779
1866
  <span class="cstat-no" title="statement not covered" > return [swapspaceItself, ...swapspacePartners];</span>
1780
1867
  <span class="cstat-no" title="statement not covered" > } catch (e) {</span>
@@ -1789,7 +1876,7 @@ export class SwapspaceSwapProvider extends SwapProvider {
1789
1876
  <div class='footer quiet pad2 space-top1 center small'>
1790
1877
  Code coverage generated by
1791
1878
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1792
- at 2024-08-21T07:33:35.349Z
1879
+ at 2024-09-19T18:32:51.683Z
1793
1880
  </div>
1794
1881
  <script src="../../../../prettify.js"></script>
1795
1882
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/46</span>
28
+ <span class='fraction'>0/73</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/46</span>
49
+ <span class='fraction'>0/73</span>
50
50
  </div>
51
51
 
52
52
 
@@ -109,7 +109,61 @@
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
111
  <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
140
+ <span class="cline-any cline-no">&nbsp;</span>
141
+ <span class="cline-any cline-no">&nbsp;</span>
142
+ <span class="cline-any cline-no">&nbsp;</span>
143
+ <span class="cline-any cline-no">&nbsp;</span>
144
+ <span class="cline-any cline-no">&nbsp;</span>
145
+ <span class="cline-any cline-no">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
147
+ <span class="cline-any cline-no">&nbsp;</span>
148
+ <span class="cline-any cline-no">&nbsp;</span>
149
+ <span class="cline-any cline-no">&nbsp;</span>
150
+ <span class="cline-any cline-no">&nbsp;</span>
151
+ <span class="cline-any cline-no">&nbsp;</span>
152
+ <span class="cline-any cline-no">&nbsp;</span>
153
+ <span class="cline-any cline-no">&nbsp;</span>
154
+ <span class="cline-any cline-no">&nbsp;</span>
155
+ <span class="cline-any cline-no">&nbsp;</span>
156
+ <span class="cline-any cline-no">&nbsp;</span>
157
+ <span class="cline-any cline-no">&nbsp;</span>
158
+ <span class="cline-any cline-no">&nbsp;</span>
159
+ <span class="cline-any cline-no">&nbsp;</span>
160
+ <span class="cline-any cline-no">&nbsp;</span>
161
+ <span class="cline-any cline-no">&nbsp;</span>
162
+ <span class="cline-any cline-no">&nbsp;</span>
163
+ <span class="cline-any cline-no">&nbsp;</span>
164
+ <span class="cline-any cline-no">&nbsp;</span>
165
+ <span class="cline-any cline-no">&nbsp;</span>
166
+ <span class="cline-any cline-no">&nbsp;</span>
113
167
  <span class="cline-any cline-no">&nbsp;</span>
114
168
  <span class="cline-any cline-no">&nbsp;</span>
115
169
  <span class="cline-any cline-no">&nbsp;</span>
@@ -156,6 +210,33 @@
156
210
  <span class="cline-any cline-no">&nbsp;</span>
157
211
  <span class="cline-any cline-no">&nbsp;</span>
158
212
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >export class BaseSwapCreationInfo {<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
213
+ <span class="cstat-no" title="statement not covered" > /** @type {Coin} */</span>
214
+ <span class="cstat-no" title="statement not covered" > fromCoin;</span>
215
+ <span class="cstat-no" title="statement not covered" > /** @type {Coin} */</span>
216
+ <span class="cstat-no" title="statement not covered" > toCoin;</span>
217
+ <span class="cstat-no" title="statement not covered" > /** @type {string} */</span>
218
+ <span class="cstat-no" title="statement not covered" > fromAmountCoins;</span>
219
+ <span class="cstat-no" title="statement not covered" > /** @type {string} */</span>
220
+ <span class="cstat-no" title="statement not covered" > toAmountCoins;</span>
221
+ <span class="cstat-no" title="statement not covered" > /** @type {string} */</span>
222
+ <span class="cstat-no" title="statement not covered" > rate;</span>
223
+ <span class="cstat-no" title="statement not covered" > /** @type {Object} */</span>
224
+ <span class="cstat-no" title="statement not covered" > rawSwapData;</span>
225
+ <span class="cstat-no" title="statement not covered" > /** @type {string} */</span>
226
+ <span class="cstat-no" title="statement not covered" > min;</span>
227
+ <span class="cstat-no" title="statement not covered" > /** @type {number} */</span>
228
+ <span class="cstat-no" title="statement not covered" > fiatMin;</span>
229
+ <span class="cstat-no" title="statement not covered" > /** @type {string} */</span>
230
+ <span class="cstat-no" title="statement not covered" > max;</span>
231
+ <span class="cstat-no" title="statement not covered" > /** @type {number} */</span>
232
+ <span class="cstat-no" title="statement not covered" > fiatMax;</span>
233
+ <span class="cstat-no" title="statement not covered" > /** @type {string} */</span>
234
+ <span class="cstat-no" title="statement not covered" > durationMinutesRange;</span>
235
+ <span class="cstat-no" title="statement not covered" > /** @type {boolean} */</span>
236
+ <span class="cstat-no" title="statement not covered" > fixed;</span>
237
+ <span class="cstat-no" title="statement not covered" > /** @type {boolean} */</span>
238
+ <span class="cstat-no" title="statement not covered" > isRefundAddressRequired;</span>
239
+ <span class="cstat-no" title="statement not covered" ></span>
159
240
  <span class="cstat-no" title="statement not covered" > /**</span>
160
241
  <span class="cstat-no" title="statement not covered" > * @param fromCoin {Coin}</span>
161
242
  <span class="cstat-no" title="statement not covered" > * @param toCoin {Coin}</span>
@@ -208,7 +289,7 @@
208
289
  <div class='footer quiet pad2 space-top1 center small'>
209
290
  Code coverage generated by
210
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
211
- at 2024-08-21T07:33:35.349Z
292
+ at 2024-09-19T18:32:51.683Z
212
293
  </div>
213
294
  <script src="../../../../prettify.js"></script>
214
295
  <script>
@@ -289,7 +289,7 @@
289
289
  <div class='footer quiet pad2 space-top1 center small'>
290
290
  Code coverage generated by
291
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
292
- at 2024-08-21T07:33:35.349Z
292
+ at 2024-09-19T18:32:51.683Z
293
293
  </div>
294
294
  <script src="../../../../prettify.js"></script>
295
295
  <script>
@@ -454,7 +454,7 @@ export class ExistingSwapWithFiatData extends ExistingSwap {
454
454
  <div class='footer quiet pad2 space-top1 center small'>
455
455
  Code coverage generated by
456
456
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
457
- at 2024-08-21T07:33:35.349Z
457
+ at 2024-09-19T18:32:51.683Z
458
458
  </div>
459
459
  <script src="../../../../prettify.js"></script>
460
460
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">37.71% </span>
26
+ <span class="strong">41.51% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>109/289</span>
28
+ <span class='fraction'>159/383</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">14.28% </span>
33
+ <span class="strong">22.22% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>1/7</span>
35
+ <span class='fraction'>2/9</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">16.66% </span>
40
+ <span class="strong">28.57% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/6</span>
42
+ <span class='fraction'>2/7</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">37.71% </span>
47
+ <span class="strong">41.51% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>109/289</span>
49
+ <span class='fraction'>159/383</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
85
  </td>
86
86
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="46" class="abs low">0/46</td>
87
+ <td data-value="73" class="abs low">0/73</td>
88
88
  <td data-value="0" class="pct low">0%</td>
89
89
  <td data-value="1" class="abs low">0/1</td>
90
90
  <td data-value="0" class="pct low">0%</td>
91
91
  <td data-value="1" class="abs low">0/1</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="46" class="abs low">0/46</td>
93
+ <td data-value="73" class="abs low">0/73</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -124,18 +124,18 @@
124
124
  </tr>
125
125
 
126
126
  <tr>
127
- <td class="file medium" data-value="partner.js"><a href="partner.js.html">partner.js</a></td>
128
- <td data-value="50" class="pic medium">
129
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
127
+ <td class="file low" data-value="partner.js"><a href="partner.js.html">partner.js</a></td>
128
+ <td data-value="25.92" class="pic low">
129
+ <div class="chart"><div class="cover-fill" style="width: 25%"></div><div class="cover-empty" style="width: 75%"></div></div>
130
130
  </td>
131
- <td data-value="50" class="pct medium">50%</td>
132
- <td data-value="6" class="abs medium">3/6</td>
133
- <td data-value="100" class="pct high">100%</td>
134
- <td data-value="0" class="abs high">0/0</td>
131
+ <td data-value="25.92" class="pct low">25.92%</td>
132
+ <td data-value="27" class="abs low">7/27</td>
133
+ <td data-value="0" class="pct low">0%</td>
134
+ <td data-value="1" class="abs low">0/1</td>
135
135
  <td data-value="0" class="pct low">0%</td>
136
136
  <td data-value="1" class="abs low">0/1</td>
137
- <td data-value="50" class="pct medium">50%</td>
138
- <td data-value="6" class="abs medium">3/6</td>
137
+ <td data-value="25.92" class="pct low">25.92%</td>
138
+ <td data-value="27" class="abs low">7/27</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -144,13 +144,13 @@
144
144
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145
145
  </td>
146
146
  <td data-value="100" class="pct high">100%</td>
147
- <td data-value="36" class="abs high">36/36</td>
148
- <td data-value="16.66" class="pct low">16.66%</td>
149
- <td data-value="6" class="abs low">1/6</td>
147
+ <td data-value="82" class="abs high">82/82</td>
148
+ <td data-value="28.57" class="pct low">28.57%</td>
149
+ <td data-value="7" class="abs low">2/7</td>
150
150
  <td data-value="100" class="pct high">100%</td>
151
- <td data-value="1" class="abs high">1/1</td>
151
+ <td data-value="2" class="abs high">2/2</td>
152
152
  <td data-value="100" class="pct high">100%</td>
153
- <td data-value="36" class="abs high">36/36</td>
153
+ <td data-value="82" class="abs high">82/82</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2024-08-21T07:33:35.349Z
164
+ at 2024-09-19T18:32:51.683Z
165
165
  </div>
166
166
  <script src="../../../../prettify.js"></script>
167
167
  <script>