@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,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.18% </span>
26
+ <span class="strong">65.57% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>352/540</span>
28
+ <span class='fraction'>400/610</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
33
+ <span class="strong">94.44% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>32/32</span>
35
+ <span class='fraction'>34/36</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">30% </span>
40
+ <span class="strong">33.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/20</span>
42
+ <span class='fraction'>8/24</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">65.18% </span>
47
+ <span class="strong">65.57% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>352/540</span>
49
+ <span class='fraction'>400/610</span>
50
50
  </div>
51
51
 
52
52
 
@@ -603,8 +603,77 @@
603
603
  <a name='L538'></a><a href='#L538'>538</a>
604
604
  <a name='L539'></a><a href='#L539'>539</a>
605
605
  <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
607
- <span class="cline-any cline-yes">1x</span>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
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>
669
+ <a name='L604'></a><a href='#L604'>604</a>
670
+ <a name='L605'></a><a href='#L605'>605</a>
671
+ <a name='L606'></a><a href='#L606'>606</a>
672
+ <a name='L607'></a><a href='#L607'>607</a>
673
+ <a name='L608'></a><a href='#L608'>608</a>
674
+ <a name='L609'></a><a href='#L609'>609</a>
675
+ <a name='L610'></a><a href='#L610'>610</a>
676
+ <a name='L611'></a><a href='#L611'>611</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
608
677
  <span class="cline-any cline-yes">1x</span>
609
678
  <span class="cline-any cline-yes">1x</span>
610
679
  <span class="cline-any cline-yes">1x</span>
@@ -654,24 +723,46 @@
654
723
  <span class="cline-any cline-yes">133x</span>
655
724
  <span class="cline-any cline-yes">133x</span>
656
725
  <span class="cline-any cline-yes">133x</span>
657
- <span class="cline-any cline-yes">1x</span>
658
- <span class="cline-any cline-yes">1x</span>
659
- <span class="cline-any cline-yes">1x</span>
660
- <span class="cline-any cline-yes">1x</span>
661
- <span class="cline-any cline-yes">1x</span>
662
- <span class="cline-any cline-yes">1x</span>
663
- <span class="cline-any cline-yes">1x</span>
664
- <span class="cline-any cline-yes">1x</span>
665
- <span class="cline-any cline-yes">1x</span>
666
- <span class="cline-any cline-yes">1x</span>
667
- <span class="cline-any cline-yes">1x</span>
668
- <span class="cline-any cline-yes">1x</span>
669
- <span class="cline-any cline-yes">1x</span>
670
- <span class="cline-any cline-yes">1x</span>
671
- <span class="cline-any cline-yes">1x</span>
672
- <span class="cline-any cline-yes">1x</span>
673
- <span class="cline-any cline-yes">1x</span>
674
- <span class="cline-any cline-yes">1x</span>
726
+ <span class="cline-any cline-yes">133x</span>
727
+ <span class="cline-any cline-yes">133x</span>
728
+ <span class="cline-any cline-yes">133x</span>
729
+ <span class="cline-any cline-yes">133x</span>
730
+ <span class="cline-any cline-yes">133x</span>
731
+ <span class="cline-any cline-yes">133x</span>
732
+ <span class="cline-any cline-yes">133x</span>
733
+ <span class="cline-any cline-yes">133x</span>
734
+ <span class="cline-any cline-yes">133x</span>
735
+ <span class="cline-any cline-yes">133x</span>
736
+ <span class="cline-any cline-yes">133x</span>
737
+ <span class="cline-any cline-yes">133x</span>
738
+ <span class="cline-any cline-yes">133x</span>
739
+ <span class="cline-any cline-yes">133x</span>
740
+ <span class="cline-any cline-yes">133x</span>
741
+ <span class="cline-any cline-yes">133x</span>
742
+ <span class="cline-any cline-yes">133x</span>
743
+ <span class="cline-any cline-yes">133x</span>
744
+ <span class="cline-any cline-yes">133x</span>
745
+ <span class="cline-any cline-yes">133x</span>
746
+ <span class="cline-any cline-yes">133x</span>
747
+ <span class="cline-any cline-yes">133x</span>
748
+ <span class="cline-any cline-yes">133x</span>
749
+ <span class="cline-any cline-yes">133x</span>
750
+ <span class="cline-any cline-yes">133x</span>
751
+ <span class="cline-any cline-yes">133x</span>
752
+ <span class="cline-any cline-yes">133x</span>
753
+ <span class="cline-any cline-yes">133x</span>
754
+ <span class="cline-any cline-yes">133x</span>
755
+ <span class="cline-any cline-yes">133x</span>
756
+ <span class="cline-any cline-yes">133x</span>
757
+ <span class="cline-any cline-yes">133x</span>
758
+ <span class="cline-any cline-yes">133x</span>
759
+ <span class="cline-any cline-yes">133x</span>
760
+ <span class="cline-any cline-yes">133x</span>
761
+ <span class="cline-any cline-yes">133x</span>
762
+ <span class="cline-any cline-yes">133x</span>
763
+ <span class="cline-any cline-yes">133x</span>
764
+ <span class="cline-any cline-yes">133x</span>
765
+ <span class="cline-any cline-yes">133x</span>
675
766
  <span class="cline-any cline-yes">8x</span>
676
767
  <span class="cline-any cline-yes">8x</span>
677
768
  <span class="cline-any cline-yes">8x</span>
@@ -681,30 +772,41 @@
681
772
  <span class="cline-any cline-yes">8x</span>
682
773
  <span class="cline-any cline-yes">8x</span>
683
774
  <span class="cline-any cline-yes">8x</span>
684
- <span class="cline-any cline-yes">1x</span>
685
- <span class="cline-any cline-yes">1x</span>
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>
775
+ <span class="cline-any cline-yes">133x</span>
776
+ <span class="cline-any cline-yes">133x</span>
777
+ <span class="cline-any cline-yes">133x</span>
778
+ <span class="cline-any cline-yes">133x</span>
779
+ <span class="cline-any cline-yes">133x</span>
780
+ <span class="cline-any cline-yes">133x</span>
781
+ <span class="cline-any cline-yes">133x</span>
782
+ <span class="cline-any cline-yes">133x</span>
783
+ <span class="cline-any cline-yes">133x</span>
784
+ <span class="cline-any cline-yes">133x</span>
785
+ <span class="cline-any cline-yes">133x</span>
786
+ <span class="cline-any cline-yes">133x</span>
690
787
  <span class="cline-any cline-no">&nbsp;</span>
