@aurora-is-near/intents-swap-widget 3.18.1 → 3.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/components/Accordion.js +13 -13
  2. package/dist/components/Accordion.js.map +1 -1
  3. package/dist/components/Banner.js +33 -19
  4. package/dist/components/Banner.js.map +1 -1
  5. package/dist/components/BlockingError.js +11 -16
  6. package/dist/components/BlockingError.js.map +1 -1
  7. package/dist/components/Button.d.ts +2 -2
  8. package/dist/components/Button.js +2 -2
  9. package/dist/components/Button.js.map +1 -1
  10. package/dist/components/CloseButton.js +6 -6
  11. package/dist/components/CloseButton.js.map +1 -1
  12. package/dist/components/CopyButton.js +4 -4
  13. package/dist/components/CopyButton.js.map +1 -1
  14. package/dist/components/DirectionSwitcher.js +12 -11
  15. package/dist/components/DirectionSwitcher.js.map +1 -1
  16. package/dist/components/Input.d.ts +5 -3
  17. package/dist/components/Input.js +16 -16
  18. package/dist/components/Input.js.map +1 -1
  19. package/dist/components/StatusWidget.js +8 -21
  20. package/dist/components/StatusWidget.js.map +1 -1
  21. package/dist/{config-DJObWR7Z.js → config-CgCb5P7j.js} +585 -565
  22. package/dist/{config-DJObWR7Z.js.map → config-CgCb5P7j.js.map} +1 -1
  23. package/dist/config.js +21 -5
  24. package/dist/config.js.map +1 -1
  25. package/dist/errors.js +1 -1
  26. package/dist/ext/alchemy/index.js +1 -1
  27. package/dist/ext/index.js +1 -1
  28. package/dist/features/BalanceRpcLoader/TokenBalanceLoader.js +1 -1
  29. package/dist/features/BalanceRpcLoader/index.js +1 -1
  30. package/dist/features/BalanceRpcLoader/useTokenBalanceRpc.js +1 -1
  31. package/dist/features/ChainsDropdown/AllNetworksIcon.js +3 -3
  32. package/dist/features/ChainsDropdown/AllNetworksIcon.js.map +1 -1
  33. package/dist/features/ChainsDropdown/ChainItem.js +7 -7
  34. package/dist/features/ChainsDropdown/ChainItem.js.map +1 -1
  35. package/dist/features/ChainsDropdown/index.js +45 -33
  36. package/dist/features/ChainsDropdown/index.js.map +1 -1
  37. package/dist/features/DepositMethodSwitcher.js +18 -17
  38. package/dist/features/DepositMethodSwitcher.js.map +1 -1
  39. package/dist/features/ErrorBoundary.js +1 -1
  40. package/dist/features/ExternalDeposit.js +22 -15
  41. package/dist/features/ExternalDeposit.js.map +1 -1
  42. package/dist/features/SendAddress/index.js +15 -14
  43. package/dist/features/SendAddress/index.js.map +1 -1
  44. package/dist/features/SendAddress/useNotification.js +1 -1
  45. package/dist/features/SubmitButton/index.js +1 -1
  46. package/dist/features/SuccessScreen/CheckIcon.js +4 -4
  47. package/dist/features/SuccessScreen/CheckIcon.js.map +1 -1
  48. package/dist/features/SuccessScreen/ExternalAction.js +6 -6
  49. package/dist/features/SuccessScreen/ExternalAction.js.map +1 -1
  50. package/dist/features/SuccessScreen/index.js +1 -1
  51. package/dist/features/SwapDirectionSwitcher.js +1 -1
  52. package/dist/features/SwapQuote/SwapQuote.js +1 -1
  53. package/dist/features/SwapQuote/index.js +1 -1
  54. package/dist/features/TokenInput/TokenInput.js +1 -1
  55. package/dist/features/TokenInput/TokenInputEmpty.js +1 -1
  56. package/dist/features/TokenInput/TokenInputSource.js +1 -1
  57. package/dist/features/TokenInput/TokenInputTarget.js +1 -1
  58. package/dist/features/TokenInput/WalletBalance.js +1 -1
  59. package/dist/features/TokenInput/hooks/index.js +1 -1
  60. package/dist/features/TokenInput/hooks/useTokenInputBalance.js +1 -1
  61. package/dist/features/TokenInput/index.js +1 -1
  62. package/dist/features/TokensList/TokenItem.js +1 -1
  63. package/dist/features/TokensList/TokensList.js +1 -1
  64. package/dist/features/TokensList/index.js +1 -1
  65. package/dist/features/TokensModal.js +11 -11
  66. package/dist/features/TokensModal.js.map +1 -1
  67. package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js +19 -6
  68. package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js.map +1 -1
  69. package/dist/features/WalletCompatibilityCheck/index.js +1 -1
  70. package/dist/features/index.js +1 -1
  71. package/dist/hooks/index.js +1 -1
  72. package/dist/hooks/useAllTokens.js +1 -1
  73. package/dist/hooks/useChains.js +1 -1
  74. package/dist/hooks/useCompatibilityCheck.js +1 -1
  75. package/dist/hooks/useDefaultToken.js +1 -1
  76. package/dist/hooks/useExternalDepositStatus/index.js +1 -1
  77. package/dist/hooks/useExternalDepositStatus/usePoaExternalDepositStatus.js +1 -1
  78. package/dist/hooks/useIntentsBalance.js +1 -1
  79. package/dist/hooks/useIsCompatibilityCheckRequired.js +1 -1
  80. package/dist/hooks/useMakeDepositAddress.js +1 -1
  81. package/dist/hooks/useMakeIntentsTransfer.js +1 -1
  82. package/dist/hooks/useMakeNEARFtTransferCall.js +1 -1
  83. package/dist/hooks/useMakeQuote.js +1 -1
  84. package/dist/hooks/useMakeQuoteTransfer.js +1 -1
  85. package/dist/hooks/useMakeTransfer.js +1 -1
  86. package/dist/hooks/useMergedBalance.js +1 -1
  87. package/dist/hooks/useSwitchChain.js +1 -1
  88. package/dist/hooks/useTheme.js +1 -1
  89. package/dist/hooks/useTokenInputPair.js +1 -1
  90. package/dist/hooks/useTokens.js +1 -1
  91. package/dist/hooks/useTokensFiltered.js +1 -1
  92. package/dist/hooks/useTokensIntentsUnique.js +1 -1
  93. package/dist/index.js +1 -1
  94. package/dist/machine/effects/index.js +1 -1
  95. package/dist/machine/effects/useAlchemyBalanceEffect.js +1 -1
  96. package/dist/machine/effects/useBalancesUpdateEffect.js +1 -1
  97. package/dist/machine/effects/useMakeQuoteEffect.js +1 -1
  98. package/dist/machine/effects/useSelectedTokensEffect.js +1 -1
  99. package/dist/machine/effects/useSetTokenBalanceEffect.js +1 -1
  100. package/dist/machine/effects/useSetTokenIntentsTargetEffect.js +1 -1
  101. package/dist/machine/effects/useWalletConnEffect.js +1 -1
  102. package/dist/machine/events/index.js +1 -1
  103. package/dist/machine/events/tokenSelect.js +1 -1
  104. package/dist/machine/events/validateInputAndMoveTo.js +1 -1
  105. package/dist/machine/events/validateInputs.js +1 -1
  106. package/dist/machine/index.js +1 -1
  107. package/dist/machine/snap.js +1 -1
  108. package/dist/machine/subscriptions/checkers/isSendAddressAsConnected.js +1 -1
  109. package/dist/machine/subscriptions/index.js +1 -1
  110. package/dist/styles.css +1 -1
  111. package/dist/tailwind.css +9 -0
  112. package/dist/theme/ThemeProvider.js +1 -1
  113. package/dist/utils/intents/signers/near.js +1 -1
  114. package/dist/utils/intents/signers/privy.js +1 -1
  115. package/dist/utils/near/getNearNep141StorageBalance.js +1 -1
  116. package/dist/widgets/WidgetDeposit/WidgetDepositContent.js +18 -11
  117. package/dist/widgets/WidgetDeposit/WidgetDepositContent.js.map +1 -1
  118. package/dist/widgets/WidgetDeposit/WidgetDepositSkeleton.js +1 -1
  119. package/dist/widgets/WidgetSwap/WidgetSwapContent.js +33 -22
  120. package/dist/widgets/WidgetSwap/WidgetSwapContent.js.map +1 -1
  121. package/dist/widgets/WidgetSwap/WidgetSwapSkeleton.js +1 -1
  122. package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js +19 -9
  123. package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js.map +1 -1
  124. package/dist/widgets/WidgetWithdraw/WidgetWithdrawSkeleton.js +1 -1
  125. package/package.json +1 -2
  126. package/src/components/Accordion.tsx +3 -3
  127. package/src/components/Banner.tsx +17 -8
  128. package/src/components/BlockingError.tsx +4 -6
  129. package/src/components/Button.tsx +9 -6
  130. package/src/components/CloseButton.tsx +2 -2
  131. package/src/components/CopyButton.tsx +2 -2
  132. package/src/components/DirectionSwitcher.tsx +4 -4
  133. package/src/components/Input.tsx +5 -4
  134. package/src/components/StatusWidget.tsx +4 -11
  135. package/src/features/ChainsDropdown/AllNetworksIcon.tsx +2 -2
  136. package/src/features/ChainsDropdown/ChainItem.tsx +2 -2
  137. package/src/features/ChainsDropdown/index.tsx +9 -3
  138. package/src/features/DepositMethodSwitcher.tsx +4 -3
  139. package/src/features/ExternalDeposit.tsx +2 -2
  140. package/src/features/SendAddress/index.tsx +3 -2
  141. package/src/features/SuccessScreen/CheckIcon.tsx +2 -2
  142. package/src/features/SuccessScreen/ExternalAction.tsx +2 -2
  143. package/src/features/TokensModal.tsx +2 -2
  144. package/src/features/WalletCompatibilityCheck/WalletCompatibilityModal.tsx +8 -9
  145. package/src/tailwind.css +9 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalDeposit.js","sources":["../../src/features/ExternalDeposit.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { GetExecutionStatusResponse } from '@defuse-protocol/one-click-sdk-typescript';\nimport * as Icons from 'lucide-react';\n\nimport { notReachable } from '@/utils';\nimport { CHAIN_IDS_MAP } from '@/constants/chains';\nimport { useExternalDepositStatus } from '@/hooks';\nimport { useTypedTranslation } from '@/localisation';\nimport { CopyButton, StatusWidget } from '@/components';\nimport {\n fireEvent,\n guardStates,\n moveTo,\n useComputedSnapshot,\n useUnsafeSnapshot,\n} from '@/machine';\nimport { formatAddressTruncate } from '@/utils/formatters/formatAddressTruncate';\nimport { getTransactionLink } from '@/utils/formatters/getTransactionLink';\nimport { isNotEmptyAmount } from '@/utils/checkers/isNotEmptyAmount';\nimport type { TransferResult } from '@/types';\n\ntype Msg =\n | { type: 'on_transaction_received' }\n | { type: 'on_successful_transfer'; transferResult: TransferResult };\n\ntype Props = {\n onMsg: (msg: Msg) => void;\n};\n\nconst QrCode = ({ address }: { address: string }) => (\n <div className=\"flex flex-col gap-sw-2xl items-center\">\n <div className=\"p-sw-lg m-sw-lg mx-auto w-fit rounded-sw-md bg-[#fff]\">\n <QRCodeSVG size={156} value={address} fgColor=\"#161926\" />\n </div>\n <div className=\"py-sw-lg px-sw-lg w-full flex items-center justify-between rounded-sw-md bg-sw-gray-800\">\n <span className=\"text-sw-label-md text-sw-gray-100\">\n {formatAddressTruncate(address, 38)}\n </span>\n <CopyButton value={address} />\n </div>\n </div>\n);\n\nconst Skeleton = () => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n\n return (\n <div className=\"flex flex-col gap-sw-2xl items-center\">\n <div className=\"bg-sw-gray-800 h-[180px] w-[180px] animate-pulse rounded-sw-md\" />\n <div className=\"bg-sw-gray-800 h-[44px] w-full animate-pulse rounded-sw-md flex items-center justify-center gap-sw-sm\">\n <Icons.Loader className=\"animate-spin text-sw-gray-100 h-sw-lg w-sw-lg\" />\n <span className=\"text-sw-gray-100 text-sw-label-sm\">\n {!isNotEmptyAmount(ctx.sourceTokenAmount)\n ? t('deposit.external.loading.waiting', 'Waiting for token amount')\n : t('deposit.external.loading.fetching', 'Fetching new address')}\n </span>\n </div>\n </div>\n );\n};\n\nexport const ExternalDeposit = ({ onMsg }: Props) => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n const { isNativeNearDeposit } = useComputedSnapshot();\n\n const isValidState = guardStates(ctx, [\n 'quote_success_external',\n 'quote_success_internal',\n ]);\n\n const isBridgePoaDeposit =\n (isNativeNearDeposit && ctx.isDepositFromExternalWallet) ||\n (!isNativeNearDeposit &&\n ctx.sourceToken?.assetId === ctx.targetToken?.assetId);\n\n const depositStatusQuery = useExternalDepositStatus({\n depositAddress: isValidState ? ctx.quote.depositAddress : '',\n depositAddressType: isBridgePoaDeposit ? 'poa' : 'one_click',\n });\n\n useEffect(() => {\n const status = depositStatusQuery.data?.status;\n\n if (!depositStatusQuery.data) {\n return;\n }\n\n switch (status) {\n case GetExecutionStatusResponse.status.SUCCESS: {\n const txHash =\n depositStatusQuery.data.swapDetails.destinationChainTxHashes[0]?.hash;\n\n fireEvent('transferSetStatus', { status: 'success' });\n moveTo('transfer_success');\n\n onMsg({\n type: 'on_successful_transfer',\n transferResult: {\n hash: txHash ?? '',\n intent: depositStatusQuery.data.swapDetails.intentHashes[0],\n transactionLink:\n (ctx.sourceToken &&\n txHash &&\n getTransactionLink(\n CHAIN_IDS_MAP[ctx.sourceToken.blockchain],\n txHash,\n )) ??\n '',\n },\n });\n break;\n }\n\n case GetExecutionStatusResponse.status.FAILED:\n fireEvent('transferSetStatus', { status: 'error' });\n fireEvent('errorSet', { code: 'EXTERNAL_TRANSFER_FAILED' });\n break;\n case GetExecutionStatusResponse.status.INCOMPLETE_DEPOSIT:\n fireEvent('transferSetStatus', { status: 'error' });\n fireEvent('errorSet', { code: 'EXTERNAL_TRANSFER_INCOMPLETE' });\n break;\n case GetExecutionStatusResponse.status.REFUNDED:\n fireEvent('transferSetStatus', { status: 'error' });\n fireEvent('errorSet', { code: 'EXTERNAL_TRANSFER_REFUNDED' });\n break;\n case GetExecutionStatusResponse.status.PROCESSING:\n case GetExecutionStatusResponse.status.KNOWN_DEPOSIT_TX:\n // Transaction was received from external wallet\n fireEvent('externalDepositTxSet', true);\n onMsg({ type: 'on_transaction_received' });\n break;\n case GetExecutionStatusResponse.status.PENDING_DEPOSIT:\n case undefined:\n // No action needed - waiting for deposit\n break;\n default:\n notReachable(status);\n }\n // do not include onMsg to avoid infinite loop\n }, [depositStatusQuery.data, ctx.sourceToken]);\n\n if (!isValidState) {\n return <Skeleton />;\n }\n\n if (!depositStatusQuery.data) {\n return <QrCode address={ctx.quote.depositAddress} />;\n }\n\n switch (depositStatusQuery.status) {\n case 'error':\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.noStatus',\n 'Unable to check transfer status',\n )}\n />\n );\n\n case 'success': {\n switch (depositStatusQuery.data.status) {\n case GetExecutionStatusResponse.status.FAILED:\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.noStatus',\n 'Unable to check transfer status',\n )}\n />\n );\n case GetExecutionStatusResponse.status.INCOMPLETE_DEPOSIT:\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.incomplete',\n 'Incomplete deposit',\n )}\n />\n );\n case GetExecutionStatusResponse.status.REFUNDED:\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.failed',\n 'Deposit failed. You were refunded.',\n )}\n />\n );\n case GetExecutionStatusResponse.status.PROCESSING:\n case GetExecutionStatusResponse.status.KNOWN_DEPOSIT_TX:\n return <StatusWidget.Success />;\n case GetExecutionStatusResponse.status.PENDING_DEPOSIT:\n return <QrCode address={ctx.quote.depositAddress} />;\n case GetExecutionStatusResponse.status.SUCCESS:\n return <StatusWidget.Success />;\n default:\n return null;\n }\n }\n\n default:\n return notReachable(depositStatusQuery);\n }\n};\n"],"names":["QrCode","address","jsxs","jsx","QRCodeSVG","formatAddressTruncate","CopyButton","Skeleton","t","useTypedTranslation","ctx","useUnsafeSnapshot","Icons","isNotEmptyAmount","ExternalDeposit","onMsg","isNativeNearDeposit","useComputedSnapshot","isValidState","guardStates","isBridgePoaDeposit","depositStatusQuery","useExternalDepositStatus","useEffect","status","GetExecutionStatusResponse","txHash","fireEvent","moveTo","getTransactionLink","CHAIN_IDS_MAP","notReachable","StatusWidget"],"mappings":"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"}
