@relayprotocol/relay-kit-ui 9.1.3 → 10.0.0
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/_cjs/src/components/common/RefundReason.js.map +1 -1
- package/_cjs/src/components/common/TransactionModal/DepositAddressModalRenderer.js +7 -10
- package/_cjs/src/components/common/TransactionModal/DepositAddressModalRenderer.js.map +1 -1
- package/_cjs/src/components/common/TransactionModal/steps/DepositAddressValidatingStep.js.map +1 -1
- package/_cjs/src/components/common/TransactionModal/steps/ErrorStep.js +2 -2
- package/_cjs/src/components/common/TransactionModal/steps/ErrorStep.js.map +1 -1
- package/_cjs/src/components/common/TransactionModal/steps/SwapSuccessStep.js +15 -16
- package/_cjs/src/components/common/TransactionModal/steps/SwapSuccessStep.js.map +1 -1
- package/_cjs/src/components/widgets/OnrampWidget/modals/OnrampModal.js +10 -13
- package/_cjs/src/components/widgets/OnrampWidget/modals/OnrampModal.js.map +1 -1
- package/_cjs/src/components/widgets/SwapWidget/index.js +4 -4
- package/_cjs/src/components/widgets/SwapWidget/index.js.map +1 -1
- package/_cjs/src/components/widgets/SwapWidgetRenderer.js +5 -6
- package/_cjs/src/components/widgets/SwapWidgetRenderer.js.map +1 -1
- package/_cjs/src/constants/maxGasBuffer.js +1 -2
- package/_cjs/src/constants/maxGasBuffer.js.map +1 -1
- package/_cjs/src/constants/walletCompatibility.js +5 -2
- package/_cjs/src/constants/walletCompatibility.js.map +1 -1
- package/_cjs/src/providers/RelayKitProvider.js +22 -1
- package/_cjs/src/providers/RelayKitProvider.js.map +1 -1
- package/_cjs/src/types/RelayTransaction.js.map +1 -1
- package/_cjs/src/utils/nativeMaxAmount.js +4 -4
- package/_cjs/src/utils/nativeMaxAmount.js.map +1 -1
- package/_cjs/src/utils/relayTransaction.js +14 -1
- package/_cjs/src/utils/relayTransaction.js.map +1 -1
- package/_cjs/src/version.js +1 -1
- package/_cjs/src/version.js.map +1 -1
- package/_cjs/tsconfig.build.tsbuildinfo +1 -1
- package/_esm/src/components/common/RefundReason.js.map +1 -1
- package/_esm/src/components/common/TransactionModal/DepositAddressModalRenderer.js +10 -10
- package/_esm/src/components/common/TransactionModal/DepositAddressModalRenderer.js.map +1 -1
- package/_esm/src/components/common/TransactionModal/steps/DepositAddressValidatingStep.js +1 -1
- package/_esm/src/components/common/TransactionModal/steps/DepositAddressValidatingStep.js.map +1 -1
- package/_esm/src/components/common/TransactionModal/steps/ErrorStep.js +2 -2
- package/_esm/src/components/common/TransactionModal/steps/ErrorStep.js.map +1 -1
- package/_esm/src/components/common/TransactionModal/steps/SwapSuccessStep.js +15 -16
- package/_esm/src/components/common/TransactionModal/steps/SwapSuccessStep.js.map +1 -1
- package/_esm/src/components/widgets/OnrampWidget/modals/OnrampModal.js +14 -14
- package/_esm/src/components/widgets/OnrampWidget/modals/OnrampModal.js.map +1 -1
- package/_esm/src/components/widgets/SwapWidget/index.js +4 -4
- package/_esm/src/components/widgets/SwapWidget/index.js.map +1 -1
- package/_esm/src/components/widgets/SwapWidgetRenderer.js +5 -6
- package/_esm/src/components/widgets/SwapWidgetRenderer.js.map +1 -1
- package/_esm/src/constants/maxGasBuffer.js +0 -1
- package/_esm/src/constants/maxGasBuffer.js.map +1 -1
- package/_esm/src/constants/walletCompatibility.js +5 -2
- package/_esm/src/constants/walletCompatibility.js.map +1 -1
- package/_esm/src/providers/RelayKitProvider.js +31 -2
- package/_esm/src/providers/RelayKitProvider.js.map +1 -1
- package/_esm/src/types/RelayTransaction.js.map +1 -1
- package/_esm/src/utils/nativeMaxAmount.js +4 -4
- package/_esm/src/utils/nativeMaxAmount.js.map +1 -1
- package/_esm/src/utils/relayTransaction.js +20 -0
- package/_esm/src/utils/relayTransaction.js.map +1 -1
- package/_esm/src/version.js +1 -1
- package/_esm/src/version.js.map +1 -1
- package/_esm/tsconfig.build.tsbuildinfo +1 -1
- package/_types/src/components/common/RefundReason.d.ts +1 -1
- package/_types/src/components/common/TransactionModal/DepositAddressModalRenderer.d.ts.map +1 -1
- package/_types/src/components/common/TransactionModal/steps/DepositAddressValidatingStep.d.ts +2 -2
- package/_types/src/components/common/TransactionModal/steps/DepositAddressValidatingStep.d.ts.map +1 -1
- package/_types/src/components/common/TransactionModal/steps/SwapSuccessStep.d.ts.map +1 -1
- package/_types/src/components/widgets/OnrampWidget/modals/OnrampModal.d.ts.map +1 -1
- package/_types/src/components/widgets/SwapWidget/index.d.ts +0 -2
- package/_types/src/components/widgets/SwapWidget/index.d.ts.map +1 -1
- package/_types/src/components/widgets/SwapWidgetRenderer.d.ts +0 -2
- package/_types/src/components/widgets/SwapWidgetRenderer.d.ts.map +1 -1
- package/_types/src/constants/maxGasBuffer.d.ts +0 -1
- package/_types/src/constants/maxGasBuffer.d.ts.map +1 -1
- package/_types/src/constants/walletCompatibility.d.ts.map +1 -1
- package/_types/src/providers/RelayKitProvider.d.ts +13 -5
- package/_types/src/providers/RelayKitProvider.d.ts.map +1 -1
- package/_types/src/types/RelayTransaction.d.ts +1 -1
- package/_types/src/utils/nativeMaxAmount.d.ts +2 -2
- package/_types/src/utils/nativeMaxAmount.d.ts.map +1 -1
- package/_types/src/utils/relayTransaction.d.ts +16 -0
- package/_types/src/utils/relayTransaction.d.ts.map +1 -1
- package/_types/src/utils/tokens.d.ts +1 -1
- package/_types/src/version.d.ts +1 -1
- package/_types/src/version.d.ts.map +1 -1
- package/_types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/readme.md +14 -0
|
@@ -121,13 +121,9 @@ const OnrampModal = ({ open, amount, amountFormatted, recipient, fromToken, toTo
|
|
|
121
121
|
step === OnrampStep.Processing &&
|
|
122
122
|
open,
|
|
123
123
|
refetchInterval(query) {
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
observableStates.includes(query.state.data?.status))) {
|
|
128
|
-
return 1000;
|
|
129
|
-
}
|
|
130
|
-
return 0;
|
|
124
|
+
const terminalStates = ['success', 'failure', 'refund'];
|
|
125
|
+
const status = query.state.data?.status;
|
|
126
|
+
return status && terminalStates.includes(status) ? 0 : 1000;
|
|
131
127
|
}
|
|
132
128
|
});
|
|
133
129
|
const fillTxHash = (0, react_1.useMemo)(() => {
|
|
@@ -137,8 +133,7 @@ const OnrampModal = ({ open, amount, amountFormatted, recipient, fromToken, toTo
|
|
|
137
133
|
}, [executionStatus]);
|
|
138
134
|
const { data: transactions, isLoading: isLoadingTransaction } = (0, relay_kit_hooks_1.useRequests)(step === OnrampStep.Success && fillTxHash
|
|
139
135
|
? {
|
|
140
|
-
|
|
141
|
-
hash: fillTxHash
|
|
136
|
+
fillTxHash
|
|
142
137
|
}
|
|
143
138
|
: undefined, client?.baseApiUrl, {
|
|
144
139
|
enabled: Boolean(step === OnrampStep.Success && fillTxHash),
|
|
@@ -148,9 +143,9 @@ const OnrampModal = ({ open, amount, amountFormatted, recipient, fromToken, toTo
|
|
|
148
143
|
retryOnMount: false
|
|
149
144
|
});
|
|
150
145
|
const transaction = transactions && transactions[0] ? transactions[0] : null;
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
? ((0, numbers_js_1.formatBN)(+
|
|
146
|
+
const { currencyOut: requestCurrencyOut } = (0, relayTransaction_js_1.getRequestCurrencies)(transaction);
|
|
147
|
+
const toAmountFormatted = requestCurrencyOut?.amountFormatted
|
|
148
|
+
? ((0, numbers_js_1.formatBN)(+requestCurrencyOut.amountFormatted, 5, requestCurrencyOut.currency?.decimals ?? 18) ?? undefined)
|
|
154
149
|
: amountToTokenFormatted;
|
|
155
150
|
const fillTxUrl = fillTxHash
|
|
156
151
|
? (0, getTxBlockExplorerUrl_js_1.getTxBlockExplorerUrl)(toToken.chainId, client?.chains, fillTxHash)
|
|
@@ -159,7 +154,9 @@ const OnrampModal = ({ open, amount, amountFormatted, recipient, fromToken, toTo
|
|
|
159
154
|
? `https://buy.moonpay.com/transaction_receipt?transactionId=${moonPayRequestId}`
|
|
160
155
|
: null;
|
|
161
156
|
(0, react_1.useEffect)(() => {
|
|
162
|
-
if (executionStatus?.status === 'pending'
|
|
157
|
+
if ((executionStatus?.status === 'pending' ||
|
|
158
|
+
executionStatus?.status === 'depositing' ||
|
|
159
|
+
executionStatus?.status === 'submitted') &&
|
|
163
160
|
(step !== OnrampStep.Processing ||
|
|
164
161
|
processingStep !== OnrampProcessingStep.Relaying)) {
|
|
165
162
|
setStep(OnrampStep.Processing);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnrampModal.js","sourceRoot":"","sources":["../../../../../../src/components/widgets/OnrampWidget/modals/OnrampModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n getDeadAddress,\n LogLevel,\n type Execute,\n type RelayChain\n} from '@relayprotocol/relay-sdk'\nimport { type FC, useCallback, useEffect, useMemo, useState } from 'react'\nimport { Modal } from '../../../common/Modal.js'\nimport type { FiatCurrency, Token } from '../../../../types/index.js'\nimport useRelayClient from '../../../../hooks/useRelayClient.js'\nimport { EventNames } from '../../../../constants/events.js'\nimport { useHapticEvent } from '../../../../providers/RelayKitProvider.js'\nimport {\n useDepositAddressStatus,\n useQuote,\n useRequests,\n useTokenPrice\n} from '@relayprotocol/relay-kit-hooks'\nimport { extractDepositRequestId } from '../../../../utils/relayTransaction.js'\nimport { parseUnits, zeroAddress } from 'viem'\nimport {\n appendMetadataToRequest,\n extractDepositAddress\n} from '../../../../utils/quote.js'\nimport { getTxBlockExplorerUrl } from '../../../../utils/getTxBlockExplorerUrl.js'\nimport { OnrampConfirmingStep } from './steps/OnrampConfirmingStep.js'\nimport { OnrampProcessingStepUI } from './steps/OnrampProcessingStepUI.js'\nimport { OnrampProcessingPassthroughStep } from './steps/OnrampProcessingPassthroughStep.js'\nimport { OnrampSuccessStep } from './steps/OnrampSuccessStep.js'\nimport { OnrampMoonPayStep } from './steps/OnrampMoonPayStep.js'\nimport { formatBN } from '../../../../utils/numbers.js'\nimport { ErrorStep } from '../../../common/TransactionModal/steps/ErrorStep.js'\nimport { errorToJSON } from '../../../../utils/errors.js'\nimport { useAccount } from 'wagmi'\nimport { mainnet } from 'viem/chains'\n\nexport enum OnrampStep {\n Confirming,\n Moonpay,\n Processing,\n ProcessingPassthrough,\n Success,\n Error\n}\n\nexport enum OnrampProcessingStep {\n Finalizing,\n Relaying\n}\n\ntype OnrampModalProps = {\n open: boolean\n amount?: string\n amountFormatted?: string\n amountToTokenFormatted?: string\n fromToken: Token\n fromChain?: RelayChain\n toToken: Token\n toChain?: RelayChain\n fiatCurrency: FiatCurrency\n recipient?: string\n isPassthrough?: boolean\n moonPayCurrencyCode?: string\n usdRate?: number\n moonPayThemeId?: string\n moonPayThemeMode?: 'dark' | 'light'\n moonPayApiKey?: string\n moonpayOnUrlSignatureRequested: (url: string) => Promise<string> | void\n onAnalyticEvent?: (eventName: string, data?: any) => void\n onOpenChange: (open: boolean) => void\n onSuccess?: (data: Execute, moonpayRequestId: string) => void\n onError?: (error: string, data?: Execute, moonpayRequestId?: string) => void\n}\n\ntype TxHashes = { txHash: string; chainId: number }[]\n\nexport const OnrampModal: FC<OnrampModalProps> = ({\n open,\n amount,\n amountFormatted,\n recipient,\n fromToken,\n toToken,\n toChain,\n fromChain,\n fiatCurrency,\n isPassthrough,\n amountToTokenFormatted,\n moonPayCurrencyCode,\n usdRate,\n moonPayThemeId,\n moonPayThemeMode,\n moonPayApiKey,\n moonpayOnUrlSignatureRequested,\n onAnalyticEvent,\n onSuccess,\n onError,\n onOpenChange\n}) => {\n const haptic = useHapticEvent()\n const [swapError, setSwapError] = useState<Error | null>(null)\n const [step, setStep] = useState<OnrampStep>(OnrampStep.Confirming)\n const [processingStep, setProcessingStep] = useState<\n OnrampProcessingStep | undefined\n >()\n const [moonPayRequestId, setMoonPayRequestId] = useState<string | undefined>()\n const client = useRelayClient()\n const { connector } = useAccount()\n const [moonPayIdAppended, setMoonPayIdAppended] = useState(false)\n const { data: ethTokenPriceResponse } = useTokenPrice(\n client?.baseApiUrl,\n {\n address: zeroAddress,\n chainId: mainnet.id,\n referrer: client?.source\n },\n {\n refetchInterval: 60000 * 5, //5 minutes\n refetchOnWindowFocus: false\n }\n )\n const [passthroughExternalId, setPassthroughExternalId] = useState<\n string | undefined\n >()\n\n useEffect(() => {\n if (!open) {\n setStep(OnrampStep.Confirming)\n setProcessingStep(undefined)\n setMoonPayRequestId(undefined)\n setMoonPayIdAppended(false)\n setSwapError(null)\n setPassthroughExternalId(undefined)\n } else {\n if (isPassthrough) {\n setStep(OnrampStep.Moonpay)\n setPassthroughExternalId(\n `${recipient ? recipient.slice(recipient.length - 5) : ''}${Date.now()}`\n )\n }\n onAnalyticEvent?.(EventNames.ONRAMP_MODAL_OPEN, {\n isPassthrough\n })\n }\n }, [open])\n\n const ethAmount =\n ethTokenPriceResponse && ethTokenPriceResponse.price\n ? +(amount ?? '0') / ethTokenPriceResponse.price\n : 0\n\n const {\n data: quote,\n error: quoteError,\n isFetching: isFetchingQuote\n } = useQuote(\n client ?? undefined,\n undefined,\n {\n originChainId: fromToken.chainId,\n originCurrency: fromToken.address,\n destinationChainId: toToken.chainId,\n destinationCurrency: toToken.address,\n useDepositAddress: true,\n tradeType: 'EXACT_INPUT',\n amount:\n fromToken.symbol === 'USDC'\n ? parseUnits(`${amount}`, 6).toString()\n : parseUnits(`${ethAmount}`, fromToken.decimals).toString(),\n user: getDeadAddress(),\n recipient\n },\n undefined,\n undefined,\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n enabled: Boolean(\n amount &&\n amount.length > 0 &&\n toToken &&\n fromToken &&\n !isPassthrough &&\n recipient !== undefined &&\n open\n )\n }\n )\n\n const totalAmount =\n quote?.fees && amount && !isPassthrough\n ? `${\n Math.floor(\n (Number(quote.fees.relayer?.amountUsd ?? 0) +\n Number(quote.fees.gas?.amountUsd ?? 0) +\n Number(quote.fees.app?.amountUsd ?? 0) +\n +amount) *\n 100\n ) / 100\n }`\n : amount\n const ethTotalAmount = formatBN(\n totalAmount ? +totalAmount / (ethTokenPriceResponse?.price ?? 0) : 0,\n 5,\n 18\n )\n const toTokenTotalAmount = formatBN(\n +(totalAmount ?? '0') / (usdRate ?? 0),\n 5,\n toToken.decimals\n )\n\n const depositAddress = useMemo(\n () => extractDepositAddress(quote?.steps as Execute['steps']),\n [quote]\n )\n\n const baseTransactionUrl = client?.baseApiUrl.includes('testnets')\n ? 'https://testnets.relay.link'\n : 'https://relay.link'\n\n const requestId = useMemo(\n () => extractDepositRequestId(quote?.steps as Execute['steps']),\n [quote]\n )\n\n const { data: executionStatus } = useDepositAddressStatus(\n depositAddress ? { depositAddress } : undefined,\n client?.baseApiUrl,\n {\n enabled:\n depositAddress !== undefined &&\n step === OnrampStep.Processing &&\n open,\n refetchInterval(query) {\n const observableStates = ['waiting', 'pending']\n\n if (\n !query.state.data?.status ||\n (depositAddress &&\n observableStates.includes(query.state.data?.status))\n ) {\n return 1000\n }\n return 0\n }\n }\n )\n\n const fillTxHash = useMemo(() => {\n if (executionStatus?.txHashes && executionStatus?.txHashes[0]) {\n return executionStatus?.txHashes[0]\n }\n }, [executionStatus])\n\n const { data: transactions, isLoading: isLoadingTransaction } = useRequests(\n step === OnrampStep.Success && fillTxHash\n ? {\n user: recipient,\n hash: fillTxHash\n }\n : undefined,\n client?.baseApiUrl,\n {\n enabled: Boolean(step === OnrampStep.Success && fillTxHash),\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n refetchInterval: false,\n retryOnMount: false\n }\n )\n\n const transaction = transactions && transactions[0] ? transactions[0] : null\n const toAmountFormatted = transaction?.data?.metadata?.currencyOut\n ?.amountFormatted\n ? (formatBN(\n +transaction.data.metadata.currencyOut.amountFormatted,\n 5,\n transaction?.data?.metadata?.currencyOut?.currency?.decimals ?? 18\n ) ?? undefined)\n : amountToTokenFormatted\n\n const fillTxUrl = fillTxHash\n ? getTxBlockExplorerUrl(toToken.chainId, client?.chains, fillTxHash)\n : undefined\n\n const moonpayTxUrl = moonPayRequestId\n ? `https://buy.moonpay.com/transaction_receipt?transactionId=${moonPayRequestId}`\n : null\n\n useEffect(() => {\n if (\n executionStatus?.status === 'pending' &&\n (step !== OnrampStep.Processing ||\n processingStep !== OnrampProcessingStep.Relaying)\n ) {\n setStep(OnrampStep.Processing)\n setProcessingStep(OnrampProcessingStep.Relaying)\n }\n if (executionStatus?.status === 'success') {\n setStep(OnrampStep.Success)\n haptic('success')\n onAnalyticEvent?.(EventNames.ONRAMP_SUCCESS, {\n chain_id_in: fromToken?.chainId,\n currency_in: fromToken?.symbol,\n chain_id_out: toToken?.chainId,\n currency_out: toToken?.symbol,\n quote_id: requestId,\n txHashes: executionStatus.txHashes,\n amount,\n totalAmount,\n ethTotalAmount,\n moonPayRequestId,\n isPassthrough\n })\n onSuccess?.(quote as Execute, moonPayRequestId as string)\n setProcessingStep(undefined)\n }\n if (\n executionStatus?.status === 'failure' ||\n executionStatus?.status === 'refund' ||\n quoteError\n ) {\n const swapError = new Error(\n executionStatus?.details ??\n 'Oops! Something went wrong while processing your transaction.'\n )\n onOnrampError(\n errorToJSON(executionStatus?.details ?? quoteError),\n swapError\n )\n }\n }, [executionStatus, quoteError])\n\n useEffect(() => {\n if (\n moonPayRequestId &&\n quote &&\n executionStatus?.inTxHashes &&\n executionStatus?.inTxHashes[0] &&\n !moonPayIdAppended\n ) {\n setMoonPayIdAppended(true)\n appendMetadataToRequest(\n client?.baseApiUrl,\n `${requestId}`,\n {\n moonPayId: moonPayRequestId\n },\n client?.source\n )\n ?.then(() => {\n client?.log(\n ['Posting MoonPay request id', moonPayRequestId, requestId],\n LogLevel.Verbose\n )\n })\n .catch((e) => {\n setMoonPayIdAppended(false)\n throw e\n })\n }\n }, [moonPayRequestId, executionStatus])\n\n const allTxHashes = useMemo(() => {\n const isRefund = executionStatus?.status === 'refund'\n const _allTxHashes: TxHashes = []\n executionStatus?.txHashes?.forEach((txHash) => {\n _allTxHashes.push({\n txHash,\n chainId: isRefund\n ? (fromToken?.chainId as number)\n : (toToken?.chainId as number)\n })\n })\n\n executionStatus?.inTxHashes?.forEach((txHash) => {\n _allTxHashes.push({\n txHash,\n chainId: fromToken?.chainId as number\n })\n })\n return _allTxHashes\n }, [executionStatus?.txHashes, executionStatus?.inTxHashes])\n\n const onOnrampError = useCallback(\n (errorMsg: any, error: Error) => {\n if (step !== OnrampStep.Error) {\n onError?.(error.message, quote as Execute, moonPayRequestId)\n }\n setStep(OnrampStep.Error)\n haptic('error')\n onAnalyticEvent?.(EventNames.ONRAMP_ERROR, {\n error_message: errorMsg,\n wallet_connector: connector?.name,\n quote_id: requestId,\n amount_in: amount,\n currency_in: fromToken?.symbol,\n chain_id_in: fromToken?.chainId,\n amount_out: quote?.details?.currencyOut?.amountFormatted,\n currency_out: toToken?.symbol,\n chain_id_out: toToken?.chainId,\n txHashes: executionStatus?.txHashes ?? []\n })\n setSwapError(error)\n },\n [\n executionStatus,\n connector,\n requestId,\n quote,\n toToken,\n fromToken,\n amount,\n swapError,\n moonPayRequestId,\n step\n ]\n )\n\n return (\n <Modal\n trigger={null}\n open={open}\n onOpenChange={(open) => {\n if (!open) {\n onAnalyticEvent?.(EventNames.ONRAMP_MODAL_CLOSE)\n }\n onOpenChange(open)\n }}\n className=\"relay:overflow-hidden relay:p-4 relay:!max-w-[412px] max-[520px]:!relay-max-w-[unset]\"\n >\n {step === OnrampStep.Confirming ? (\n <OnrampConfirmingStep\n toToken={toToken}\n fromToken={fromToken}\n fromChain={fromChain}\n toChain={toChain}\n requestId={requestId ?? undefined}\n depositAddress={depositAddress}\n recipient={recipient}\n amount={amount}\n totalAmount={totalAmount ?? undefined}\n ethTotalAmount={ethTotalAmount}\n isFetchingQuote={isFetchingQuote}\n onAnalyticEvent={onAnalyticEvent}\n setStep={setStep}\n />\n ) : null}\n <OnrampMoonPayStep\n step={step}\n processingStep={processingStep}\n toToken={toToken}\n fromToken={fromToken}\n fromChain={fromChain}\n toChain={toChain}\n recipient={recipient}\n depositAddress={depositAddress}\n totalAmount={\n isPassthrough\n ? toTokenTotalAmount\n : fromToken.symbol === 'ETH'\n ? ethTotalAmount\n : (totalAmount ?? undefined)\n }\n fiatCurrency={fiatCurrency}\n isPassthrough={isPassthrough}\n moonPayCurrencyCode={moonPayCurrencyCode}\n onAnalyticEvent={onAnalyticEvent}\n setStep={setStep}\n setProcessingStep={setProcessingStep}\n setMoonPayRequestId={setMoonPayRequestId}\n moonpayOnUrlSignatureRequested={moonpayOnUrlSignatureRequested}\n onPassthroughSuccess={() => {\n setStep(OnrampStep.Success)\n onAnalyticEvent?.(EventNames.ONRAMP_PASSTHROUGH_SUCCESS, {\n moonPayRequestId,\n amount,\n totalAmount,\n ethTotalAmount\n })\n }}\n moonPayThemeId={moonPayThemeId}\n moonPayThemeMode={moonPayThemeMode}\n moonPayApiKey={moonPayApiKey}\n quoteRequestId={requestId}\n passthroughExternalId={passthroughExternalId}\n onError={(error) => {\n onOnrampError(error.message, error)\n }}\n />\n {step === OnrampStep.ProcessingPassthrough ? (\n <OnrampProcessingPassthroughStep\n toToken={toToken}\n amountToTokenFormatted={amountToTokenFormatted}\n moonpayTxUrl={moonpayTxUrl ?? undefined}\n amount={amountFormatted}\n />\n ) : null}\n {step === OnrampStep.Processing ? (\n <OnrampProcessingStepUI\n toToken={toToken}\n fromToken={fromToken}\n fromChain={fromChain}\n toChain={toChain}\n moonpayTxUrl={moonpayTxUrl ?? undefined}\n fillTxUrl={fillTxUrl}\n fillTxHash={fillTxHash}\n processingStep={processingStep}\n baseTransactionUrl={baseTransactionUrl}\n requestId={requestId ?? undefined}\n />\n ) : null}\n {step === OnrampStep.Success ? (\n <OnrampSuccessStep\n toToken={toToken}\n isLoadingTransaction={isLoadingTransaction}\n fillTxHash={fillTxHash}\n fillTxUrl={fillTxUrl}\n moonpayTxUrl={moonpayTxUrl ?? undefined}\n toAmountFormatted={toAmountFormatted}\n baseTransactionUrl={baseTransactionUrl}\n onOpenChange={onOpenChange}\n />\n ) : null}\n {step === OnrampStep.Error ? (\n <ErrorStep\n error={quoteError || swapError}\n allTxHashes={allTxHashes}\n address={recipient}\n onOpenChange={onOpenChange}\n transaction={transaction ?? undefined}\n fromChain={fromChain}\n toChain={toChain}\n />\n ) : null}\n </Modal>\n )\n}\n"]}
|
|
1
|
+
{"version":3,"file":"OnrampModal.js","sourceRoot":"","sources":["../../../../../../src/components/widgets/OnrampWidget/modals/OnrampModal.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n getDeadAddress,\n LogLevel,\n type Execute,\n type RelayChain\n} from '@relayprotocol/relay-sdk'\nimport { type FC, useCallback, useEffect, useMemo, useState } from 'react'\nimport { Modal } from '../../../common/Modal.js'\nimport type { FiatCurrency, Token } from '../../../../types/index.js'\nimport useRelayClient from '../../../../hooks/useRelayClient.js'\nimport { EventNames } from '../../../../constants/events.js'\nimport { useHapticEvent } from '../../../../providers/RelayKitProvider.js'\nimport {\n useDepositAddressStatus,\n useQuote,\n useRequests,\n useTokenPrice\n} from '@relayprotocol/relay-kit-hooks'\nimport {\n extractDepositRequestId,\n getRequestCurrencies\n} from '../../../../utils/relayTransaction.js'\nimport { parseUnits, zeroAddress } from 'viem'\nimport {\n appendMetadataToRequest,\n extractDepositAddress\n} from '../../../../utils/quote.js'\nimport { getTxBlockExplorerUrl } from '../../../../utils/getTxBlockExplorerUrl.js'\nimport { OnrampConfirmingStep } from './steps/OnrampConfirmingStep.js'\nimport { OnrampProcessingStepUI } from './steps/OnrampProcessingStepUI.js'\nimport { OnrampProcessingPassthroughStep } from './steps/OnrampProcessingPassthroughStep.js'\nimport { OnrampSuccessStep } from './steps/OnrampSuccessStep.js'\nimport { OnrampMoonPayStep } from './steps/OnrampMoonPayStep.js'\nimport { formatBN } from '../../../../utils/numbers.js'\nimport { ErrorStep } from '../../../common/TransactionModal/steps/ErrorStep.js'\nimport { errorToJSON } from '../../../../utils/errors.js'\nimport { useAccount } from 'wagmi'\nimport { mainnet } from 'viem/chains'\n\nexport enum OnrampStep {\n Confirming,\n Moonpay,\n Processing,\n ProcessingPassthrough,\n Success,\n Error\n}\n\nexport enum OnrampProcessingStep {\n Finalizing,\n Relaying\n}\n\ntype OnrampModalProps = {\n open: boolean\n amount?: string\n amountFormatted?: string\n amountToTokenFormatted?: string\n fromToken: Token\n fromChain?: RelayChain\n toToken: Token\n toChain?: RelayChain\n fiatCurrency: FiatCurrency\n recipient?: string\n isPassthrough?: boolean\n moonPayCurrencyCode?: string\n usdRate?: number\n moonPayThemeId?: string\n moonPayThemeMode?: 'dark' | 'light'\n moonPayApiKey?: string\n moonpayOnUrlSignatureRequested: (url: string) => Promise<string> | void\n onAnalyticEvent?: (eventName: string, data?: any) => void\n onOpenChange: (open: boolean) => void\n onSuccess?: (data: Execute, moonpayRequestId: string) => void\n onError?: (error: string, data?: Execute, moonpayRequestId?: string) => void\n}\n\ntype TxHashes = { txHash: string; chainId: number }[]\n\nexport const OnrampModal: FC<OnrampModalProps> = ({\n open,\n amount,\n amountFormatted,\n recipient,\n fromToken,\n toToken,\n toChain,\n fromChain,\n fiatCurrency,\n isPassthrough,\n amountToTokenFormatted,\n moonPayCurrencyCode,\n usdRate,\n moonPayThemeId,\n moonPayThemeMode,\n moonPayApiKey,\n moonpayOnUrlSignatureRequested,\n onAnalyticEvent,\n onSuccess,\n onError,\n onOpenChange\n}) => {\n const haptic = useHapticEvent()\n const [swapError, setSwapError] = useState<Error | null>(null)\n const [step, setStep] = useState<OnrampStep>(OnrampStep.Confirming)\n const [processingStep, setProcessingStep] = useState<\n OnrampProcessingStep | undefined\n >()\n const [moonPayRequestId, setMoonPayRequestId] = useState<string | undefined>()\n const client = useRelayClient()\n const { connector } = useAccount()\n const [moonPayIdAppended, setMoonPayIdAppended] = useState(false)\n const { data: ethTokenPriceResponse } = useTokenPrice(\n client?.baseApiUrl,\n {\n address: zeroAddress,\n chainId: mainnet.id,\n referrer: client?.source\n },\n {\n refetchInterval: 60000 * 5, //5 minutes\n refetchOnWindowFocus: false\n }\n )\n const [passthroughExternalId, setPassthroughExternalId] = useState<\n string | undefined\n >()\n\n useEffect(() => {\n if (!open) {\n setStep(OnrampStep.Confirming)\n setProcessingStep(undefined)\n setMoonPayRequestId(undefined)\n setMoonPayIdAppended(false)\n setSwapError(null)\n setPassthroughExternalId(undefined)\n } else {\n if (isPassthrough) {\n setStep(OnrampStep.Moonpay)\n setPassthroughExternalId(\n `${recipient ? recipient.slice(recipient.length - 5) : ''}${Date.now()}`\n )\n }\n onAnalyticEvent?.(EventNames.ONRAMP_MODAL_OPEN, {\n isPassthrough\n })\n }\n }, [open])\n\n const ethAmount =\n ethTokenPriceResponse && ethTokenPriceResponse.price\n ? +(amount ?? '0') / ethTokenPriceResponse.price\n : 0\n\n const {\n data: quote,\n error: quoteError,\n isFetching: isFetchingQuote\n } = useQuote(\n client ?? undefined,\n undefined,\n {\n originChainId: fromToken.chainId,\n originCurrency: fromToken.address,\n destinationChainId: toToken.chainId,\n destinationCurrency: toToken.address,\n useDepositAddress: true,\n tradeType: 'EXACT_INPUT',\n amount:\n fromToken.symbol === 'USDC'\n ? parseUnits(`${amount}`, 6).toString()\n : parseUnits(`${ethAmount}`, fromToken.decimals).toString(),\n user: getDeadAddress(),\n recipient\n },\n undefined,\n undefined,\n {\n refetchOnMount: false,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n enabled: Boolean(\n amount &&\n amount.length > 0 &&\n toToken &&\n fromToken &&\n !isPassthrough &&\n recipient !== undefined &&\n open\n )\n }\n )\n\n const totalAmount =\n quote?.fees && amount && !isPassthrough\n ? `${\n Math.floor(\n (Number(quote.fees.relayer?.amountUsd ?? 0) +\n Number(quote.fees.gas?.amountUsd ?? 0) +\n Number(quote.fees.app?.amountUsd ?? 0) +\n +amount) *\n 100\n ) / 100\n }`\n : amount\n const ethTotalAmount = formatBN(\n totalAmount ? +totalAmount / (ethTokenPriceResponse?.price ?? 0) : 0,\n 5,\n 18\n )\n const toTokenTotalAmount = formatBN(\n +(totalAmount ?? '0') / (usdRate ?? 0),\n 5,\n toToken.decimals\n )\n\n const depositAddress = useMemo(\n () => extractDepositAddress(quote?.steps as Execute['steps']),\n [quote]\n )\n\n const baseTransactionUrl = client?.baseApiUrl.includes('testnets')\n ? 'https://testnets.relay.link'\n : 'https://relay.link'\n\n const requestId = useMemo(\n () => extractDepositRequestId(quote?.steps as Execute['steps']),\n [quote]\n )\n\n const { data: executionStatus } = useDepositAddressStatus(\n depositAddress ? { depositAddress } : undefined,\n client?.baseApiUrl,\n {\n enabled:\n depositAddress !== undefined &&\n step === OnrampStep.Processing &&\n open,\n refetchInterval(query) {\n // Keep polling until the request reaches a terminal state. Non-terminal\n // states (waiting, pending, depositing, submitted) and an unknown\n // status all continue polling.\n const terminalStates = ['success', 'failure', 'refund']\n const status = query.state.data?.status\n return status && terminalStates.includes(status) ? 0 : 1000\n }\n }\n )\n\n const fillTxHash = useMemo(() => {\n if (executionStatus?.txHashes && executionStatus?.txHashes[0]) {\n return executionStatus?.txHashes[0]\n }\n }, [executionStatus])\n\n const { data: transactions, isLoading: isLoadingTransaction } = useRequests(\n step === OnrampStep.Success && fillTxHash\n ? {\n fillTxHash\n }\n : undefined,\n client?.baseApiUrl,\n {\n enabled: Boolean(step === OnrampStep.Success && fillTxHash),\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n refetchInterval: false,\n retryOnMount: false\n }\n )\n\n const transaction = transactions && transactions[0] ? transactions[0] : null\n const { currencyOut: requestCurrencyOut } = getRequestCurrencies(transaction)\n const toAmountFormatted = requestCurrencyOut?.amountFormatted\n ? (formatBN(\n +requestCurrencyOut.amountFormatted,\n 5,\n requestCurrencyOut.currency?.decimals ?? 18\n ) ?? undefined)\n : amountToTokenFormatted\n\n const fillTxUrl = fillTxHash\n ? getTxBlockExplorerUrl(toToken.chainId, client?.chains, fillTxHash)\n : undefined\n\n const moonpayTxUrl = moonPayRequestId\n ? `https://buy.moonpay.com/transaction_receipt?transactionId=${moonPayRequestId}`\n : null\n\n useEffect(() => {\n if (\n (executionStatus?.status === 'pending' ||\n executionStatus?.status === 'depositing' ||\n executionStatus?.status === 'submitted') &&\n (step !== OnrampStep.Processing ||\n processingStep !== OnrampProcessingStep.Relaying)\n ) {\n setStep(OnrampStep.Processing)\n setProcessingStep(OnrampProcessingStep.Relaying)\n }\n if (executionStatus?.status === 'success') {\n setStep(OnrampStep.Success)\n haptic('success')\n onAnalyticEvent?.(EventNames.ONRAMP_SUCCESS, {\n chain_id_in: fromToken?.chainId,\n currency_in: fromToken?.symbol,\n chain_id_out: toToken?.chainId,\n currency_out: toToken?.symbol,\n quote_id: requestId,\n txHashes: executionStatus.txHashes,\n amount,\n totalAmount,\n ethTotalAmount,\n moonPayRequestId,\n isPassthrough\n })\n onSuccess?.(quote as Execute, moonPayRequestId as string)\n setProcessingStep(undefined)\n }\n if (\n executionStatus?.status === 'failure' ||\n executionStatus?.status === 'refund' ||\n quoteError\n ) {\n const swapError = new Error(\n executionStatus?.details ??\n 'Oops! Something went wrong while processing your transaction.'\n )\n onOnrampError(\n errorToJSON(executionStatus?.details ?? quoteError),\n swapError\n )\n }\n }, [executionStatus, quoteError])\n\n useEffect(() => {\n if (\n moonPayRequestId &&\n quote &&\n executionStatus?.inTxHashes &&\n executionStatus?.inTxHashes[0] &&\n !moonPayIdAppended\n ) {\n setMoonPayIdAppended(true)\n appendMetadataToRequest(\n client?.baseApiUrl,\n `${requestId}`,\n {\n moonPayId: moonPayRequestId\n },\n client?.source\n )\n ?.then(() => {\n client?.log(\n ['Posting MoonPay request id', moonPayRequestId, requestId],\n LogLevel.Verbose\n )\n })\n .catch((e) => {\n setMoonPayIdAppended(false)\n throw e\n })\n }\n }, [moonPayRequestId, executionStatus])\n\n const allTxHashes = useMemo(() => {\n const isRefund = executionStatus?.status === 'refund'\n const _allTxHashes: TxHashes = []\n executionStatus?.txHashes?.forEach((txHash) => {\n _allTxHashes.push({\n txHash,\n chainId: isRefund\n ? (fromToken?.chainId as number)\n : (toToken?.chainId as number)\n })\n })\n\n executionStatus?.inTxHashes?.forEach((txHash) => {\n _allTxHashes.push({\n txHash,\n chainId: fromToken?.chainId as number\n })\n })\n return _allTxHashes\n }, [executionStatus?.txHashes, executionStatus?.inTxHashes])\n\n const onOnrampError = useCallback(\n (errorMsg: any, error: Error) => {\n if (step !== OnrampStep.Error) {\n onError?.(error.message, quote as Execute, moonPayRequestId)\n }\n setStep(OnrampStep.Error)\n haptic('error')\n onAnalyticEvent?.(EventNames.ONRAMP_ERROR, {\n error_message: errorMsg,\n wallet_connector: connector?.name,\n quote_id: requestId,\n amount_in: amount,\n currency_in: fromToken?.symbol,\n chain_id_in: fromToken?.chainId,\n amount_out: quote?.details?.currencyOut?.amountFormatted,\n currency_out: toToken?.symbol,\n chain_id_out: toToken?.chainId,\n txHashes: executionStatus?.txHashes ?? []\n })\n setSwapError(error)\n },\n [\n executionStatus,\n connector,\n requestId,\n quote,\n toToken,\n fromToken,\n amount,\n swapError,\n moonPayRequestId,\n step\n ]\n )\n\n return (\n <Modal\n trigger={null}\n open={open}\n onOpenChange={(open) => {\n if (!open) {\n onAnalyticEvent?.(EventNames.ONRAMP_MODAL_CLOSE)\n }\n onOpenChange(open)\n }}\n className=\"relay:overflow-hidden relay:p-4 relay:!max-w-[412px] max-[520px]:!relay-max-w-[unset]\"\n >\n {step === OnrampStep.Confirming ? (\n <OnrampConfirmingStep\n toToken={toToken}\n fromToken={fromToken}\n fromChain={fromChain}\n toChain={toChain}\n requestId={requestId ?? undefined}\n depositAddress={depositAddress}\n recipient={recipient}\n amount={amount}\n totalAmount={totalAmount ?? undefined}\n ethTotalAmount={ethTotalAmount}\n isFetchingQuote={isFetchingQuote}\n onAnalyticEvent={onAnalyticEvent}\n setStep={setStep}\n />\n ) : null}\n <OnrampMoonPayStep\n step={step}\n processingStep={processingStep}\n toToken={toToken}\n fromToken={fromToken}\n fromChain={fromChain}\n toChain={toChain}\n recipient={recipient}\n depositAddress={depositAddress}\n totalAmount={\n isPassthrough\n ? toTokenTotalAmount\n : fromToken.symbol === 'ETH'\n ? ethTotalAmount\n : (totalAmount ?? undefined)\n }\n fiatCurrency={fiatCurrency}\n isPassthrough={isPassthrough}\n moonPayCurrencyCode={moonPayCurrencyCode}\n onAnalyticEvent={onAnalyticEvent}\n setStep={setStep}\n setProcessingStep={setProcessingStep}\n setMoonPayRequestId={setMoonPayRequestId}\n moonpayOnUrlSignatureRequested={moonpayOnUrlSignatureRequested}\n onPassthroughSuccess={() => {\n setStep(OnrampStep.Success)\n onAnalyticEvent?.(EventNames.ONRAMP_PASSTHROUGH_SUCCESS, {\n moonPayRequestId,\n amount,\n totalAmount,\n ethTotalAmount\n })\n }}\n moonPayThemeId={moonPayThemeId}\n moonPayThemeMode={moonPayThemeMode}\n moonPayApiKey={moonPayApiKey}\n quoteRequestId={requestId}\n passthroughExternalId={passthroughExternalId}\n onError={(error) => {\n onOnrampError(error.message, error)\n }}\n />\n {step === OnrampStep.ProcessingPassthrough ? (\n <OnrampProcessingPassthroughStep\n toToken={toToken}\n amountToTokenFormatted={amountToTokenFormatted}\n moonpayTxUrl={moonpayTxUrl ?? undefined}\n amount={amountFormatted}\n />\n ) : null}\n {step === OnrampStep.Processing ? (\n <OnrampProcessingStepUI\n toToken={toToken}\n fromToken={fromToken}\n fromChain={fromChain}\n toChain={toChain}\n moonpayTxUrl={moonpayTxUrl ?? undefined}\n fillTxUrl={fillTxUrl}\n fillTxHash={fillTxHash}\n processingStep={processingStep}\n baseTransactionUrl={baseTransactionUrl}\n requestId={requestId ?? undefined}\n />\n ) : null}\n {step === OnrampStep.Success ? (\n <OnrampSuccessStep\n toToken={toToken}\n isLoadingTransaction={isLoadingTransaction}\n fillTxHash={fillTxHash}\n fillTxUrl={fillTxUrl}\n moonpayTxUrl={moonpayTxUrl ?? undefined}\n toAmountFormatted={toAmountFormatted}\n baseTransactionUrl={baseTransactionUrl}\n onOpenChange={onOpenChange}\n />\n ) : null}\n {step === OnrampStep.Error ? (\n <ErrorStep\n error={quoteError || swapError}\n allTxHashes={allTxHashes}\n address={recipient}\n onOpenChange={onOpenChange}\n transaction={transaction ?? undefined}\n fromChain={fromChain}\n toChain={toChain}\n />\n ) : null}\n </Modal>\n )\n}\n"]}
|
|
@@ -37,7 +37,7 @@ const localStorage_js_1 = require("../../../utils/localStorage.js");
|
|
|
37
37
|
const GasTopUpSection_js_1 = tslib_1.__importDefault(require("./GasTopUpSection.js"));
|
|
38
38
|
const quote_js_1 = require("../../../utils/quote.js");
|
|
39
39
|
const PriceImpact_js_1 = require("./PriceImpact.js");
|
|
40
|
-
const SwapWidget = ({ fromToken, setFromToken, toToken, setToToken, defaultToAddress, defaultAmount, defaultTradeType, slippageTolerance, onOpenSlippageConfig, lockToToken = false, lockFromToken = false, lockChainId, singleChainMode = false, wallet, multiWalletSupportEnabled = false, linkedWallets, supportedWalletVMs, disableInputAutoFocus = false, popularChainIds, disablePasteWalletAddressOption,
|
|
40
|
+
const SwapWidget = ({ fromToken, setFromToken, toToken, setToToken, defaultToAddress, defaultAmount, defaultTradeType, slippageTolerance, onOpenSlippageConfig, lockToToken = false, lockFromToken = false, lockChainId, singleChainMode = false, wallet, multiWalletSupportEnabled = false, linkedWallets, supportedWalletVMs, disableInputAutoFocus = false, popularChainIds, disablePasteWalletAddressOption, onSetPrimaryWallet, onLinkNewWallet, onFromTokenChange, onToTokenChange, onConnectWallet, onAnalyticEvent: _onAnalyticEvent, onSwapSuccess, onSwapValidating, onSwapError }) => {
|
|
41
41
|
const onAnalyticEvent = (0, react_1.useCallback)((eventName, data) => {
|
|
42
42
|
try {
|
|
43
43
|
_onAnalyticEvent?.(eventName, data);
|
|
@@ -77,7 +77,7 @@ const SwapWidget = ({ fromToken, setFromToken, toToken, setToToken, defaultToAdd
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
}, [fromToken, toToken]);
|
|
80
|
-
return ((0, jsx_runtime_1.jsx)(SwapWidgetRenderer_js_1.default, { context: "Swap", transactionModalOpen: transactionModalOpen, setTransactionModalOpen: setTransactionModalOpen, depositAddressModalOpen: depositAddressModalOpen, defaultAmount: defaultAmount, defaultToAddress: defaultToAddress, defaultTradeType: defaultTradeType, toToken: toToken, setToToken: setToToken, fromToken: fromToken, setFromToken: setFromToken, slippageTolerance: slippageTolerance, wallet: wallet, linkedWallets: linkedWallets, multiWalletSupportEnabled: multiWalletSupportEnabled, onSwapError: onSwapError, onAnalyticEvent: onAnalyticEvent, supportedWalletVMs: supportedWalletVMs,
|
|
80
|
+
return ((0, jsx_runtime_1.jsx)(SwapWidgetRenderer_js_1.default, { context: "Swap", transactionModalOpen: transactionModalOpen, setTransactionModalOpen: setTransactionModalOpen, depositAddressModalOpen: depositAddressModalOpen, defaultAmount: defaultAmount, defaultToAddress: defaultToAddress, defaultTradeType: defaultTradeType, toToken: toToken, setToToken: setToToken, fromToken: fromToken, setFromToken: setFromToken, slippageTolerance: slippageTolerance, wallet: wallet, linkedWallets: linkedWallets, multiWalletSupportEnabled: multiWalletSupportEnabled, onSwapError: onSwapError, onAnalyticEvent: onAnalyticEvent, supportedWalletVMs: supportedWalletVMs, children: ({ quote, steps, swap, setSteps, feeBreakdown, fromToken, setFromToken, toToken, setToToken, error, toDisplayName, address, recipient, customToAddress, setCustomToAddress, tradeType, setTradeType, isSameCurrencySameRecipientSwap, debouncedInputAmountValue, debouncedAmountInputControls, setAmountInputValue, amountInputValue, amountOutputValue, debouncedOutputAmountValue, debouncedAmountOutputControls, setAmountOutputValue, toBalance, toBalancePending, isLoadingToBalance, isFetchingQuote, isLoadingFromBalance, fromBalance, fromBalancePending, highRelayerServiceFee, relayerFeeProportion, hasInsufficientBalance, isInsufficientLiquidityError, isCapacityExceededError, isCouldNotExecuteError, ctaCopy, isFromNative, timeEstimate, isSvmSwap, isBvmSwap, isValidFromAddress, isValidToAddress, slippageTolerance, fromChainWalletVMSupported, toChainWalletVMSupported, isRecipientLinked, swapError, recipientWalletSupportsChain, gasTopUpEnabled, setGasTopUpEnabled, gasTopUpRequired, gasTopUpBalance, gasTopUpAmount, gasTopUpAmountUsd, linkedWallet, quoteParameters, setSwapError, invalidateBalanceQueries, invalidateQuoteQuery, quoteInProgress, setQuoteInProgress, abortController, fromTokenPriceData, toTokenPriceData, isLoadingFromTokenPrice, isLoadingToTokenPrice }) => {
|
|
81
81
|
const inputAmountUsd = (0, react_1.useMemo)(() => {
|
|
82
82
|
return (0, quote_js_1.calculateUsdValue)(fromTokenPriceData?.price, amountInputValue);
|
|
83
83
|
}, [fromTokenPriceData, amountInputValue]);
|
|
@@ -481,9 +481,9 @@ const SwapWidget = ({ fromToken, setFromToken, toToken, setToToken, defaultToAdd
|
|
|
481
481
|
address !== relay_sdk_1.tronDeadAddress &&
|
|
482
482
|
address !== undefined, pending: fromBalancePending })) : ((0, jsx_runtime_1.jsx)(index_js_1.Flex, { className: "relay:h-[18px]" })), fromBalance &&
|
|
483
483
|
(fromChain?.vmType === 'evm' ||
|
|
484
|
-
fromChain?.vmType === 'svm') ? ((0, jsx_runtime_1.jsx)(index_js_1.Box, { className: "relay:hidden relay:sm:block", children: (0, jsx_runtime_1.jsx)(PercentageButtons_js_1.PercentageButtons, { balance: fromBalance, onPercentageClick: handleMaxAmountClicked, getFeeBufferAmount: nativeMaxAmount_js_1.getFeeBufferAmount, fromChain: fromChain, publicClient: publicClient, isFromNative: isFromNative, variant: "desktop" }) })) : null] })] }), fromBalance &&
|
|
484
|
+
fromChain?.vmType === 'svm') ? ((0, jsx_runtime_1.jsx)(index_js_1.Box, { className: "relay:hidden relay:sm:block", children: (0, jsx_runtime_1.jsx)(PercentageButtons_js_1.PercentageButtons, { balance: fromBalance, onPercentageClick: handleMaxAmountClicked, getFeeBufferAmount: (vmType, chainId, balance, publicClient) => (0, nativeMaxAmount_js_1.getFeeBufferAmount)(vmType, chainId, balance, publicClient, relayClient?.baseApiUrl), fromChain: fromChain, publicClient: publicClient, isFromNative: isFromNative, variant: "desktop" }) })) : null] })] }), fromBalance &&
|
|
485
485
|
(fromChain?.vmType === 'evm' ||
|
|
486
|
-
fromChain?.vmType === 'svm') ? ((0, jsx_runtime_1.jsx)(index_js_1.Box, { className: "relay:block relay:sm:hidden", children: (0, jsx_runtime_1.jsx)(PercentageButtons_js_1.PercentageButtons, { balance: fromBalance, onPercentageClick: handleMaxAmountClicked, getFeeBufferAmount: nativeMaxAmount_js_1.getFeeBufferAmount, fromChain: fromChain, publicClient: publicClient, isFromNative: isFromNative, variant: "mobile" }) })) : null] })] }), (0, jsx_runtime_1.jsx)(index_js_1.Box, { className: "relay:relative relay:my-[-13px] relay:mx-auto relay:h-[32px] relay:w-[32px]", children: hasLockedToken ||
|
|
486
|
+
fromChain?.vmType === 'svm') ? ((0, jsx_runtime_1.jsx)(index_js_1.Box, { className: "relay:block relay:sm:hidden", children: (0, jsx_runtime_1.jsx)(PercentageButtons_js_1.PercentageButtons, { balance: fromBalance, onPercentageClick: handleMaxAmountClicked, getFeeBufferAmount: (vmType, chainId, balance, publicClient) => (0, nativeMaxAmount_js_1.getFeeBufferAmount)(vmType, chainId, balance, publicClient, relayClient?.baseApiUrl), fromChain: fromChain, publicClient: publicClient, isFromNative: isFromNative, variant: "mobile" }) })) : null] })] }), (0, jsx_runtime_1.jsx)(index_js_1.Box, { className: "relay:relative relay:my-[-13px] relay:mx-auto relay:h-[32px] relay:w-[32px]", children: hasLockedToken ||
|
|
487
487
|
((isSvmSwap || isBvmSwap) &&
|
|
488
488
|
!multiWalletSupportEnabled) ? null : ((0, jsx_runtime_1.jsx)(index_js_1.Button, { "aria-label": "Swap Tokens Direction", size: "none", color: "white", className: "relay:mt-[4px] relay:text-[color:var(--relay-colors-gray9)] relay:self-center relay:justify-center relay:w-full relay:h-full relay:z-10 relay:border-[length:var(--relay-borders-widget-swap-currency-button-border-width)] relay:border-solid relay:!border-[color:var(--relay-colors-widget-swap-currency-button-border-color)] relay:rounded-swap-btn relay:hover:text-[color:var(--relay-colors-gray11)] relay:hover:bg-[var(--relay-colors-gray-2)]", onClick: () => {
|
|
489
489
|
haptic('light');
|