691
788
  <span class="cline-any cline-no">&nbsp;</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>
789
+ <span class="cline-any cline-yes">133x</span>
790
+ <span class="cline-any cline-yes">133x</span>
791
+ <span class="cline-any cline-yes">133x</span>
792
+ <span class="cline-any cline-yes">133x</span>
793
+ <span class="cline-any cline-yes">133x</span>
697
794
  <span class="cline-any cline-no">&nbsp;</span>
698
795
  <span class="cline-any cline-no">&nbsp;</span>
699
- <span class="cline-any cline-yes">1x</span>
700
- <span class="cline-any cline-yes">1x</span>
701
- <span class="cline-any cline-yes">1x</span>
702
- <span class="cline-any cline-yes">1x</span>
703
- <span class="cline-any cline-yes">1x</span>
704
- <span class="cline-any cline-yes">1x</span>
705
- <span class="cline-any cline-yes">1x</span>
796
+ <span class="cline-any cline-yes">133x</span>
797
+ <span class="cline-any cline-yes">133x</span>
798
+ <span class="cline-any cline-yes">133x</span>
799
+ <span class="cline-any cline-yes">133x</span>
800
+ <span class="cline-any cline-yes">133x</span>
706
801
  <span class="cline-any cline-no">&nbsp;</span>
707
802
  <span class="cline-any cline-no">&nbsp;</span>
803
+ <span class="cline-any cline-yes">133x</span>
804
+ <span class="cline-any cline-yes">133x</span>
805
+ <span class="cline-any cline-yes">133x</span>
806
+ <span class="cline-any cline-yes">133x</span>
807
+ <span class="cline-any cline-yes">133x</span>
808
+ <span class="cline-any cline-yes">133x</span>
809
+ <span class="cline-any cline-yes">133x</span>
708
810
  <span class="cline-any cline-no">&nbsp;</span>
709
811
  <span class="cline-any cline-no">&nbsp;</span>
710
812
  <span class="cline-any cline-no">&nbsp;</span>
@@ -758,14 +860,24 @@
758
860
  <span class="cline-any cline-no">&nbsp;</span>
759
861
  <span class="cline-any cline-no">&nbsp;</span>
760
862
  <span class="cline-any cline-no">&nbsp;</span>
863
+ <span class="cline-any cline-no">&nbsp;</span>
864
+ <span class="cline-any cline-no">&nbsp;</span>
865
+ <span class="cline-any cline-yes">133x</span>
866
+ <span class="cline-any cline-yes">133x</span>
761
867
  <span class="cline-any cline-yes">1x</span>
762
868
  <span class="cline-any cline-yes">1x</span>
763
869
  <span class="cline-any cline-yes">1x</span>
870
+ <span class="cline-any cline-no">&nbsp;</span>
764
871
  <span class="cline-any cline-yes">1x</span>
765
872
  <span class="cline-any cline-yes">1x</span>
766
- <span class="cline-any cline-yes">1x</span>
767
- <span class="cline-any cline-yes">1x</span>
768
- <span class="cline-any cline-yes">1x</span>
873
+ <span class="cline-any cline-yes">133x</span>
874
+ <span class="cline-any cline-yes">133x</span>
875
+ <span class="cline-any cline-yes">133x</span>
876
+ <span class="cline-any cline-yes">133x</span>
877
+ <span class="cline-any cline-yes">133x</span>
878
+ <span class="cline-any cline-yes">133x</span>
879
+ <span class="cline-any cline-yes">133x</span>
880
+ <span class="cline-any cline-yes">133x</span>
769
881
  <span class="cline-any cline-no">&nbsp;</span>
770
882
  <span class="cline-any cline-no">&nbsp;</span>
771
883
  <span class="cline-any cline-no">&nbsp;</span>
@@ -776,14 +888,14 @@
776
888
  <span class="cline-any cline-no">&nbsp;</span>
777
889
  <span class="cline-any cline-no">&nbsp;</span>
778
890
  <span class="cline-any cline-no">&nbsp;</span>
779
- <span class="cline-any cline-yes">1x</span>
780
- <span class="cline-any cline-yes">1x</span>
781
- <span class="cline-any cline-yes">1x</span>
782
- <span class="cline-any cline-yes">1x</span>
783
- <span class="cline-any cline-yes">1x</span>
784
- <span class="cline-any cline-yes">1x</span>
785
- <span class="cline-any cline-yes">1x</span>
786
- <span class="cline-any cline-yes">1x</span>
891
+ <span class="cline-any cline-yes">133x</span>
892
+ <span class="cline-any cline-yes">133x</span>
893
+ <span class="cline-any cline-yes">133x</span>
894
+ <span class="cline-any cline-yes">133x</span>
895
+ <span class="cline-any cline-yes">133x</span>
896
+ <span class="cline-any cline-yes">133x</span>
897
+ <span class="cline-any cline-yes">133x</span>
898
+ <span class="cline-any cline-yes">133x</span>
787
899
  <span class="cline-any cline-yes">4x</span>
788
900
  <span class="cline-any cline-yes">4x</span>
789
901
  <span class="cline-any cline-yes">4x</span>
@@ -802,14 +914,40 @@
802
914
  <span class="cline-any cline-yes">1x</span>
803
915
  <span class="cline-any cline-yes">1x</span>
804
916
  <span class="cline-any cline-yes">4x</span>