1
+ {"version":3,"file":"ExternalDeposit.js","sources":["../../src/features/ExternalDeposit.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\nimport { GetExecutionStatusResponse } from '@defuse-protocol/one-click-sdk-typescript';\nimport { ProgressActivityW700 as ProgressActivity } from '@material-symbols-svg/react-rounded/icons/progress-activity';\n\nimport { notReachable } from '@/utils';\nimport { CHAIN_IDS_MAP } from '@/constants/chains';\nimport { useExternalDepositStatus } from '@/hooks';\nimport { useTypedTranslation } from '@/localisation';\nimport { CopyButton, StatusWidget } from '@/components';\nimport {\n fireEvent,\n guardStates,\n moveTo,\n useComputedSnapshot,\n useUnsafeSnapshot,\n} from '@/machine';\nimport { formatAddressTruncate } from '@/utils/formatters/formatAddressTruncate';\nimport { getTransactionLink } from '@/utils/formatters/getTransactionLink';\nimport { isNotEmptyAmount } from '@/utils/checkers/isNotEmptyAmount';\nimport type { TransferResult } from '@/types';\n\ntype Msg =\n | { type: 'on_transaction_received' }\n | { type: 'on_successful_transfer'; transferResult: TransferResult };\n\ntype Props = {\n onMsg: (msg: Msg) => void;\n};\n\nconst QrCode = ({ address }: { address: string }) => (\n <div className=\"flex flex-col gap-sw-2xl items-center\">\n <div className=\"p-sw-lg m-sw-lg mx-auto w-fit rounded-sw-md bg-[#fff]\">\n <QRCodeSVG size={156} value={address} fgColor=\"#161926\" />\n </div>\n <div className=\"py-sw-lg px-sw-lg w-full flex items-center justify-between rounded-sw-md bg-sw-gray-800\">\n <span className=\"text-sw-label-md text-sw-gray-100\">\n {formatAddressTruncate(address, 38)}\n </span>\n <CopyButton value={address} />\n </div>\n </div>\n);\n\nconst Skeleton = () => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n\n return (\n <div className=\"flex flex-col gap-sw-2xl items-center\">\n <div className=\"bg-sw-gray-800 h-[180px] w-[180px] animate-pulse rounded-sw-md\" />\n <div className=\"bg-sw-gray-800 h-[44px] w-full animate-pulse rounded-sw-md flex items-center justify-center gap-sw-sm\">\n <ProgressActivity className=\"animate-spin text-sw-gray-100 h-sw-lg w-sw-lg\" />\n <span className=\"text-sw-gray-100 text-sw-label-sm\">\n {!isNotEmptyAmount(ctx.sourceTokenAmount)\n ? t('deposit.external.loading.waiting', 'Waiting for token amount')\n : t('deposit.external.loading.fetching', 'Fetching new address')}\n </span>\n </div>\n </div>\n );\n};\n\nexport const ExternalDeposit = ({ onMsg }: Props) => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n const { isNativeNearDeposit } = useComputedSnapshot();\n\n const isValidState = guardStates(ctx, [\n 'quote_success_external',\n 'quote_success_internal',\n ]);\n\n const isBridgePoaDeposit =\n (isNativeNearDeposit && ctx.isDepositFromExternalWallet) ||\n (!isNativeNearDeposit &&\n ctx.sourceToken?.assetId === ctx.targetToken?.assetId);\n\n const depositStatusQuery = useExternalDepositStatus({\n depositAddress: isValidState ? ctx.quote.depositAddress : '',\n depositAddressType: isBridgePoaDeposit ? 'poa' : 'one_click',\n });\n\n useEffect(() => {\n const status = depositStatusQuery.data?.status;\n\n if (!depositStatusQuery.data) {\n return;\n }\n\n switch (status) {\n case GetExecutionStatusResponse.status.SUCCESS: {\n const txHash =\n depositStatusQuery.data.swapDetails.destinationChainTxHashes[0]?.hash;\n\n fireEvent('transferSetStatus', { status: 'success' });\n moveTo('transfer_success');\n\n onMsg({\n type: 'on_successful_transfer',\n transferResult: {\n hash: txHash ?? '',\n intent: depositStatusQuery.data.swapDetails.intentHashes[0],\n transactionLink:\n (ctx.sourceToken &&\n txHash &&\n getTransactionLink(\n CHAIN_IDS_MAP[ctx.sourceToken.blockchain],\n txHash,\n )) ??\n '',\n },\n });\n break;\n }\n\n case GetExecutionStatusResponse.status.FAILED:\n fireEvent('transferSetStatus', { status: 'error' });\n fireEvent('errorSet', { code: 'EXTERNAL_TRANSFER_FAILED' });\n break;\n case GetExecutionStatusResponse.status.INCOMPLETE_DEPOSIT:\n fireEvent('transferSetStatus', { status: 'error' });\n fireEvent('errorSet', { code: 'EXTERNAL_TRANSFER_INCOMPLETE' });\n break;\n case GetExecutionStatusResponse.status.REFUNDED:\n fireEvent('transferSetStatus', { status: 'error' });\n fireEvent('errorSet', { code: 'EXTERNAL_TRANSFER_REFUNDED' });\n break;\n case GetExecutionStatusResponse.status.PROCESSING:\n case GetExecutionStatusResponse.status.KNOWN_DEPOSIT_TX:\n // Transaction was received from external wallet\n fireEvent('externalDepositTxSet', true);\n onMsg({ type: 'on_transaction_received' });\n break;\n case GetExecutionStatusResponse.status.PENDING_DEPOSIT:\n case undefined:\n // No action needed - waiting for deposit\n break;\n default:\n notReachable(status);\n }\n // do not include onMsg to avoid infinite loop\n }, [depositStatusQuery.data, ctx.sourceToken]);\n\n if (!isValidState) {\n return <Skeleton />;\n }\n\n if (!depositStatusQuery.data) {\n return <QrCode address={ctx.quote.depositAddress} />;\n }\n\n switch (depositStatusQuery.status) {\n case 'error':\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.noStatus',\n 'Unable to check transfer status',\n )}\n />\n );\n\n case 'success': {\n switch (depositStatusQuery.data.status) {\n case GetExecutionStatusResponse.status.FAILED:\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.noStatus',\n 'Unable to check transfer status',\n )}\n />\n );\n case GetExecutionStatusResponse.status.INCOMPLETE_DEPOSIT:\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.incomplete',\n 'Incomplete deposit',\n )}\n />\n );\n case GetExecutionStatusResponse.status.REFUNDED:\n return (\n <StatusWidget.Error\n message={t(\n 'deposit.external.error.failed',\n 'Deposit failed. You were refunded.',\n )}\n />\n );\n case GetExecutionStatusResponse.status.PROCESSING:\n case GetExecutionStatusResponse.status.KNOWN_DEPOSIT_TX:\n return <StatusWidget.Success />;\n case GetExecutionStatusResponse.status.PENDING_DEPOSIT:\n return <QrCode address={ctx.quote.depositAddress} />;\n case GetExecutionStatusResponse.status.SUCCESS:\n return <StatusWidget.Success />;\n default:\n return null;\n }\n }\n\n default:\n return notReachable(depositStatusQuery);\n }\n};\n"],"names":["QrCode","address","jsxs","jsx","QRCodeSVG","formatAddressTruncate","CopyButton","Skeleton","t","useTypedTranslation","ctx","useUnsafeSnapshot","ProgressActivity","isNotEmptyAmount","ExternalDeposit","onMsg","isNativeNearDeposit","useComputedSnapshot","isValidState","guardStates","isBridgePoaDeposit","depositStatusQuery","useExternalDepositStatus","useEffect","status","GetExecutionStatusResponse","txHash","fireEvent","moveTo","getTransactionLink","CHAIN_IDS_MAP","notReachable","StatusWidget"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
- import * as S from "lucide-react";
3
- import { Button as N } from "@headlessui/react";
4
- import { useState as y, useEffect as m, useMemo as C } from "react";
5
- import { useDebounce as k } from "use-debounce";
2
+ import { Button as A } from "@headlessui/react";
3
+ import { useState as N, useEffect as m, useMemo as y } from "react";
4
+ import { useDebounce as C } from "use-debounce";
5
+ import { WandShineW700 as k } from "@material-symbols-svg/react-rounded/icons/wand-shine";
6
6
  import { useNotification as T } from "./useNotification.js";
7
7
  import { Card as v } from "../../components/Card.js";
8
8
  import { Input as B } from "../../components/Input.js";
@@ -11,14 +11,14 @@ import "../../constants/chains.js";
11
11
  import "viem";
12
12
  import "ethers";
13
13
  import { cn as M } from "../../utils/cn.js";
14
- import { b as V, y as _ } from "../../config-DJObWR7Z.js";
14
+ import { b as V, y as _ } from "../../config-CgCb5P7j.js";
15
15
  import "../../machine/machine.js";
16
16
  import { fireEvent as d } from "../../machine/events/utils/fireEvent.js";
17
17
  import { useTypedTranslation as j } from "../../localisation.js";
18
- const X = ({ error: c, className: p, onMsg: u }) => {
19
- const { t: o } = j(), { ctx: e } = V(), { walletSupportedChains: f, sendAddress: s, hideSendAddress: h } = _(), [a, x] = y(e.sendAddress ?? ""), [i] = k(a, 700), r = T(c), w = e.targetToken && !e.sendAddress && f.includes(e.targetToken.blockchain), b = (n) => {
20
- const A = n.target.value;
21
- x(A);
18
+ const Y = ({ error: c, className: p, onMsg: u }) => {
19
+ const { t: o } = j(), { ctx: e } = V(), { walletSupportedChains: f, sendAddress: s, hideSendAddress: h } = _(), [a, x] = N(e.sendAddress ?? ""), [i] = C(a, 700), r = T(c), w = e.targetToken && !e.sendAddress && f.includes(e.targetToken.blockchain), b = (n) => {
20
+ const g = n.target.value;
21
+ x(g);
22
22
  };
23
23
  m(() => {
24
24
  s && s !== e.sendAddress && d("addressSet", s);
@@ -26,14 +26,15 @@ const X = ({ error: c, className: p, onMsg: u }) => {
26
26
  const n = i ?? a;
27
27
  d("addressSet", n), u({ type: "on_change_send_address", address: n });
28
28
  }, [i]);
29
- const g = C(() => s ? "fixed" : r?.state ?? "default", [r, s]);
29
+ const S = y(() => s ? "fixed" : r?.state ?? "default", [r, s]);
30
30
  return h ? null : /* @__PURE__ */ l(v, { className: M("flex flex-col", p), children: [
31
31
  /* @__PURE__ */ t("h5", { className: "text-sw-label-md text-sw-gray-50 mb-sw-2xl", children: o("sendAddress.label", "Send to") }),
32
32
  /* @__PURE__ */ t(
33
33
  B,
34
34
  {
35
+ fontSize: "sm",
35
36
  defaultValue: e.sendAddress,
36
- state: g,
37
+ state: S,
37
38
  className: "mb-sw-xl",
38
39
  placeholder: o(
39
40
  "wallet.recipient.placeholder",
@@ -41,12 +42,12 @@ const X = ({ error: c, className: p, onMsg: u }) => {
41
42
  ),
42
43
  onChange: b,
43
44
  children: !!w && /* @__PURE__ */ l(
44
- N,
45
+ A,
45
46
  {
46
47
  className: "absolute right-0 flex items-center gap-sw-md min-w-max cursor-pointer",
47
48
  onClick: () => d("addressSet", e.walletAddress ?? ""),
48
49
  children: [
49
- /* @__PURE__ */ t(S.Wand2, { size: 14 }),
50
+ /* @__PURE__ */ t(k, { size: 14 }),
50
51
  /* @__PURE__ */ t("span", { className: "text-sw-label-md", children: o("sendAddress.button.magic.label", "My wallet") })
51
52
  ]
52
53
  }
@@ -57,6 +58,6 @@ const X = ({ error: c, className: p, onMsg: u }) => {
57
58
  ] });
58
59
  };
59
60
  export {
60
- X as SendAddress
61
+ Y as SendAddress
61
62
  };
62
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/features/SendAddress/index.tsx"],"sourcesContent":["import * as Icons from 'lucide-react';\nimport { Button } from '@headlessui/react';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useDebounce } from 'use-debounce';\nimport type { ChangeEvent } from 'react';\n\nimport { useNotification } from './useNotification';\nimport { Card } from '@/components/Card';\nimport { Input } from '@/components/Input';\nimport { Banner } from '@/components/Banner';\n\nimport { cn } from '@/utils';\nimport { useConfig } from '@/config';\nimport { fireEvent } from '@/machine';\nimport { useTypedTranslation } from '@/localisation';\nimport { useUnsafeSnapshot } from '@/machine/snap';\n\ntype Msg = { type: 'on_change_send_address'; address: string };\n\ntype Props = {\n error?: string;\n className?: string;\n onMsg: (msg: Msg) => void;\n};\n\nexport const SendAddress = ({ error, className, onMsg }: Props) => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n const { walletSupportedChains, sendAddress, hideSendAddress } = useConfig();\n\n const [value, setValue] = useState(ctx.sendAddress ?? '');\n const [debouncedValue] = useDebounce(value, 700);\n\n const notification = useNotification(error);\n\n const showMagicButton =\n ctx.targetToken &&\n !ctx.sendAddress &&\n walletSupportedChains.includes(ctx.targetToken.blockchain);\n\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const address = e.target.value;\n\n setValue(address);\n };\n\n // Sync fixed sendAddress with machine state\n useEffect(() => {\n if (sendAddress && sendAddress !== ctx.sendAddress) {\n fireEvent('addressSet', sendAddress);\n }\n }, [sendAddress, ctx.sendAddress]);\n\n useEffect(() => {\n const address = debouncedValue ?? value;\n\n fireEvent('addressSet', address);\n onMsg({ type: 'on_change_send_address', address });\n }, [debouncedValue]);\n\n const inputState = useMemo(() => {\n if (sendAddress) {\n return 'fixed' as const;\n }\n\n return notification?.state ?? 'default';\n }, [notification, sendAddress]);\n\n if (hideSendAddress) {\n return null;\n }\n\n return (\n <Card className={cn('flex flex-col', className)}>\n <h5 className=\"text-sw-label-md text-sw-gray-50 mb-sw-2xl\">\n {t('sendAddress.label', 'Send to')}\n </h5>\n <Input\n defaultValue={ctx.sendAddress}\n state={inputState}\n className=\"mb-sw-xl\"\n placeholder={t(\n 'wallet.recipient.placeholder',\n 'Enter recipient wallet address',\n )}\n onChange={onChange}>\n {!!showMagicButton && (\n <Button\n className=\"absolute right-0 flex items-center gap-sw-md min-w-max cursor-pointer\"\n onClick={() => fireEvent('addressSet', ctx.walletAddress ?? '')}>\n <Icons.Wand2 size={14} />\n <span className=\"text-sw-label-md\">\n {t('sendAddress.button.magic.label', 'My wallet')}\n </span>\n </Button>\n )}\n </Input>\n\n {notification && <Banner {...notification} />}\n </Card>\n );\n};\n"],"names":["SendAddress","error","className","onMsg","t","useTypedTranslation","ctx","useUnsafeSnapshot","walletSupportedChains","sendAddress","hideSendAddress","useConfig","value","setValue","useState","debouncedValue","useDebounce","notification","useNotification","showMagicButton","onChange","e","address","useEffect","fireEvent","inputState","useMemo","Card","cn","jsx","Input","jsxs","Button","Icons","Banner"],"mappings":";;;;;;;;;;;;;;;;;AAyBO,MAAMA,IAAc,CAAC,EAAE,OAAAC,GAAO,WAAAC,GAAW,OAAAC,QAAmB;AACjE,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACR,EAAE,KAAAC,EAAA,IAAQC,EAAA,GACV,EAAE,uBAAAC,GAAuB,aAAAC,GAAa,iBAAAC,EAAA,IAAoBC,EAAA,GAE1D,CAACC,GAAOC,CAAQ,IAAIC,EAASR,EAAI,eAAe,EAAE,GAClD,CAACS,CAAc,IAAIC,EAAYJ,GAAO,GAAG,GAEzCK,IAAeC,EAAgBjB,CAAK,GAEpCkB,IACJb,EAAI,eACJ,CAACA,EAAI,eACLE,EAAsB,SAASF,EAAI,YAAY,UAAU,GAErDc,IAAW,CAACC,MAAqC;AACrD,UAAMC,IAAUD,EAAE,OAAO;AAEzB,IAAAR,EAASS,CAAO;AAAA,EAClB;AAGA,EAAAC,EAAU,MAAM;AACd,IAAId,KAAeA,MAAgBH,EAAI,eACrCkB,EAAU,cAAcf,CAAW;AAAA,EAEvC,GAAG,CAACA,GAAaH,EAAI,WAAW,CAAC,GAEjCiB,EAAU,MAAM;AACd,UAAMD,IAAUP,KAAkBH;AAElC,IAAAY,EAAU,cAAcF,CAAO,GAC/BnB,EAAM,EAAE,MAAM,0BAA0B,SAAAmB,EAAA,CAAS;AAAA,EACnD,GAAG,CAACP,CAAc,CAAC;AAEnB,QAAMU,IAAaC,EAAQ,MACrBjB,IACK,UAGFQ,GAAc,SAAS,WAC7B,CAACA,GAAcR,CAAW,CAAC;AAE9B,SAAIC,IACK,yBAINiB,GAAA,EAAK,WAAWC,EAAG,iBAAiB1B,CAAS,GAC5C,UAAA;AAAA,IAAA,gBAAA2B,EAAC,QAAG,WAAU,8CACX,UAAAzB,EAAE,qBAAqB,SAAS,GACnC;AAAA,IACA,gBAAAyB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,cAAcxB,EAAI;AAAA,QAClB,OAAOmB;AAAA,QACP,WAAU;AAAA,QACV,aAAarB;AAAA,UACX;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,UAAAgB;AAAA,QACC,UAAA,CAAC,CAACD,KACD,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAMR,EAAU,cAAclB,EAAI,iBAAiB,EAAE;AAAA,YAC9D,UAAA;AAAA,cAAA,gBAAAuB,EAACI,EAAM,OAAN,EAAY,MAAM,GAAA,CAAI;AAAA,gCACtB,QAAA,EAAK,WAAU,oBACb,UAAA7B,EAAE,kCAAkC,WAAW,EAAA,CAClD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAIHa,KAAgB,gBAAAY,EAACK,GAAA,EAAQ,GAAGjB,EAAA,CAAc;AAAA,EAAA,GAC7C;AAEJ;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/features/SendAddress/index.tsx"],"sourcesContent":["import { Button } from '@headlessui/react';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useDebounce } from 'use-debounce';\nimport { WandShineW700 as WandShine } from '@material-symbols-svg/react-rounded/icons/wand-shine';\nimport type { ChangeEvent } from 'react';\n\nimport { useNotification } from './useNotification';\nimport { Card } from '@/components/Card';\nimport { Input } from '@/components/Input';\nimport { Banner } from '@/components/Banner';\n\nimport { cn } from '@/utils';\nimport { useConfig } from '@/config';\nimport { fireEvent } from '@/machine';\nimport { useTypedTranslation } from '@/localisation';\nimport { useUnsafeSnapshot } from '@/machine/snap';\n\ntype Msg = { type: 'on_change_send_address'; address: string };\n\ntype Props = {\n error?: string;\n className?: string;\n onMsg: (msg: Msg) => void;\n};\n\nexport const SendAddress = ({ error, className, onMsg }: Props) => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n const { walletSupportedChains, sendAddress, hideSendAddress } = useConfig();\n\n const [value, setValue] = useState(ctx.sendAddress ?? '');\n const [debouncedValue] = useDebounce(value, 700);\n\n const notification = useNotification(error);\n\n const showMagicButton =\n ctx.targetToken &&\n !ctx.sendAddress &&\n walletSupportedChains.includes(ctx.targetToken.blockchain);\n\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n const address = e.target.value;\n\n setValue(address);\n };\n\n // Sync fixed sendAddress with machine state\n useEffect(() => {\n if (sendAddress && sendAddress !== ctx.sendAddress) {\n fireEvent('addressSet', sendAddress);\n }\n }, [sendAddress, ctx.sendAddress]);\n\n useEffect(() => {\n const address = debouncedValue ?? value;\n\n fireEvent('addressSet', address);\n onMsg({ type: 'on_change_send_address', address });\n }, [debouncedValue]);\n\n const inputState = useMemo(() => {\n if (sendAddress) {\n return 'fixed' as const;\n }\n\n return notification?.state ?? 'default';\n }, [notification, sendAddress]);\n\n if (hideSendAddress) {\n return null;\n }\n\n return (\n <Card className={cn('flex flex-col', className)}>\n <h5 className=\"text-sw-label-md text-sw-gray-50 mb-sw-2xl\">\n {t('sendAddress.label', 'Send to')}\n </h5>\n <Input\n fontSize=\"sm\"\n defaultValue={ctx.sendAddress}\n state={inputState}\n className=\"mb-sw-xl\"\n placeholder={t(\n 'wallet.recipient.placeholder',\n 'Enter recipient wallet address',\n )}\n onChange={onChange}>\n {!!showMagicButton && (\n <Button\n className=\"absolute right-0 flex items-center gap-sw-md min-w-max cursor-pointer\"\n onClick={() => fireEvent('addressSet', ctx.walletAddress ?? '')}>\n <WandShine size={14} />\n <span className=\"text-sw-label-md\">\n {t('sendAddress.button.magic.label', 'My wallet')}\n </span>\n </Button>\n )}\n </Input>\n\n {notification && <Banner {...notification} />}\n </Card>\n );\n};\n"],"names":["SendAddress","error","className","onMsg","t","useTypedTranslation","ctx","useUnsafeSnapshot","walletSupportedChains","sendAddress","hideSendAddress","useConfig","value","setValue","useState","debouncedValue","useDebounce","notification","useNotification","showMagicButton","onChange","e","address","useEffect","fireEvent","inputState","useMemo","Card","cn","jsx","Input","jsxs","Button","WandShine","Banner"],"mappings":";;;;;;;;;;;;;;;;;AAyBO,MAAMA,IAAc,CAAC,EAAE,OAAAC,GAAO,WAAAC,GAAW,OAAAC,QAAmB;AACjE,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAA,GACR,EAAE,KAAAC,EAAA,IAAQC,EAAA,GACV,EAAE,uBAAAC,GAAuB,aAAAC,GAAa,iBAAAC,EAAA,IAAoBC,EAAA,GAE1D,CAACC,GAAOC,CAAQ,IAAIC,EAASR,EAAI,eAAe,EAAE,GAClD,CAACS,CAAc,IAAIC,EAAYJ,GAAO,GAAG,GAEzCK,IAAeC,EAAgBjB,CAAK,GAEpCkB,IACJb,EAAI,eACJ,CAACA,EAAI,eACLE,EAAsB,SAASF,EAAI,YAAY,UAAU,GAErDc,IAAW,CAACC,MAAqC;AACrD,UAAMC,IAAUD,EAAE,OAAO;AAEzB,IAAAR,EAASS,CAAO;AAAA,EAClB;AAGA,EAAAC,EAAU,MAAM;AACd,IAAId,KAAeA,MAAgBH,EAAI,eACrCkB,EAAU,cAAcf,CAAW;AAAA,EAEvC,GAAG,CAACA,GAAaH,EAAI,WAAW,CAAC,GAEjCiB,EAAU,MAAM;AACd,UAAMD,IAAUP,KAAkBH;AAElC,IAAAY,EAAU,cAAcF,CAAO,GAC/BnB,EAAM,EAAE,MAAM,0BAA0B,SAAAmB,EAAA,CAAS;AAAA,EACnD,GAAG,CAACP,CAAc,CAAC;AAEnB,QAAMU,IAAaC,EAAQ,MACrBjB,IACK,UAGFQ,GAAc,SAAS,WAC7B,CAACA,GAAcR,CAAW,CAAC;AAE9B,SAAIC,IACK,yBAINiB,GAAA,EAAK,WAAWC,EAAG,iBAAiB1B,CAAS,GAC5C,UAAA;AAAA,IAAA,gBAAA2B,EAAC,QAAG,WAAU,8CACX,UAAAzB,EAAE,qBAAqB,SAAS,GACnC;AAAA,IACA,gBAAAyB;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,cAAcxB,EAAI;AAAA,QAClB,OAAOmB;AAAA,QACP,WAAU;AAAA,QACV,aAAarB;AAAA,UACX;AAAA,UACA;AAAA,QAAA;AAAA,QAEF,UAAAgB;AAAA,QACC,UAAA,CAAC,CAACD,KACD,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAMR,EAAU,cAAclB,EAAI,iBAAiB,EAAE;AAAA,YAC9D,UAAA;AAAA,cAAA,gBAAAuB,EAACI,GAAA,EAAU,MAAM,GAAA,CAAI;AAAA,gCACpB,QAAA,EAAK,WAAU,oBACb,UAAA7B,EAAE,kCAAkC,WAAW,EAAA,CAClD;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,IAIHa,KAAgB,gBAAAY,EAACK,GAAA,EAAQ,GAAGjB,EAAA,CAAc;AAAA,EAAA,GAC7C;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import { useMemo as o } from "react";
2
- import { b as d, y as l } from "../../config-DJObWR7Z.js";
2
+ import { b as d, y as l } from "../../config-CgCb5P7j.js";
3
3
  import { useTypedTranslation as c } from "../../localisation.js";
4
4
  import { getIntentsAccountId as u } from "../../utils/intents/getIntentsAccountId.js";
5
5
  import { CHAINS_LIST as f, EVM_CHAINS as m } from "../../constants/chains.js";
@@ -3,7 +3,7 @@ import "react-i18next";
3
3
  import "../../components/Button.js";
4
4
  import "../../components/TinyNumber.js";
5
5
  import "../../components/ErrorMessage.js";
6
- import { S as b } from "../../config-DJObWR7Z.js";
6
+ import { S as b } from "../../config-CgCb5P7j.js";
7
7
  import "../../localisation.js";
8
8
  import "../../utils/checkers/isNotEmptyAmount.js";
9
9
  export {
@@ -1,7 +1,7 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import * as e from "lucide-react";
3
- const c = () => /* @__PURE__ */ s("div", { className: "mb-sw-xl bg-sw-status-success text-sw-gray-950 flex h-[44px] w-[44px] items-center justify-center rounded-full", children: /* @__PURE__ */ s(e.Check, { size: 24 }) });
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { CheckW700 as s } from "@material-symbols-svg/react-rounded/icons/check";
3
+ const r = () => /* @__PURE__ */ e("div", { className: "mb-sw-xl bg-sw-status-success text-sw-gray-950 flex h-[44px] w-[44px] items-center justify-center rounded-full", children: /* @__PURE__ */ e(s, { size: 24 }) });
4
4
  export {
5
- c as CheckIcon
5
+ r as CheckIcon
6
6
  };
7
7
  //# sourceMappingURL=CheckIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckIcon.js","sources":["../../../src/features/SuccessScreen/CheckIcon.tsx"],"sourcesContent":["import * as Icons from 'lucide-react';\n\nexport const CheckIcon = () => (\n <div className=\"mb-sw-xl bg-sw-status-success text-sw-gray-950 flex h-[44px] w-[44px] items-center justify-center rounded-full\">\n <Icons.Check size={24} />\n </div>\n);\n"],"names":["CheckIcon","jsx","Icons"],"mappings":";;AAEO,MAAMA,IAAY,MACvB,gBAAAC,EAAC,OAAA,EAAI,WAAU,kHACb,UAAA,gBAAAA,EAACC,EAAM,OAAN,EAAY,MAAM,GAAA,CAAI,EAAA,CACzB;"}
1
+ {"version":3,"file":"CheckIcon.js","sources":["../../../src/features/SuccessScreen/CheckIcon.tsx"],"sourcesContent":["import { CheckW700 as Check } from '@material-symbols-svg/react-rounded/icons/check';\n\nexport const CheckIcon = () => (\n <div className=\"mb-sw-xl bg-sw-status-success text-sw-gray-950 flex h-[44px] w-[44px] items-center justify-center rounded-full\">\n <Check size={24} />\n </div>\n);\n"],"names":["CheckIcon","jsx","Check"],"mappings":";;AAEO,MAAMA,IAAY,MACvB,gBAAAC,EAAC,OAAA,EAAI,WAAU,kHACb,UAAA,gBAAAA,EAACC,GAAA,EAAM,MAAM,GAAA,CAAI,EAAA,CACnB;"}
@@ -1,16 +1,16 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import * as t from "lucide-react";
3
- const o = ({ url: e }) => /* @__PURE__ */ r(
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { OpenInNewW700 as t } from "@material-symbols-svg/react-rounded/icons/open-in-new";
3
+ const c = ({ url: r }) => /* @__PURE__ */ e(
4
4
  "a",
5
5
  {
6
6
  target: "_blank",
7
- href: e,
7
+ href: r,
8
8
  className: "text-sw-accent-300 hover:text-sw-accent-50 cursor-pointer",
9
9
  rel: "noreferrer",
10
- children: /* @__PURE__ */ r(t.ExternalLink, { size: 16 })
10
+ children: /* @__PURE__ */ e(t, { size: 16 })
11
11
  }
12
12
  );
13
13
  export {
14
- o as ExternalAction
14
+ c as ExternalAction
15
15
  };
16
16
  //# sourceMappingURL=ExternalAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalAction.js","sources":["../../../src/features/SuccessScreen/ExternalAction.tsx"],"sourcesContent":["import * as Icons from 'lucide-react';\n\ntype Props = {\n url: string;\n};\n\nexport const ExternalAction = ({ url }: Props) => (\n <a\n target=\"_blank\"\n href={url}\n className=\"text-sw-accent-300 hover:text-sw-accent-50 cursor-pointer\"\n rel=\"noreferrer\">\n <Icons.ExternalLink size={16} />\n </a>\n);\n"],"names":["ExternalAction","url","jsx","Icons"],"mappings":";;AAMO,MAAMA,IAAiB,CAAC,EAAE,KAAAC,EAAA,MAC/B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,QAAO;AAAA,IACP,MAAMD;AAAA,IACN,WAAU;AAAA,IACV,KAAI;AAAA,IACJ,UAAA,gBAAAC,EAACC,EAAM,cAAN,EAAmB,MAAM,GAAA,CAAI;AAAA,EAAA;AAChC;"}
1
+ {"version":3,"file":"ExternalAction.js","sources":["../../../src/features/SuccessScreen/ExternalAction.tsx"],"sourcesContent":["import { OpenInNewW700 as OpenInNew } from '@material-symbols-svg/react-rounded/icons/open-in-new';\n\ntype Props = {\n url: string;\n};\n\nexport const ExternalAction = ({ url }: Props) => (\n <a\n target=\"_blank\"\n href={url}\n className=\"text-sw-accent-300 hover:text-sw-accent-50 cursor-pointer\"\n rel=\"noreferrer\">\n <OpenInNew size={16} />\n </a>\n);\n"],"names":["ExternalAction","url","jsx","OpenInNew"],"mappings":";;AAMO,MAAMA,IAAiB,CAAC,EAAE,KAAAC,EAAA,MAC/B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,QAAO;AAAA,IACP,MAAMD;AAAA,IACN,WAAU;AAAA,IACV,KAAI;AAAA,IACJ,UAAA,gBAAAC,EAACC,GAAA,EAAU,MAAM,GAAA,CAAI;AAAA,EAAA;AACvB;"}
@@ -5,7 +5,7 @@ import { SummaryItem as n } from "./SummaryItem.js";
5
5
  import { Hr as w } from "../../components/Hr.js";
6
6
  import { Card as y } from "../../components/Card.js";
7
7
  import { CloseButton as b } from "../../components/CloseButton.js";
8
- import { b as A } from "../../config-DJObWR7Z.js";
8
+ import { b as A } from "../../config-CgCb5P7j.js";
9
9
  import "ethers";
10
10
  import "../../machine/machine.js";
11
11
  import { fireEvent as C } from "../../machine/events/utils/fireEvent.js";
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { DirectionSwitcher as r } from "../components/DirectionSwitcher.js";
3
- import { b as i } from "../config-DJObWR7Z.js";
3
+ import { b as i } from "../config-CgCb5P7j.js";
4
4
  import "ethers";
5
5
  import "../machine/machine.js";
6
6
  import { fireEvent as n } from "../machine/events/utils/fireEvent.js";
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "./SwapQuoteSkeleton.js";
3
- import { a3 as s } from "../../config-DJObWR7Z.js";
3
+ import { a3 as s } from "../../config-CgCb5P7j.js";
4
4
  import "../../components/Notes.js";
5
5
  import "../../components/Accordion.js";
6
6
  import "../../utils/formatters/formatUsdAmount.js";
@@ -1,4 +1,4 @@
1
- import { o as t } from "../../config-DJObWR7Z.js";
1
+ import { o as t } from "../../config-CgCb5P7j.js";
2
2
  import "./SwapQuoteSkeleton.js";
3
3
  export {
4
4
  t as SwapQuote
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { a5 as I } from "../../config-DJObWR7Z.js";
3
+ import { a5 as I } from "../../config-CgCb5P7j.js";
4
4
  import "./utils/getBalancePortion.js";
5
5
  import "./utils/getUsdDisplayAmount.js";
6
6
  import "./TokenInputHeading.js";
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { a6 as f } from "../../config-DJObWR7Z.js";
2
+ import { a6 as f } from "../../config-CgCb5P7j.js";
3
3
  import "../../constants/chains.js";
4
4
  import "viem";
5
5
  import "ethers";
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { a8 as e } from "../../config-DJObWR7Z.js";
3
+ import { a8 as e } from "../../config-CgCb5P7j.js";
4
4
  import "../../utils/formatters/formatBigToHuman.js";
5
5
  export {
6
6
  e as TokenInputSource
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { a9 as a } from "../../config-DJObWR7Z.js";
3
+ import { a9 as a } from "../../config-CgCb5P7j.js";
4
4
  import "../../utils/formatters/formatBigToHuman.js";
5
5
  export {
6
6
  a as TokenInputTarget
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "clsx";
3
- import { a4 as i } from "../../config-DJObWR7Z.js";
3
+ import { a4 as i } from "../../config-CgCb5P7j.js";
4
4
  import "../../components/Skeleton.js";
5
5
  import "../../components/TinyNumber.js";
6
6
  export {
@@ -1,4 +1,4 @@
1
- import { s as n } from "../../../config-DJObWR7Z.js";
1
+ import { s as n } from "../../../config-CgCb5P7j.js";
2
2
  export {
3
3
  n as useTokenInputBalance
4
4
  };
@@ -1,5 +1,5 @@
1
1
  import "react";
2
- import { s as t } from "../../../config-DJObWR7Z.js";
2
+ import { s as t } from "../../../config-CgCb5P7j.js";
3
3
  import "../../../utils/intents/getTokenBalanceKey.js";
4
4
  export {
5
5
  t as useTokenInputBalance
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { p as n, T as r } from "../../config-DJObWR7Z.js";
2
+ import { p as n, T as r } from "../../config-CgCb5P7j.js";
3
3
  import "./TokenInputSkeleton.js";
4
4
  export {
5
5
  n as TokenInput,
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../utils/cn.js";
3
- import { aa as e } from "../../config-DJObWR7Z.js";
3
+ import { aa as e } from "../../config-CgCb5P7j.js";
4
4
  import "../../components/TokenIcon.js";
5
5
  import "../../components/TinyNumber.js";
6
6
  import "../../utils/formatters/getUsdDisplayBalance.js";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "virtua";
3
3
  import "react";
4
- import { ac as g } from "../../config-DJObWR7Z.js";
4
+ import { ac as g } from "../../config-CgCb5P7j.js";
5
5
  import "./hooks/useFocusOnList.js";
6
6
  import "./TokensListPlaceholder.js";
7
7
  import "./constants.js";
@@ -1,4 +1,4 @@
1
- import { q as t } from "../../config-DJObWR7Z.js";
1
+ import { q as t } from "../../config-CgCb5P7j.js";
2
2
  import "./TokensListPlaceholder.js";
3
3
  export {
4
4
  t as TokensList
@@ -1,7 +1,7 @@
1
1
  import { jsxs as a, jsx as t, Fragment as T } from "react/jsx-runtime";
2
- import { useRef as I, useState as f } from "react";
3
- import * as j from "lucide-react";
4
- import { b as E, y as M, d as R, q as A } from "../config-DJObWR7Z.js";
2
+ import { SearchW700 as j } from "@material-symbols-svg/react-rounded/icons/search";
3
+ import { useRef as E, useState as f } from "react";
4
+ import { b as I, y as M, d as R, q as A } from "../config-CgCb5P7j.js";
5
5
  import { ChainsDropdown as B } from "./ChainsDropdown/index.js";
6
6
  import "@tanstack/react-query";
7
7
  import "@defuse-protocol/one-click-sdk-typescript";
@@ -30,16 +30,16 @@ import { Input as v } from "../components/Input.js";
30
30
  import { Banner as K } from "../components/Banner.js";
31
31
  import { CloseButton as L } from "../components/CloseButton.js";
32
32
  import { useTypedTranslation as O } from "../localisation.js";
33
- const Ce = ({
33
+ const ke = ({
34
34
  variant: n,
35
35
  showBalances: w,
36
36
  showChainsSelector: x,
37
37
  chainsFilter: l,
38
38
  groupTokens: C,
39
39
  className: k,
40
- onMsg: c
40
+ onMsg: p
41
41
  }) => {
42
- const { t: y } = O(), { ctx: S } = E(), { walletSupportedChains: _ } = M(), p = I(null), [r, s] = f(""), i = R(n), m = () => c({ type: "on_dismiss_tokens_modal" });
42
+ const { t: y } = O(), { ctx: S } = I(), { walletSupportedChains: _ } = M(), c = E(null), [r, s] = f(""), i = R(n), m = () => p({ type: "on_dismiss_tokens_modal" });
43
43
  u(
44
44
  "Escape",
45
45
  () => {
@@ -47,7 +47,7 @@ const Ce = ({
47
47
  },
48
48
  [r]
49
49
  ), u("Alphanumeric", (e) => {
50
- s((N) => N + e), p.current?.focus();
50
+ s((N) => N + e), c.current?.focus();
51
51
  });
52
52
  const b = i.length === 1 && i[0]?.id ? i[0]?.id : "all", [o, g] = f(b), d = o !== "all" && o !== "intents" && l.external !== "all" && !_.includes(o);
53
53
  return /* @__PURE__ */ a(
@@ -68,8 +68,8 @@ const Ce = ({
68
68
  v,
69
69
  {
70
70
  focusOnMount: !0,
71
- icon: j.Search,
72
- ref: p,
71
+ icon: j,
72
+ ref: c,
73
73
  defaultValue: r,
74
74
  className: "w-full",
75
75
  placeholder: "Search or paste address",
@@ -123,7 +123,7 @@ const Ce = ({
123
123
  s("");
124
124
  break;
125
125
  case "on_select_token":
126
- c(e);
126
+ p(e);
127
127
  break;
128
128
  default:
129
129
  h(e, { throwError: !1 });
@@ -136,6 +136,6 @@ const Ce = ({
136
136
  );
137
137
  };
138
138
  export {
139
- Ce as TokensModal
139
+ ke as TokensModal
140
140
  };
141
141
  //# sourceMappingURL=TokensModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokensModal.js","sources":["../../src/features/TokensModal.tsx"],"sourcesContent":["import { useRef, useState } from 'react';\nimport * as Icons from 'lucide-react';\n\nimport { TokensList } from './TokensList';\nimport { ChainsDropdown } from './ChainsDropdown';\nimport { useChains } from '../hooks';\nimport { Hr } from '@/components/Hr';\nimport { Card } from '@/components/Card';\nimport { Input } from '@/components/Input';\nimport { Banner } from '@/components/Banner';\nimport { CloseButton } from '@/components/CloseButton';\n\nimport { cn } from '@/utils/cn';\nimport { useConfig } from '@/config';\nimport { useHandleKeyDown } from '@/hooks';\nimport { useUnsafeSnapshot } from '@/machine/snap';\nimport { notReachable } from '@/utils/notReachable';\nimport { useTypedTranslation } from '@/localisation';\nimport type { Chains, ChainsFilter } from '@/types/chain';\nimport type { Token } from '@/types/token';\n\ntype Msg =\n | { type: 'on_select_token'; token: Token }\n | { type: 'on_dismiss_tokens_modal' };\n\ntype Props = {\n variant: 'source' | 'target';\n groupTokens: boolean;\n showBalances: boolean;\n showChainsSelector: boolean;\n chainsFilter: ChainsFilter;\n className?: string;\n onMsg: (msg: Msg) => void;\n};\n\nexport const TokensModal = ({\n variant,\n showBalances,\n showChainsSelector,\n chainsFilter,\n groupTokens,\n className,\n onMsg,\n}: Props) => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n const { walletSupportedChains } = useConfig();\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [search, setSearch] = useState('');\n const chains = useChains(variant);\n\n const handleClose = () => onMsg({ type: 'on_dismiss_tokens_modal' });\n\n useHandleKeyDown(\n 'Escape',\n () => {\n if (search) {\n setSearch('');\n } else {\n handleClose();\n }\n },\n [search],\n );\n\n useHandleKeyDown('Alphanumeric', (key) => {\n setSearch((s) => s + key);\n searchInputRef.current?.focus();\n });\n\n // If there is only one chain available, select it by default\n const defaultChain =\n chains.length === 1 && chains[0]?.id ? chains[0]?.id : 'all';\n\n const [selectedChain, setSelectedChain] = useState<\n 'all' | 'intents' | Chains\n >(defaultChain);\n\n // selected chain is not supported by connected wallet\n const chainIsNotSupported =\n selectedChain !== 'all' &&\n selectedChain !== 'intents' &&\n chainsFilter.external !== 'all' &&\n !walletSupportedChains.includes(selectedChain);\n\n return (\n <Card\n padding=\"none\"\n className={cn(\n 'w-full gap-sw-xl flex flex-col px-sw-2xl pt-sw-2xl',\n className,\n )}>\n <header className=\"flex items-center justify-between\">\n <h2 className=\"text-sw-label-lg text-sw-gray-50\">Select token</h2>\n <CloseButton onClick={handleClose} />\n </header>\n\n <div className=\"gap-sw-xl flex items-center\">\n <Input\n focusOnMount\n icon={Icons.Search}\n ref={searchInputRef}\n defaultValue={search}\n className=\"w-full\"\n placeholder=\"Search or paste address\"\n onChange={(e) => setSearch(e.target.value.trim())}\n />\n {showChainsSelector && (\n <ChainsDropdown\n variant={variant}\n selected={selectedChain}\n chainsFilter={chainsFilter}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_click_chain':\n setSelectedChain(msg.chain);\n break;\n default:\n notReachable(msg.type, { throwError: false });\n }\n }}\n />\n )}\n </div>\n\n {chainIsNotSupported && !!ctx.walletAddress && (\n <>\n <Banner\n variant=\"error\"\n message={t(\n 'wallet.connected.error.notSupportedChain',\n 'This network isn’t supported by your wallet.',\n )}\n />\n <Hr />\n </>\n )}\n\n <TokensList\n variant={variant}\n search={search}\n groupTokens={groupTokens}\n showBalances={showBalances}\n chainsFilter={chainsFilter}\n selectedChain={selectedChain}\n chainIsNotSupported={chainIsNotSupported}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_reset_search':\n setSearch('');\n break;\n case 'on_select_token':\n onMsg(msg);\n break;\n default:\n notReachable(msg, { throwError: false });\n }\n }}\n />\n </Card>\n );\n};\n"],"names":["TokensModal","variant","showBalances","showChainsSelector","chainsFilter","groupTokens","className","onMsg","t","useTypedTranslation","ctx","useUnsafeSnapshot","walletSupportedChains","useConfig","searchInputRef","useRef","search","setSearch","useState","chains","useChains","handleClose","useHandleKeyDown","key","s","defaultChain","selectedChain","setSelectedChain","chainIsNotSupported","jsxs","Card","cn","jsx","CloseButton","Input","Icons","ChainsDropdown","msg","notReachable","Fragment","Banner","Hr","TokensList"],"mappings":"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"}
1
+ {"version":3,"file":"TokensModal.js","sources":["../../src/features/TokensModal.tsx"],"sourcesContent":["import { SearchW700 as Search } from '@material-symbols-svg/react-rounded/icons/search';\nimport { useRef, useState } from 'react';\n\nimport { TokensList } from './TokensList';\nimport { ChainsDropdown } from './ChainsDropdown';\nimport { useChains } from '../hooks';\nimport { Hr } from '@/components/Hr';\nimport { Card } from '@/components/Card';\nimport { Input } from '@/components/Input';\nimport { Banner } from '@/components/Banner';\nimport { CloseButton } from '@/components/CloseButton';\n\nimport { cn } from '@/utils/cn';\nimport { useConfig } from '@/config';\nimport { useHandleKeyDown } from '@/hooks';\nimport { useUnsafeSnapshot } from '@/machine/snap';\nimport { notReachable } from '@/utils/notReachable';\nimport { useTypedTranslation } from '@/localisation';\nimport type { Chains, ChainsFilter } from '@/types/chain';\nimport type { Token } from '@/types/token';\n\ntype Msg =\n | { type: 'on_select_token'; token: Token }\n | { type: 'on_dismiss_tokens_modal' };\n\ntype Props = {\n variant: 'source' | 'target';\n groupTokens: boolean;\n showBalances: boolean;\n showChainsSelector: boolean;\n chainsFilter: ChainsFilter;\n className?: string;\n onMsg: (msg: Msg) => void;\n};\n\nexport const TokensModal = ({\n variant,\n showBalances,\n showChainsSelector,\n chainsFilter,\n groupTokens,\n className,\n onMsg,\n}: Props) => {\n const { t } = useTypedTranslation();\n const { ctx } = useUnsafeSnapshot();\n const { walletSupportedChains } = useConfig();\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const [search, setSearch] = useState('');\n const chains = useChains(variant);\n\n const handleClose = () => onMsg({ type: 'on_dismiss_tokens_modal' });\n\n useHandleKeyDown(\n 'Escape',\n () => {\n if (search) {\n setSearch('');\n } else {\n handleClose();\n }\n },\n [search],\n );\n\n useHandleKeyDown('Alphanumeric', (key) => {\n setSearch((s) => s + key);\n searchInputRef.current?.focus();\n });\n\n // If there is only one chain available, select it by default\n const defaultChain =\n chains.length === 1 && chains[0]?.id ? chains[0]?.id : 'all';\n\n const [selectedChain, setSelectedChain] = useState<\n 'all' | 'intents' | Chains\n >(defaultChain);\n\n // selected chain is not supported by connected wallet\n const chainIsNotSupported =\n selectedChain !== 'all' &&\n selectedChain !== 'intents' &&\n chainsFilter.external !== 'all' &&\n !walletSupportedChains.includes(selectedChain);\n\n return (\n <Card\n padding=\"none\"\n className={cn(\n 'w-full gap-sw-xl flex flex-col px-sw-2xl pt-sw-2xl',\n className,\n )}>\n <header className=\"flex items-center justify-between\">\n <h2 className=\"text-sw-label-lg text-sw-gray-50\">Select token</h2>\n <CloseButton onClick={handleClose} />\n </header>\n\n <div className=\"gap-sw-xl flex items-center\">\n <Input\n focusOnMount\n icon={Search}\n ref={searchInputRef}\n defaultValue={search}\n className=\"w-full\"\n placeholder=\"Search or paste address\"\n onChange={(e) => setSearch(e.target.value.trim())}\n />\n {showChainsSelector && (\n <ChainsDropdown\n variant={variant}\n selected={selectedChain}\n chainsFilter={chainsFilter}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_click_chain':\n setSelectedChain(msg.chain);\n break;\n default:\n notReachable(msg.type, { throwError: false });\n }\n }}\n />\n )}\n </div>\n\n {chainIsNotSupported && !!ctx.walletAddress && (\n <>\n <Banner\n variant=\"error\"\n message={t(\n 'wallet.connected.error.notSupportedChain',\n 'This network isn’t supported by your wallet.',\n )}\n />\n <Hr />\n </>\n )}\n\n <TokensList\n variant={variant}\n search={search}\n groupTokens={groupTokens}\n showBalances={showBalances}\n chainsFilter={chainsFilter}\n selectedChain={selectedChain}\n chainIsNotSupported={chainIsNotSupported}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_reset_search':\n setSearch('');\n break;\n case 'on_select_token':\n onMsg(msg);\n break;\n default:\n notReachable(msg, { throwError: false });\n }\n }}\n />\n </Card>\n );\n};\n"],"names":["TokensModal","variant","showBalances","showChainsSelector","chainsFilter","groupTokens","className","onMsg","t","useTypedTranslation","ctx","useUnsafeSnapshot","walletSupportedChains","useConfig","searchInputRef","useRef","search","setSearch","useState","chains","useChains","handleClose","useHandleKeyDown","key","s","defaultChain","selectedChain","setSelectedChain","chainIsNotSupported","jsxs","Card","cn","jsx","CloseButton","Input","Search","ChainsDropdown","msg","notReachable","Fragment","Banner","Hr","TokensList"],"mappings":"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"}
@@ -1,5 +1,10 @@
1
1
  import "react/jsx-runtime";
2
- import "@material-symbols-svg/react-rounded";
2
+ import "@material-symbols-svg/react-rounded/icons/account-balance-wallet";
3
+ import "@material-symbols-svg/react-rounded/icons/arming-countdown";
4
+ import "@material-symbols-svg/react-rounded/icons/beenhere";
5
+ import "@material-symbols-svg/react-rounded/icons/check-circle";
6
+ import "@material-symbols-svg/react-rounded/icons/encrypted";
7
+ import "@material-symbols-svg/react-rounded/icons/gpp-bad";
3
8
  import "use-timer";
4
9
  import "react";
5
10
  import "../../localisation.js";
@@ -9,7 +14,7 @@ import "ethers";
9
14
  import "../../utils/cn.js";
10
15
  import "@tanstack/react-query";
11
16
  import "@defuse-protocol/one-click-sdk-typescript";
12
- import { af as F, ae as G, z as H } from "../../config-DJObWR7Z.js";
17
+ import { af as U, ae as X, z as Y } from "../../config-CgCb5P7j.js";
13
18
  import "../../machine/machine.js";
14
19
  import "zod";
15
20
  import "../../utils/near/rpc.js";
@@ -24,17 +29,25 @@ import "../../network.js";
24
29
  import "viem/chains";
25
30
  import "browser-or-node";
26
31
  import "../../hooks/useHandleKeyDown.js";
27
- import "lucide-react";
32
+ import "@material-symbols-svg/react-rounded/icons/chevron-left";
28
33
  import "../../components/Card.js";
34
+ import "@material-symbols-svg/react-rounded/icons/close";
35
+ import "@material-symbols-svg/react-rounded/icons/emergency";
36
+ import "@material-symbols-svg/react-rounded/icons/error";
37
+ import "@material-symbols-svg/react-rounded/icons/verified";
38
+ import "@material-symbols-svg/react-rounded/icons/cached";
29
39
  import "../../components/Button.js";
30
40
  import "copy-text-to-clipboard";
41
+ import "@material-symbols-svg/react-rounded/icons/content-copy";
42
+ import "@material-symbols-svg/react-rounded/icons/arrow-downward";
43
+ import "@material-symbols-svg/react-rounded/icons/progress-activity";
31
44
  import "../../components/Input.js";
32
45
  import "../../components/InputAmount.js";
33
46
  import "../../components/Notes.js";
34
47
  import "../../components/CloseButton.js";
35
48
  export {
36
- F as ErrorView,
37
- G as Initial,
38
- H as WalletCompatibilityModal
49
+ U as ErrorView,
50
+ X as Initial,
51
+ Y as WalletCompatibilityModal
39
52
  };
40
53
  //# sourceMappingURL=WalletCompatibilityModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WalletCompatibilityModal.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"WalletCompatibilityModal.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
2
  import { useState as r } from "react";
3
- import { b, z as n } from "../../config-DJObWR7Z.js";
3
+ import { b, z as n } from "../../config-CgCb5P7j.js";
4
4
  import "ethers";
5
5
  import "../../machine/machine.js";
6
6
  import { notReachable as l } from "../../utils/notReachable.js";
@@ -1,4 +1,4 @@
1
- import { B as r, S as t, o as p, p as a, T as s, q as n } from "../config-DJObWR7Z.js";
1
+ import { B as r, S as t, o as p, p as a, T as s, q as n } from "../config-CgCb5P7j.js";
2
2
  import { ChainsDropdown as m } from "./ChainsDropdown/index.js";
3
3
  import { SendAddress as c } from "./SendAddress/index.js";
4
4
  import { SuccessScreen as S } from "./SuccessScreen/index.js";
@@ -1,4 +1,4 @@
1
- import { e as a, d as r, f as o, g as t, h as n, j as u, i as f, k as l, l as m, n as k, m as p } from "../config-DJObWR7Z.js";
1
+ import { e as a, d as r, f as o, g as t, h as n, j as u, i as f, k as l, l as m, n as k, m as p } from "../config-CgCb5P7j.js";
2
2
  import { useMakeEvmTransfer as T } from "./useMakeEvmTransfer.js";
3
3
  import { useMakeSolanaTransfer as M } from "./useMakeSolanaTransfer.js";
4
4
  import { useTokenInputPair as c } from "./useTokenInputPair.js";
@@ -1,5 +1,5 @@
1
1
  import "react";
2
- import { e as s } from "../config-DJObWR7Z.js";
2
+ import { e as s } from "../config-CgCb5P7j.js";
3
3
  export {
4
4
  s as useAllTokens
5
5
  };
@@ -1,5 +1,5 @@
1
1
  import "react";
2
- import { d as p } from "../config-DJObWR7Z.js";
2
+ import { d as p } from "../config-CgCb5P7j.js";
3
3
  import "../constants/chains.js";
4
4
  export {
5
5
  p as useChains
@@ -1,7 +1,7 @@
1
1
  import { useState as f } from "react";
2
2
  import { B as l } from "../index-DEq3oXQF.js";
3
3
  import { verifyWalletSignature as N, walletVerificationMessageFactory as p } from "../utils/intents/walletCompatibilityVerification.js";
4
- import { y, w as o } from "../config-DJObWR7Z.js";
4
+ import { y, w as o } from "../config-CgCb5P7j.js";
5
5
  import { notReachable as A } from "../utils/notReachable.js";
6
6
  import { getIntentsAccountId as S } from "../utils/intents/getIntentsAccountId.js";
7
7
  import { localStorageTyped as u } from "../utils/localstorage.js";
@@ -1,5 +1,5 @@
1
1
  import "react";
2
- import { a7 as r } from "../config-DJObWR7Z.js";
2
+ import { a7 as r } from "../config-CgCb5P7j.js";
3
3
  export {
4
4
  r as useDefaultToken
5
5
  };
@@ -5,7 +5,7 @@ import "ethers";
5
5
  import "../../utils/cn.js";
6
6
  import { notReachable as l } from "../../utils/notReachable.js";
7
7
  import { useOneClickExternalDepositStatus as p } from "./useOneClickExternalDepositStatus.js";
8
- import { b as c, u as m, A as S, v as f } from "../../config-DJObWR7Z.js";
8
+ import { b as c, u as m, A as S, v as f } from "../../config-CgCb5P7j.js";
9
9
  import { WNEAR_ASSET_ID as D } from "../../constants/tokens.js";
10
10
  import { guardStates as h } from "../../machine/guards/index.js";
11
11
  import "../../machine/machine.js";