@rabbitio/ui-kit 1.0.0-beta.82 → 1.0.0-beta.83
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.
- package/dist/index.cjs +53 -51
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +29 -29
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +53 -51
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +53 -51
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/swaps-lib/external-apis/letsExchangeSwapProvider.js +2 -3
- package/src/swaps-lib/external-apis/swapProvider.js +14 -8
- package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +3 -6
- package/src/swaps-lib/services/publicSwapService.js +13 -8
- package/src/swaps-lib/utils/swapUtils.js +1 -1
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/clover.xml +0 -14948
- package/coverage/coverage-final.json +0 -102
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -911
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/rabbit-ui-kit/index.html +0 -116
- package/coverage/rabbit-ui-kit/index.js.html +0 -88
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +0 -148
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +0 -199
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/axiosAdapter.js.html +0 -190
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/adapters/qrUtils.js.html +0 -139
- package/coverage/rabbit-ui-kit/src/common-apis/amountUtils.js.html +0 -1162
- package/coverage/rabbit-ui-kit/src/common-apis/errorUtils.js.html +0 -211
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/apiGroups.js.html +0 -250
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +0 -352
- package/coverage/rabbit-ui-kit/src/common-apis/fiatCurrenciesService.js.html +0 -544
- package/coverage/rabbit-ui-kit/src/common-apis/globalConstants.jsx.html +0 -94
- package/coverage/rabbit-ui-kit/src/common-apis/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/common-apis/models/blockchain.js.html +0 -115
- package/coverage/rabbit-ui-kit/src/common-apis/models/coin.js.html +0 -544
- package/coverage/rabbit-ui-kit/src/common-apis/models/index.html +0 -146
- package/coverage/rabbit-ui-kit/src/common-apis/models/protocol.js.html +0 -100
- package/coverage/rabbit-ui-kit/src/common-apis/utils/cache.js.html +0 -811
- package/coverage/rabbit-ui-kit/src/common-apis/utils/emailAPI.js.html +0 -133
- package/coverage/rabbit-ui-kit/src/common-apis/utils/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/index.html +0 -131
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logger.js.html +0 -208
- package/coverage/rabbit-ui-kit/src/common-apis/utils/logging/logsStorage.js.html +0 -268
- package/coverage/rabbit-ui-kit/src/common-apis/utils/postponeExecution.js.html +0 -118
- package/coverage/rabbit-ui-kit/src/common-apis/utils/safeStringify.js.html +0 -235
- package/coverage/rabbit-ui-kit/src/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/index.js.html +0 -346
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +0 -1570
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +0 -526
- package/coverage/rabbit-ui-kit/src/robust-api-caller/cancelProcessing.js.html +0 -172
- package/coverage/rabbit-ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +0 -310
- package/coverage/rabbit-ui-kit/src/robust-api-caller/externalApiProvider.js.html +0 -553
- package/coverage/rabbit-ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +0 -319
- package/coverage/rabbit-ui-kit/src/robust-api-caller/index.html +0 -206
- package/coverage/rabbit-ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +0 -997
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/index.html +0 -146
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +0 -1513
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +0 -1663
- package/coverage/rabbit-ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +0 -1753
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +0 -223
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwap.js.html +0 -304
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +0 -469
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +0 -193
- package/coverage/rabbit-ui-kit/src/swaps-lib/services/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/swaps-lib/services/publicSwapService.js.html +0 -2095
- package/coverage/rabbit-ui-kit/src/swaps-lib/utils/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/swaps-lib/utils/swapUtils.js.html +0 -670
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +0 -124
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +0 -127
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +0 -127
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +0 -106
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +0 -439
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +0 -202
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/index.html +0 -251
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +0 -133
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +0 -247
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +0 -163
- package/coverage/rabbit-ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +0 -151
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +0 -256
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +0 -289
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +0 -187
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +0 -238
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +0 -634
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Input/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +0 -196
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +0 -277
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +0 -217
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/QrCode/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +0 -175
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +0 -217
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +0 -529
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Textarea/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +0 -508
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +0 -316
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +0 -313
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +0 -208
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/Validation/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +0 -712
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +0 -259
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +0 -421
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +0 -415
- package/coverage/rabbit-ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +0 -1060
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +0 -1618
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +0 -190
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +0 -181
- package/coverage/rabbit-ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +0 -283
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +0 -1567
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +0 -451
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +0 -1699
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/Dialog/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +0 -4099
- package/coverage/rabbit-ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +0 -316
- package/coverage/rabbit-ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/index.html +0 -146
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +0 -151
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +0 -121
- package/coverage/rabbit-ui-kit/src/ui-kit/hooks/useReferredState.js.html +0 -157
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/index.html +0 -161
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/inputValueProviders.js.html +0 -235
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/textUtils.js.html +0 -139
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/uiUtils.js.html +0 -121
- package/coverage/rabbit-ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +0 -271
- package/coverage/rabbit-ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +0 -202
- package/coverage/rabbit-ui-kit/stories/atoms/LinesOfText.stories.jsx.html +0 -283
- package/coverage/rabbit-ui-kit/stories/atoms/LoadingDots.stories.jsx.html +0 -226
- package/coverage/rabbit-ui-kit/stories/atoms/QrCode.stories.jsx.html +0 -175
- package/coverage/rabbit-ui-kit/stories/atoms/RateSelector.stories.jsx.html +0 -136
- package/coverage/rabbit-ui-kit/stories/atoms/Validation.stories.jsx.html +0 -178
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/Button.stories.jsx.html +0 -883
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/Close.stories.jsx.html +0 -211
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +0 -301
- package/coverage/rabbit-ui-kit/stories/atoms/buttons/index.html +0 -146
- package/coverage/rabbit-ui-kit/stories/atoms/index.html +0 -191
- package/coverage/rabbit-ui-kit/stories/molecules/CoinPicker.stories.jsx.html +0 -271
- package/coverage/rabbit-ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +0 -154
- package/coverage/rabbit-ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +0 -160
- package/coverage/rabbit-ui-kit/stories/molecules/index.html +0 -146
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +0 -523
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +0 -328
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogButtons/index.html +0 -116
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +0 -337
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/DialogStep/index.html +0 -116
- package/coverage/rabbit-ui-kit/stories/organisms/Dialog/index.html +0 -116
- package/coverage/rabbit-ui-kit/stories/stubs/coins.jsx.html +0 -6880
- package/coverage/rabbit-ui-kit/stories/stubs/exampleContent.jsx.html +0 -145
- package/coverage/rabbit-ui-kit/stories/stubs/index.html +0 -131
- package/coverage/rabbit-ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +0 -190
- package/coverage/rabbit-ui-kit/stories/templates/index.html +0 -116
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
package/package.json
CHANGED
|
@@ -131,10 +131,9 @@ export class LetsExchangeSwapProvider extends SwapProvider {
|
|
|
131
131
|
}
|
|
132
132
|
const fromCoinDetails = this._supportedCoins.find(i => i.coin?.ticker === fromCoin?.ticker);
|
|
133
133
|
const toCoinDetails = this._supportedCoins.find(i => i.coin?.ticker === toCoin?.ticker);
|
|
134
|
-
if (!fromCoinDetails || !toCoinDetails) {
|
|
135
|
-
throw new Error("Failed to find coin details for: " + fromCoin.ticker + " -> " + toCoin.ticker);
|
|
136
|
-
}
|
|
137
134
|
if (
|
|
135
|
+
!fromCoinDetails ||
|
|
136
|
+
!toCoinDetails ||
|
|
138
137
|
!fromCoinDetails.deposit ||
|
|
139
138
|
!fromCoinDetails.isAvailable ||
|
|
140
139
|
!toCoinDetails.withdrawal ||
|
|
@@ -160,11 +160,15 @@ export class SwapProvider {
|
|
|
160
160
|
* @private
|
|
161
161
|
*/
|
|
162
162
|
async _fetchSupportedCurrenciesIfNeeded() {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
163
|
+
if (!this.useRestrictedCoinsSet) {
|
|
164
|
+
PRE_LISTED_COINS.forEach(preListedCoin => {
|
|
165
|
+
if (
|
|
166
|
+
!this._supportedCoins.find(existingCoin => preListedCoin.coin.ticker === existingCoin.coin.ticker)
|
|
167
|
+
) {
|
|
168
|
+
this._supportedCoins.push(preListedCoin);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
168
172
|
}
|
|
169
173
|
|
|
170
174
|
/**
|
|
@@ -276,7 +280,7 @@ export class SwapProvider {
|
|
|
276
280
|
* Retrieves coin to USDT rate.
|
|
277
281
|
*
|
|
278
282
|
* @param coin {Coin}
|
|
279
|
-
* @return {{result: true, rate: string}|
|
|
283
|
+
* @return {{result: true, rate: string}|null}
|
|
280
284
|
*/
|
|
281
285
|
async getCoinToUSDTRate(coin) {
|
|
282
286
|
const loggerSource = "getCoinToUSDTRate";
|
|
@@ -284,11 +288,13 @@ export class SwapProvider {
|
|
|
284
288
|
if (!coin) return null;
|
|
285
289
|
|
|
286
290
|
await this._fetchSupportedCurrenciesIfNeeded();
|
|
291
|
+
const isCoinAvailableForThisProvider = !!this.getCoinByTickerIfPresent(coin.ticker);
|
|
292
|
+
if (!isCoinAvailableForThisProvider) return null;
|
|
287
293
|
|
|
288
294
|
// Using USDT TRC20 as usually fee in this network is smaller than ERC20 and this network is widely used for USDT
|
|
289
295
|
const usdtTrc20 = this._supportedCoins.find(i => i.coin.ticker === "USDTTRC20")?.coin;
|
|
290
296
|
if (!usdtTrc20) {
|
|
291
|
-
return
|
|
297
|
+
return null;
|
|
292
298
|
}
|
|
293
299
|
const cached = this._cache.get("swapspace_usdt_rate_" + coin.ticker);
|
|
294
300
|
if (cached != null) {
|
|
@@ -301,7 +307,7 @@ export class SwapProvider {
|
|
|
301
307
|
Logger.log("Loading USDT->coin rate as not found in cache:", coin?.ticker);
|
|
302
308
|
const result = await this.getSwapInfo(usdtTrc20, coin, "5000", false);
|
|
303
309
|
if (!result.result) {
|
|
304
|
-
return
|
|
310
|
+
return null;
|
|
305
311
|
}
|
|
306
312
|
|
|
307
313
|
// This calculation is not precise as we cannot recognize the actual fee and network fee. Just approximate.
|
|
@@ -12,7 +12,7 @@ import { Logger } from "../../common-apis/utils/logging/logger.js";
|
|
|
12
12
|
import { FALLBACK_ASSET_ICON_URL } from "../../common-apis/globalConstants.jsx";
|
|
13
13
|
import { SwapProviderCoinInfo } from "../models/swapProviderCoinInfo.js";
|
|
14
14
|
|
|
15
|
-
export const BANNED_PARTNERS = ["stealthex", "changee", "coincraddle"];
|
|
15
|
+
export const BANNED_PARTNERS = ["stealthex", "changee", "coincraddle", "easybit"];
|
|
16
16
|
|
|
17
17
|
export class SwapspaceSwapProvider extends SwapProvider {
|
|
18
18
|
constructor(apiKeysProxyUrl, cache, customCoinBuilder = (coin, network) => null, useRestrictedCoinsSet = true) {
|
|
@@ -144,12 +144,9 @@ export class SwapspaceSwapProvider extends SwapProvider {
|
|
|
144
144
|
}
|
|
145
145
|
const fromCoinSwapspaceDetails = this._supportedCoins.find(i => i.coin?.ticker === fromCoin?.ticker);
|
|
146
146
|
const toCoinSwapspaceDetails = this._supportedCoins.find(i => i.coin?.ticker === toCoin?.ticker);
|
|
147
|
-
if (!fromCoinSwapspaceDetails || !toCoinSwapspaceDetails) {
|
|
148
|
-
throw new Error(
|
|
149
|
-
"Failed to find swapspace coin details for: " + fromCoin.ticker + " -> " + toCoin.ticker
|
|
150
|
-
);
|
|
151
|
-
}
|
|
152
147
|
if (
|
|
148
|
+
!fromCoinSwapspaceDetails ||
|
|
149
|
+
!toCoinSwapspaceDetails ||
|
|
153
150
|
!fromCoinSwapspaceDetails.deposit ||
|
|
154
151
|
!toCoinSwapspaceDetails.withdrawal ||
|
|
155
152
|
!fromCoinSwapspaceDetails.isAvailable ||
|
|
@@ -590,13 +590,13 @@ export class PublicSwapService {
|
|
|
590
590
|
|
|
591
591
|
/**
|
|
592
592
|
* @param ticker {string}
|
|
593
|
-
* @param [fixed=false] {boolean}
|
|
594
593
|
* @return {Coin|null}
|
|
595
594
|
*/
|
|
596
|
-
getCoinByTickerIfPresent(ticker
|
|
597
|
-
return
|
|
598
|
-
|
|
599
|
-
|
|
595
|
+
getCoinByTickerIfPresent(ticker) {
|
|
596
|
+
return (
|
|
597
|
+
this._swapProvider.getCoinByTickerIfPresent(ticker) ??
|
|
598
|
+
this._fixedSwapProvider.getCoinByTickerIfPresent(ticker)
|
|
599
|
+
);
|
|
600
600
|
}
|
|
601
601
|
|
|
602
602
|
/**
|
|
@@ -605,15 +605,20 @@ export class PublicSwapService {
|
|
|
605
605
|
* @return {Promise<string|null>}
|
|
606
606
|
*/
|
|
607
607
|
async getAssetToUsdtRate(asset) {
|
|
608
|
+
let result = null;
|
|
609
|
+
try {
|
|
610
|
+
result = await this._swapProvider.getCoinToUSDTRate(asset);
|
|
611
|
+
} catch (e) {
|
|
612
|
+
Logger.logError(e, "getAssetToUsdtRate");
|
|
613
|
+
}
|
|
608
614
|
try {
|
|
609
|
-
let result = await this._swapProvider.getCoinToUSDTRate(asset);
|
|
610
615
|
if (result?.rate == null) {
|
|
611
616
|
result = await this._fixedSwapProvider.getCoinToUSDTRate(asset);
|
|
612
617
|
}
|
|
613
|
-
return result?.rate ?? null;
|
|
614
618
|
} catch (e) {
|
|
615
|
-
|
|
619
|
+
Logger.logError(e, "getAssetToUsdtRate", "Failed via both fixed and floating providers");
|
|
616
620
|
}
|
|
621
|
+
return result?.rate ?? null;
|
|
617
622
|
}
|
|
618
623
|
|
|
619
624
|
/**
|
|
@@ -52,7 +52,7 @@ export class SwapUtils {
|
|
|
52
52
|
const defaultAmountUsd = BigNumber("300");
|
|
53
53
|
const coinUsdRate = await swapProvider.getCoinToUSDTRate(fromCoin);
|
|
54
54
|
const coinAmountForDefaultUsdAmount = AmountUtils.trim(
|
|
55
|
-
coinUsdRate
|
|
55
|
+
coinUsdRate?.result ? defaultAmountUsd.div(coinUsdRate?.rate) : defaultAmountUsd,
|
|
56
56
|
fromCoin.digits
|
|
57
57
|
);
|
|
58
58
|
Logger.log(`Init: ${coinAmountForDefaultUsdAmount} ${fromCoin.ticker}->${toCoin.ticker}`, loggerSource);
|
package/coverage/base.css
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
body, html {
|
|
2
|
-
margin:0; padding: 0;
|
|
3
|
-
height: 100%;
|
|
4
|
-
}
|
|
5
|
-
body {
|
|
6
|
-
font-family: Helvetica Neue, Helvetica, Arial;
|
|
7
|
-
font-size: 14px;
|
|
8
|
-
color:#333;
|
|
9
|
-
}
|
|
10
|
-
.small { font-size: 12px; }
|
|
11
|
-
*, *:after, *:before {
|
|
12
|
-
-webkit-box-sizing:border-box;
|
|
13
|
-
-moz-box-sizing:border-box;
|
|
14
|
-
box-sizing:border-box;
|
|
15
|
-
}
|
|
16
|
-
h1 { font-size: 20px; margin: 0;}
|
|
17
|
-
h2 { font-size: 14px; }
|
|
18
|
-
pre {
|
|
19
|
-
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
20
|
-
margin: 0;
|
|
21
|
-
padding: 0;
|
|
22
|
-
-moz-tab-size: 2;
|
|
23
|
-
-o-tab-size: 2;
|
|
24
|
-
tab-size: 2;
|
|
25
|
-
}
|
|
26
|
-
a { color:#0074D9; text-decoration:none; }
|
|
27
|
-
a:hover { text-decoration:underline; }
|
|
28
|
-
.strong { font-weight: bold; }
|
|
29
|
-
.space-top1 { padding: 10px 0 0 0; }
|
|
30
|
-
.pad2y { padding: 20px 0; }
|
|
31
|
-
.pad1y { padding: 10px 0; }
|
|
32
|
-
.pad2x { padding: 0 20px; }
|
|
33
|
-
.pad2 { padding: 20px; }
|
|
34
|
-
.pad1 { padding: 10px; }
|
|
35
|
-
.space-left2 { padding-left:55px; }
|
|
36
|
-
.space-right2 { padding-right:20px; }
|
|
37
|
-
.center { text-align:center; }
|
|
38
|
-
.clearfix { display:block; }
|
|
39
|
-
.clearfix:after {
|
|
40
|
-
content:'';
|
|
41
|
-
display:block;
|
|
42
|
-
height:0;
|
|
43
|
-
clear:both;
|
|
44
|
-
visibility:hidden;
|
|
45
|
-
}
|
|
46
|
-
.fl { float: left; }
|
|
47
|
-
@media only screen and (max-width:640px) {
|
|
48
|
-
.col3 { width:100%; max-width:100%; }
|
|
49
|
-
.hide-mobile { display:none!important; }
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.quiet {
|
|
53
|
-
color: #7f7f7f;
|
|
54
|
-
color: rgba(0,0,0,0.5);
|
|
55
|
-
}
|
|
56
|
-
.quiet a { opacity: 0.7; }
|
|
57
|
-
|
|
58
|
-
.fraction {
|
|
59
|
-
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
|
|
60
|
-
font-size: 10px;
|
|
61
|
-
color: #555;
|
|
62
|
-
background: #E8E8E8;
|
|
63
|
-
padding: 4px 5px;
|
|
64
|
-
border-radius: 3px;
|
|
65
|
-
vertical-align: middle;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
div.path a:link, div.path a:visited { color: #333; }
|
|
69
|
-
table.coverage {
|
|
70
|
-
border-collapse: collapse;
|
|
71
|
-
margin: 10px 0 0 0;
|
|
72
|
-
padding: 0;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
table.coverage td {
|
|
76
|
-
margin: 0;
|
|
77
|
-
padding: 0;
|
|
78
|
-
vertical-align: top;
|
|
79
|
-
}
|
|
80
|
-
table.coverage td.line-count {
|
|
81
|
-
text-align: right;
|
|
82
|
-
padding: 0 5px 0 20px;
|
|
83
|
-
}
|
|
84
|
-
table.coverage td.line-coverage {
|
|
85
|
-
text-align: right;
|
|
86
|
-
padding-right: 10px;
|
|
87
|
-
min-width:20px;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
table.coverage td span.cline-any {
|
|
91
|
-
display: inline-block;
|
|
92
|
-
padding: 0 5px;
|
|
93
|
-
width: 100%;
|
|
94
|
-
}
|
|
95
|
-
.missing-if-branch {
|
|
96
|
-
display: inline-block;
|
|
97
|
-
margin-right: 5px;
|
|
98
|
-
border-radius: 3px;
|
|
99
|
-
position: relative;
|
|
100
|
-
padding: 0 4px;
|
|
101
|
-
background: #333;
|
|
102
|
-
color: yellow;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.skip-if-branch {
|
|
106
|
-
display: none;
|
|
107
|
-
margin-right: 10px;
|
|
108
|
-
position: relative;
|
|
109
|
-
padding: 0 4px;
|
|
110
|
-
background: #ccc;
|
|
111
|
-
color: white;
|
|
112
|
-
}
|
|
113
|
-
.missing-if-branch .typ, .skip-if-branch .typ {
|
|
114
|
-
color: inherit !important;
|
|
115
|
-
}
|
|
116
|
-
.coverage-summary {
|
|
117
|
-
border-collapse: collapse;
|
|
118
|
-
width: 100%;
|
|
119
|
-
}
|
|
120
|
-
.coverage-summary tr { border-bottom: 1px solid #bbb; }
|
|
121
|
-
.keyline-all { border: 1px solid #ddd; }
|
|
122
|
-
.coverage-summary td, .coverage-summary th { padding: 10px; }
|
|
123
|
-
.coverage-summary tbody { border: 1px solid #bbb; }
|
|
124
|
-
.coverage-summary td { border-right: 1px solid #bbb; }
|
|
125
|
-
.coverage-summary td:last-child { border-right: none; }
|
|
126
|
-
.coverage-summary th {
|
|
127
|
-
text-align: left;
|
|
128
|
-
font-weight: normal;
|
|
129
|
-
white-space: nowrap;
|
|
130
|
-
}
|
|
131
|
-
.coverage-summary th.file { border-right: none !important; }
|
|
132
|
-
.coverage-summary th.pct { }
|
|
133
|
-
.coverage-summary th.pic,
|
|
134
|
-
.coverage-summary th.abs,
|
|
135
|
-
.coverage-summary td.pct,
|
|
136
|
-
.coverage-summary td.abs { text-align: right; }
|
|
137
|
-
.coverage-summary td.file { white-space: nowrap; }
|
|
138
|
-
.coverage-summary td.pic { min-width: 120px !important; }
|
|
139
|
-
.coverage-summary tfoot td { }
|
|
140
|
-
|
|
141
|
-
.coverage-summary .sorter {
|
|
142
|
-
height: 10px;
|
|
143
|
-
width: 7px;
|
|
144
|
-
display: inline-block;
|
|
145
|
-
margin-left: 0.5em;
|
|
146
|
-
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
|
|
147
|
-
}
|
|
148
|
-
.coverage-summary .sorted .sorter {
|
|
149
|
-
background-position: 0 -20px;
|
|
150
|
-
}
|
|
151
|
-
.coverage-summary .sorted-desc .sorter {
|
|
152
|
-
background-position: 0 -10px;
|
|
153
|
-
}
|
|
154
|
-
.status-line { height: 10px; }
|
|
155
|
-
/* yellow */
|
|
156
|
-
.cbranch-no { background: yellow !important; color: #111; }
|
|
157
|
-
/* dark red */
|
|
158
|
-
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
|
|
159
|
-
.low .chart { border:1px solid #C21F39 }
|
|
160
|
-
.highlighted,
|
|
161
|
-
.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
|
|
162
|
-
background: #C21F39 !important;
|
|
163
|
-
}
|
|
164
|
-
/* medium red */
|
|
165
|
-
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
|
|
166
|
-
/* light red */
|
|
167
|
-
.low, .cline-no { background:#FCE1E5 }
|
|
168
|
-
/* light green */
|
|
169
|
-
.high, .cline-yes { background:rgb(230,245,208) }
|
|
170
|
-
/* medium green */
|
|
171
|
-
.cstat-yes { background:rgb(161,215,106) }
|
|
172
|
-
/* dark green */
|
|
173
|
-
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
|
|
174
|
-
.high .chart { border:1px solid rgb(77,146,33) }
|
|
175
|
-
/* dark yellow (gold) */
|
|
176
|
-
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
|
|
177
|
-
.medium .chart { border:1px solid #f9cd0b; }
|
|
178
|
-
/* light yellow */
|
|
179
|
-
.medium { background: #fff4c2; }
|
|
180
|
-
|
|
181
|
-
.cstat-skip { background: #ddd; color: #111; }
|
|
182
|
-
.fstat-skip { background: #ddd; color: #111 !important; }
|
|
183
|
-
.cbranch-skip { background: #ddd !important; color: #111; }
|
|
184
|
-
|
|
185
|
-
span.cline-neutral { background: #eaeaea; }
|
|
186
|
-
|
|
187
|
-
.coverage-summary td.empty {
|
|
188
|
-
opacity: .5;
|
|
189
|
-
padding-top: 4px;
|
|
190
|
-
padding-bottom: 4px;
|
|
191
|
-
line-height: 1;
|
|
192
|
-
color: #888;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
.cover-fill, .cover-empty {
|
|
196
|
-
display:inline-block;
|
|
197
|
-
height: 12px;
|
|
198
|
-
}
|
|
199
|
-
.chart {
|
|
200
|
-
line-height: 0;
|
|
201
|
-
}
|
|
202
|
-
.cover-empty {
|
|
203
|
-
background: white;
|
|
204
|
-
}
|
|
205
|
-
.cover-full {
|
|
206
|
-
border-right: none !important;
|
|
207
|
-
}
|
|
208
|
-
pre.prettyprint {
|
|
209
|
-
border: none !important;
|
|
210
|
-
padding: 0 !important;
|
|
211
|
-
margin: 0 !important;
|
|
212
|
-
}
|
|
213
|
-
.com { color: #999 !important; }
|
|
214
|
-
.ignore-none { color: #999; font-weight: normal; }
|
|
215
|
-
|
|
216
|
-
.wrapper {
|
|
217
|
-
min-height: 100%;
|
|
218
|
-
height: auto !important;
|
|
219
|
-
height: 100%;
|
|
220
|
-
margin: 0 auto -48px;
|
|
221
|
-
}
|
|
222
|
-
.footer, .push {
|
|
223
|
-
height: 48px;
|
|
224
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
var jumpToCode = (function init() {
|
|
3
|
-
// Classes of code we would like to highlight in the file view
|
|
4
|
-
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
|
|
5
|
-
|
|
6
|
-
// Elements to highlight in the file listing view
|
|
7
|
-
var fileListingElements = ['td.pct.low'];
|
|
8
|
-
|
|
9
|
-
// We don't want to select elements that are direct descendants of another match
|
|
10
|
-
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
|
-
|
|
12
|
-
// Selecter that finds elements on the page to which we can jump
|
|
13
|
-
var selector =
|
|
14
|
-
fileListingElements.join(', ') +
|
|
15
|
-
', ' +
|
|
16
|
-
notSelector +
|
|
17
|
-
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
|
|
18
|
-
|
|
19
|
-
// The NodeList of matching elements
|
|
20
|
-
var missingCoverageElements = document.querySelectorAll(selector);
|
|
21
|
-
|
|
22
|
-
var currentIndex;
|
|
23
|
-
|
|
24
|
-
function toggleClass(index) {
|
|
25
|
-
missingCoverageElements
|
|
26
|
-
.item(currentIndex)
|
|
27
|
-
.classList.remove('highlighted');
|
|
28
|
-
missingCoverageElements.item(index).classList.add('highlighted');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function makeCurrent(index) {
|
|
32
|
-
toggleClass(index);
|
|
33
|
-
currentIndex = index;
|
|
34
|
-
missingCoverageElements.item(index).scrollIntoView({
|
|
35
|
-
behavior: 'smooth',
|
|
36
|
-
block: 'center',
|
|
37
|
-
inline: 'center'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function goToPrevious() {
|
|
42
|
-
var nextIndex = 0;
|
|
43
|
-
if (typeof currentIndex !== 'number' || currentIndex === 0) {
|
|
44
|
-
nextIndex = missingCoverageElements.length - 1;
|
|
45
|
-
} else if (missingCoverageElements.length > 1) {
|
|
46
|
-
nextIndex = currentIndex - 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
makeCurrent(nextIndex);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function goToNext() {
|
|
53
|
-
var nextIndex = 0;
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
typeof currentIndex === 'number' &&
|
|
57
|
-
currentIndex < missingCoverageElements.length - 1
|
|
58
|
-
) {
|
|
59
|
-
nextIndex = currentIndex + 1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
makeCurrent(nextIndex);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return function jump(event) {
|
|
66
|
-
if (
|
|
67
|
-
document.getElementById('fileSearch') === document.activeElement &&
|
|
68
|
-
document.activeElement != null
|
|
69
|
-
) {
|
|
70
|
-
// if we're currently focused on the search input, we don't want to navigate
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
switch (event.which) {
|
|
75
|
-
case 78: // n
|
|
76
|
-
case 74: // j
|
|
77
|
-
goToNext();
|
|
78
|
-
break;
|
|
79
|
-
case 66: // b
|
|
80
|
-
case 75: // k
|
|
81
|
-
case 80: // p
|
|
82
|
-
goToPrevious();
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
})();
|
|
87
|
-
window.addEventListener('keydown', jumpToCode);
|