805
- <span class="cline-any cline-yes">1x</span>
806
- <span class="cline-any cline-yes">1x</span>
807
- <span class="cline-any cline-yes">1x</span>
808
- <span class="cline-any cline-yes">1x</span>
809
- <span class="cline-any cline-yes">1x</span>
810
- <span class="cline-any cline-yes">1x</span>
811
- <span class="cline-any cline-yes">1x</span>
812
- <span class="cline-any cline-yes">1x</span>
917
+ <span class="cline-any cline-yes">133x</span>
918
+ <span class="cline-any cline-yes">133x</span>
919
+ <span class="cline-any cline-yes">133x</span>
920
+ <span class="cline-any cline-yes">133x</span>
921
+ <span class="cline-any cline-yes">133x</span>
922
+ <span class="cline-any cline-yes">133x</span>
923
+ <span class="cline-any cline-yes">133x</span>
924
+ <span class="cline-any cline-yes">133x</span>
925
+ <span class="cline-any cline-no">&nbsp;</span>
926
+ <span class="cline-any cline-no">&nbsp;</span>
927
+ <span class="cline-any cline-no">&nbsp;</span>
928
+ <span class="cline-any cline-no">&nbsp;</span>
929
+ <span class="cline-any cline-no">&nbsp;</span>
930
+ <span class="cline-any cline-no">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-no">&nbsp;</span>
933
+ <span class="cline-any cline-no">&nbsp;</span>
934
+ <span class="cline-any cline-no">&nbsp;</span>
935
+ <span class="cline-any cline-no">&nbsp;</span>
936
+ <span class="cline-any cline-no">&nbsp;</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
940
+ <span class="cline-any cline-no">&nbsp;</span>
941
+ <span class="cline-any cline-no">&nbsp;</span>
942
+ <span class="cline-any cline-no">&nbsp;</span>
943
+ <span class="cline-any cline-yes">133x</span>
944
+ <span class="cline-any cline-yes">133x</span>
945
+ <span class="cline-any cline-yes">133x</span>
946
+ <span class="cline-any cline-yes">133x</span>
947
+ <span class="cline-any cline-yes">133x</span>
948
+ <span class="cline-any cline-yes">133x</span>
949
+ <span class="cline-any cline-yes">133x</span>
950
+ <span class="cline-any cline-yes">133x</span>
813
951
  <span class="cline-any cline-yes">4x</span>
814
952
  <span class="cline-any cline-yes">4x</span>
815
953
  <span class="cline-any cline-yes">4x</span>
@@ -828,15 +966,15 @@
828
966
  <span class="cline-any cline-yes">1x</span>
829
967
  <span class="cline-any cline-yes">1x</span>
830
968
  <span class="cline-any cline-yes">4x</span>
831
- <span class="cline-any cline-yes">1x</span>
832
- <span class="cline-any cline-yes">1x</span>
833
- <span class="cline-any cline-yes">1x</span>
834
- <span class="cline-any cline-yes">1x</span>
835
- <span class="cline-any cline-yes">1x</span>
836
- <span class="cline-any cline-yes">1x</span>
837
- <span class="cline-any cline-yes">1x</span>
838
- <span class="cline-any cline-yes">1x</span>
839
- <span class="cline-any cline-yes">1x</span>
969
+ <span class="cline-any cline-yes">133x</span>
970
+ <span class="cline-any cline-yes">133x</span>
971
+ <span class="cline-any cline-yes">133x</span>
972
+ <span class="cline-any cline-yes">133x</span>
973
+ <span class="cline-any cline-yes">133x</span>
974
+ <span class="cline-any cline-yes">133x</span>
975
+ <span class="cline-any cline-yes">133x</span>
976
+ <span class="cline-any cline-yes">133x</span>
977
+ <span class="cline-any cline-yes">133x</span>
840
978
  <span class="cline-any cline-yes">5x</span>
841
979
  <span class="cline-any cline-yes">5x</span>
842
980
  <span class="cline-any cline-yes">5x</span>
@@ -859,14 +997,14 @@
859
997
  <span class="cline-any cline-yes">1x</span>
860
998
  <span class="cline-any cline-yes">1x</span>
861
999
  <span class="cline-any cline-yes">5x</span>
862
- <span class="cline-any cline-yes">1x</span>
863
- <span class="cline-any cline-yes">1x</span>
864
- <span class="cline-any cline-yes">1x</span>
865
- <span class="cline-any cline-yes">1x</span>
866
- <span class="cline-any cline-yes">1x</span>
867
- <span class="cline-any cline-yes">1x</span>
868
- <span class="cline-any cline-yes">1x</span>
869
- <span class="cline-any cline-yes">1x</span>
1000
+ <span class="cline-any cline-yes">133x</span>
1001
+ <span class="cline-any cline-yes">133x</span>
1002
+ <span class="cline-any cline-yes">133x</span>
1003
+ <span class="cline-any cline-yes">133x</span>
1004
+ <span class="cline-any cline-yes">133x</span>
1005
+ <span class="cline-any cline-yes">133x</span>
1006
+ <span class="cline-any cline-yes">133x</span>
1007
+ <span class="cline-any cline-yes">133x</span>
870
1008
  <span class="cline-any cline-no">&nbsp;</span>
871
1009
  <span class="cline-any cline-no">&nbsp;</span>
872
1010
  <span class="cline-any cline-no">&nbsp;</span>
@@ -881,14 +1019,14 @@
881
1019
  <span class="cline-any cline-no">&nbsp;</span>
882
1020
  <span class="cline-any cline-no">&nbsp;</span>
883
1021
  <span class="cline-any cline-no">&nbsp;</span>
884
- <span class="cline-any cline-yes">1x</span>
885
- <span class="cline-any cline-yes">1x</span>
886
- <span class="cline-any cline-yes">1x</span>
887
- <span class="cline-any cline-yes">1x</span>
888
- <span class="cline-any cline-yes">1x</span>
889
- <span class="cline-any cline-yes">1x</span>
890
- <span class="cline-any cline-yes">1x</span>
891
- <span class="cline-any cline-yes">1x</span>
1022
+ <span class="cline-any cline-yes">133x</span>
1023
+ <span class="cline-any cline-yes">133x</span>
1024
+ <span class="cline-any cline-yes">133x</span>
1025
+ <span class="cline-any cline-yes">133x</span>
1026
+ <span class="cline-any cline-yes">133x</span>
1027
+ <span class="cline-any cline-yes">133x</span>
1028
+ <span class="cline-any cline-yes">133x</span>
1029
+ <span class="cline-any cline-yes">133x</span>
892
1030
  <span class="cline-any cline-no">&nbsp;</span>
893
1031
  <span class="cline-any cline-no">&nbsp;</span>
