@rabbitio/ui-kit 1.0.0-beta.110 → 1.0.0-beta.112
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/.env +1 -1
- package/.env.example +1 -1
- package/coverage/clover.xml +1411 -1410
- package/coverage/coverage-final.json +18 -18
- package/coverage/index.html +17 -17
- package/coverage/ui-kit/index.html +1 -1
- package/coverage/ui-kit/index.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/googleAnalyticsAdapter.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/metrikaAdapter.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/analyticsAdapters/mixpanelAdapter.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/axiosAdapter.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/adapters/qrUtils.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/external-apis/apiGroups.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/external-apis/emailAPI.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/external-apis/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/external-apis/ipAddressProviders.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/globalConstants.jsx.html +1 -1
- package/coverage/ui-kit/src/common-apis/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/models/blockchain.js.html +4 -4
- package/coverage/ui-kit/src/common-apis/models/coin.js.html +221 -221
- package/coverage/ui-kit/src/common-apis/models/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/models/protocol.js.html +3 -3
- package/coverage/ui-kit/src/common-apis/services/fiatCurrenciesService.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/services/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/utils/amountUtils.js.html +21 -21
- package/coverage/ui-kit/src/common-apis/utils/cache.js.html +6 -6
- package/coverage/ui-kit/src/common-apis/utils/errorUtils.js.html +13 -13
- package/coverage/ui-kit/src/common-apis/utils/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/utils/logging/index.html +1 -1
- package/coverage/ui-kit/src/common-apis/utils/logging/logger.js.html +22 -22
- package/coverage/ui-kit/src/common-apis/utils/logging/logsStorage.js.html +3 -3
- package/coverage/ui-kit/src/common-apis/utils/postponeExecution.js.html +1 -1
- package/coverage/ui-kit/src/common-apis/utils/rabbitTicker.js.html +10 -10
- package/coverage/ui-kit/src/common-apis/utils/safeStringify.js.html +27 -27
- package/coverage/ui-kit/src/index.html +1 -1
- package/coverage/ui-kit/src/index.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/cacheAndConcurrentRequestsResolver.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/cachedRobustExternalApiCallerService.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/cancelProcessing.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/concurrentCalculationsMetadataHolder.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/externalApiProvider.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/externalServicesStatsCollector.js.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/index.html +1 -1
- package/coverage/ui-kit/src/robust-api-caller/robustExternalAPICallerService.js.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/external-apis/exolixSwapProvider.js.html +66 -45
- package/coverage/ui-kit/src/swaps-lib/external-apis/goexmeSwapProvider.js.html +521 -545
- package/coverage/ui-kit/src/swaps-lib/external-apis/index.html +27 -27
- package/coverage/ui-kit/src/swaps-lib/external-apis/letsExchangeSwapProvider.js.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/external-apis/swapProvider.js.html +328 -328
- package/coverage/ui-kit/src/swaps-lib/external-apis/swapspaceSwapProvider.js.html +76 -52
- package/coverage/ui-kit/src/swaps-lib/external-apis/utils.js.html +14 -14
- package/coverage/ui-kit/src/swaps-lib/models/baseSwapCreationInfo.js.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/models/existingSwap.js.html +141 -141
- package/coverage/ui-kit/src/swaps-lib/models/existingSwapWithFiatData.js.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/models/index.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/models/partner.js.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/models/swapProviderCoinInfo.js.html +73 -73
- package/coverage/ui-kit/src/swaps-lib/services/index.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/services/publicSwapService.js.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/utils/index.html +1 -1
- package/coverage/ui-kit/src/swaps-lib/utils/swapUtils.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowTosca.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/arrowWhite.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/darkRectangle.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/determinedError.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/failedValidationIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/infoIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/messageIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/noticeQuestionIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/successfulValidationIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/supportDialogImage.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/assets/wrappedImages/walletIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/AssetIcon/AssetIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/AssetIcon/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/AssetSelection/AssetSelection.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/AssetSelection/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/BackgroundTitle/BackgroundTitle.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/BackgroundTitle/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/InformationMessage/InformationMessage.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/InformationMessage/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Input/Input.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Input/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/LoadingDots/LoadingDots.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/LoadingDots/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/NoticeIcon/NoticeIcon.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/NoticeIcon/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/QrCode/QrCode.jsx.html +7 -25
- package/coverage/ui-kit/src/ui-kit/components/atoms/QrCode/index.html +5 -5
- package/coverage/ui-kit/src/ui-kit/components/atoms/RateSelector/RateSelector.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/RateSelector/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/SupportChat/SupportChat.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/SupportChat/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Textarea/Textarea.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Textarea/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/TitleBox/TitleBox.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/TitleBox/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Tooltip/Tooltip.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Tooltip/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/LinesOfText.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/TwoLinesOfText/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Validation/Validation.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/Validation/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Button/Button.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Button/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Close/Close.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/Close/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/LinkButton.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/LinkButton/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/RadioButtonWithText.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/atoms/buttons/RadioButtonWithText/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/AmountInput/AmountInput.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/AmountInput/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/CoinPicker/CoinPicker.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/CoinPicker/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/ColoredNotice/ColoredNotice.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/ColoredNotice/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/LineWithIconLink/LineWithIconLink.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/LineWithIconLink/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/LogoCarousel/LogoCarousel.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/LogoCarousel/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/SearchableCoinsList.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/SearchableCoinsList/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/TitledLineWithIconLink.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/molecules/TitledLineWithIconLink/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/CoinPickerDialogStep.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/CoinPickerDialogStep/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/Dialog.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/DialogButtons.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogButtons/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/DialogStep.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/DialogStep/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/Dialog/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/SwapForm/SwapForm.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/SwapForm/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/WaitlistSubscription.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/organisms/WaitlistSubscription/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/DeterminedErrorDialogStep.jsx.html +1 -1
- package/coverage/ui-kit/src/ui-kit/components/templates/DeterminedErrorDialogStep/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/hooks/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/hooks/useCallHandlingErrors.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/hooks/useIsHydrated.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/hooks/useReferredState.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/utils/index.html +1 -1
- package/coverage/ui-kit/src/ui-kit/utils/inputValueProviders.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/utils/searchCoins.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/utils/textUtils.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/utils/uiUtils.js.html +1 -1
- package/coverage/ui-kit/src/ui-kit/utils/urlQueryUtils.js.html +1 -1
- package/coverage/ui-kit/stories/atoms/BackgroundTitle.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/LinesOfText.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/LoadingDots.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/QrCode.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/RateSelector.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/Validation.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/buttons/Button.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/buttons/Close.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/buttons/LinkButton.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/atoms/buttons/index.html +1 -1
- package/coverage/ui-kit/stories/atoms/index.html +1 -1
- package/coverage/ui-kit/stories/molecules/AmountInput.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/molecules/CoinPicker.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/molecules/ColoredNotice.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/molecules/LineWithIconLink.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/molecules/LogoCarousel.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/molecules/TitledLineWithIconLink.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/molecules/index.html +1 -1
- package/coverage/ui-kit/stories/organisms/Dialog/Dialog.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/DialogButtons.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/organisms/Dialog/DialogButtons/index.html +1 -1
- package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/DialogStep.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/organisms/Dialog/DialogStep/index.html +1 -1
- package/coverage/ui-kit/stories/organisms/Dialog/index.html +1 -1
- package/coverage/ui-kit/stories/organisms/WaitlistSubscription.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/organisms/index.html +1 -1
- package/coverage/ui-kit/stories/stubs/coins.jsx.html +1 -1
- package/coverage/ui-kit/stories/stubs/exampleContent.jsx.html +1 -1
- package/coverage/ui-kit/stories/stubs/index.html +1 -1
- package/coverage/ui-kit/stories/templates/DeterminedErrorDialogStep.stories.jsx.html +1 -1
- package/coverage/ui-kit/stories/templates/index.html +1 -1
- package/dist/index.cjs +94 -92
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +4 -12
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +82 -78
- package/dist/index.modern.js.map +1 -1
- package/dist/index.module.js +94 -92
- package/dist/index.module.js.map +1 -1
- package/dist/index.umd.js +94 -92
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/common-apis/tests/integration/external-apis/ipAddressProviders/getClientIpAddress.test.js +9 -5
- package/src/swaps-lib/external-apis/exolixSwapProvider.js +46 -39
- package/src/swaps-lib/external-apis/goexmeSwapProvider.js +29 -37
- package/src/swaps-lib/external-apis/swapspaceSwapProvider.js +54 -46
- package/src/swaps-lib/models/existingSwap.js +1 -1
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/_convertCurrencyMeta.test.js +80 -0
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/_ensurePairsLoaded.test.js +77 -0
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/_fetchSupportedCurrenciesIfNeeded.test.js +50 -123
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/createSwap.test.js +184 -72
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/getExistingSwapsDetailsAndStatus.test.js +151 -0
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/getSwapInfo.test.js +155 -104
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/helpers.test.js +26 -0
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/PairSupport.int.test.js +57 -57
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/_fetchSupportedCurrenciesIfNeeded.int.test.js +289 -126
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/createSwap.int.test.js +320 -225
- package/src/swaps-lib/test/external-apis/goexmeSwapProvider/integration/getSwapInfo.int.test.js +138 -127
- package/src/ui-kit/components/atoms/QrCode/QrCode.jsx +2 -8
- package/src/ui-kit/components/atoms/QrCode/qr-code.module.scss +4 -11
package/dist/index.umd.js
CHANGED
|
@@ -5870,7 +5870,7 @@
|
|
|
5870
5870
|
}
|
|
5871
5871
|
};
|
|
5872
5872
|
|
|
5873
|
-
var s$8 = {"qr-code":"_VZ0dT"
|
|
5873
|
+
var s$8 = {"qr-code":"_VZ0dT"};
|
|
5874
5874
|
|
|
5875
5875
|
/**
|
|
5876
5876
|
* QrCode component renders a QR code for a provided crypto address.
|
|
@@ -5878,7 +5878,6 @@
|
|
|
5878
5878
|
* @component
|
|
5879
5879
|
* @param {Object} props - The props for the component.
|
|
5880
5880
|
* @param {string} props.address - The crypto address to generate the QR code for.
|
|
5881
|
-
* @param {boolean} [props.fill=false] - If true, applies additional CSS class to fill the container.
|
|
5882
5881
|
*
|
|
5883
5882
|
* @returns {JSX.Element} A div containing the generated QR code.
|
|
5884
5883
|
*/
|
|
@@ -5895,9 +5894,7 @@
|
|
|
5895
5894
|
return result;
|
|
5896
5895
|
}
|
|
5897
5896
|
var QrCode = function QrCode(_ref) {
|
|
5898
|
-
var address = _ref.address
|
|
5899
|
-
_ref$fill = _ref.fill,
|
|
5900
|
-
fill = _ref$fill === void 0 ? false : _ref$fill;
|
|
5897
|
+
var address = _ref.address;
|
|
5901
5898
|
var canvasRef = React.useRef();
|
|
5902
5899
|
React.useEffect(function () {
|
|
5903
5900
|
(function () {
|
|
@@ -5920,16 +5917,12 @@
|
|
|
5920
5917
|
})();
|
|
5921
5918
|
}, [address]);
|
|
5922
5919
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
5923
|
-
className: s$8["qr-code"]
|
|
5920
|
+
className: s$8["qr-code"],
|
|
5924
5921
|
ref: canvasRef
|
|
5925
5922
|
});
|
|
5926
5923
|
};
|
|
5927
5924
|
QrCode.propTypes = {
|
|
5928
|
-
address: PropTypes.string.isRequired
|
|
5929
|
-
fill: PropTypes.bool
|
|
5930
|
-
};
|
|
5931
|
-
QrCode.defaultProps = {
|
|
5932
|
-
fill: false
|
|
5925
|
+
address: PropTypes.string.isRequired
|
|
5933
5926
|
};
|
|
5934
5927
|
|
|
5935
5928
|
var s$7 = {"first-line-text":"_IGz2I","wrap":"_eKd8P","break":"_mT5i4","full-text":"_PVKxC","shorted":"_wB5qV","horizontal":"_lqJz-","line":"_MGRy0","second-line-text":"_hdF64"};
|
|
@@ -10671,7 +10664,7 @@
|
|
|
10671
10664
|
* @param {number} expiresAt - The timestamp when the swap expires.
|
|
10672
10665
|
* @param {number|null} confirmations - The number of confirmations the swap has received, or null.
|
|
10673
10666
|
* @param {string} rate - The exchange rate for the swap.
|
|
10674
|
-
* @param {
|
|
10667
|
+
* @param {boolean} fixed - Indicates if the rate is fixed.
|
|
10675
10668
|
* @param {string|null} refundAddress - The address to refund to in case of failure, or null.
|
|
10676
10669
|
* @param {string} payToAddress - The address to send the funds to.
|
|
10677
10670
|
* @param {Coin} fromCoin - The coin that is being swapped from.
|
|
@@ -12040,32 +12033,43 @@
|
|
|
12040
12033
|
return getNotFailingOn404(swapId);
|
|
12041
12034
|
}))).then(function (responses) {
|
|
12042
12035
|
var wo404 = responses.flat();
|
|
12043
|
-
Logger.log("All swaps RAW: " + JSON.stringify(wo404.map(function (r) {
|
|
12036
|
+
Logger.log("All swaps RAW swapspace: " + JSON.stringify(wo404.map(function (r) {
|
|
12044
12037
|
return r.data;
|
|
12045
12038
|
})), loggerSource);
|
|
12046
12039
|
var swaps = wo404.map(function (r) {
|
|
12047
12040
|
return r.data;
|
|
12048
12041
|
}).map(function (swap, index) {
|
|
12049
|
-
|
|
12050
|
-
|
|
12051
|
-
|
|
12052
|
-
|
|
12053
|
-
|
|
12054
|
-
|
|
12055
|
-
|
|
12056
|
-
|
|
12057
|
-
|
|
12042
|
+
try {
|
|
12043
|
+
var _this6$_supportedCoin, _this6$_supportedCoin2, _this6$_supportedCoin3, _this6$_supportedCoin4, _swap$blockExplorerTr, _swap$from$extraId, _swap$to$extraId, _swap$refundExtraId;
|
|
12044
|
+
var fromCoin = (_this6$_supportedCoin = (_this6$_supportedCoin2 = _this6._supportedCoins.find(function (i) {
|
|
12045
|
+
return i.code === swap.from.code && i.network === swap.from.network;
|
|
12046
|
+
})) == null ? void 0 : _this6$_supportedCoin2.coin) != null ? _this6$_supportedCoin : {
|
|
12047
|
+
ticker: toRabbitTicker(swap.from.code, swap.from.network),
|
|
12048
|
+
digits: 8
|
|
12049
|
+
};
|
|
12050
|
+
var toCoin = (_this6$_supportedCoin3 = (_this6$_supportedCoin4 = _this6._supportedCoins.find(function (i) {
|
|
12051
|
+
return i.code === swap.to.code && i.network === swap.to.network;
|
|
12052
|
+
})) == null ? void 0 : _this6$_supportedCoin4.coin) != null ? _this6$_supportedCoin3 : {
|
|
12053
|
+
ticker: toRabbitTicker(swap.to.code, swap.to.network),
|
|
12054
|
+
digits: 8
|
|
12055
|
+
};
|
|
12056
|
+
if (!fromCoin || !toCoin) {
|
|
12057
|
+
return []; // We skip swaps with not supported coins for now
|
|
12058
|
+
}
|
|
12059
|
+
var toUtcTimestamp = function toUtcTimestamp(timeStr) {
|
|
12060
|
+
return Date.parse(timeStr.match(/.+[Zz]$/) ? timeStr : timeStr + "Z");
|
|
12061
|
+
};
|
|
12062
|
+
var expiresAt = toUtcTimestamp(swap.timestamps.expiresAt);
|
|
12063
|
+
var isExpiredByTime = expiresAt < Date.now();
|
|
12064
|
+
var status = _this6._mapSwapspaceStatusToRabbitStatus(swap.status, isExpiredByTime);
|
|
12065
|
+
var toDigits = status === SwapProvider.SWAP_STATUSES.REFUNDED ? fromCoin.digits : toCoin.digits;
|
|
12066
|
+
var addressToSendCoinsToSwapspace = swap.from.address;
|
|
12067
|
+
var toUrl = ((_swap$blockExplorerTr = swap.blockExplorerTransactionUrl.to) != null ? _swap$blockExplorerTr : "").replace(/from=swapspace&?/g, "").replaceAll(/&&+/g, "&").replace("?&", "?").replace(/&$/, "").replace(/\?$/, "");
|
|
12068
|
+
return new ExistingSwap(swapIds[index], status, toUtcTimestamp(swap.timestamps.createdAt), expiresAt, swap.confirmations, AmountUtils.trim(swap.rate, _this6._maxRateDigits), swap.fixed, swap.refundAddress, addressToSendCoinsToSwapspace, fromCoin, AmountUtils.trim(swap.from.amount, fromCoin.digits), swap.from.transactionHash, swap.blockExplorerTransactionUrl.from, toCoin, AmountUtils.trim(swap.to.amount, toDigits), swap.to.transactionHash, toUrl, swap.to.address, swap.partner, (_swap$from$extraId = swap.from.extraId) != null ? _swap$from$extraId : null, (_swap$to$extraId = swap.to.extraId) != null ? _swap$to$extraId : null, (_swap$refundExtraId = swap.refundExtraId) != null ? _swap$refundExtraId : null);
|
|
12069
|
+
} catch (e) {
|
|
12070
|
+
console.log("Failed to parse loaded swap", e);
|
|
12071
|
+
return [];
|
|
12058
12072
|
}
|
|
12059
|
-
var toUtcTimestamp = function toUtcTimestamp(timeStr) {
|
|
12060
|
-
return Date.parse(timeStr.match(/.+[Zz]$/) ? timeStr : timeStr + "Z");
|
|
12061
|
-
};
|
|
12062
|
-
var expiresAt = toUtcTimestamp(swap.timestamps.expiresAt);
|
|
12063
|
-
var isExpiredByTime = expiresAt < Date.now();
|
|
12064
|
-
var status = _this6._mapSwapspaceStatusToRabbitStatus(swap.status, isExpiredByTime);
|
|
12065
|
-
var toDigits = status === SwapProvider.SWAP_STATUSES.REFUNDED ? fromCoin.digits : toCoin.digits;
|
|
12066
|
-
var addressToSendCoinsToSwapspace = swap.from.address;
|
|
12067
|
-
var toUrl = ((_swap$blockExplorerTr = swap.blockExplorerTransactionUrl.to) != null ? _swap$blockExplorerTr : "").replace(/from=swapspace&?/g, "").replaceAll(/&&+/g, "&").replace("?&", "?").replace(/&$/, "").replace(/\?$/, "");
|
|
12068
|
-
return new ExistingSwap(swapIds[index], status, toUtcTimestamp(swap.timestamps.createdAt), expiresAt, swap.confirmations, AmountUtils.trim(swap.rate, _this6._maxRateDigits), swap.fixed, swap.refundAddress, addressToSendCoinsToSwapspace, fromCoin, AmountUtils.trim(swap.from.amount, fromCoin.digits), swap.from.transactionHash, swap.blockExplorerTransactionUrl.from, toCoin, AmountUtils.trim(swap.to.amount, toDigits), swap.to.transactionHash, toUrl, swap.to.address, swap.partner, (_swap$from$extraId = swap.from.extraId) != null ? _swap$from$extraId : null, (_swap$to$extraId = swap.to.extraId) != null ? _swap$to$extraId : null, (_swap$refundExtraId = swap.refundExtraId) != null ? _swap$refundExtraId : null);
|
|
12069
12073
|
}).flat();
|
|
12070
12074
|
Logger.log("Swap details result " + safeStringify(swaps), loggerSource);
|
|
12071
12075
|
return {
|
|
@@ -13094,25 +13098,36 @@
|
|
|
13094
13098
|
var swaps = fetchedSwaps.map(function (r) {
|
|
13095
13099
|
return r.data;
|
|
13096
13100
|
}).map(function (swap, index) {
|
|
13097
|
-
|
|
13098
|
-
|
|
13099
|
-
|
|
13100
|
-
|
|
13101
|
-
|
|
13102
|
-
|
|
13103
|
-
|
|
13104
|
-
|
|
13105
|
-
|
|
13101
|
+
try {
|
|
13102
|
+
var _this5$_supportedCoin, _this5$_supportedCoin2, _this5$_supportedCoin3, _this5$_supportedCoin4, _swap$depositExtraId, _swap$withdrawalExtra, _swap$refundExtraId;
|
|
13103
|
+
var fromCoin = (_this5$_supportedCoin = (_this5$_supportedCoin2 = _this5._supportedCoins.find(function (i) {
|
|
13104
|
+
return i.code === swap.coinFrom.coinCode && i.network === swap.coinFrom.network;
|
|
13105
|
+
})) == null ? void 0 : _this5$_supportedCoin2.coin) != null ? _this5$_supportedCoin : {
|
|
13106
|
+
ticker: toRabbitTicker(swap.coinFrom.coinCode, swap.coinFrom.network),
|
|
13107
|
+
digits: 8
|
|
13108
|
+
};
|
|
13109
|
+
var toCoin = (_this5$_supportedCoin3 = (_this5$_supportedCoin4 = _this5._supportedCoins.find(function (i) {
|
|
13110
|
+
return i.code === swap.coinTo.coinCode && i.network === swap.coinTo.network;
|
|
13111
|
+
})) == null ? void 0 : _this5$_supportedCoin4.coin) != null ? _this5$_supportedCoin3 : {
|
|
13112
|
+
ticker: toRabbitTicker(swap.coinTo.coinCode, swap.coinTo.network),
|
|
13113
|
+
digits: 8
|
|
13114
|
+
};
|
|
13115
|
+
if (!fromCoin || !toCoin) {
|
|
13116
|
+
return []; // We skip swaps with not supported coins for now
|
|
13117
|
+
}
|
|
13118
|
+
var toUtcTimestamp = function toUtcTimestamp(timeStr) {
|
|
13119
|
+
return Date.parse(timeStr.match(/.+[Zz]$/) ? timeStr : timeStr + "Z");
|
|
13120
|
+
};
|
|
13121
|
+
var createdAt = toUtcTimestamp(swap.createdAt);
|
|
13122
|
+
var expiresAt = createdAt + 25 * 60 * 1000; // Hack with hard-coded 25 minutes
|
|
13123
|
+
var isExpiredByTime = expiresAt < Date.now();
|
|
13124
|
+
var status = _this5._mapExolixStatusToRabbitStatus(swap.status, isExpiredByTime);
|
|
13125
|
+
var toDigits = status === SwapProvider.SWAP_STATUSES.REFUNDED ? fromCoin.digits : toCoin.digits;
|
|
13126
|
+
return new ExistingSwap(swapIds[index], status, createdAt, expiresAt, -1, AmountUtils.trim(swap.rate, _this5._maxRateDigits), (swap == null ? void 0 : swap.rateType) === "fixed", swap.refundAddress, swap.depositAddress, fromCoin, AmountUtils.trim(swap.amount, fromCoin.digits), swap.hashIn.hash, swap.hashIn.link, toCoin, AmountUtils.trim(swap.amountTo, toDigits), swap.hashOut.hash, swap.hashOut.link, swap.withdrawalAddress, _this5.id, (_swap$depositExtraId = swap.depositExtraId) != null ? _swap$depositExtraId : null, (_swap$withdrawalExtra = swap.withdrawalExtraId) != null ? _swap$withdrawalExtra : null, (_swap$refundExtraId = swap.refundExtraId) != null ? _swap$refundExtraId : null);
|
|
13127
|
+
} catch (e) {
|
|
13128
|
+
console.log("Failed to parse loaded swap", e);
|
|
13129
|
+
return [];
|
|
13106
13130
|
}
|
|
13107
|
-
var toUtcTimestamp = function toUtcTimestamp(timeStr) {
|
|
13108
|
-
return Date.parse(timeStr.match(/.+[Zz]$/) ? timeStr : timeStr + "Z");
|
|
13109
|
-
};
|
|
13110
|
-
var createdAt = toUtcTimestamp(swap.createdAt);
|
|
13111
|
-
var expiresAt = createdAt + 25 * 60 * 1000; // Hack with hard-coded 25 minutes
|
|
13112
|
-
var isExpiredByTime = expiresAt < Date.now();
|
|
13113
|
-
var status = _this5._mapExolixStatusToRabbitStatus(swap.status, isExpiredByTime);
|
|
13114
|
-
var toDigits = status === SwapProvider.SWAP_STATUSES.REFUNDED ? fromCoin.digits : toCoin.digits;
|
|
13115
|
-
return new ExistingSwap(swapIds[index], status, createdAt, expiresAt, -1, AmountUtils.trim(swap.rate, _this5._maxRateDigits), (swap == null ? void 0 : swap.rateType) === "fixed", swap.refundAddress, swap.depositAddress, fromCoin, AmountUtils.trim(swap.amount, fromCoin.digits), swap.hashIn.hash, swap.hashIn.link, toCoin, AmountUtils.trim(swap.amountTo, toDigits), swap.hashOut.hash, swap.hashOut.link, swap.withdrawalAddress, _this5.id, (_swap$depositExtraId = swap.depositExtraId) != null ? _swap$depositExtraId : null, (_swap$withdrawalExtra = swap.withdrawalExtraId) != null ? _swap$withdrawalExtra : null, (_swap$refundExtraId = swap.refundExtraId) != null ? _swap$refundExtraId : null);
|
|
13116
13131
|
}).flat();
|
|
13117
13132
|
Logger.log("Swap details result " + safeStringify(swaps), loggerSource);
|
|
13118
13133
|
return {
|
|
@@ -13470,10 +13485,7 @@
|
|
|
13470
13485
|
};
|
|
13471
13486
|
}
|
|
13472
13487
|
|
|
13473
|
-
|
|
13474
|
-
* Convert amountTo → ratio so that downstream code can do
|
|
13475
|
-
* amountFrom * rate === amountTo
|
|
13476
|
-
* -------------------------------------------------------- */
|
|
13488
|
+
// Convert amountTo → ratio so that downstream code can do amountFrom * rate === amountTo
|
|
13477
13489
|
var rateRatio = null;
|
|
13478
13490
|
if (response.data.rate != null && BigNumber__default["default"](amountCoins).gt(0)) {
|
|
13479
13491
|
rateRatio = AmountUtils.trim(BigNumber__default["default"](response.data.rate).div(amountCoins).toString(), _this4._maxRateDigits);
|
|
@@ -13490,10 +13502,6 @@
|
|
|
13490
13502
|
rawSwapData: response.data,
|
|
13491
13503
|
/**
|
|
13492
13504
|
* GoExme never requires a refund address.
|
|
13493
|
-
*
|
|
13494
|
-
* The official API documentation marks `destinationTag` / `refundTag` as **optional**.
|
|
13495
|
-
* Support chat confirmation (2025‑06‑27): "Yes, it's optional and can be omitted even for small amounts."
|
|
13496
|
-
*
|
|
13497
13505
|
*/
|
|
13498
13506
|
isRefundAddressRequired: false
|
|
13499
13507
|
};
|
|
@@ -13516,23 +13524,28 @@
|
|
|
13516
13524
|
/**
|
|
13517
13525
|
* Creates a swap on GoExme.
|
|
13518
13526
|
*
|
|
13519
|
-
*
|
|
13520
|
-
* `
|
|
13521
|
-
*
|
|
13522
|
-
* •
|
|
13527
|
+
* The `proprietarySwapEstimationData` object **must** carry two distinct values
|
|
13528
|
+
* produced by a prior `/rate` call:
|
|
13529
|
+
*
|
|
13530
|
+
* • `rawSwapData.rate` – **amountTo**
|
|
13531
|
+
* (the exact number of coins GoExme will send to the user);
|
|
13532
|
+
* • `rate` – **ratio**
|
|
13533
|
+
* (`amountTo / amountFrom`, i.e. Rabbit‑style per‑coin rate).
|
|
13523
13534
|
*
|
|
13524
|
-
*
|
|
13525
|
-
*
|
|
13535
|
+
* Processing steps
|
|
13536
|
+
* ----------------
|
|
13537
|
+
* 1. Determine **amountTo** (`rawSwapData.rate`).
|
|
13538
|
+
* 2. Compute the canonical per‑coin **ratio**:
|
|
13526
13539
|
*
|
|
13527
|
-
*
|
|
13528
|
-
*
|
|
13529
|
-
*
|
|
13530
|
-
*
|
|
13531
|
-
*
|
|
13532
|
-
*
|
|
13533
|
-
*
|
|
13534
|
-
*
|
|
13535
|
-
*
|
|
13540
|
+
* ratio = amountTo / amountFrom
|
|
13541
|
+
*
|
|
13542
|
+
* 3. Return both numbers for downstream code:
|
|
13543
|
+
* • `rate` → ratio (Rabbit convention);
|
|
13544
|
+
* • `toAmount` → amountTo (final coins the user receives).
|
|
13545
|
+
*
|
|
13546
|
+
* This guarantees the invariant:
|
|
13547
|
+
*
|
|
13548
|
+
* amountFrom * rate === toAmount
|
|
13536
13549
|
*/
|
|
13537
13550
|
;
|
|
13538
13551
|
_proto.createSwap = function createSwap(fromCoin, toCoin, amount, toAddress, refundAddress, proprietarySwapEstimationData, clientIpAddress, fixed, toCurrencyExtraId, refundExtraId, amountIsToReceive) {
|
|
@@ -13566,6 +13579,11 @@
|
|
|
13566
13579
|
fix: true
|
|
13567
13580
|
} : {});
|
|
13568
13581
|
params.amount = amount;
|
|
13582
|
+
|
|
13583
|
+
// Add refundAddress only if extraId is present:
|
|
13584
|
+
// GoExme documents these fields as optional, and support (2025‑06‑27) confirmed that.
|
|
13585
|
+
// Extract amountTo from estimation (first non-null source).
|
|
13586
|
+
// Derive ratio so that amountFrom * ratio = amountTo.
|
|
13569
13587
|
if (toCoinInfo.hasExtraId && toCurrencyExtraId) params.destinationTag = toCurrencyExtraId;
|
|
13570
13588
|
if (refundAddress) {
|
|
13571
13589
|
params.refundAddress = refundAddress;
|
|
@@ -13581,13 +13599,6 @@
|
|
|
13581
13599
|
Logger.log(errMsg, loggerSource);
|
|
13582
13600
|
throw new Error(errMsg);
|
|
13583
13601
|
}
|
|
13584
|
-
|
|
13585
|
-
/*------------------------------------------------------------
|
|
13586
|
-
* Extract amountTo from estimation (first non-null source).
|
|
13587
|
-
*-----------------------------------------------------------*/
|
|
13588
|
-
/*------------------------------------------------------------
|
|
13589
|
-
* Derive ratio so that amountFrom * ratio = amountTo.
|
|
13590
|
-
*-----------------------------------------------------------*/
|
|
13591
13602
|
var amountToCandidate = (_ref4 = (_proprietarySwapEstim = proprietarySwapEstimationData == null || (_proprietarySwapEstim2 = proprietarySwapEstimationData.rawSwapData) == null ? void 0 : _proprietarySwapEstim2.rate) != null ? _proprietarySwapEstim : proprietarySwapEstimationData == null ? void 0 : proprietarySwapEstimationData.rate) != null ? _ref4 : null;
|
|
13592
13603
|
if (amountToCandidate == null) {
|
|
13593
13604
|
throw new Error("Estimation does not contain amountTo/rate");
|
|
@@ -13651,22 +13662,18 @@
|
|
|
13651
13662
|
}
|
|
13652
13663
|
};
|
|
13653
13664
|
return Promise.resolve(Promise.all(swapIds.map(fetchOne))).then(function (statusResponses) {
|
|
13654
|
-
|
|
13665
|
+
// helper: normalize coin code using CODE_TRANSLATIONS
|
|
13655
13666
|
var normalize = function normalize(code) {
|
|
13656
13667
|
var _CODE_TRANSLATIONS$co2;
|
|
13657
13668
|
return (_CODE_TRANSLATIONS$co2 = CODE_TRANSLATIONS[code.toUpperCase()]) != null ? _CODE_TRANSLATIONS$co2 : code.toUpperCase();
|
|
13658
13669
|
};
|
|
13659
13670
|
var swaps = statusResponses.map(function (statusData, swapIndex) {
|
|
13660
|
-
var _ref5, _statusData$amountFro, _ref6, _statusData$amountTo, _statusData$refundAdd
|
|
13671
|
+
var _ref5, _statusData$amountFro, _ref6, _statusData$amountTo, _statusData$refundAdd;
|
|
13661
13672
|
if (!statusData) return null;
|
|
13662
|
-
|
|
13663
|
-
/* ------------------ coins ------------------ */
|
|
13664
13673
|
var fromCoinTicker = toRabbitTicker(normalize(statusData.from), "");
|
|
13665
13674
|
var toCoinTicker = toRabbitTicker(normalize(statusData.to), "");
|
|
13666
13675
|
var fromCoin = _this6.getCoinByTickerIfPresent(fromCoinTicker);
|
|
13667
13676
|
var toCoin = _this6.getCoinByTickerIfPresent(toCoinTicker);
|
|
13668
|
-
|
|
13669
|
-
/* fallback: look up by raw provider code if ticker lookup failed */
|
|
13670
13677
|
if (!fromCoin) {
|
|
13671
13678
|
var _byCode$coin;
|
|
13672
13679
|
var byCode = _this6._supportedCoins.find(function (c) {
|
|
@@ -13674,7 +13681,6 @@
|
|
|
13674
13681
|
});
|
|
13675
13682
|
fromCoin = (_byCode$coin = byCode == null ? void 0 : byCode.coin) != null ? _byCode$coin : null;
|
|
13676
13683
|
}
|
|
13677
|
-
/* fallback: look up by raw provider code if ticker lookup failed */
|
|
13678
13684
|
if (!toCoin) {
|
|
13679
13685
|
var _byCode$coin2;
|
|
13680
13686
|
var _byCode = _this6._supportedCoins.find(function (c) {
|
|
@@ -13683,12 +13689,8 @@
|
|
|
13683
13689
|
toCoin = (_byCode$coin2 = _byCode == null ? void 0 : _byCode.coin) != null ? _byCode$coin2 : null;
|
|
13684
13690
|
}
|
|
13685
13691
|
if (!fromCoin || !toCoin) return null;
|
|
13686
|
-
|
|
13687
|
-
/* timestamps */
|
|
13688
13692
|
var createdAt = GoexmeSwapProvider._parseGoexmeDate(statusData.date);
|
|
13689
13693
|
var expiresAt = createdAt + _this6.SWAP_EXPIRATION_TIME_MS;
|
|
13690
|
-
|
|
13691
|
-
/* amounts & rate */
|
|
13692
13694
|
var amountFromEffective = (_ref5 = (_statusData$amountFro = statusData.amountFrom) != null ? _statusData$amountFro : statusData.expectedAmountFrom) != null ? _ref5 : "0";
|
|
13693
13695
|
var amountToEffective = (_ref6 = (_statusData$amountTo = statusData.amountTo) != null ? _statusData$amountTo : statusData.expectedAmountTo) != null ? _ref6 : null;
|
|
13694
13696
|
var rateVal = statusData.rate;
|
|
@@ -13703,7 +13705,7 @@
|
|
|
13703
13705
|
}
|
|
13704
13706
|
if (toAmountCalculated == null) toAmountCalculated = "0";
|
|
13705
13707
|
var toAmountTrimmed = AmountUtils.trim(toAmountCalculated, toCoin.digits);
|
|
13706
|
-
return new ExistingSwap(swapIds[swapIndex], _this6._mapGoexmeStatus(statusData.status), createdAt, expiresAt, -1, rateTrimmed, null, (_statusData$refundAdd = statusData.refundAddress) != null ? _statusData$refundAdd : "", statusData.depositAddress, fromCoin, AmountUtils.trim(amountFromEffective, fromCoin.digits),
|
|
13708
|
+
return new ExistingSwap(swapIds[swapIndex], _this6._mapGoexmeStatus(statusData.status), createdAt, expiresAt, -1, rateTrimmed, null, (_statusData$refundAdd = statusData.refundAddress) != null ? _statusData$refundAdd : "", statusData.depositAddress, fromCoin, AmountUtils.trim(amountFromEffective, fromCoin.digits), statusData.depositHash, null, toCoin, toAmountTrimmed, statusData.txId, null, statusData.destinationAddress, _this6.id, statusData.depositTag || null, statusData.destinationTag || null, statusData.refundTag || null);
|
|
13707
13709
|
}).filter(Boolean);
|
|
13708
13710
|
return {
|
|
13709
13711
|
result: true,
|