894
1032
  <span class="cline-any cline-no">&nbsp;</span>
@@ -932,39 +1070,40 @@
932
1070
  <span class="cline-any cline-no">&nbsp;</span>
933
1071
  <span class="cline-any cline-no">&nbsp;</span>
934
1072
  <span class="cline-any cline-no">&nbsp;</span>
935
- <span class="cline-any cline-yes">1x</span>
936
- <span class="cline-any cline-yes">1x</span>
937
- <span class="cline-any cline-yes">1x</span>
938
- <span class="cline-any cline-yes">1x</span>
939
- <span class="cline-any cline-yes">1x</span>
940
- <span class="cline-any cline-yes">1x</span>
941
- <span class="cline-any cline-yes">1x</span>
942
- <span class="cline-any cline-yes">1x</span>
943
- <span class="cline-any cline-yes">1x</span>
944
- <span class="cline-any cline-yes">1x</span>
945
- <span class="cline-any cline-yes">1x</span>
946
- <span class="cline-any cline-yes">1x</span>
947
- <span class="cline-any cline-yes">1x</span>
948
- <span class="cline-any cline-yes">1x</span>
949
- <span class="cline-any cline-yes">1x</span>
950
- <span class="cline-any cline-yes">1x</span>
951
- <span class="cline-any cline-yes">1x</span>
952
- <span class="cline-any cline-yes">1x</span>
953
- <span class="cline-any cline-yes">1x</span>
954
- <span class="cline-any cline-yes">1x</span>
955
- <span class="cline-any cline-yes">1x</span>
956
- <span class="cline-any cline-yes">1x</span>
957
- <span class="cline-any cline-yes">1x</span>
958
- <span class="cline-any cline-yes">1x</span>
959
- <span class="cline-any cline-yes">1x</span>
960
- <span class="cline-any cline-yes">1x</span>
961
- <span class="cline-any cline-yes">1x</span>
962
- <span class="cline-any cline-yes">1x</span>
963
- <span class="cline-any cline-yes">1x</span>
964
- <span class="cline-any cline-yes">1x</span>
965
- <span class="cline-any cline-yes">1x</span>
966
- <span class="cline-any cline-yes">1x</span>
967
- <span class="cline-any cline-yes">1x</span>
1073
+ <span class="cline-any cline-yes">133x</span>
1074
+ <span class="cline-any cline-yes">133x</span>
1075
+ <span class="cline-any cline-yes">133x</span>
1076
+ <span class="cline-any cline-yes">133x</span>
1077
+ <span class="cline-any cline-yes">133x</span>
1078
+ <span class="cline-any cline-yes">133x</span>
1079
+ <span class="cline-any cline-yes">133x</span>
1080
+ <span class="cline-any cline-yes">133x</span>
1081
+ <span class="cline-any cline-yes">133x</span>
1082
+ <span class="cline-any cline-yes">133x</span>
1083
+ <span class="cline-any cline-yes">133x</span>
1084
+ <span class="cline-any cline-yes">133x</span>
1085
+ <span class="cline-any cline-yes">133x</span>
1086
+ <span class="cline-any cline-yes">133x</span>
1087
+ <span class="cline-any cline-yes">133x</span>
1088
+ <span class="cline-any cline-yes">133x</span>
1089
+ <span class="cline-any cline-yes">133x</span>
1090
+ <span class="cline-any cline-yes">133x</span>
1091
+ <span class="cline-any cline-yes">133x</span>
1092
+ <span class="cline-any cline-yes">133x</span>
1093
+ <span class="cline-any cline-yes">133x</span>
1094
+ <span class="cline-any cline-yes">133x</span>
1095
+ <span class="cline-any cline-yes">133x</span>
1096
+ <span class="cline-any cline-yes">133x</span>
1097
+ <span class="cline-any cline-yes">133x</span>
1098
+ <span class="cline-any cline-yes">133x</span>
1099
+ <span class="cline-any cline-yes">133x</span>
1100
+ <span class="cline-any cline-yes">133x</span>
1101
+ <span class="cline-any cline-yes">133x</span>
1102
+ <span class="cline-any cline-yes">133x</span>
1103
+ <span class="cline-any cline-yes">133x</span>
1104
+ <span class="cline-any cline-yes">133x</span>
1105
+ <span class="cline-any cline-yes">133x</span>
1106
+ <span class="cline-any cline-yes">133x</span>
968
1107
  <span class="cline-any cline-no">&nbsp;</span>
969
1108
  <span class="cline-any cline-no">&nbsp;</span>
970
1109
  <span class="cline-any cline-no">&nbsp;</span>
@@ -974,40 +1113,41 @@
974
1113
  <span class="cline-any cline-no">&nbsp;</span>
975
1114
  <span class="cline-any cline-no">&nbsp;</span>
976
1115
  <span class="cline-any cline-no">&nbsp;</span>
977
- <span class="cline-any cline-yes">1x</span>
978
- <span class="cline-any cline-yes">1x</span>
979
- <span class="cline-any cline-yes">1x</span>
980
- <span class="cline-any cline-yes">1x</span>
981
- <span class="cline-any cline-yes">1x</span>
982
- <span class="cline-any cline-yes">1x</span>
983
- <span class="cline-any cline-yes">1x</span>
984
- <span class="cline-any cline-yes">1x</span>
985
- <span class="cline-any cline-yes">1x</span>
986
- <span class="cline-any cline-yes">1x</span>
987
- <span class="cline-any cline-yes">1x</span>
988
- <span class="cline-any cline-yes">1x</span>
989
- <span class="cline-any cline-yes">1x</span>
990
- <span class="cline-any cline-yes">1x</span>
991
- <span class="cline-any cline-yes">1x</span>
992
- <span class="cline-any cline-yes">1x</span>
993
- <span class="cline-any cline-yes">1x</span>
994
- <span class="cline-any cline-yes">1x</span>
995
- <span class="cline-any cline-yes">1x</span>
996
- <span class="cline-any cline-yes">1x</span>
997
- <span class="cline-any cline-yes">1x</span>
998
- <span class="cline-any cline-yes">1x</span>
999
- <span class="cline-any cline-yes">1x</span>
1000
- <span class="cline-any cline-yes">1x</span>
1001
- <span class="cline-any cline-yes">1x</span>
1002
- <span class="cline-any cline-yes">1x</span>
1003
- <span class="cline-any cline-yes">1x</span>
1004
- <span class="cline-any cline-yes">1x</span>
1005
- <span class="cline-any cline-yes">1x</span>
1006
- <span class="cline-any cline-yes">1x</span>
1007
- <span class="cline-any cline-yes">1x</span>
1008
- <span class="cline-any cline-yes">1x</span>
1009
- <span class="cline-any cline-yes">1x</span>
1010
- <span class="cline-any cline-yes">1x</span>
1116
+ <span class="cline-any cline-no">&nbsp;</span>
1117
+ <span class="cline-any cline-yes">133x</span>
1118
+ <span class="cline-any cline-yes">133x</span>
1119
+ <span class="cline-any cline-yes">133x</span>
1120
+ <span class="cline-any cline-yes">133x</span>
1121
+ <span class="cline-any cline-yes">133x</span>
1122
+ <span class="cline-any cline-yes">133x</span>
1123
+ <span class="cline-any cline-yes">133x</span>
1124
+ <span class="cline-any cline-yes">133x</span>
1125
+ <span class="cline-any cline-yes">133x</span>
1126
+ <span class="cline-any cline-yes">133x</span>
1127
+ <span class="cline-any cline-yes">133x</span>
1128
+ <span class="cline-any cline-yes">133x</span>
1129
+ <span class="cline-any cline-yes">133x</span>
1130
+ <span class="cline-any cline-yes">133x</span>
1131
+ <span class="cline-any cline-yes">133x</span>
1132
+ <span class="cline-any cline-yes">133x</span>
1133
+ <span class="cline-any cline-yes">133x</span>
1134
+ <span class="cline-any cline-yes">133x</span>
1135
+ <span class="cline-any cline-yes">133x</span>
1136
+ <span class="cline-any cline-yes">133x</span>
1137
+ <span class="cline-any cline-yes">133x</span>
1138
+ <span class="cline-any cline-yes">133x</span>
1139
+ <span class="cline-any cline-yes">133x</span>
1140
+ <span class="cline-any cline-yes">133x</span>
1141
+ <span class="cline-any cline-yes">133x</span>
1142
+ <span class="cline-any cline-yes">133x</span>
1143
+ <span class="cline-any cline-yes">133x</span>
1144
+ <span class="cline-any cline-yes">133x</span>
1145
+ <span class="cline-any cline-yes">133x</span>
1146
+ <span class="cline-any cline-yes">133x</span>
1147
+ <span class="cline-any cline-yes">133x</span>
1148
+ <span class="cline-any cline-yes">133x</span>
1149
+ <span class="cline-any cline-yes">133x</span>
1150
+ <span class="cline-any cline-yes">133x</span>
1011
1151
  <span class="cline-any cline-no">&nbsp;</span>
1012
1152
  <span class="cline-any cline-no">&nbsp;</span>
1013
1153
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1022,23 +1162,23 @@
1022
1162
  <span class="cline-any cline-no">&nbsp;</span>
1023
1163
  <span class="cline-any cline-no">&nbsp;</span>
1024
1164
  <span class="cline-any cline-no">&nbsp;</span>
1025
- <span class="cline-any cline-yes">1x</span>
1026
- <span class="cline-any cline-yes">1x</span>
1027
- <span class="cline-any cline-yes">1x</span>
1028
- <span class="cline-any cline-yes">1x</span>
1029
- <span class="cline-any cline-yes">1x</span>
1030
- <span class="cline-any cline-yes">1x</span>
1031
- <span class="cline-any cline-yes">1x</span>
1032
- <span class="cline-any cline-yes">1x</span>
1033
- <span class="cline-any cline-yes">1x</span>
1165
+ <span class="cline-any cline-yes">133x</span>
1166
+ <span class="cline-any cline-yes">133x</span>
1167
+ <span class="cline-any cline-yes">133x</span>
1168
+ <span class="cline-any cline-yes">133x</span>
1169
+ <span class="cline-any cline-yes">133x</span>
1170
+ <span class="cline-any cline-yes">133x</span>
1171
+ <span class="cline-any cline-yes">133x</span>
1172
+ <span class="cline-any cline-yes">133x</span>
1173
+ <span class="cline-any cline-yes">133x</span>
1034
1174
  <span class="cline-any cline-no">&nbsp;</span>
1035
1175
  <span class="cline-any cline-no">&nbsp;</span>
1036
- <span class="cline-any cline-yes">1x</span>
1037
- <span class="cline-any cline-yes">1x</span>
1038
- <span class="cline-any cline-yes">1x</span>
1039
- <span class="cline-any cline-yes">1x</span>
1040
- <span class="cline-any cline-yes">1x</span>
1041
- <span class="cline-any cline-yes">1x</span>
1176
+ <span class="cline-any cline-yes">133x</span>
1177
+ <span class="cline-any cline-yes">133x</span>
1178
+ <span class="cline-any cline-yes">133x</span>
1179
+ <span class="cline-any cline-yes">133x</span>
1180
+ <span class="cline-any cline-yes">133x</span>
1181
+ <span class="cline-any cline-yes">133x</span>
1042
1182
  <span class="cline-any cline-no">&nbsp;</span>
1043
1183
  <span class="cline-any cline-no">&nbsp;</span>
1044
1184
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1046,13 +1186,13 @@
1046
1186
  <span class="cline-any cline-no">&nbsp;</span>
1047
1187
  <span class="cline-any cline-no">&nbsp;</span>
1048
1188
  <span class="cline-any cline-no">&nbsp;</span>
1049
- <span class="cline-any cline-yes">1x</span>
1050
- <span class="cline-any cline-yes">1x</span>
1051
- <span class="cline-any cline-yes">1x</span>
1052
- <span class="cline-any cline-yes">1x</span>
1053
- <span class="cline-any cline-yes">1x</span>
1054
- <span class="cline-any cline-yes">1x</span>
1055
- <span class="cline-any cline-yes">1x</span>
1189
+ <span class="cline-any cline-yes">133x</span>
1190
+ <span class="cline-any cline-yes">133x</span>
1191
+ <span class="cline-any cline-yes">133x</span>
1192
+ <span class="cline-any cline-yes">133x</span>
1193
+ <span class="cline-any cline-yes">133x</span>
1194
+ <span class="cline-any cline-yes">133x</span>
1195
+ <span class="cline-any cline-yes">133x</span>
1056
1196
  <span class="cline-any cline-no">&nbsp;</span>
1057
1197
  <span class="cline-any cline-no">&nbsp;</span>
1058
1198
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1067,12 +1207,12 @@
1067
1207
  <span class="cline-any cline-no">&nbsp;</span>
1068
1208
  <span class="cline-any cline-no">&nbsp;</span>
1069
1209
  <span class="cline-any cline-no">&nbsp;</span>
1070
- <span class="cline-any cline-yes">1x</span>
1071
- <span class="cline-any cline-yes">1x</span>
1072
- <span class="cline-any cline-yes">1x</span>
1073
- <span class="cline-any cline-yes">1x</span>
1074
- <span class="cline-any cline-yes">1x</span>
1075
- <span class="cline-any cline-yes">1x</span>
1210
+ <span class="cline-any cline-yes">133x</span>
1211
+ <span class="cline-any cline-yes">133x</span>
1212
+ <span class="cline-any cline-yes">133x</span>
1213
+ <span class="cline-any cline-yes">133x</span>
1214
+ <span class="cline-any cline-yes">133x</span>
1215
+ <span class="cline-any cline-yes">133x</span>
1076
1216
  <span class="cline-any cline-no">&nbsp;</span>
1077
1217
  <span class="cline-any cline-no">&nbsp;</span>
1078
1218
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1087,8 +1227,8 @@
1087
1227
  <span class="cline-any cline-no">&nbsp;</span>
1088
1228
  <span class="cline-any cline-no">&nbsp;</span>
1089
1229
  <span class="cline-any cline-no">&nbsp;</span>
1090
- <span class="cline-any cline-yes">1x</span>
1091
- <span class="cline-any cline-yes">1x</span>
1230
+ <span class="cline-any cline-yes">133x</span>
1231
+ <span class="cline-any cline-yes">133x</span>
1092
1232
  <span class="cline-any cline-yes">28x</span>
1093
1233
  <span class="cline-any cline-yes">26x</span>
1094
1234
  <span class="cline-any cline-yes">26x</span>
@@ -1135,16 +1275,16 @@
1135
1275
  <span class="cline-any cline-yes">26x</span>
1136
1276
  <span class="cline-any cline-yes">28x</span>
1137
1277
  <span class="cline-any cline-yes">28x</span>
1138
- <span class="cline-any cline-yes">1x</span>
1139
- <span class="cline-any cline-yes">1x</span>
1140
- <span class="cline-any cline-yes">1x</span>
1141
- <span class="cline-any cline-yes">1x</span>
1142
- <span class="cline-any cline-yes">1x</span>
1278
+ <span class="cline-any cline-yes">133x</span>
1279
+ <span class="cline-any cline-yes">133x</span>
1280
+ <span class="cline-any cline-yes">133x</span>
1281
+ <span class="cline-any cline-yes">133x</span>
1282
+ <span class="cline-any cline-yes">133x</span>
1143
1283
  <span class="cline-any cline-no">&nbsp;</span>
1144
1284
  <span class="cline-any cline-no">&nbsp;</span>
1145
- <span class="cline-any cline-yes">1x</span>
1285
+ <span class="cline-any cline-yes">133x</span>
1146
1286
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Logger } from "../../common-apis/utils/logging/logger.js";
1147
- import { improveAndRethrow } from "../../common-apis/errorUtils.js";
1287
+ import { improveAndRethrow } from "../../common-apis/utils/errorUtils.js";
1148
1288
  import { Coin } from "../../common-apis/models/coin.js";
1149
1289
  import { FALLBACK_ASSET_ICON_URL } from "../../common-apis/globalConstants.jsx";
1150
1290
  import { BigNumber } from "bignumber.js";
@@ -1186,14 +1326,35 @@ export const PRE_LISTED_COINS = [
1186
1326
  &nbsp;
1187
1327
  // TODO: [refactoring, moderate] extract structure of _supportedCoins into model class
1188
1328
  export class SwapProvider {
1189
- constructor(cache, customCoinBuilder = <span class="fstat-no" title="function not covered" >(coin, network) =&gt; null,</span> useRestrictedCoinsSet = true) {
1329
+ /** @type {string} */
1330
+ id;
1331
+ /** @type {SwapProviderCoinInfo[]} */
1332
+ _supportedCoins;
1333
+ /** @type {number} */
1334
+ _supportedCoinsLastUpdateTimestamp;
1335
+ /** @type {number} */
1336
+ _maxRateDigits;
1337
+ /** @type {boolean} */
1338
+ useRestrictedCoinsSet;
1339
+ /** @type {function} */
1340
+ _customCoinBuilder;
1341
+ /** @type {Cache} */
1342
+ cache;
1343
+ /** @type {boolean} */
1344
+ isAggregator;
1345
+ &nbsp;
1346
+ constructor(id, cache, customCoinBuilder = <span class="fstat-no" title="function not covered" >(coin, network) =&gt; null,</span> useRestrictedCoinsSet = true) {
1347
+ this.id = id;
1190
1348
  this._supportedCoins = [];
1349
+ this._supportedCoinsLastUpdateTimestamp = 0;
1191
1350
  this._maxRateDigits = 20;
1192
1351
  this.useRestrictedCoinsSet = useRestrictedCoinsSet;
1193
1352
  this._customCoinBuilder = customCoinBuilder;
1194
1353
  this._cache = cache;
1195
1354
  this.isAggregator = false;
1196
1355
  }
1356
+ &nbsp;
1357
+ static COINS_EXPIRATION_TIME_MS = 5 * 60 * 1000;
1197
1358
  &nbsp;
1198
1359
  static COMMON_ERRORS = {
1199
1360
  REQUESTS_LIMIT_EXCEEDED: "requestsLimitExceeded",
@@ -1222,6 +1383,19 @@ export class SwapProvider {
1222
1383
  EXPIRED: "expired",
1223
1384
  FAILED: "failed",
1224
1385
  };
1386
+ &nbsp;
1387
+ /**
1388
+ * Returns provider-specific identifiers exactly the way they defined in the provider API.
1389
+ * Usually providers have 2 identifiers - ticker/code/coin id and network/protocol.
1390
+ * So by default we return this set based in the coin info instance.
1391
+ * Should be redefined for dedicated providers if their ids logic differ.
1392
+ *
1393
+ * @param info {SwapProviderCoinInfo}
1394
+ * @return {{code: string, network: string|null}} null network means the coin is the major for its network like BTC and ETH
1395
+ */
1396
+ <span class="fstat-no" title="function not covered" > getIdsByCoinInfo(info) {</span>
1397
+ <span class="cstat-no" title="statement not covered" > return { code: info.code, network: info.network };</span>
1398
+ <span class="cstat-no" title="statement not covered" > }</span>
1225
1399
  &nbsp;
1226
1400
  /**
1227
1401
  * @return {Promise&lt;void&gt;}
@@ -1298,6 +1472,14 @@ export class SwapProvider {
1298
1472
  <span class="cstat-no" title="statement not covered" > return i1.coin.ticker.localeCompare(i2.coin.ticker);</span>
1299
1473
  <span class="cstat-no" title="statement not covered" > });</span>
1300
1474
  <span class="cstat-no" title="statement not covered" > }</span>
1475
+ &nbsp;
1476
+ _shouldCoinsListBeLoaded() {
1477
+ return (
1478
+ !this._supportedCoins?.length <span class="branch-0 cbranch-no" title="branch not covered" >||</span>
1479
+ !this._supportedCoinsLastUpdateTimestamp <span class="branch-0 cbranch-no" title="branch not covered" >||</span>
1480
+ <span class="cstat-no" title="statement not covered" > this._supportedCoinsLastUpdateTimestamp + SwapProvider.COINS_EXPIRATION_TIME_MS &lt; Date.now()</span>
1481
+ );
1482
+ }
1301
1483
  &nbsp;
1302
1484
  /**
1303
1485
  * Should fill _supportedCoins with array of coins.
@@ -1342,6 +1524,32 @@ export class SwapProvider {
1342
1524
  improveAndRethrow(e, loggerSource);
1343
1525
  }
1344
1526
  }
1527
+ &nbsp;
1528
+ /**
1529
+ * Retrieves all currencies supported by this swap provider with raw details.
1530
+ * Returns one of SwapProvider.COMMON_ERRORS in case of processable fail.
1531
+ *
1532
+ * @return {Promise&lt;({ result: true, coinsInfo: SwapProviderCoinInfo[] }|{ result: false, reason: string })&gt;}
1533
+ */
1534
+ <span class="fstat-no" title="function not covered" > async getAllSupportedCurrenciesWithRawDetails() {</span>
1535
+ <span class="cstat-no" title="statement not covered" > const loggerSource = "getAllSupportedCurrenciesWithRawDetails";</span>
1536
+ <span class="cstat-no" title="statement not covered" > try {</span>
1537
+ <span class="cstat-no" title="statement not covered" > await this._fetchSupportedCurrenciesIfNeeded();</span>
1538
+ <span class="cstat-no" title="statement not covered" > Logger.log(`We have ${this._supportedCoins?.length} supported coins returning`, loggerSource);</span>
1539
+ <span class="cstat-no" title="statement not covered" > return {</span>
1540
+ <span class="cstat-no" title="statement not covered" > result: true,</span>
1541
+ <span class="cstat-no" title="statement not covered" > coinsInfo: [...this._supportedCoins],</span>
1542
+ <span class="cstat-no" title="statement not covered" > };</span>
1543
+ <span class="cstat-no" title="statement not covered" > } catch (e) {</span>
1544
+ <span class="cstat-no" title="statement not covered" > if (e?.response?.status === 429) {</span>
1545
+ <span class="cstat-no" title="statement not covered" > return {</span>
1546
+ <span class="cstat-no" title="statement not covered" > result: false,</span>
1547
+ <span class="cstat-no" title="statement not covered" > reason: SwapProvider.COMMON_ERRORS.REQUESTS_LIMIT_EXCEEDED,</span>
1548
+ <span class="cstat-no" title="statement not covered" > };</span>
1549
+ <span class="cstat-no" title="statement not covered" > }</span>
1550
+ <span class="cstat-no" title="statement not covered" > improveAndRethrow(e, loggerSource);</span>
1551
+ <span class="cstat-no" title="statement not covered" > }</span>
1552
+ <span class="cstat-no" title="statement not covered" > }</span>
1345
1553
  &nbsp;
1346
1554
  /**
1347
1555
  * Retrieves all deposit currencies supported by this swap provider.
@@ -1425,24 +1633,24 @@ export class SwapProvider {
1425
1633
  /**
1426
1634
  * Retrieves coin to USDT rate.
1427
1635
  *
1428
- * @param coin {Coin}
1636
+ * @param coinOrTicker {Coin|string}
1429
1637
  * @return {{result: true, rate: string}|null}
1430
1638
  */
1431
- <span class="fstat-no" title="function not covered" > async getCoinToUSDTRate(coin) {</span>
1639
+ <span class="fstat-no" title="function not covered" > async getCoinToUSDTRate(coinOrTicker) {</span>
1432
1640
  <span class="cstat-no" title="statement not covered" > const loggerSource = "getCoinToUSDTRate";</span>
1433
1641
  <span class="cstat-no" title="statement not covered" > try {</span>
1434
- <span class="cstat-no" title="statement not covered" > if (!coin) return null;</span>
1435
- <span class="cstat-no" title="statement not covered" ></span>
1642
+ <span class="cstat-no" title="statement not covered" > if (!coinOrTicker) return null;</span>
1436
1643
  <span class="cstat-no" title="statement not covered" > await this._fetchSupportedCurrenciesIfNeeded();</span>
1437
- <span class="cstat-no" title="statement not covered" > const isCoinAvailableForThisProvider = !!this.getCoinByTickerIfPresent(coin.ticker);</span>
1438
- <span class="cstat-no" title="statement not covered" > if (!isCoinAvailableForThisProvider) return null;</span>
1644
+ <span class="cstat-no" title="statement not covered" > const ticker = coinOrTicker instanceof Coin ? coinOrTicker.ticker : coinOrTicker;</span>
1645
+ <span class="cstat-no" title="statement not covered" > const coin = this.getCoinByTickerIfPresent(ticker);</span>
1646
+ <span class="cstat-no" title="statement not covered" > if (!coin) return null;</span>
1439
1647
  <span class="cstat-no" title="statement not covered" ></span>
1440
1648
  <span class="cstat-no" title="statement not covered" > // Using USDT TRC20 as usually fee in this network is smaller than ERC20 and this network is widely used for USDT</span>
1441
1649
  <span class="cstat-no" title="statement not covered" > const usdtTrc20 = this._supportedCoins.find(i =&gt; i.coin.ticker === "USDTTRC20")?.coin;</span>
1442
1650
  <span class="cstat-no" title="statement not covered" > if (!usdtTrc20) {</span>
1443
1651
  <span class="cstat-no" title="statement not covered" > return null;</span>
1444
1652
  <span class="cstat-no" title="statement not covered" > }</span>
1445
- <span class="cstat-no" title="statement not covered" > const cached = this._cache.get("swapspace_usdt_rate_" + coin.ticker);</span>
1653
+ <span class="cstat-no" title="statement not covered" > const cached = this._cache.get("swapspace_usdt_rate_" + ticker);</span>
1446
1654
  <span class="cstat-no" title="statement not covered" > if (cached != null) {</span>
1447
1655
  <span class="cstat-no" title="statement not covered" > return {</span>
1448
1656
  <span class="cstat-no" title="statement not covered" > result: true,</span>
@@ -1450,19 +1658,19 @@ export class SwapProvider {
1450
1658
  <span class="cstat-no" title="statement not covered" > };</span>
1451
1659
  <span class="cstat-no" title="statement not covered" > }</span>
1452
1660
  <span class="cstat-no" title="statement not covered" ></span>
1453
- <span class="cstat-no" title="statement not covered" > Logger.log("Loading USDT-&gt;coin rate as not found in cache:", coin?.ticker);</span>
1661
+ <span class="cstat-no" title="statement not covered" > Logger.log("Loading USDT-&gt;coin rate as not found in cache:", ticker);</span>
1454
1662
  <span class="cstat-no" title="statement not covered" > const result = await this.getSwapInfo(usdtTrc20, coin, "5000", false);</span>
1455
1663
  <span class="cstat-no" title="statement not covered" > if (!result.result) {</span>
1456
1664
  <span class="cstat-no" title="statement not covered" > return null;</span>
1457
1665
  <span class="cstat-no" title="statement not covered" > }</span>
1458
1666
  <span class="cstat-no" title="statement not covered" ></span>
1459
1667
  <span class="cstat-no" title="statement not covered" > // This calculation is not precise as we cannot recognize the actual fee and network fee. Just approximate.</span>
1460
- <span class="cstat-no" title="statement not covered" > const standardSwapspaceFeeMultiplier = 1.004; // fee is usually 0.4%</span>
1668
+ <span class="cstat-no" title="statement not covered" > const standardSwapspaceFeeMultiplier = 1.004; // standard market fee is about 0.4% usually</span>
1461
1669
  <span class="cstat-no" title="statement not covered" > const rate = BigNumber(1).div(BigNumber(result.rate).times(standardSwapspaceFeeMultiplier)).toString();</span>
1462
1670
  <span class="cstat-no" title="statement not covered" > this._cache.put(</span>
1463
- <span class="cstat-no" title="statement not covered" > "swap_usdt_rate_" + coin.ticker,</span>
1671
+ <span class="cstat-no" title="statement not covered" > "swap_usdt_rate_" + ticker,</span>
1464
1672
  <span class="cstat-no" title="statement not covered" > rate,</span>
1465
- <span class="cstat-no" title="statement not covered" > 15 * 60000 // 15 minutes</span>
1673
+ <span class="cstat-no" title="statement not covered" > 10 * 60000 // 15 minutes</span>
1466
1674
  <span class="cstat-no" title="statement not covered" > );</span>
1467
1675
  <span class="cstat-no" title="statement not covered" > return {</span>
1468
1676
  <span class="cstat-no" title="statement not covered" > result: true,</span>
@@ -1486,6 +1694,7 @@ export class SwapProvider {
1486
1694
  * @param [fromCoinToUsdRate=null] pass if you want to increase the min amount returned
1487
1695
  * by provider with some fixed "insurance" amount to cover min amount fluctuations.
1488
1696
  * @param [amountIsToReceive=false] {boolean} whether the given amount is receiving amount. False means the amount is the sending amount.
1697
+ * @param [bannedPartners=[]] {string[]} list of ids of banned partners to be excluded from list, suitable only for swap aggregators
1489
1698
  * @return {Promise&lt;({
1490
1699
  * result: false,
1491
1700
  * reason: string,
@@ -1510,7 +1719,8 @@ export class SwapProvider {
1510
1719
  <span class="cstat-no" title="statement not covered" > amountCoins,</span>
1511
1720
  <span class="cstat-no" title="statement not covered" > fixed = false,</span>
1512
1721
  <span class="cstat-no" title="statement not covered" > fromCoinToUsdRate = null,</span>
1513
- <span class="cstat-no" title="statement not covered" > amountIsToReceive = false</span>
1722
+ <span class="cstat-no" title="statement not covered" > amountIsToReceive = false,</span>
1723
+ <span class="cstat-no" title="statement not covered" > bannedPartners = []</span>
1514
1724
  <span class="cstat-no" title="statement not covered" > ) {</span>
1515
1725
  <span class="cstat-no" title="statement not covered" > throw new Error("Not implemented in base");</span>
1516
1726
  <span class="cstat-no" title="statement not covered" > }</span>
@@ -1690,7 +1900,7 @@ export class SwapProvider {
1690
1900
  <div class='footer quiet pad2 space-top1 center small'>
1691
1901
  Code coverage generated by
1692
1902
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1693
- at 2024-08-21T07:33:35.349Z
1903
+ at 2024-09-19T18:32:51.683Z
1694
1904
  </div>
1695
1905
  <script src="../../../../prettify.js"></script>
1696
1906
  <script>