@daimo/pay 1.16.5 → 1.16.6

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 (36) hide show
  1. package/build/index.d.ts +5 -1
  2. package/build/package.json.js +2 -2
  3. package/build/src/assets/logos.js +76 -2
  4. package/build/src/assets/logos.js.map +1 -1
  5. package/build/src/components/Common/ConnectorList/index.js +11 -2
  6. package/build/src/components/Common/ConnectorList/index.js.map +1 -1
  7. package/build/src/components/Common/Modal/index.js +1 -1
  8. package/build/src/components/Common/Modal/index.js.map +1 -1
  9. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js +3 -2
  10. package/build/src/components/DaimoPayModal/ConnectWithQRCode.js.map +1 -1
  11. package/build/src/components/Pages/Connectors/index.js +0 -2
  12. package/build/src/components/Pages/Connectors/index.js.map +1 -1
  13. package/build/src/components/Pages/MobileConnectors/index.js +20 -2
  14. package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
  15. package/build/src/components/Pages/SelectWalletAmount/index.js +4 -2
  16. package/build/src/components/Pages/SelectWalletAmount/index.js.map +1 -1
  17. package/build/src/defaultConfig.js +3 -1
  18. package/build/src/defaultConfig.js.map +1 -1
  19. package/build/src/defaultConnectors.js +6 -0
  20. package/build/src/defaultConnectors.js.map +1 -1
  21. package/build/src/hooks/usePaymentState.js +6 -4
  22. package/build/src/hooks/usePaymentState.js.map +1 -1
  23. package/build/src/localizations/locales/en-US.js +1 -1
  24. package/build/src/localizations/locales/en-US.js.map +1 -1
  25. package/build/src/localizations/locales/es-ES.js +1 -1
  26. package/build/src/localizations/locales/es-ES.js.map +1 -1
  27. package/build/src/utils/index.js +2 -1
  28. package/build/src/utils/index.js.map +1 -1
  29. package/build/src/wallets/useWallets.js +15 -9
  30. package/build/src/wallets/useWallets.js.map +1 -1
  31. package/build/src/wallets/walletConfigs.js +25 -2
  32. package/build/src/wallets/walletConfigs.js.map +1 -1
  33. package/build/src/world-mini-app/WorldPayButton.js +7 -0
  34. package/build/src/world-mini-app/WorldPayButton.js.map +1 -1
  35. package/build/world.d.ts +2 -0
  36. package/package.json +2 -2
@@ -1,8 +1,8 @@
1
- import { ethereum, getOrderDestChainId, isCCTPV1Chain, readDaimoPayOrderID, assert, debugJson, assertNotNull, writeDaimoPayOrderID } from '@daimo/pay-common';
1
+ import { ethereum, getOrderDestChainId, isCCTPV1Chain, readDaimoPayOrderID, assert, debugJson, isNativeToken, assertNotNull, writeDaimoPayOrderID } from '@daimo/pay-common';
2
2
  import { useWallet, useConnection } from '@solana/wallet-adapter-react';
3
3
  import { VersionedTransaction } from '@solana/web3.js';
4
4
  import { useState, useEffect, useCallback } from 'react';
5
- import { zeroAddress, erc20Abi, getAddress, isHex, hexToBytes } from 'viem';
5
+ import { getAddress, erc20Abi, isHex, hexToBytes } from 'viem';
6
6
  import { useAccount, useEnsName, useSendTransaction, useWriteContract } from 'wagmi';
7
7
  import { ROUTES } from '../constants/routes.js';
8
8
  import { detectPlatform } from '../utils/platform.js';
@@ -122,7 +122,7 @@ function usePaymentState({
122
122
  const paymentTxHash = await (async () => {
123
123
  const dest = walletOption.passthroughAddress ?? hydratedOrder.intentAddr;
124
124
  try {
125
- if (required.token.token === zeroAddress) {
125
+ if (isNativeToken(getAddress(required.token.token))) {
126
126
  return await sendTransactionAsync({
127
127
  to: dest,
128
128
  value: paymentAmount
@@ -329,7 +329,9 @@ function usePaymentState({
329
329
  },
330
330
  [setRoute, pay, currPayParams]
331
331
  );
332
- const [tokenMode, setTokenMode] = useState("evm");
332
+ const [tokenMode, setTokenMode] = useState(
333
+ "evm"
334
+ );
333
335
  return {
334
336
  buttonProps,
335
337
  setButtonProps,
@@ -1 +1 @@
1
- {"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":["import {\n assert,\n assertNotNull,\n DaimoPayHydratedOrderWithOrg,\n debugJson,\n DepositAddressPaymentOptionData,\n DepositAddressPaymentOptionMetadata,\n DepositAddressPaymentOptions,\n ethereum,\n ExternalPaymentOptionMetadata,\n ExternalPaymentOptions,\n getOrderDestChainId,\n isCCTPV1Chain,\n PlatformType,\n readDaimoPayOrderID,\n SolanaPublicKey,\n WalletPaymentOption,\n writeDaimoPayOrderID,\n} from \"@daimo/pay-common\";\nimport { useConnection, useWallet } from \"@solana/wallet-adapter-react\";\nimport { VersionedTransaction } from \"@solana/web3.js\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport {\n erc20Abi,\n getAddress,\n Hex,\n hexToBytes,\n isHex,\n zeroAddress,\n} from \"viem\";\nimport {\n useAccount,\n useEnsName,\n useSendTransaction,\n useWriteContract,\n} from \"wagmi\";\n\nimport { PayButtonPaymentProps } from \"../components/DaimoPayButton\";\nimport { ROUTES } from \"../constants/routes\";\nimport { PayParams } from \"../payment/paymentFsm\";\nimport { detectPlatform } from \"../utils/platform\";\nimport { TrpcClient } from \"../utils/trpc\";\nimport { WalletConfigProps } from \"../wallets/walletConfigs\";\nimport { useDaimoPay } from \"./useDaimoPay\";\nimport { useDepositAddressOptions } from \"./useDepositAddressOptions\";\nimport { useExternalPaymentOptions } from \"./useExternalPaymentOptions\";\nimport useIsMobile from \"./useIsMobile\";\nimport { useOrderUsdLimits } from \"./useOrderUsdLimits\";\nimport { useSolanaPaymentOptions } from \"./useSolanaPaymentOptions\";\nimport { useUntronAvailability } from \"./useUntronAvailability\";\nimport { useWalletPaymentOptions } from \"./useWalletPaymentOptions\";\n\n/** Wallet payment details, sent to processSourcePayment after submitting tx. */\nexport type SourcePayment = Parameters<\n TrpcClient[\"processSourcePayment\"][\"mutate\"]\n>[0];\n\n/** Creates (or loads) a payment and manages the corresponding modal. */\nexport interface PaymentState {\n generatePreviewOrder: () => void;\n resetOrder: (payParams?: Partial<PayParams>) => Promise<void>;\n\n /// DaimoPayButton props\n buttonProps: PayButtonPaymentProps | undefined;\n setButtonProps: (props: PayButtonPaymentProps | undefined) => void;\n\n /// Pay ID for loading an existing order\n setPayId: (id: string | undefined) => void;\n /// Pay params for creating an order on the fly,\n setPayParams: (payParams: PayParams | undefined) => Promise<void>;\n\n /// True if the user is entering an amount (deposit) vs preset (checkout).\n isDepositFlow: boolean;\n paymentWaitingMessage: string | undefined;\n /// External payment options, loaded from server and filtered by EITHER\n /// 1. the DaimoPayButton paymentOptions, or 2. those of daimoPayOrder\n externalPaymentOptions: ReturnType<typeof useExternalPaymentOptions>;\n selectedWallet: WalletConfigProps | undefined;\n selectedWalletDeepLink: string | undefined;\n showSolanaPaymentMethod: boolean;\n walletPaymentOptions: ReturnType<typeof useWalletPaymentOptions>;\n solanaPaymentOptions: ReturnType<typeof useSolanaPaymentOptions>;\n depositAddressOptions: ReturnType<typeof useDepositAddressOptions>;\n /** Whether Untron receivers are currently available. `null` when unknown. */\n untronAvailable: boolean | null;\n selectedExternalOption: ExternalPaymentOptionMetadata | undefined;\n selectedTokenOption: WalletPaymentOption | undefined;\n selectedSolanaTokenOption: WalletPaymentOption | undefined;\n selectedDepositAddressOption: DepositAddressPaymentOptionMetadata | undefined;\n getOrderUsdLimit: () => number;\n setPaymentWaitingMessage: (message: string | undefined) => void;\n tokenMode: \"evm\" | \"solana\" | \"showCoin\";\n setTokenMode: (mode: \"evm\" | \"solana\" | \"showCoin\") => void;\n setSelectedWallet: (wallet: WalletConfigProps | undefined) => void;\n setSelectedWalletDeepLink: (deepLink: string | undefined) => void;\n setSelectedExternalOption: (\n option: ExternalPaymentOptionMetadata | undefined,\n ) => void;\n setSelectedTokenOption: (option: WalletPaymentOption | undefined) => void;\n setSelectedSolanaTokenOption: (\n option: WalletPaymentOption | undefined,\n ) => void;\n setSelectedDepositAddressOption: (\n option: DepositAddressPaymentOptionMetadata | undefined,\n ) => void;\n setChosenUsd: (usd: number) => void;\n payWithToken: (\n walletOption: WalletPaymentOption,\n ) => Promise<{ txHash?: Hex; success: boolean }>;\n payWithExternal: (option: ExternalPaymentOptions) => Promise<string>;\n payWithDepositAddress: (\n option: DepositAddressPaymentOptions,\n ) => Promise<DepositAddressPaymentOptionData | null>;\n payWithSolanaToken: (\n inputToken: SolanaPublicKey,\n ) => Promise<{ txHash: string; success: boolean }>;\n openInWalletBrowser: (wallet: WalletConfigProps, amountUsd?: number) => void;\n senderEnsName: string | undefined;\n}\n\nexport function usePaymentState({\n trpc,\n lockPayParams,\n setRoute,\n log,\n redirectReturnUrl,\n}: {\n trpc: TrpcClient;\n lockPayParams: boolean;\n setRoute: (route: ROUTES, data?: Record<string, any>) => void;\n log: (...args: any[]) => void;\n redirectReturnUrl?: string;\n}): PaymentState {\n const pay = useDaimoPay();\n\n // Browser state.\n const [platform, setPlatform] = useState<PlatformType>();\n useEffect(() => {\n setPlatform(detectPlatform(window.navigator.userAgent));\n }, []);\n\n // Wallet state.\n const { address: ethWalletAddress } = useAccount();\n const { data: senderEnsName } = useEnsName({\n chainId: ethereum.chainId,\n address: ethWalletAddress,\n });\n const { sendTransactionAsync } = useSendTransaction();\n const { writeContractAsync } = useWriteContract();\n\n // Solana wallet state.\n const solanaWallet = useWallet();\n const { connection } = useConnection();\n const solanaPubKey = solanaWallet.publicKey?.toBase58();\n\n // Solana bridging is only supported on CCTPv1 chains.\n const destChainId = pay.order == null ? null : getOrderDestChainId(pay.order);\n const showSolanaPaymentMethod =\n destChainId != null && isCCTPV1Chain(destChainId);\n\n // From DaimoPayButton props\n const [buttonProps, setButtonProps] = useState<PayButtonPaymentProps>();\n const [currPayParams, setCurrPayParams] = useState<PayParams>();\n\n const [paymentWaitingMessage, setPaymentWaitingMessage] = useState<string>();\n const [isDepositFlow, setIsDepositFlow] = useState<boolean>(false);\n\n // UI state. Selection for external payment (Binance, etc) vs wallet payment.\n const externalPaymentOptions = useExternalPaymentOptions({\n trpc,\n // allow <DaimoPayButton payId={...} paymentOptions={override} />\n filterIds:\n buttonProps?.paymentOptions ?? pay.order?.metadata.payer?.paymentOptions,\n platform,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n mode: pay.order?.mode,\n });\n const walletPaymentOptions = useWalletPaymentOptions({\n trpc,\n address: ethWalletAddress,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n destChainId: pay.order?.destFinalCallTokenAmount.token.chainId,\n destAddress: pay.order?.destFinalCall.to,\n preferredChains: pay.order?.metadata.payer?.preferredChains,\n preferredTokens: pay.order?.metadata.payer?.preferredTokens,\n evmChains: pay.order?.metadata.payer?.evmChains,\n passthroughTokens: pay.order?.metadata.payer?.passthroughTokens,\n isDepositFlow,\n log,\n });\n const solanaPaymentOptions = useSolanaPaymentOptions({\n trpc,\n address: solanaPubKey,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n isDepositFlow,\n showSolanaPaymentMethod,\n });\n const depositAddressOptions = useDepositAddressOptions({\n trpc,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n mode: pay.order?.mode,\n });\n\n // Poll for Untron receiver availability so components can disable unsupported chains promptly.\n const { available: untronAvailable } = useUntronAvailability({ trpc });\n\n const chainOrderUsdLimits = useOrderUsdLimits({ trpc });\n\n const [selectedExternalOption, setSelectedExternalOption] =\n useState<ExternalPaymentOptionMetadata>();\n\n const [selectedTokenOption, setSelectedTokenOption] =\n useState<WalletPaymentOption>();\n\n const [selectedSolanaTokenOption, setSelectedSolanaTokenOption] =\n useState<WalletPaymentOption>();\n\n const [selectedDepositAddressOption, setSelectedDepositAddressOption] =\n useState<DepositAddressPaymentOptionMetadata>();\n\n const [selectedWallet, setSelectedWallet] = useState<WalletConfigProps>();\n const [selectedWalletDeepLink, setSelectedWalletDeepLink] =\n useState<string>();\n\n const getOrderUsdLimit = () => {\n const DEFAULT_USD_LIMIT = 20000;\n if (pay.order == null || chainOrderUsdLimits.loading) {\n return DEFAULT_USD_LIMIT;\n }\n const destChainId = pay.order.destFinalCallTokenAmount.token.chainId;\n return destChainId in chainOrderUsdLimits.limits\n ? chainOrderUsdLimits.limits[destChainId]\n : DEFAULT_USD_LIMIT;\n };\n\n /** Commit to a token + amount = initiate payment. */\n const payWithToken = async (\n walletOption: WalletPaymentOption,\n ): Promise<{ txHash?: Hex; success: boolean }> => {\n assert(\n ethWalletAddress != null,\n `[PAY TOKEN] null ethWalletAddress when paying on ethereum`,\n );\n assert(\n pay.paymentState === \"preview\" ||\n pay.paymentState === \"unhydrated\" ||\n pay.paymentState === \"payment_unpaid\",\n `[PAY TOKEN] paymentState is ${pay.paymentState}, must be preview or unhydrated or payment_unpaid`,\n );\n\n let hydratedOrder: DaimoPayHydratedOrderWithOrg;\n const { required, fees } = walletOption;\n const paymentAmount = BigInt(required.amount) + BigInt(fees.amount);\n if (pay.paymentState !== \"payment_unpaid\") {\n assert(\n required.token.token === fees.token.token,\n `[PAY TOKEN] required token ${debugJson(required)} does not match fees token ${debugJson(fees)}`,\n );\n\n // Will refund to ethWalletAddress if refundAddress was not set in payParams\n const res = await pay.hydrateOrder(ethWalletAddress);\n hydratedOrder = res.order;\n\n log(\n `[PAY TOKEN] hydrated order: ${debugJson(\n hydratedOrder,\n )}, paying ${paymentAmount} of token ${required.token.token}`,\n );\n } else {\n hydratedOrder = pay.order;\n }\n\n const paymentTxHash = await (async () => {\n const dest = walletOption.passthroughAddress ?? hydratedOrder.intentAddr;\n try {\n if (required.token.token === zeroAddress) {\n return await sendTransactionAsync({\n to: dest,\n value: paymentAmount,\n });\n } else {\n return await writeContractAsync({\n abi: erc20Abi,\n address: getAddress(required.token.token),\n functionName: \"transfer\",\n args: [dest, paymentAmount],\n });\n }\n } catch (e) {\n console.error(`[PAY TOKEN] error sending token: ${e}`);\n throw e;\n }\n })();\n\n // Special case. Handle Rabby bug, where it returns the *Safe signature*\n // instead of a txHash for a queued, unsubmitted Safe transaction.\n if (!isHex(paymentTxHash) || paymentTxHash.length !== 66) {\n log(\n `[PAY TOKEN] wallet bug detected. ignoring invalid payment txHash: ${paymentTxHash}`,\n );\n return { success: true };\n }\n\n try {\n await pay.payEthSource({\n paymentTxHash,\n sourceChainId: required.token.chainId,\n payerAddress: ethWalletAddress,\n sourceToken: getAddress(required.token.token),\n sourceAmount: paymentAmount,\n });\n return { txHash: paymentTxHash, success: true };\n } catch {\n console.error(\n `[PAY TOKEN] could not verify payment tx on chain: ${paymentTxHash}`,\n );\n return { txHash: paymentTxHash, success: false };\n }\n };\n\n const payWithSolanaToken = async (\n inputToken: SolanaPublicKey,\n ): Promise<{ txHash: string; success: boolean }> => {\n const payerPublicKey = solanaWallet.publicKey;\n assert(\n payerPublicKey != null,\n \"[PAY SOLANA] null payerPublicKey when paying on solana\",\n );\n assert(\n pay.order?.id != null,\n \"[PAY SOLANA] null orderId when paying on solana\",\n );\n assert(\n pay.paymentState === \"preview\" ||\n pay.paymentState === \"unhydrated\" ||\n pay.paymentState === \"payment_unpaid\",\n `[PAY SOLANA] paymentState is ${pay.paymentState}, must be preview or unhydrated or payment_unpaid`,\n );\n\n let hydratedOrder: DaimoPayHydratedOrderWithOrg;\n if (pay.paymentState !== \"payment_unpaid\") {\n const res = await pay.hydrateOrder();\n hydratedOrder = res.order;\n\n log(\n `[PAY SOLANA] Hydrated order: ${JSON.stringify(\n hydratedOrder,\n )}, checking out with Solana ${inputToken}`,\n );\n } else {\n hydratedOrder = pay.order;\n }\n\n const paymentTxHash = await (async () => {\n try {\n const serializedTx = await trpc.getSolanaSwapAndBurnTx.query({\n orderId: pay.order.id.toString(),\n userPublicKey: assertNotNull(\n payerPublicKey,\n \"[PAY SOLANA] wallet.publicKey cannot be null\",\n ).toString(),\n inputTokenMint: inputToken,\n });\n const tx = VersionedTransaction.deserialize(hexToBytes(serializedTx));\n const txHash = await solanaWallet.sendTransaction(tx, connection);\n return txHash;\n } catch (e) {\n console.error(e);\n throw e;\n }\n })();\n\n try {\n await pay.paySolanaSource({\n paymentTxHash: paymentTxHash,\n sourceToken: inputToken,\n });\n return { txHash: paymentTxHash, success: true };\n } catch {\n console.error(\n `[PAY SOLANA] could not verify payment tx on chain: ${paymentTxHash}`,\n );\n return { txHash: paymentTxHash, success: false };\n }\n };\n\n const payWithExternal = async (option: ExternalPaymentOptions) => {\n assert(pay.order != null, \"[PAY EXTERNAL] order cannot be null\");\n assert(platform != null, \"[PAY EXTERNAL] platform cannot be null\");\n\n const { order } = await pay.hydrateOrder();\n const externalPaymentOptionData =\n await trpc.getExternalPaymentOptionData.query({\n id: order.id.toString(),\n externalPaymentOption: option,\n platform,\n redirectReturnUrl,\n });\n assert(\n externalPaymentOptionData != null,\n \"[PAY EXTERNAL] missing externalPaymentOptionData\",\n );\n\n log(\n `[PAY EXTERNAL] hydrated order: ${debugJson(\n order,\n )}, checking out with external payment: ${option}`,\n );\n\n setPaymentWaitingMessage(externalPaymentOptionData.waitingMessage);\n\n return externalPaymentOptionData.url;\n };\n\n const payWithDepositAddress = async (\n option: DepositAddressPaymentOptions,\n ) => {\n const { order } = await pay.hydrateOrder();\n\n log(\n `[PAY DEPOSIT ADDRESS] hydrated order ${order.id} for ${order.usdValue} USD, checking out with deposit address: ${option}`,\n );\n\n const result = await trpc.getDepositAddressForOrder.query({\n orderId: order.id.toString(),\n option,\n });\n\n return \"error\" in result ? null : result;\n };\n\n const { isIOS } = useIsMobile();\n\n const openInWalletBrowser = (\n wallet: WalletConfigProps,\n amountUsd?: number,\n ) => {\n const paymentState = pay.paymentState;\n assert(\n paymentState === \"payment_unpaid\",\n `[OPEN IN WALLET BROWSER] paymentState is ${paymentState}, must be payment_unpaid`,\n );\n assert(\n wallet.getDaimoPayDeeplink != null,\n `openInWalletBrowser: missing deeplink for ${wallet.name}`,\n );\n\n const payId = writeDaimoPayOrderID(pay.order.id);\n const deeplink = wallet.getDaimoPayDeeplink(payId);\n // If we are in IOS, we don't open the deeplink in a new window, because it\n // will not work, the link will be opened in the page WAITING_WALLET\n if (!isIOS) {\n window.open(deeplink, \"_blank\");\n }\n setSelectedWallet(wallet);\n setSelectedWalletDeepLink(deeplink);\n setRoute(ROUTES.WAITING_WALLET, {\n amountUsd,\n payId,\n wallet_name: wallet.name,\n });\n };\n\n /** User picked a different deposit amount. */\n const setChosenUsd = (usd: number) => {\n assert(\n pay.paymentState === \"preview\",\n \"[SET CHOSEN USD] paymentState is not preview\",\n );\n\n // Too expensive to make an API call to regenerate preview order each time\n // the user changes the amount. Instead, we modify the order in memory.\n pay.setChosenUsd(usd);\n };\n\n const setPayId = useCallback(\n async (payId: string | undefined) => {\n if (lockPayParams || payId == null) return;\n const id = readDaimoPayOrderID(payId).toString();\n\n if (pay.order?.id && BigInt(id) == pay.order.id) {\n // Already loaded, ignore.\n return;\n }\n\n pay.reset();\n pay.setPayId(payId);\n },\n [lockPayParams, pay],\n );\n\n /** Called whenever params change. */\n const setPayParams = async (payParams: PayParams | undefined) => {\n if (lockPayParams) return;\n assert(payParams != null, \"[SET PAY PARAMS] payParams cannot be null\");\n\n log(\"[SET PAY PARAMS] setting payParams\", payParams);\n pay.reset();\n await pay.createPreviewOrder(payParams);\n setCurrPayParams(payParams);\n setIsDepositFlow(payParams.toUnits == null);\n };\n\n const generatePreviewOrder = async () => {\n pay.reset();\n if (currPayParams == null) return;\n await pay.createPreviewOrder(currPayParams);\n };\n\n const resetOrder = useCallback(\n async (payParams?: Partial<PayParams>) => {\n const mergedPayParams: PayParams | undefined =\n payParams != null && currPayParams != null\n ? { ...currPayParams, ...payParams }\n : currPayParams;\n\n // Clear the old order & state\n pay.reset();\n setSelectedExternalOption(undefined);\n setSelectedTokenOption(undefined);\n setSelectedSolanaTokenOption(undefined);\n setSelectedDepositAddressOption(undefined);\n setSelectedWallet(undefined);\n setSelectedWalletDeepLink(undefined);\n setPaymentWaitingMessage(undefined);\n\n // Set the new payParams\n if (mergedPayParams) {\n await pay.createPreviewOrder(mergedPayParams);\n setCurrPayParams(mergedPayParams);\n setIsDepositFlow(mergedPayParams.toUnits == null);\n }\n\n setRoute(ROUTES.SELECT_METHOD);\n },\n [setRoute, pay, currPayParams],\n );\n\n const [tokenMode, setTokenMode] = useState<\"evm\" | \"solana\" | \"all\">(\"evm\");\n\n return {\n buttonProps,\n setButtonProps,\n setPayId,\n setPayParams,\n tokenMode,\n setTokenMode,\n generatePreviewOrder,\n isDepositFlow,\n paymentWaitingMessage,\n selectedExternalOption,\n selectedTokenOption,\n selectedSolanaTokenOption,\n externalPaymentOptions,\n showSolanaPaymentMethod,\n selectedWallet,\n selectedWalletDeepLink,\n walletPaymentOptions,\n solanaPaymentOptions,\n depositAddressOptions,\n selectedDepositAddressOption,\n getOrderUsdLimit,\n resetOrder,\n setSelectedWallet,\n setSelectedWalletDeepLink,\n setPaymentWaitingMessage,\n setSelectedExternalOption,\n setSelectedTokenOption,\n setSelectedSolanaTokenOption,\n setSelectedDepositAddressOption,\n setChosenUsd,\n payWithToken,\n payWithExternal,\n payWithDepositAddress,\n payWithSolanaToken,\n openInWalletBrowser,\n senderEnsName: senderEnsName ?? undefined,\n untronAvailable,\n };\n}\n"],"names":["destChainId"],"mappings":"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"}
1
+ {"version":3,"file":"usePaymentState.js","sources":["../../../src/hooks/usePaymentState.ts"],"sourcesContent":["import {\n assert,\n assertNotNull,\n DaimoPayHydratedOrderWithOrg,\n debugJson,\n DepositAddressPaymentOptionData,\n DepositAddressPaymentOptionMetadata,\n DepositAddressPaymentOptions,\n ethereum,\n ExternalPaymentOptionMetadata,\n ExternalPaymentOptions,\n getOrderDestChainId,\n isCCTPV1Chain,\n isNativeToken,\n PlatformType,\n readDaimoPayOrderID,\n SolanaPublicKey,\n WalletPaymentOption,\n writeDaimoPayOrderID,\n} from \"@daimo/pay-common\";\nimport { useConnection, useWallet } from \"@solana/wallet-adapter-react\";\nimport { VersionedTransaction } from \"@solana/web3.js\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { erc20Abi, getAddress, Hex, hexToBytes, isHex } from \"viem\";\nimport {\n useAccount,\n useEnsName,\n useSendTransaction,\n useWriteContract,\n} from \"wagmi\";\n\nimport { PayButtonPaymentProps } from \"../components/DaimoPayButton\";\nimport { ROUTES } from \"../constants/routes\";\nimport { PayParams } from \"../payment/paymentFsm\";\nimport { detectPlatform } from \"../utils/platform\";\nimport { TrpcClient } from \"../utils/trpc\";\nimport { WalletConfigProps } from \"../wallets/walletConfigs\";\nimport { useDaimoPay } from \"./useDaimoPay\";\nimport { useDepositAddressOptions } from \"./useDepositAddressOptions\";\nimport { useExternalPaymentOptions } from \"./useExternalPaymentOptions\";\nimport useIsMobile from \"./useIsMobile\";\nimport { useOrderUsdLimits } from \"./useOrderUsdLimits\";\nimport { useSolanaPaymentOptions } from \"./useSolanaPaymentOptions\";\nimport { useUntronAvailability } from \"./useUntronAvailability\";\nimport { useWalletPaymentOptions } from \"./useWalletPaymentOptions\";\n\n/** Wallet payment details, sent to processSourcePayment after submitting tx. */\nexport type SourcePayment = Parameters<\n TrpcClient[\"processSourcePayment\"][\"mutate\"]\n>[0];\n\n/** Creates (or loads) a payment and manages the corresponding modal. */\nexport interface PaymentState {\n generatePreviewOrder: () => void;\n resetOrder: (payParams?: Partial<PayParams>) => Promise<void>;\n\n /// DaimoPayButton props\n buttonProps: PayButtonPaymentProps | undefined;\n setButtonProps: (props: PayButtonPaymentProps | undefined) => void;\n\n /// Pay ID for loading an existing order\n setPayId: (id: string | undefined) => void;\n /// Pay params for creating an order on the fly,\n setPayParams: (payParams: PayParams | undefined) => Promise<void>;\n\n /// True if the user is entering an amount (deposit) vs preset (checkout).\n isDepositFlow: boolean;\n paymentWaitingMessage: string | undefined;\n /// External payment options, loaded from server and filtered by EITHER\n /// 1. the DaimoPayButton paymentOptions, or 2. those of daimoPayOrder\n externalPaymentOptions: ReturnType<typeof useExternalPaymentOptions>;\n selectedWallet: WalletConfigProps | undefined;\n selectedWalletDeepLink: string | undefined;\n showSolanaPaymentMethod: boolean;\n walletPaymentOptions: ReturnType<typeof useWalletPaymentOptions>;\n solanaPaymentOptions: ReturnType<typeof useSolanaPaymentOptions>;\n depositAddressOptions: ReturnType<typeof useDepositAddressOptions>;\n /** Whether Untron receivers are currently available. `null` when unknown. */\n untronAvailable: boolean | null;\n selectedExternalOption: ExternalPaymentOptionMetadata | undefined;\n selectedTokenOption: WalletPaymentOption | undefined;\n selectedSolanaTokenOption: WalletPaymentOption | undefined;\n selectedDepositAddressOption: DepositAddressPaymentOptionMetadata | undefined;\n getOrderUsdLimit: () => number;\n setPaymentWaitingMessage: (message: string | undefined) => void;\n tokenMode: \"evm\" | \"solana\" | \"showCoin\";\n setTokenMode: (mode: \"evm\" | \"solana\" | \"showCoin\") => void;\n setSelectedWallet: (wallet: WalletConfigProps | undefined) => void;\n setSelectedWalletDeepLink: (deepLink: string | undefined) => void;\n setSelectedExternalOption: (\n option: ExternalPaymentOptionMetadata | undefined,\n ) => void;\n setSelectedTokenOption: (option: WalletPaymentOption | undefined) => void;\n setSelectedSolanaTokenOption: (\n option: WalletPaymentOption | undefined,\n ) => void;\n setSelectedDepositAddressOption: (\n option: DepositAddressPaymentOptionMetadata | undefined,\n ) => void;\n setChosenUsd: (usd: number) => void;\n payWithToken: (\n walletOption: WalletPaymentOption,\n ) => Promise<{ txHash?: Hex; success: boolean }>;\n payWithExternal: (option: ExternalPaymentOptions) => Promise<string>;\n payWithDepositAddress: (\n option: DepositAddressPaymentOptions,\n ) => Promise<DepositAddressPaymentOptionData | null>;\n payWithSolanaToken: (\n inputToken: SolanaPublicKey,\n ) => Promise<{ txHash: string; success: boolean }>;\n openInWalletBrowser: (wallet: WalletConfigProps, amountUsd?: number) => void;\n senderEnsName: string | undefined;\n}\n\nexport function usePaymentState({\n trpc,\n lockPayParams,\n setRoute,\n log,\n redirectReturnUrl,\n}: {\n trpc: TrpcClient;\n lockPayParams: boolean;\n setRoute: (route: ROUTES, data?: Record<string, any>) => void;\n log: (...args: any[]) => void;\n redirectReturnUrl?: string;\n}): PaymentState {\n const pay = useDaimoPay();\n\n // Browser state.\n const [platform, setPlatform] = useState<PlatformType>();\n useEffect(() => {\n setPlatform(detectPlatform(window.navigator.userAgent));\n }, []);\n\n // Wallet state.\n const { address: ethWalletAddress } = useAccount();\n const { data: senderEnsName } = useEnsName({\n chainId: ethereum.chainId,\n address: ethWalletAddress,\n });\n const { sendTransactionAsync } = useSendTransaction();\n const { writeContractAsync } = useWriteContract();\n\n // Solana wallet state.\n const solanaWallet = useWallet();\n const { connection } = useConnection();\n const solanaPubKey = solanaWallet.publicKey?.toBase58();\n\n // Solana bridging is only supported on CCTPv1 chains.\n const destChainId = pay.order == null ? null : getOrderDestChainId(pay.order);\n const showSolanaPaymentMethod =\n destChainId != null && isCCTPV1Chain(destChainId);\n\n // From DaimoPayButton props\n const [buttonProps, setButtonProps] = useState<PayButtonPaymentProps>();\n const [currPayParams, setCurrPayParams] = useState<PayParams>();\n\n const [paymentWaitingMessage, setPaymentWaitingMessage] = useState<string>();\n const [isDepositFlow, setIsDepositFlow] = useState<boolean>(false);\n\n // UI state. Selection for external payment (Binance, etc) vs wallet payment.\n const externalPaymentOptions = useExternalPaymentOptions({\n trpc,\n // allow <DaimoPayButton payId={...} paymentOptions={override} />\n filterIds:\n buttonProps?.paymentOptions ?? pay.order?.metadata.payer?.paymentOptions,\n platform,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n mode: pay.order?.mode,\n });\n const walletPaymentOptions = useWalletPaymentOptions({\n trpc,\n address: ethWalletAddress,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n destChainId: pay.order?.destFinalCallTokenAmount.token.chainId,\n destAddress: pay.order?.destFinalCall.to,\n preferredChains: pay.order?.metadata.payer?.preferredChains,\n preferredTokens: pay.order?.metadata.payer?.preferredTokens,\n evmChains: pay.order?.metadata.payer?.evmChains,\n passthroughTokens: pay.order?.metadata.payer?.passthroughTokens,\n isDepositFlow,\n log,\n });\n const solanaPaymentOptions = useSolanaPaymentOptions({\n trpc,\n address: solanaPubKey,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n isDepositFlow,\n showSolanaPaymentMethod,\n });\n const depositAddressOptions = useDepositAddressOptions({\n trpc,\n usdRequired: pay.order?.destFinalCallTokenAmount.usd,\n mode: pay.order?.mode,\n });\n\n // Poll for Untron receiver availability so components can disable unsupported chains promptly.\n const { available: untronAvailable } = useUntronAvailability({ trpc });\n\n const chainOrderUsdLimits = useOrderUsdLimits({ trpc });\n\n const [selectedExternalOption, setSelectedExternalOption] =\n useState<ExternalPaymentOptionMetadata>();\n\n const [selectedTokenOption, setSelectedTokenOption] =\n useState<WalletPaymentOption>();\n\n const [selectedSolanaTokenOption, setSelectedSolanaTokenOption] =\n useState<WalletPaymentOption>();\n\n const [selectedDepositAddressOption, setSelectedDepositAddressOption] =\n useState<DepositAddressPaymentOptionMetadata>();\n\n const [selectedWallet, setSelectedWallet] = useState<WalletConfigProps>();\n const [selectedWalletDeepLink, setSelectedWalletDeepLink] =\n useState<string>();\n\n const getOrderUsdLimit = () => {\n const DEFAULT_USD_LIMIT = 20000;\n if (pay.order == null || chainOrderUsdLimits.loading) {\n return DEFAULT_USD_LIMIT;\n }\n const destChainId = pay.order.destFinalCallTokenAmount.token.chainId;\n return destChainId in chainOrderUsdLimits.limits\n ? chainOrderUsdLimits.limits[destChainId]\n : DEFAULT_USD_LIMIT;\n };\n\n /** Commit to a token + amount = initiate payment. */\n const payWithToken = async (\n walletOption: WalletPaymentOption,\n ): Promise<{ txHash?: Hex; success: boolean }> => {\n assert(\n ethWalletAddress != null,\n `[PAY TOKEN] null ethWalletAddress when paying on ethereum`,\n );\n assert(\n pay.paymentState === \"preview\" ||\n pay.paymentState === \"unhydrated\" ||\n pay.paymentState === \"payment_unpaid\",\n `[PAY TOKEN] paymentState is ${pay.paymentState}, must be preview or unhydrated or payment_unpaid`,\n );\n\n let hydratedOrder: DaimoPayHydratedOrderWithOrg;\n const { required, fees } = walletOption;\n const paymentAmount = BigInt(required.amount) + BigInt(fees.amount);\n if (pay.paymentState !== \"payment_unpaid\") {\n assert(\n required.token.token === fees.token.token,\n `[PAY TOKEN] required token ${debugJson(required)} does not match fees token ${debugJson(fees)}`,\n );\n\n // Will refund to ethWalletAddress if refundAddress was not set in payParams\n const res = await pay.hydrateOrder(ethWalletAddress);\n hydratedOrder = res.order;\n\n log(\n `[PAY TOKEN] hydrated order: ${debugJson(\n hydratedOrder,\n )}, paying ${paymentAmount} of token ${required.token.token}`,\n );\n } else {\n hydratedOrder = pay.order;\n }\n\n const paymentTxHash = await (async () => {\n const dest = walletOption.passthroughAddress ?? hydratedOrder.intentAddr;\n try {\n if (isNativeToken(getAddress(required.token.token))) {\n return await sendTransactionAsync({\n to: dest,\n value: paymentAmount,\n });\n } else {\n return await writeContractAsync({\n abi: erc20Abi,\n address: getAddress(required.token.token),\n functionName: \"transfer\",\n args: [dest, paymentAmount],\n });\n }\n } catch (e) {\n console.error(`[PAY TOKEN] error sending token: ${e}`);\n throw e;\n }\n })();\n\n // Special case. Handle Rabby bug, where it returns the *Safe signature*\n // instead of a txHash for a queued, unsubmitted Safe transaction.\n if (!isHex(paymentTxHash) || paymentTxHash.length !== 66) {\n log(\n `[PAY TOKEN] wallet bug detected. ignoring invalid payment txHash: ${paymentTxHash}`,\n );\n return { success: true };\n }\n\n try {\n await pay.payEthSource({\n paymentTxHash,\n sourceChainId: required.token.chainId,\n payerAddress: ethWalletAddress,\n sourceToken: getAddress(required.token.token),\n sourceAmount: paymentAmount,\n });\n return { txHash: paymentTxHash, success: true };\n } catch {\n console.error(\n `[PAY TOKEN] could not verify payment tx on chain: ${paymentTxHash}`,\n );\n return { txHash: paymentTxHash, success: false };\n }\n };\n\n const payWithSolanaToken = async (\n inputToken: SolanaPublicKey,\n ): Promise<{ txHash: string; success: boolean }> => {\n const payerPublicKey = solanaWallet.publicKey;\n assert(\n payerPublicKey != null,\n \"[PAY SOLANA] null payerPublicKey when paying on solana\",\n );\n assert(\n pay.order?.id != null,\n \"[PAY SOLANA] null orderId when paying on solana\",\n );\n assert(\n pay.paymentState === \"preview\" ||\n pay.paymentState === \"unhydrated\" ||\n pay.paymentState === \"payment_unpaid\",\n `[PAY SOLANA] paymentState is ${pay.paymentState}, must be preview or unhydrated or payment_unpaid`,\n );\n\n let hydratedOrder: DaimoPayHydratedOrderWithOrg;\n if (pay.paymentState !== \"payment_unpaid\") {\n const res = await pay.hydrateOrder();\n hydratedOrder = res.order;\n\n log(\n `[PAY SOLANA] Hydrated order: ${JSON.stringify(\n hydratedOrder,\n )}, checking out with Solana ${inputToken}`,\n );\n } else {\n hydratedOrder = pay.order;\n }\n\n const paymentTxHash = await (async () => {\n try {\n const serializedTx = await trpc.getSolanaSwapAndBurnTx.query({\n orderId: pay.order.id.toString(),\n userPublicKey: assertNotNull(\n payerPublicKey,\n \"[PAY SOLANA] wallet.publicKey cannot be null\",\n ).toString(),\n inputTokenMint: inputToken,\n });\n const tx = VersionedTransaction.deserialize(hexToBytes(serializedTx));\n const txHash = await solanaWallet.sendTransaction(tx, connection);\n return txHash;\n } catch (e) {\n console.error(e);\n throw e;\n }\n })();\n\n try {\n await pay.paySolanaSource({\n paymentTxHash: paymentTxHash,\n sourceToken: inputToken,\n });\n return { txHash: paymentTxHash, success: true };\n } catch {\n console.error(\n `[PAY SOLANA] could not verify payment tx on chain: ${paymentTxHash}`,\n );\n return { txHash: paymentTxHash, success: false };\n }\n };\n\n const payWithExternal = async (option: ExternalPaymentOptions) => {\n assert(pay.order != null, \"[PAY EXTERNAL] order cannot be null\");\n assert(platform != null, \"[PAY EXTERNAL] platform cannot be null\");\n\n const { order } = await pay.hydrateOrder();\n const externalPaymentOptionData =\n await trpc.getExternalPaymentOptionData.query({\n id: order.id.toString(),\n externalPaymentOption: option,\n platform,\n redirectReturnUrl,\n });\n assert(\n externalPaymentOptionData != null,\n \"[PAY EXTERNAL] missing externalPaymentOptionData\",\n );\n\n log(\n `[PAY EXTERNAL] hydrated order: ${debugJson(\n order,\n )}, checking out with external payment: ${option}`,\n );\n\n setPaymentWaitingMessage(externalPaymentOptionData.waitingMessage);\n\n return externalPaymentOptionData.url;\n };\n\n const payWithDepositAddress = async (\n option: DepositAddressPaymentOptions,\n ) => {\n const { order } = await pay.hydrateOrder();\n\n log(\n `[PAY DEPOSIT ADDRESS] hydrated order ${order.id} for ${order.usdValue} USD, checking out with deposit address: ${option}`,\n );\n\n const result = await trpc.getDepositAddressForOrder.query({\n orderId: order.id.toString(),\n option,\n });\n\n return \"error\" in result ? null : result;\n };\n\n const { isIOS } = useIsMobile();\n\n const openInWalletBrowser = (\n wallet: WalletConfigProps,\n amountUsd?: number,\n ) => {\n const paymentState = pay.paymentState;\n assert(\n paymentState === \"payment_unpaid\",\n `[OPEN IN WALLET BROWSER] paymentState is ${paymentState}, must be payment_unpaid`,\n );\n assert(\n wallet.getDaimoPayDeeplink != null,\n `openInWalletBrowser: missing deeplink for ${wallet.name}`,\n );\n\n const payId = writeDaimoPayOrderID(pay.order.id);\n const deeplink = wallet.getDaimoPayDeeplink(payId);\n // If we are in IOS, we don't open the deeplink in a new window, because it\n // will not work, the link will be opened in the page WAITING_WALLET\n if (!isIOS) {\n window.open(deeplink, \"_blank\");\n }\n setSelectedWallet(wallet);\n setSelectedWalletDeepLink(deeplink);\n setRoute(ROUTES.WAITING_WALLET, {\n amountUsd,\n payId,\n wallet_name: wallet.name,\n });\n };\n\n /** User picked a different deposit amount. */\n const setChosenUsd = (usd: number) => {\n assert(\n pay.paymentState === \"preview\",\n \"[SET CHOSEN USD] paymentState is not preview\",\n );\n\n // Too expensive to make an API call to regenerate preview order each time\n // the user changes the amount. Instead, we modify the order in memory.\n pay.setChosenUsd(usd);\n };\n\n const setPayId = useCallback(\n async (payId: string | undefined) => {\n if (lockPayParams || payId == null) return;\n const id = readDaimoPayOrderID(payId).toString();\n\n if (pay.order?.id && BigInt(id) == pay.order.id) {\n // Already loaded, ignore.\n return;\n }\n\n pay.reset();\n pay.setPayId(payId);\n },\n [lockPayParams, pay],\n );\n\n /** Called whenever params change. */\n const setPayParams = async (payParams: PayParams | undefined) => {\n if (lockPayParams) return;\n assert(payParams != null, \"[SET PAY PARAMS] payParams cannot be null\");\n\n log(\"[SET PAY PARAMS] setting payParams\", payParams);\n pay.reset();\n await pay.createPreviewOrder(payParams);\n setCurrPayParams(payParams);\n setIsDepositFlow(payParams.toUnits == null);\n };\n\n const generatePreviewOrder = async () => {\n pay.reset();\n if (currPayParams == null) return;\n await pay.createPreviewOrder(currPayParams);\n };\n\n const resetOrder = useCallback(\n async (payParams?: Partial<PayParams>) => {\n const mergedPayParams: PayParams | undefined =\n payParams != null && currPayParams != null\n ? { ...currPayParams, ...payParams }\n : currPayParams;\n\n // Clear the old order & state\n pay.reset();\n setSelectedExternalOption(undefined);\n setSelectedTokenOption(undefined);\n setSelectedSolanaTokenOption(undefined);\n setSelectedDepositAddressOption(undefined);\n setSelectedWallet(undefined);\n setSelectedWalletDeepLink(undefined);\n setPaymentWaitingMessage(undefined);\n\n // Set the new payParams\n if (mergedPayParams) {\n await pay.createPreviewOrder(mergedPayParams);\n setCurrPayParams(mergedPayParams);\n setIsDepositFlow(mergedPayParams.toUnits == null);\n }\n\n setRoute(ROUTES.SELECT_METHOD);\n },\n [setRoute, pay, currPayParams],\n );\n\n const [tokenMode, setTokenMode] = useState<\"evm\" | \"solana\" | \"showCoin\">(\n \"evm\",\n );\n\n return {\n buttonProps,\n setButtonProps,\n setPayId,\n setPayParams,\n tokenMode,\n setTokenMode,\n generatePreviewOrder,\n isDepositFlow,\n paymentWaitingMessage,\n selectedExternalOption,\n selectedTokenOption,\n selectedSolanaTokenOption,\n externalPaymentOptions,\n showSolanaPaymentMethod,\n selectedWallet,\n selectedWalletDeepLink,\n walletPaymentOptions,\n solanaPaymentOptions,\n depositAddressOptions,\n selectedDepositAddressOption,\n getOrderUsdLimit,\n resetOrder,\n setSelectedWallet,\n setSelectedWalletDeepLink,\n setPaymentWaitingMessage,\n setSelectedExternalOption,\n setSelectedTokenOption,\n setSelectedSolanaTokenOption,\n setSelectedDepositAddressOption,\n setChosenUsd,\n payWithToken,\n payWithExternal,\n payWithDepositAddress,\n payWithSolanaToken,\n openInWalletBrowser,\n senderEnsName: senderEnsName ?? undefined,\n untronAvailable,\n };\n}\n"],"names":["destChainId"],"mappings":"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"}
@@ -56,7 +56,7 @@ const enUS = {
56
56
  scanScreen_heading: `Scan with Phone`,
57
57
  scanScreen_heading_withConnector: `Scan with {{ CONNECTORNAME }}`,
58
58
  scanScreen_tooltip_default: `Open {{ CONNECTORNAME }} on
59
- your mobile phone to scan`,
59
+ your mobile phone`,
60
60
  downloadAppScreen_heading: `Get {{ CONNECTORNAME }}`,
61
61
  downloadAppScreen_iosAndroid: `Scan with your phone camera to download on iOS or Android.`,
62
62
  downloadAppScreen_ios: `Scan with your phone camera to download on iOS.`,
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.js","sources":["../../../../src/localizations/locales/en-US.ts"],"sourcesContent":["const enUS = {\n connectWallet: \"Connect Wallet\",\n disconnect: \"Disconnect\",\n connected: \"Connected\",\n wrongNetwork: \"Wrong Network\",\n switchNetworks: \"Switch Networks\",\n chainNetwork: \"{{ CHAIN }} Network\",\n copyToClipboard: \"Copy to Clipboard\",\n copyCode: \"Copy Code\",\n moreInformation: \"More Information\",\n back: \"Back\",\n close: \"Close\",\n or: \"or\",\n more: \"More\",\n tryAgain: \"Try Again\",\n tryAgainQuestion: \"Try Again?\",\n dontHaveTheApp: \"Don't have the app?\",\n scanTheQRCode: \"Scan the QR code\",\n useModal: \"Use Modal\",\n installTheExtension: \"Install the Extension\",\n getWalletName: \"Get {{ CONNECTORNAME }}\",\n otherWallets: \"Other Wallets\",\n learnMore: \"Learn More\",\n getWallet: \"Get a Wallet\",\n approveInWallet: \"Approve in Wallet\",\n confirmInWallet: \"Confirm in Wallet\",\n awaitingConfirmation: \"Awaiting Confirmation\",\n signIn: \"Sign In\",\n signOut: \"Sign Out\",\n signedIn: \"Signed In\",\n signedOut: \"Signed Out\",\n walletNotConnected: \"Wallet Not Connected\",\n\n warnings_walletSwitchingUnsupported: `Your wallet does not support switching networks from this app.`,\n warnings_walletSwitchingUnsupportedResolve: `Try switching networks from within your wallet instead.`,\n warnings_chainUnsupported: `This app does not support the current connected network.`,\n warnings_chainUnsupportedResolve: `Switch or disconnect to continue.`,\n\n onboardingScreen_heading: `Get a Wallet`,\n onboardingScreen_h1: `Start Exploring Web3`,\n onboardingScreen_p: `Your wallet is the gateway to all things Ethereum, the magical technology that makes it possible to explore web3.`,\n onboardingScreen_ctaText: `Choose Your First Wallet`,\n onboardingScreen_ctaUrl: `https://ethereum.org/en/wallets/find-wallet/`,\n\n aboutScreen_heading: `About Wallets`,\n aboutScreen_a_h1: `For your digital assets`,\n aboutScreen_a_p: `Wallets let you send, receive, store, and interact with digital assets like NFTs and other Ethereum tokens.`,\n aboutScreen_b_h1: `A better way to login`,\n aboutScreen_b_p: `With modern apps, your wallet can be used as an easy way to login, instead of having to remember a password.`,\n aboutScreen_c_h1: `Explore the world of web3`,\n aboutScreen_c_p: `Your wallet is an essential utility that lets you explore and participate in the fast evolving world of web3.`,\n aboutScreen_ctaText: `Learn More`,\n aboutScreen_ctaUrl: `https://ethereum.org/en/wallets/`,\n\n connectorsScreen_heading: `Connect Wallet`,\n connectorsScreen_newcomer: `I don’t have a wallet`,\n connectorsScreen_h1: `What is a wallet?`,\n connectorsScreen_p: `Wallets are used to send, receive, and store digital assets. Connecting a wallet lets you interact with apps.`,\n\n mobileConnectorsScreen_heading: `Choose Wallet`,\n\n scanScreen_heading: `Scan with Phone`,\n scanScreen_heading_withConnector: `Scan with {{ CONNECTORNAME }}`,\n scanScreen_tooltip_default: `Open {{ CONNECTORNAME }} on \\nyour mobile phone to scan`,\n\n downloadAppScreen_heading: `Get {{ CONNECTORNAME }}`,\n downloadAppScreen_iosAndroid: `Scan with your phone camera to download on iOS or Android.`,\n downloadAppScreen_ios: `Scan with your phone camera to download on iOS.`,\n downloadAppScreen_android: `Scan with your phone camera to download Android.`,\n\n injectionScreen_unavailable_h1: `Unsupported Browser`,\n injectionScreen_unavailable_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\\ninstall the extension on {{ SUGGESTEDEXTENSIONBROWSER }}.`,\n\n injectionScreen_install_h1: `Install {{ CONNECTORNAME }}`,\n injectionScreen_install_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\\ninstall the browser extension.`,\n\n injectionScreen_connecting_h1: `Requesting Connection`,\n injectionScreen_connecting_p: `Open the {{ CONNECTORSHORTNAME }} browser \\nextension to connect your wallet.`,\n injectionScreen_connecting_injected_h1: `Requesting Connection`,\n injectionScreen_connecting_injected_p: `Accept the request through your wallet to connect to this app.`,\n\n injectionScreen_connected_h1: `Already Connected`,\n injectionScreen_connected_p: `It is now okay to close this popup`,\n\n injectionScreen_rejected_h1: `Request Cancelled`,\n injectionScreen_rejected_p: `You cancelled the request.\\nClick above to try again.`,\n\n injectionScreen_failed_h1: `Connection Failed`,\n injectionScreen_failed_p: `Sorry, something went wrong.\\nPlease try connecting again.`,\n\n injectionScreen_notconnected_h1: `Login to {{ CONNECTORNAME }}`,\n injectionScreen_notconnected_p: `To continue, please login to your {{ CONNECTORNAME }} extension.`,\n\n profileScreen_heading: \"Connected\",\n\n switchNetworkScreen_heading: \"Switch Networks\",\n\n signInWithEthereumScreen_tooltip:\n \"You’re not signed in to this app.\\n**Sign In With Ethereum** to continue.\",\n\n signInWithEthereumScreen_signedOut_heading: \"Sign In With Ethereum\",\n signInWithEthereumScreen_signedOut_h1:\n \"This app would like to verify you \\n as the owner of this wallet.\",\n signInWithEthereumScreen_signedOut_p: `Please sign the message request \\n in your wallet to continue.`,\n signInWithEthereumScreen_signedOut_button: \"Sign In\",\n\n signInWithEthereumScreen_signedIn_heading: \"Signed In With Ethereum\",\n signInWithEthereumScreen_signedIn_h1:\n \"You successfully verified yourself \\n as the owner of this wallet.\",\n signInWithEthereumScreen_signedIn_p: `Signing out will require you to \\n authenticate again in the future.`,\n signInWithEthereumScreen_signedIn_button: \"Sign Out\",\n // New translations for Daimo Pay and additional UI\n payButton_defaultLabel: \"Pay\",\n insufficientBalance: \"Insufficient balance.\",\n payWith: \"Pay with\",\n payWithWallet: \"Pay with wallet\",\n payWithAnotherWallet: \"Pay with another wallet\",\n payWithAnotherMethod: \"Pay with another method\",\n payWithExchange: \"Pay with exchange\",\n payViaPaymentApp: \"Pay via payment app\",\n payToAddress: \"Pay to address\",\n retry: \"Retry\",\n invalidState_heading: \"Invalid State\",\n invalidState_description:\n \"No connectors match the id given. This state should never happen.\",\n tokensAccepted: \"1000+ tokens accepted\",\n yourBalances: \"Your balances\",\n on: \"on\",\n moreAvailable: \"More Available\",\n other: \"Other\",\n mobileWallets: \"Mobile Wallets\",\n mobile: \"Mobile\",\n poweredBy: \"Powered by\",\n scanWithPhone: \"Scan with Phone\",\n selectExchange: \"Select Exchange\",\n solanaWallet: \"Solana Wallet\",\n selectChain: \"Select Chain\",\n selectApp: \"Select App\",\n selectAmount: \"Select Amount\",\n paymentSuccessful: \"Payment Successful\",\n error: \"Error\",\n retryPayment: \"Retry Payment\",\n contactSupport: \"Contact Support\",\n sendExactly: \"Send Exactly\",\n receivingAddress: \"Receiving Address\",\n refresh: \"Refresh\",\n waitingForPayment: \"Waiting For Payment\",\n sendOnlyOnce: \"Send only once\",\n showQR: \"Show QR\",\n hideQR: \"Hide QR\",\n};\n\nexport default enUS;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en-US.js","sources":["../../../../src/localizations/locales/en-US.ts"],"sourcesContent":["const enUS = {\n connectWallet: \"Connect Wallet\",\n disconnect: \"Disconnect\",\n connected: \"Connected\",\n wrongNetwork: \"Wrong Network\",\n switchNetworks: \"Switch Networks\",\n chainNetwork: \"{{ CHAIN }} Network\",\n copyToClipboard: \"Copy to Clipboard\",\n copyCode: \"Copy Code\",\n moreInformation: \"More Information\",\n back: \"Back\",\n close: \"Close\",\n or: \"or\",\n more: \"More\",\n tryAgain: \"Try Again\",\n tryAgainQuestion: \"Try Again?\",\n dontHaveTheApp: \"Don't have the app?\",\n scanTheQRCode: \"Scan the QR code\",\n useModal: \"Use Modal\",\n installTheExtension: \"Install the Extension\",\n getWalletName: \"Get {{ CONNECTORNAME }}\",\n otherWallets: \"Other Wallets\",\n learnMore: \"Learn More\",\n getWallet: \"Get a Wallet\",\n approveInWallet: \"Approve in Wallet\",\n confirmInWallet: \"Confirm in Wallet\",\n awaitingConfirmation: \"Awaiting Confirmation\",\n signIn: \"Sign In\",\n signOut: \"Sign Out\",\n signedIn: \"Signed In\",\n signedOut: \"Signed Out\",\n walletNotConnected: \"Wallet Not Connected\",\n\n warnings_walletSwitchingUnsupported: `Your wallet does not support switching networks from this app.`,\n warnings_walletSwitchingUnsupportedResolve: `Try switching networks from within your wallet instead.`,\n warnings_chainUnsupported: `This app does not support the current connected network.`,\n warnings_chainUnsupportedResolve: `Switch or disconnect to continue.`,\n\n onboardingScreen_heading: `Get a Wallet`,\n onboardingScreen_h1: `Start Exploring Web3`,\n onboardingScreen_p: `Your wallet is the gateway to all things Ethereum, the magical technology that makes it possible to explore web3.`,\n onboardingScreen_ctaText: `Choose Your First Wallet`,\n onboardingScreen_ctaUrl: `https://ethereum.org/en/wallets/find-wallet/`,\n\n aboutScreen_heading: `About Wallets`,\n aboutScreen_a_h1: `For your digital assets`,\n aboutScreen_a_p: `Wallets let you send, receive, store, and interact with digital assets like NFTs and other Ethereum tokens.`,\n aboutScreen_b_h1: `A better way to login`,\n aboutScreen_b_p: `With modern apps, your wallet can be used as an easy way to login, instead of having to remember a password.`,\n aboutScreen_c_h1: `Explore the world of web3`,\n aboutScreen_c_p: `Your wallet is an essential utility that lets you explore and participate in the fast evolving world of web3.`,\n aboutScreen_ctaText: `Learn More`,\n aboutScreen_ctaUrl: `https://ethereum.org/en/wallets/`,\n\n connectorsScreen_heading: `Connect Wallet`,\n connectorsScreen_newcomer: `I don’t have a wallet`,\n connectorsScreen_h1: `What is a wallet?`,\n connectorsScreen_p: `Wallets are used to send, receive, and store digital assets. Connecting a wallet lets you interact with apps.`,\n\n mobileConnectorsScreen_heading: `Choose Wallet`,\n\n scanScreen_heading: `Scan with Phone`,\n scanScreen_heading_withConnector: `Scan with {{ CONNECTORNAME }}`,\n scanScreen_tooltip_default: `Open {{ CONNECTORNAME }} on \\nyour mobile phone`,\n\n downloadAppScreen_heading: `Get {{ CONNECTORNAME }}`,\n downloadAppScreen_iosAndroid: `Scan with your phone camera to download on iOS or Android.`,\n downloadAppScreen_ios: `Scan with your phone camera to download on iOS.`,\n downloadAppScreen_android: `Scan with your phone camera to download Android.`,\n\n injectionScreen_unavailable_h1: `Unsupported Browser`,\n injectionScreen_unavailable_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\\ninstall the extension on {{ SUGGESTEDEXTENSIONBROWSER }}.`,\n\n injectionScreen_install_h1: `Install {{ CONNECTORNAME }}`,\n injectionScreen_install_p: `To connect your {{ CONNECTORSHORTNAME }} wallet,\\ninstall the browser extension.`,\n\n injectionScreen_connecting_h1: `Requesting Connection`,\n injectionScreen_connecting_p: `Open the {{ CONNECTORSHORTNAME }} browser \\nextension to connect your wallet.`,\n injectionScreen_connecting_injected_h1: `Requesting Connection`,\n injectionScreen_connecting_injected_p: `Accept the request through your wallet to connect to this app.`,\n\n injectionScreen_connected_h1: `Already Connected`,\n injectionScreen_connected_p: `It is now okay to close this popup`,\n\n injectionScreen_rejected_h1: `Request Cancelled`,\n injectionScreen_rejected_p: `You cancelled the request.\\nClick above to try again.`,\n\n injectionScreen_failed_h1: `Connection Failed`,\n injectionScreen_failed_p: `Sorry, something went wrong.\\nPlease try connecting again.`,\n\n injectionScreen_notconnected_h1: `Login to {{ CONNECTORNAME }}`,\n injectionScreen_notconnected_p: `To continue, please login to your {{ CONNECTORNAME }} extension.`,\n\n profileScreen_heading: \"Connected\",\n\n switchNetworkScreen_heading: \"Switch Networks\",\n\n signInWithEthereumScreen_tooltip:\n \"You’re not signed in to this app.\\n**Sign In With Ethereum** to continue.\",\n\n signInWithEthereumScreen_signedOut_heading: \"Sign In With Ethereum\",\n signInWithEthereumScreen_signedOut_h1:\n \"This app would like to verify you \\n as the owner of this wallet.\",\n signInWithEthereumScreen_signedOut_p: `Please sign the message request \\n in your wallet to continue.`,\n signInWithEthereumScreen_signedOut_button: \"Sign In\",\n\n signInWithEthereumScreen_signedIn_heading: \"Signed In With Ethereum\",\n signInWithEthereumScreen_signedIn_h1:\n \"You successfully verified yourself \\n as the owner of this wallet.\",\n signInWithEthereumScreen_signedIn_p: `Signing out will require you to \\n authenticate again in the future.`,\n signInWithEthereumScreen_signedIn_button: \"Sign Out\",\n // New translations for Daimo Pay and additional UI\n payButton_defaultLabel: \"Pay\",\n insufficientBalance: \"Insufficient balance.\",\n payWith: \"Pay with\",\n payWithWallet: \"Pay with wallet\",\n payWithAnotherWallet: \"Pay with another wallet\",\n payWithAnotherMethod: \"Pay with another method\",\n payWithExchange: \"Pay with exchange\",\n payViaPaymentApp: \"Pay via payment app\",\n payToAddress: \"Pay to address\",\n retry: \"Retry\",\n invalidState_heading: \"Invalid State\",\n invalidState_description:\n \"No connectors match the id given. This state should never happen.\",\n tokensAccepted: \"1000+ tokens accepted\",\n yourBalances: \"Your balances\",\n on: \"on\",\n moreAvailable: \"More Available\",\n other: \"Other\",\n mobileWallets: \"Mobile Wallets\",\n mobile: \"Mobile\",\n poweredBy: \"Powered by\",\n scanWithPhone: \"Scan with Phone\",\n selectExchange: \"Select Exchange\",\n solanaWallet: \"Solana Wallet\",\n selectChain: \"Select Chain\",\n selectApp: \"Select App\",\n selectAmount: \"Select Amount\",\n paymentSuccessful: \"Payment Successful\",\n error: \"Error\",\n retryPayment: \"Retry Payment\",\n contactSupport: \"Contact Support\",\n sendExactly: \"Send Exactly\",\n receivingAddress: \"Receiving Address\",\n refresh: \"Refresh\",\n waitingForPayment: \"Waiting For Payment\",\n sendOnlyOnce: \"Send only once\",\n showQR: \"Show QR\",\n hideQR: \"Hide QR\",\n};\n\nexport default enUS;\n"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ const esES = {
55
55
  mobileConnectorsScreen_heading: `Elige una billetera`,
56
56
  scanScreen_heading: `Escanea con el tel\xE9fono`,
57
57
  scanScreen_heading_withConnector: `Escanea con {{ CONNECTORNAME }}`,
58
- scanScreen_tooltip_default: `Abre {{ CONNECTORNAME }} en tu tel\xE9fono m\xF3vil para escanear`,
58
+ scanScreen_tooltip_default: `Abre {{ CONNECTORNAME }} en tu tel\xE9fono m\xF3vil`,
59
59
  downloadAppScreen_heading: `Obt\xE9n {{ CONNECTORNAME }}`,
60
60
  downloadAppScreen_iosAndroid: `Escanea con la c\xE1mara de tu tel\xE9fono para descargarla en iOS o Android.`,
61
61
  downloadAppScreen_ios: `Escanea con la c\xE1mara de tu tel\xE9fono para descargarla en iOS.`,
@@ -1 +1 @@
1
- {"version":3,"file":"es-ES.js","sources":["../../../../src/localizations/locales/es-ES.ts"],"sourcesContent":["import { LocaleProps } from \"./\";\n\nconst esES: LocaleProps = {\n connectWallet: \"Conecta una billetera\",\n disconnect: \"Desconectar\",\n connected: \"Conectado\",\n wrongNetwork: \"Red incorrecta\",\n switchNetworks: \"Cambio de red\",\n chainNetwork: \"Red {{ CHAIN }}\",\n copyToClipboard: \"Copiar al portapapeles\",\n copyCode: \"Copiar código\",\n moreInformation: \"Más información\",\n back: \"Atrás\",\n close: \"Cerrar\",\n or: \"o\",\n more: \"Más\",\n tryAgain: \"Intentar de nuevo\",\n tryAgainQuestion: \"¿Intentar de nuevo?\",\n dontHaveTheApp: \"¿No tienes la aplicación?\",\n scanTheQRCode: \"Escanea el código QR\",\n useModal: \"Utilizar Modal\",\n installTheExtension: \"Instalar la extensión\",\n getWalletName: \"Obtén {{ CONNECTORNAME }}\",\n otherWallets: \"Otras billeteras\",\n learnMore: \"Más información\",\n getWallet: \"Obtén una billetera\",\n approveInWallet: \"Aprobar en la billetera\",\n confirmInWallet: \"Confirmar en la billetera\",\n awaitingConfirmation: \"A la espera de confirmación\",\n signIn: \"Iniciar sesión\",\n signOut: \"Cerrar sesión\",\n signedIn: \"Sesión iniciada\",\n signedOut: \"Sesión cerrada\",\n walletNotConnected: \"Billetera no conectada\",\n\n warnings_walletSwitchingUnsupported: `Tu billetera no permite cambiar de red desde esta aplicación.`,\n warnings_walletSwitchingUnsupportedResolve: `Prueba a cambiar de red desde tu billetera.`,\n warnings_chainUnsupported: `Esta aplicación no es compatible con la red conectada actualmente.`,\n warnings_chainUnsupportedResolve: `Cambia o desconecta para continuar.`,\n\n onboardingScreen_heading: `Obtén una billetera`,\n onboardingScreen_h1: `Comienza a explorar la Web3`,\n onboardingScreen_p: `Tu billetera es el portal de acceso a todo lo relacionado con Ethereum, la tecnología mágica que permite explorar la Web3.`,\n onboardingScreen_ctaText: `Elige tu primera billetera`,\n onboardingScreen_ctaUrl: `https://ethereum.org/es/wallets/find-wallet/`,\n\n aboutScreen_heading: `Acerca de las billeteras`,\n aboutScreen_a_h1: `Para tus activos digitales`,\n aboutScreen_a_p: `Las billeteras te permiten enviar, recibir, almacenar e interactuar con activos digitales como los NFT y otros tokens de Ethereum.`,\n aboutScreen_b_h1: `Una manera mejor de iniciar sesión`,\n aboutScreen_b_p: `Con las aplicaciones modernas, puedes utilizar tu billetera para iniciar sesión fácilmente, en vez de tener que recordar una contraseña.`,\n aboutScreen_c_h1: `Explora el mundo de la Web3`,\n aboutScreen_c_p: `Tu billetera es una herramienta esencial que te permite explorar y participar en el mundo en rápida evolución de la Web3.`,\n aboutScreen_ctaText: `Más información`,\n aboutScreen_ctaUrl: `https://ethereum.org/es/wallets/`,\n\n connectorsScreen_heading: `Conecta una billetera`,\n connectorsScreen_newcomer: `No tengo una billetera`,\n connectorsScreen_h1: `¿Qué es una billetera?`,\n connectorsScreen_p: `Las billeteras se utilizan para enviar, recibir y almacenar activos digitales. Si conectas una billetera, podrás interactuar con las aplicaciones.`,\n\n mobileConnectorsScreen_heading: `Elige una billetera`,\n\n scanScreen_heading: `Escanea con el teléfono`,\n scanScreen_heading_withConnector: `Escanea con {{ CONNECTORNAME }}`,\n scanScreen_tooltip_default: `Abre {{ CONNECTORNAME }} en tu teléfono móvil para escanear`,\n\n downloadAppScreen_heading: `Obtén {{ CONNECTORNAME }}`,\n downloadAppScreen_iosAndroid: `Escanea con la cámara de tu teléfono para descargarla en iOS o Android.`,\n downloadAppScreen_ios: `Escanea con la cámara de tu teléfono para descargarla en iOS.`,\n downloadAppScreen_android: `Escanea con la cámara de tu teléfono para descargarla en Android.`,\n\n injectionScreen_unavailable_h1: `Navegador no compatible`,\n injectionScreen_unavailable_p: `Para conectar tu billetera de {{ CONNECTORSHORTNAME }}, instala la extensión en {{ SUGGESTEDEXTENSIONBROWSER }}.`,\n\n injectionScreen_install_h1: `Instala {{ CONNECTORNAME }}`,\n injectionScreen_install_p: `Para conectar tu billetera de {{ CONNECTORSHORTNAME }}, instala la extensión del navegador.`,\n\n injectionScreen_connecting_h1: `Solicitud de conexión`,\n injectionScreen_connecting_p: `Abre la extensión del navegador de {{ CONNECTORSHORTNAME }} para conectar tu billetera.`,\n injectionScreen_connecting_injected_h1: `Solicitud de conexión`,\n injectionScreen_connecting_injected_p: `Acepta la solicitud a través de tu billetera para conectarte a esta aplicación.`,\n\n injectionScreen_connected_h1: `Ya conectada`,\n injectionScreen_connected_p: `Ya puedes cerrar esta ventana emergente`,\n\n injectionScreen_rejected_h1: `Solicitud cancelada`,\n injectionScreen_rejected_p: `Has cancelado la solicitud. Haz clic arriba para intentarlo de nuevo.`,\n\n injectionScreen_failed_h1: `Error de conexión`,\n injectionScreen_failed_p: `Lo sentimos, ha habido un problema. Intenta conectarte de nuevo.`,\n\n injectionScreen_notconnected_h1: `Inicia sesión en {{ CONNECTORNAME }}`,\n injectionScreen_notconnected_p: `Para continuar, inicia sesión en tu extensión de {{ CONNECTORNAME }}.`,\n\n profileScreen_heading: \"Conectado\",\n\n switchNetworkScreen_heading: \"Cambio de red\",\n\n signInWithEthereumScreen_tooltip:\n \"No has iniciado sesión en esta aplicación.\\n**Inicia sesión con Ethereum** para continuar.\",\n signInWithEthereumScreen_signedOut_heading: \"Inicia sesión con Ethereum\",\n signInWithEthereumScreen_signedOut_h1:\n \"Esta aplicación desea verificar que eres el propietario de esta billetera.\",\n signInWithEthereumScreen_signedOut_p: `Firma la solicitud de mensaje en tu billetera para continuar.`,\n signInWithEthereumScreen_signedOut_button: \"Iniciar sesión\",\n\n signInWithEthereumScreen_signedIn_heading: \"Sesión iniciada con Ethereum\",\n signInWithEthereumScreen_signedIn_h1:\n \"Te has verificado correctamente como propietario de esta billetera.\",\n signInWithEthereumScreen_signedIn_p: `Si cierras la sesión, tendrás que volver a autenticarte más adelante.`,\n signInWithEthereumScreen_signedIn_button: \"Cerrar sesión\",\n // Nuevas traducciones para Daimo Pay y textos adicionales\n payButton_defaultLabel: \"Pagar\",\n insufficientBalance: \"Saldo insuficiente.\",\n payWith: \"Pagar con\",\n payWithWallet: \"Pagar con billetera\",\n payWithAnotherWallet: \"Pagar con otra billetera\",\n payWithAnotherMethod: \"Pagar con otro método\",\n payWithExchange: \"Pagar con exchange\",\n payViaPaymentApp: \"Pagar con aplicación de pago\",\n payToAddress: \"Pagar a una dirección\",\n retry: \"Reintentar\",\n invalidState_heading: \"Estado inválido\",\n invalidState_description:\n \"Ningún conector coincide con el id dado. Este estado nunca debería suceder.\",\n tokensAccepted: \"1000+ tokens aceptados\",\n yourBalances: \"Tus fondos\",\n on: \"en\",\n moreAvailable: \"Más Disponible\",\n other: \"Otras\",\n mobileWallets: \"Billeteras móviles\",\n mobile: \"Móvil\",\n poweredBy: \"Impulsado por\",\n scanWithPhone: \"Escanea con móvil\",\n selectExchange: \"Selecciona un exchange\",\n solanaWallet: \"Billetera Solana\",\n selectChain: \"Selecciona una red\",\n selectApp: \"Selecciona una app\",\n selectAmount: \"Selecciona una cantidad\",\n paymentSuccessful: \"Pago exitoso\",\n error: \"Error\",\n retryPayment: \"Reintentar pago\",\n contactSupport: \"Contactar soporte\",\n sendExactly: \"Enviar exactamente\",\n receivingAddress: \"Dirección de destino\",\n refresh: \"Refrescar\",\n waitingForPayment: \"Esperando pago\",\n sendOnlyOnce: \"Enviar solo una vez\",\n showQR: \"Mostrar QR\",\n hideQR: \"Ocultar QR\",\n};\n\nexport default esES;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"es-ES.js","sources":["../../../../src/localizations/locales/es-ES.ts"],"sourcesContent":["import { LocaleProps } from \"./\";\n\nconst esES: LocaleProps = {\n connectWallet: \"Conecta una billetera\",\n disconnect: \"Desconectar\",\n connected: \"Conectado\",\n wrongNetwork: \"Red incorrecta\",\n switchNetworks: \"Cambio de red\",\n chainNetwork: \"Red {{ CHAIN }}\",\n copyToClipboard: \"Copiar al portapapeles\",\n copyCode: \"Copiar código\",\n moreInformation: \"Más información\",\n back: \"Atrás\",\n close: \"Cerrar\",\n or: \"o\",\n more: \"Más\",\n tryAgain: \"Intentar de nuevo\",\n tryAgainQuestion: \"¿Intentar de nuevo?\",\n dontHaveTheApp: \"¿No tienes la aplicación?\",\n scanTheQRCode: \"Escanea el código QR\",\n useModal: \"Utilizar Modal\",\n installTheExtension: \"Instalar la extensión\",\n getWalletName: \"Obtén {{ CONNECTORNAME }}\",\n otherWallets: \"Otras billeteras\",\n learnMore: \"Más información\",\n getWallet: \"Obtén una billetera\",\n approveInWallet: \"Aprobar en la billetera\",\n confirmInWallet: \"Confirmar en la billetera\",\n awaitingConfirmation: \"A la espera de confirmación\",\n signIn: \"Iniciar sesión\",\n signOut: \"Cerrar sesión\",\n signedIn: \"Sesión iniciada\",\n signedOut: \"Sesión cerrada\",\n walletNotConnected: \"Billetera no conectada\",\n\n warnings_walletSwitchingUnsupported: `Tu billetera no permite cambiar de red desde esta aplicación.`,\n warnings_walletSwitchingUnsupportedResolve: `Prueba a cambiar de red desde tu billetera.`,\n warnings_chainUnsupported: `Esta aplicación no es compatible con la red conectada actualmente.`,\n warnings_chainUnsupportedResolve: `Cambia o desconecta para continuar.`,\n\n onboardingScreen_heading: `Obtén una billetera`,\n onboardingScreen_h1: `Comienza a explorar la Web3`,\n onboardingScreen_p: `Tu billetera es el portal de acceso a todo lo relacionado con Ethereum, la tecnología mágica que permite explorar la Web3.`,\n onboardingScreen_ctaText: `Elige tu primera billetera`,\n onboardingScreen_ctaUrl: `https://ethereum.org/es/wallets/find-wallet/`,\n\n aboutScreen_heading: `Acerca de las billeteras`,\n aboutScreen_a_h1: `Para tus activos digitales`,\n aboutScreen_a_p: `Las billeteras te permiten enviar, recibir, almacenar e interactuar con activos digitales como los NFT y otros tokens de Ethereum.`,\n aboutScreen_b_h1: `Una manera mejor de iniciar sesión`,\n aboutScreen_b_p: `Con las aplicaciones modernas, puedes utilizar tu billetera para iniciar sesión fácilmente, en vez de tener que recordar una contraseña.`,\n aboutScreen_c_h1: `Explora el mundo de la Web3`,\n aboutScreen_c_p: `Tu billetera es una herramienta esencial que te permite explorar y participar en el mundo en rápida evolución de la Web3.`,\n aboutScreen_ctaText: `Más información`,\n aboutScreen_ctaUrl: `https://ethereum.org/es/wallets/`,\n\n connectorsScreen_heading: `Conecta una billetera`,\n connectorsScreen_newcomer: `No tengo una billetera`,\n connectorsScreen_h1: `¿Qué es una billetera?`,\n connectorsScreen_p: `Las billeteras se utilizan para enviar, recibir y almacenar activos digitales. Si conectas una billetera, podrás interactuar con las aplicaciones.`,\n\n mobileConnectorsScreen_heading: `Elige una billetera`,\n\n scanScreen_heading: `Escanea con el teléfono`,\n scanScreen_heading_withConnector: `Escanea con {{ CONNECTORNAME }}`,\n scanScreen_tooltip_default: `Abre {{ CONNECTORNAME }} en tu teléfono móvil`,\n\n downloadAppScreen_heading: `Obtén {{ CONNECTORNAME }}`,\n downloadAppScreen_iosAndroid: `Escanea con la cámara de tu teléfono para descargarla en iOS o Android.`,\n downloadAppScreen_ios: `Escanea con la cámara de tu teléfono para descargarla en iOS.`,\n downloadAppScreen_android: `Escanea con la cámara de tu teléfono para descargarla en Android.`,\n\n injectionScreen_unavailable_h1: `Navegador no compatible`,\n injectionScreen_unavailable_p: `Para conectar tu billetera de {{ CONNECTORSHORTNAME }}, instala la extensión en {{ SUGGESTEDEXTENSIONBROWSER }}.`,\n\n injectionScreen_install_h1: `Instala {{ CONNECTORNAME }}`,\n injectionScreen_install_p: `Para conectar tu billetera de {{ CONNECTORSHORTNAME }}, instala la extensión del navegador.`,\n\n injectionScreen_connecting_h1: `Solicitud de conexión`,\n injectionScreen_connecting_p: `Abre la extensión del navegador de {{ CONNECTORSHORTNAME }} para conectar tu billetera.`,\n injectionScreen_connecting_injected_h1: `Solicitud de conexión`,\n injectionScreen_connecting_injected_p: `Acepta la solicitud a través de tu billetera para conectarte a esta aplicación.`,\n\n injectionScreen_connected_h1: `Ya conectada`,\n injectionScreen_connected_p: `Ya puedes cerrar esta ventana emergente`,\n\n injectionScreen_rejected_h1: `Solicitud cancelada`,\n injectionScreen_rejected_p: `Has cancelado la solicitud. Haz clic arriba para intentarlo de nuevo.`,\n\n injectionScreen_failed_h1: `Error de conexión`,\n injectionScreen_failed_p: `Lo sentimos, ha habido un problema. Intenta conectarte de nuevo.`,\n\n injectionScreen_notconnected_h1: `Inicia sesión en {{ CONNECTORNAME }}`,\n injectionScreen_notconnected_p: `Para continuar, inicia sesión en tu extensión de {{ CONNECTORNAME }}.`,\n\n profileScreen_heading: \"Conectado\",\n\n switchNetworkScreen_heading: \"Cambio de red\",\n\n signInWithEthereumScreen_tooltip:\n \"No has iniciado sesión en esta aplicación.\\n**Inicia sesión con Ethereum** para continuar.\",\n signInWithEthereumScreen_signedOut_heading: \"Inicia sesión con Ethereum\",\n signInWithEthereumScreen_signedOut_h1:\n \"Esta aplicación desea verificar que eres el propietario de esta billetera.\",\n signInWithEthereumScreen_signedOut_p: `Firma la solicitud de mensaje en tu billetera para continuar.`,\n signInWithEthereumScreen_signedOut_button: \"Iniciar sesión\",\n\n signInWithEthereumScreen_signedIn_heading: \"Sesión iniciada con Ethereum\",\n signInWithEthereumScreen_signedIn_h1:\n \"Te has verificado correctamente como propietario de esta billetera.\",\n signInWithEthereumScreen_signedIn_p: `Si cierras la sesión, tendrás que volver a autenticarte más adelante.`,\n signInWithEthereumScreen_signedIn_button: \"Cerrar sesión\",\n // Nuevas traducciones para Daimo Pay y textos adicionales\n payButton_defaultLabel: \"Pagar\",\n insufficientBalance: \"Saldo insuficiente.\",\n payWith: \"Pagar con\",\n payWithWallet: \"Pagar con billetera\",\n payWithAnotherWallet: \"Pagar con otra billetera\",\n payWithAnotherMethod: \"Pagar con otro método\",\n payWithExchange: \"Pagar con exchange\",\n payViaPaymentApp: \"Pagar con aplicación de pago\",\n payToAddress: \"Pagar a una dirección\",\n retry: \"Reintentar\",\n invalidState_heading: \"Estado inválido\",\n invalidState_description:\n \"Ningún conector coincide con el id dado. Este estado nunca debería suceder.\",\n tokensAccepted: \"1000+ tokens aceptados\",\n yourBalances: \"Tus fondos\",\n on: \"en\",\n moreAvailable: \"Más Disponible\",\n other: \"Otras\",\n mobileWallets: \"Billeteras móviles\",\n mobile: \"Móvil\",\n poweredBy: \"Impulsado por\",\n scanWithPhone: \"Escanea con móvil\",\n selectExchange: \"Selecciona un exchange\",\n solanaWallet: \"Billetera Solana\",\n selectChain: \"Selecciona una red\",\n selectApp: \"Selecciona una app\",\n selectAmount: \"Selecciona una cantidad\",\n paymentSuccessful: \"Pago exitoso\",\n error: \"Error\",\n retryPayment: \"Reintentar pago\",\n contactSupport: \"Contactar soporte\",\n sendExactly: \"Enviar exactamente\",\n receivingAddress: \"Dirección de destino\",\n refresh: \"Refrescar\",\n waitingForPayment: \"Esperando pago\",\n sendOnlyOnce: \"Enviar solo una vez\",\n showQR: \"Mostrar QR\",\n hideQR: \"Ocultar QR\",\n};\n\nexport default esES;\n"],"names":[],"mappings":"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"}
@@ -35,8 +35,9 @@ function flattenChildren(children) {
35
35
  }
36
36
  const isBaseAccountConnector = (connectorId) => connectorId === "baseAccount";
37
37
  const isGeminiConnector = (connectorId) => connectorId === "gemini";
38
+ const isPortoConnector = (connectorId) => connectorId === "xyz.ithaca.porto";
38
39
  const isSafeConnector = (connectorId) => connectorId === "safe";
39
40
  const isInjectedConnector = (connectorId) => connectorId === "injected";
40
41
 
41
- export { detectBrowser, detectOS, flattenChildren, isAndroid, isBaseAccountConnector, isGeminiConnector, isIOS, isInjectedConnector, isMobile, isSafeConnector };
42
+ export { detectBrowser, detectOS, flattenChildren, isAndroid, isBaseAccountConnector, isGeminiConnector, isIOS, isInjectedConnector, isMobile, isPortoConnector, isSafeConnector };
42
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":["import { detect } from \"detect-browser\";\nimport React from \"react\";\n\nconst truncateRegex = /^(0x[a-zA-Z0-9]{4})[a-zA-Z0-9]+([a-zA-Z0-9]{4})$/;\n\nconst truncateEthAddress = (address?: string, separator: string = \"••••\") => {\n if (!address) return \"\";\n const match = address.match(truncateRegex);\n if (!match) return address;\n return `${match[1]}${separator}${match[2]}`;\n};\n\nconst truncateENSAddress = (ensName: string, maxLength: number) => {\n if (ensName.length > maxLength) {\n return ensName.replace(\".eth\", \"\").slice(0, maxLength) + \"...\";\n } else {\n return ensName;\n }\n};\n\nconst nFormatter = (num: number, digits: number = 2) => {\n if (num < 10000) return num.toFixed(2);\n const lookup = [\n { value: 1, symbol: \"\" },\n { value: 1e3, symbol: \"k\" },\n { value: 1e6, symbol: \"m\" },\n { value: 1e9, symbol: \"g\" },\n { value: 1e12, symbol: \"t\" },\n { value: 1e15, symbol: \"p\" },\n { value: 1e18, symbol: \"e\" },\n ];\n\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n var item = lookup\n .slice()\n .reverse()\n .find(function (item) {\n return num >= item.value;\n });\n return item\n ? (num / item.value).toFixed(digits).replace(rx, \"$1\") + item.symbol\n : \"0\";\n};\n\nexport const detectBrowser = () => {\n const browser = detect();\n return browser?.name ?? \"\";\n};\nexport const detectOS = () => {\n const browser = detect();\n return browser?.os ?? \"\";\n};\n\nexport const isIOS = () => {\n const os = detectOS();\n return os.toLowerCase().includes(\"ios\");\n};\nexport const isAndroid = () => {\n const os = detectOS();\n return os.toLowerCase().includes(\"android\");\n};\nexport const isMobile = () => {\n const os = detectOS().toLowerCase();\n return os.includes(\"android\") || os.includes(\"ios\");\n};\n\ntype ReactChildArray = ReturnType<typeof React.Children.toArray>;\nfunction flattenChildren(children: React.ReactNode): ReactChildArray {\n const childrenArray = React.Children.toArray(children);\n return childrenArray.reduce((flatChildren: ReactChildArray, child) => {\n if ((child as React.ReactElement<any>).type === React.Fragment) {\n return flatChildren.concat(\n flattenChildren((child as React.ReactElement<any>).props.children),\n );\n }\n flatChildren.push(child);\n return flatChildren;\n }, []);\n}\n\nexport const isMetaMaskConnector = (connectorId?: string) =>\n connectorId === \"metaMaskSDK\";\n\nexport const isBaseAccountConnector = (connectorId?: string) =>\n connectorId === \"baseAccount\";\n\nexport const isGeminiConnector = (connectorId?: string) =>\n connectorId === \"gemini\";\n\nexport const isLedgerConnector = (connectorId?: string) =>\n connectorId === \"ledger\";\n\nexport const isSafeConnector = (connectorId?: string) => connectorId === \"safe\";\n\nexport const isInjectedConnector = (connectorId?: string) =>\n connectorId === \"injected\";\n\nexport { flattenChildren, nFormatter, truncateENSAddress, truncateEthAddress };\n"],"names":[],"mappings":";;;AA4CO,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,UAAU,MAAO,EAAA,CAAA;AACvB,EAAA,OAAO,SAAS,IAAQ,IAAA,EAAA,CAAA;AAC1B,EAAA;AACO,MAAM,WAAW,MAAM;AAC5B,EAAA,MAAM,UAAU,MAAO,EAAA,CAAA;AACvB,EAAA,OAAO,SAAS,EAAM,IAAA,EAAA,CAAA;AACxB,EAAA;AAEO,MAAM,QAAQ,MAAM;AACzB,EAAA,MAAM,KAAK,QAAS,EAAA,CAAA;AACpB,EAAA,OAAO,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AACxC,EAAA;AACO,MAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,KAAK,QAAS,EAAA,CAAA;AACpB,EAAA,OAAO,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAC5C,EAAA;AACO,MAAM,WAAW,MAAM;AAC5B,EAAM,MAAA,EAAA,GAAK,QAAS,EAAA,CAAE,WAAY,EAAA,CAAA;AAClC,EAAA,OAAO,GAAG,QAAS,CAAA,SAAS,CAAK,IAAA,EAAA,CAAG,SAAS,KAAK,CAAA,CAAA;AACpD,EAAA;AAGA,SAAS,gBAAgB,QAA4C,EAAA;AACnE,EAAA,MAAM,aAAgB,GAAA,KAAA,CAAM,QAAS,CAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AACrD,EAAA,OAAO,aAAc,CAAA,MAAA,CAAO,CAAC,YAAA,EAA+B,KAAU,KAAA;AACpE,IAAK,IAAA,KAAA,CAAkC,IAAS,KAAA,KAAA,CAAM,QAAU,EAAA;AAC9D,MAAA,OAAO,YAAa,CAAA,MAAA;AAAA,QAClB,eAAA,CAAiB,KAAkC,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,OACnE,CAAA;AAAA,KACF;AACA,IAAA,YAAA,CAAa,KAAK,KAAK,CAAA,CAAA;AACvB,IAAO,OAAA,YAAA,CAAA;AAAA,GACT,EAAG,EAAE,CAAA,CAAA;AACP,CAAA;AAKa,MAAA,sBAAA,GAAyB,CAAC,WAAA,KACrC,WAAgB,KAAA,cAAA;AAEL,MAAA,iBAAA,GAAoB,CAAC,WAAA,KAChC,WAAgB,KAAA,SAAA;AAKL,MAAA,eAAA,GAAkB,CAAC,WAAA,KAAyB,WAAgB,KAAA,OAAA;AAE5D,MAAA,mBAAA,GAAsB,CAAC,WAAA,KAClC,WAAgB,KAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/utils/index.ts"],"sourcesContent":["import { detect } from \"detect-browser\";\nimport React from \"react\";\n\nconst truncateRegex = /^(0x[a-zA-Z0-9]{4})[a-zA-Z0-9]+([a-zA-Z0-9]{4})$/;\n\nconst truncateEthAddress = (address?: string, separator: string = \"••••\") => {\n if (!address) return \"\";\n const match = address.match(truncateRegex);\n if (!match) return address;\n return `${match[1]}${separator}${match[2]}`;\n};\n\nconst truncateENSAddress = (ensName: string, maxLength: number) => {\n if (ensName.length > maxLength) {\n return ensName.replace(\".eth\", \"\").slice(0, maxLength) + \"...\";\n } else {\n return ensName;\n }\n};\n\nconst nFormatter = (num: number, digits: number = 2) => {\n if (num < 10000) return num.toFixed(2);\n const lookup = [\n { value: 1, symbol: \"\" },\n { value: 1e3, symbol: \"k\" },\n { value: 1e6, symbol: \"m\" },\n { value: 1e9, symbol: \"g\" },\n { value: 1e12, symbol: \"t\" },\n { value: 1e15, symbol: \"p\" },\n { value: 1e18, symbol: \"e\" },\n ];\n\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n var item = lookup\n .slice()\n .reverse()\n .find(function (item) {\n return num >= item.value;\n });\n return item\n ? (num / item.value).toFixed(digits).replace(rx, \"$1\") + item.symbol\n : \"0\";\n};\n\nexport const detectBrowser = () => {\n const browser = detect();\n return browser?.name ?? \"\";\n};\nexport const detectOS = () => {\n const browser = detect();\n return browser?.os ?? \"\";\n};\n\nexport const isIOS = () => {\n const os = detectOS();\n return os.toLowerCase().includes(\"ios\");\n};\nexport const isAndroid = () => {\n const os = detectOS();\n return os.toLowerCase().includes(\"android\");\n};\nexport const isMobile = () => {\n const os = detectOS().toLowerCase();\n return os.includes(\"android\") || os.includes(\"ios\");\n};\n\ntype ReactChildArray = ReturnType<typeof React.Children.toArray>;\nfunction flattenChildren(children: React.ReactNode): ReactChildArray {\n const childrenArray = React.Children.toArray(children);\n return childrenArray.reduce((flatChildren: ReactChildArray, child) => {\n if ((child as React.ReactElement<any>).type === React.Fragment) {\n return flatChildren.concat(\n flattenChildren((child as React.ReactElement<any>).props.children),\n );\n }\n flatChildren.push(child);\n return flatChildren;\n }, []);\n}\n\nexport const isMetaMaskConnector = (connectorId?: string) =>\n connectorId === \"metaMaskSDK\";\n\nexport const isBaseAccountConnector = (connectorId?: string) =>\n connectorId === \"baseAccount\";\n\nexport const isGeminiConnector = (connectorId?: string) =>\n connectorId === \"gemini\";\n\nexport const isPortoConnector = (connectorId?: string) =>\n connectorId === \"xyz.ithaca.porto\";\n\nexport const isLedgerConnector = (connectorId?: string) =>\n connectorId === \"ledger\";\n\nexport const isSafeConnector = (connectorId?: string) => connectorId === \"safe\";\n\nexport const isInjectedConnector = (connectorId?: string) =>\n connectorId === \"injected\";\n\nexport { flattenChildren, nFormatter, truncateENSAddress, truncateEthAddress };\n"],"names":[],"mappings":";;;AA4CO,MAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,UAAU,MAAO,EAAA,CAAA;AACvB,EAAA,OAAO,SAAS,IAAQ,IAAA,EAAA,CAAA;AAC1B,EAAA;AACO,MAAM,WAAW,MAAM;AAC5B,EAAA,MAAM,UAAU,MAAO,EAAA,CAAA;AACvB,EAAA,OAAO,SAAS,EAAM,IAAA,EAAA,CAAA;AACxB,EAAA;AAEO,MAAM,QAAQ,MAAM;AACzB,EAAA,MAAM,KAAK,QAAS,EAAA,CAAA;AACpB,EAAA,OAAO,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,KAAK,CAAA,CAAA;AACxC,EAAA;AACO,MAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,KAAK,QAAS,EAAA,CAAA;AACpB,EAAA,OAAO,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAC5C,EAAA;AACO,MAAM,WAAW,MAAM;AAC5B,EAAM,MAAA,EAAA,GAAK,QAAS,EAAA,CAAE,WAAY,EAAA,CAAA;AAClC,EAAA,OAAO,GAAG,QAAS,CAAA,SAAS,CAAK,IAAA,EAAA,CAAG,SAAS,KAAK,CAAA,CAAA;AACpD,EAAA;AAGA,SAAS,gBAAgB,QAA4C,EAAA;AACnE,EAAA,MAAM,aAAgB,GAAA,KAAA,CAAM,QAAS,CAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AACrD,EAAA,OAAO,aAAc,CAAA,MAAA,CAAO,CAAC,YAAA,EAA+B,KAAU,KAAA;AACpE,IAAK,IAAA,KAAA,CAAkC,IAAS,KAAA,KAAA,CAAM,QAAU,EAAA;AAC9D,MAAA,OAAO,YAAa,CAAA,MAAA;AAAA,QAClB,eAAA,CAAiB,KAAkC,CAAA,KAAA,CAAM,QAAQ,CAAA;AAAA,OACnE,CAAA;AAAA,KACF;AACA,IAAA,YAAA,CAAa,KAAK,KAAK,CAAA,CAAA;AACvB,IAAO,OAAA,YAAA,CAAA;AAAA,GACT,EAAG,EAAE,CAAA,CAAA;AACP,CAAA;AAKa,MAAA,sBAAA,GAAyB,CAAC,WAAA,KACrC,WAAgB,KAAA,cAAA;AAEL,MAAA,iBAAA,GAAoB,CAAC,WAAA,KAChC,WAAgB,KAAA,SAAA;AAEL,MAAA,gBAAA,GAAmB,CAAC,WAAA,KAC/B,WAAgB,KAAA,mBAAA;AAKL,MAAA,eAAA,GAAkB,CAAC,WAAA,KAAyB,WAAgB,KAAA,OAAA;AAE5D,MAAA,mBAAA,GAAsB,CAAC,WAAA,KAClC,WAAgB,KAAA;;;;"}
@@ -6,7 +6,7 @@ import { MobileWithLogos } from '../assets/MobileWithLogos.js';
6
6
  import { useConnectors } from '../hooks/useConnectors.js';
7
7
  import useLocales from '../hooks/useLocales.js';
8
8
  import { usePayContext } from '../hooks/usePayContext.js';
9
- import { isBaseAccountConnector, isGeminiConnector, isInjectedConnector, flattenChildren } from '../utils/index.js';
9
+ import { isBaseAccountConnector, isGeminiConnector, isPortoConnector, isInjectedConnector, flattenChildren } from '../utils/index.js';
10
10
  import { walletConfigs } from './walletConfigs.js';
11
11
 
12
12
  const WALLET_ID_OTHER_WALLET = "otherWallet";
@@ -42,6 +42,7 @@ const useWallets = (isMobile) => {
42
42
  connectors.forEach((connector) => {
43
43
  if (isBaseAccountConnector(connector.id)) return;
44
44
  if (isGeminiConnector(connector.id)) return;
45
+ if (isPortoConnector(connector.id)) return;
45
46
  if (!isInjectedConnector(connector.type)) return;
46
47
  if (connector.name?.toLowerCase().includes("walletconnect")) return;
47
48
  mobileWallets.push({
@@ -69,9 +70,7 @@ const useWallets = (isMobile) => {
69
70
  });
70
71
  return mobileWallets;
71
72
  }
72
- const wallets = connectors.filter((connector) => {
73
- return !connector.name?.toLowerCase().includes("walletconnect");
74
- }).map((connector) => {
73
+ const wallets = connectors.map((connector) => {
75
74
  let walletConfigKey = Object.keys(walletConfigs).find(
76
75
  (id) => id.split(",").map((i) => i.trim()).includes(connector.id)
77
76
  );
@@ -96,7 +95,7 @@ const useWallets = (isMobile) => {
96
95
  ) : /* @__PURE__ */ jsx(WalletIcon, {}),
97
96
  connector,
98
97
  iconShape: connector.id === "io.rabby" ? "circle" : "squircle",
99
- isInstalled: connector.type === "mock" || connector.type === "injected" && connector.id !== "metaMask" || connector.type === "farcasterFrame" || isBaseAccountConnector(connector.id) || isGeminiConnector(connector.id)
98
+ isInstalled: connector.type === "mock" || connector.type === "injected" && connector.id !== "metaMask" || connector.type === "farcasterFrame" || isPortoConnector(connector.id) || isBaseAccountConnector(connector.id) || isGeminiConnector(connector.id)
100
99
  };
101
100
  if (walletConfigKey) {
102
101
  const wallet = walletConfigs[walletConfigKey];
@@ -116,6 +115,7 @@ const useWallets = (isMobile) => {
116
115
  }
117
116
  return c;
118
117
  });
118
+ wallets.push(walletConfigs.world);
119
119
  wallets.push({
120
120
  id: WALLET_ID_MOBILE_WALLETS,
121
121
  name: "Mobile Wallets",
@@ -192,10 +192,16 @@ const useWallets = (isMobile) => {
192
192
  ).filter(
193
193
  (wallet, index, self) => !(wallet.id === "com.warpcast.mobile" && self.find((w) => w.id === "farcaster"))
194
194
  ).sort((a, b) => {
195
- const AisInstalled = a.isInstalled && isInjectedConnector(a.connector?.type);
196
- const BisInstalled = b.isInstalled && isInjectedConnector(b.connector?.type);
197
- if (AisInstalled && !BisInstalled) return -1;
198
- if (!AisInstalled && BisInstalled) return 1;
195
+ const aIsInstalledInjected = a.isInstalled && isInjectedConnector(a.connector?.type);
196
+ const bIsInstalledInjected = b.isInstalled && isInjectedConnector(b.connector?.type);
197
+ if (aIsInstalledInjected && !bIsInstalledInjected) return -1;
198
+ if (!aIsInstalledInjected && bIsInstalledInjected) return 1;
199
+ if (aIsInstalledInjected && bIsInstalledInjected) {
200
+ const aIsPorto = isPortoConnector(a.connector?.id);
201
+ const bIsPorto = isPortoConnector(b.connector?.id);
202
+ if (aIsPorto && !bIsPorto) return 1;
203
+ if (!aIsPorto && bIsPorto) return -1;
204
+ }
199
205
  return 0;
200
206
  }).sort((a, b) => {
201
207
  if (a.id === WALLET_ID_MOBILE_WALLETS) return 1;
@@ -1 +1 @@
1
- {"version":3,"file":"useWallets.js","sources":["../../../src/wallets/useWallets.tsx"],"sourcesContent":["import { assertNotNull } from \"@daimo/pay-common\";\nimport { Connector } from \"wagmi\";\n\nimport { useWallet as useSolanaWalletAdapter } from \"@solana/wallet-adapter-react\";\nimport Logos, { SquircleIcon, WalletIcon } from \"../assets/logos\";\nimport MobileWithLogos from \"../assets/MobileWithLogos\";\nimport { useConnectors } from \"../hooks/useConnectors\";\nimport useLocales from \"../hooks/useLocales\";\nimport { usePayContext } from \"../hooks/usePayContext\";\nimport { SolanaWalletName } from \"../provider/SolanaContextProvider\";\nimport {\n flattenChildren,\n isBaseAccountConnector,\n isGeminiConnector,\n isInjectedConnector,\n} from \"../utils\";\nimport { WalletConfigProps, walletConfigs } from \"./walletConfigs\";\n\n/** Special wallet ID for \"other wallets\" option. */\nexport const WALLET_ID_OTHER_WALLET = \"otherWallet\";\n/** Special wallet ID for \"mobile wallets\" option. */\nexport const WALLET_ID_MOBILE_WALLETS = \"mobileWallets\";\n\nexport type WalletProps = {\n id: string;\n connector?: Connector;\n isInstalled?: boolean;\n /** Name of the matching Solana wallet adapter (if any) */\n solanaConnectorName?: SolanaWalletName;\n} & WalletConfigProps;\n\nexport const useWallet = (id: string): WalletProps | null => {\n const wallets = useWallets();\n const wallet = wallets.find((c) => c.id === id);\n if (!wallet) return null;\n return wallet;\n};\n\nexport const useWallets = (isMobile?: boolean): WalletProps[] => {\n const connectors = useConnectors();\n const context = usePayContext();\n const { showSolanaPaymentMethod } = context.paymentState;\n const { disableMobileInjector } = context;\n // Solana wallets available in the session (desktop & mobile)\n const solanaWallet = useSolanaWalletAdapter();\n const locales = useLocales();\n if (isMobile) {\n const mobileWallets: WalletProps[] = [];\n\n // Add injected wallet (if any) first, unless disabled\n if (!disableMobileInjector) {\n connectors.forEach((connector) => {\n if (isBaseAccountConnector(connector.id)) return;\n if (isGeminiConnector(connector.id)) return;\n if (!isInjectedConnector(connector.type)) return;\n // Skip any connectors that mention WalletConnect\n if (connector.name?.toLowerCase().includes(\"walletconnect\")) return;\n mobileWallets.push({\n id: connector.id,\n connector,\n shortName: connector.name,\n iconConnector: connector.icon ? (\n <img src={connector.icon} alt={connector.name} />\n ) : (\n <WalletIcon />\n ),\n iconShape: \"squircle\",\n });\n });\n }\n\n function addIfNotPresent(idList: string) {\n if (mobileWallets.find((w) => idList.includes(w.id))) return;\n if (mobileWallets.length >= 3) return;\n const wallet = assertNotNull(\n walletConfigs[idList],\n () => `missing ${idList}`,\n );\n mobileWallets.push({\n id: idList,\n ...wallet,\n });\n }\n\n addIfNotPresent(\n \"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK\",\n );\n addIfNotPresent(\"com.trustwallet.app\");\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\"\");\n const otherString = flattenChildren(locales.other).join(\"\");\n // Add other wallet\n mobileWallets.push({\n id: WALLET_ID_OTHER_WALLET,\n name: otherWalletsString,\n shortName: otherString,\n iconConnector: <Logos.OtherWallets />,\n iconShape: \"square\",\n showInMobileConnectors: false,\n });\n\n return mobileWallets;\n }\n\n const wallets = connectors\n .filter((connector) => {\n // Skip any connectors that mention WalletConnect\n return !connector.name?.toLowerCase().includes(\"walletconnect\");\n })\n .map((connector): WalletProps => {\n // First, attempt to find a config by matching connector.id (existing logic).\n let walletConfigKey: string | undefined = Object.keys(walletConfigs).find(\n (id) =>\n id\n .split(\",\")\n .map((i) => i.trim())\n .includes(connector.id),\n );\n\n // If not found by id, attempt a fuzzy match on connector.name.\n if (!walletConfigKey && connector.name) {\n walletConfigKey = Object.keys(walletConfigs).find((key) => {\n const cfgName = walletConfigs[key].name?.toLowerCase();\n const connName = connector.name!.toLowerCase();\n return (\n cfgName &&\n (cfgName.includes(connName) || connName.includes(cfgName))\n );\n });\n }\n\n const c: WalletProps = {\n id: connector.id,\n name: connector.name ?? connector.id ?? connector.type,\n icon: connector.icon ? (\n <img\n src={connector.icon}\n alt={connector.name}\n width={\"100%\"}\n height={\"100%\"}\n />\n ) : (\n <WalletIcon />\n ),\n connector,\n iconShape: connector.id === \"io.rabby\" ? \"circle\" : \"squircle\",\n isInstalled:\n connector.type === \"mock\" ||\n (connector.type === \"injected\" && connector.id !== \"metaMask\") ||\n connector.type === \"farcasterFrame\" ||\n isBaseAccountConnector(connector.id) ||\n isGeminiConnector(connector.id),\n };\n\n if (walletConfigKey) {\n const wallet = walletConfigs[walletConfigKey];\n return {\n ...c,\n iconConnector: connector.icon ? (\n <img\n src={connector.icon}\n alt={connector.name}\n width={\"100%\"}\n height={\"100%\"}\n />\n ) : undefined,\n ...wallet,\n };\n }\n\n return c;\n });\n\n wallets.push({\n id: WALLET_ID_MOBILE_WALLETS,\n name: \"Mobile Wallets\",\n shortName: \"Mobile\",\n icon: (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transform: \"scale(1.2)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n ),\n iconConnector: (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transform: \"scale(1.2)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n ),\n });\n\n if (showSolanaPaymentMethod) {\n const solanaAdapters = solanaWallet.wallets ?? [];\n\n // Merge by fuzzy name matching (includes comparison)\n wallets.forEach((w) => {\n // Skip wallets without a usable name to avoid matching everything\n if (!w.name) return;\n\n const evm = w.name.toLowerCase();\n const match = solanaAdapters.find((sw) => {\n const sol = sw.adapter.name.toLowerCase();\n return evm.includes(sol) || sol.includes(evm);\n });\n\n if (match) {\n w.solanaConnectorName = match.adapter.name;\n }\n });\n\n const unmatched = solanaAdapters.filter(\n (sw) => !wallets.find((w) => w.solanaConnectorName === sw.adapter.name),\n );\n\n unmatched.forEach((sw) => {\n wallets.push({\n id: `solana-${sw.adapter.name}`,\n name: sw.adapter.name,\n shortName: sw.adapter.name,\n icon: <SquircleIcon icon={sw.adapter.icon} alt={sw.adapter.name} />,\n iconConnector: (\n <SquircleIcon icon={sw.adapter.icon} alt={sw.adapter.name} />\n ),\n iconShape: \"squircle\",\n solanaConnectorName: sw.adapter.name,\n });\n });\n }\n\n return (\n wallets\n // remove duplicate ids\n .filter(\n (wallet, index, self) =>\n self.findIndex((w) => w.id === wallet.id) === index,\n )\n // remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists\n .filter(\n (wallet, index, self) =>\n !(\n wallet.id === \"coinbaseWalletSDK\" &&\n self.find((w) => w.id === \"com.coinbase.wallet\")\n ),\n )\n // remove wallet with id io.metamask if wallet with id 'metaMask' exists\n .filter(\n (wallet, index, self) =>\n !(\n (wallet.id === \"metaMaskSDK\" || wallet.id === \"metaMask\") &&\n self.find(\n (w) => w.id === \"io.metamask\" || w.id === \"io.metamask.mobile\",\n )\n ),\n )\n // remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists\n .filter(\n (wallet, index, self) =>\n !(\n wallet.id === \"com.warpcast.mobile\" &&\n self.find((w) => w.id === \"farcaster\")\n ),\n )\n // order by isInstalled injected connectors first\n .sort((a, b) => {\n const AisInstalled =\n a.isInstalled && isInjectedConnector(a.connector?.type);\n const BisInstalled =\n b.isInstalled && isInjectedConnector(b.connector?.type);\n\n if (AisInstalled && !BisInstalled) return -1;\n if (!AisInstalled && BisInstalled) return 1;\n return 0;\n })\n // order \"mobile wallets\" option last\n .sort((a, b) => {\n if (a.id === WALLET_ID_MOBILE_WALLETS) return 1;\n if (b.id === WALLET_ID_MOBILE_WALLETS) return -1;\n return 0;\n })\n );\n};\n"],"names":["useSolanaWalletAdapter","addIfNotPresent"],"mappings":"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"}
1
+ {"version":3,"file":"useWallets.js","sources":["../../../src/wallets/useWallets.tsx"],"sourcesContent":["import { assertNotNull } from \"@daimo/pay-common\";\nimport { Connector } from \"wagmi\";\n\nimport { useWallet as useSolanaWalletAdapter } from \"@solana/wallet-adapter-react\";\nimport Logos, { SquircleIcon, WalletIcon } from \"../assets/logos\";\nimport MobileWithLogos from \"../assets/MobileWithLogos\";\nimport { useConnectors } from \"../hooks/useConnectors\";\nimport useLocales from \"../hooks/useLocales\";\nimport { usePayContext } from \"../hooks/usePayContext\";\nimport { SolanaWalletName } from \"../provider/SolanaContextProvider\";\nimport {\n flattenChildren,\n isBaseAccountConnector,\n isGeminiConnector,\n isInjectedConnector,\n isPortoConnector,\n} from \"../utils\";\nimport { WalletConfigProps, walletConfigs } from \"./walletConfigs\";\n\n/** Special wallet ID for \"other wallets\" option. */\nexport const WALLET_ID_OTHER_WALLET = \"otherWallet\";\n/** Special wallet ID for \"mobile wallets\" option. */\nexport const WALLET_ID_MOBILE_WALLETS = \"mobileWallets\";\n\nexport type WalletProps = {\n id: string;\n connector?: Connector;\n isInstalled?: boolean;\n /** Name of the matching Solana wallet adapter (if any) */\n solanaConnectorName?: SolanaWalletName;\n} & WalletConfigProps;\n\nexport const useWallet = (id: string): WalletProps | null => {\n const wallets = useWallets();\n const wallet = wallets.find((c) => c.id === id);\n if (!wallet) return null;\n return wallet;\n};\n\nexport const useWallets = (isMobile?: boolean): WalletProps[] => {\n const connectors = useConnectors();\n const context = usePayContext();\n const { showSolanaPaymentMethod } = context.paymentState;\n const { disableMobileInjector } = context;\n // Solana wallets available in the session (desktop & mobile)\n const solanaWallet = useSolanaWalletAdapter();\n const locales = useLocales();\n if (isMobile) {\n const mobileWallets: WalletProps[] = [];\n\n // Add injected wallet (if any) first, unless disabled\n if (!disableMobileInjector) {\n connectors.forEach((connector) => {\n if (isBaseAccountConnector(connector.id)) return;\n if (isGeminiConnector(connector.id)) return;\n if (isPortoConnector(connector.id)) return;\n if (!isInjectedConnector(connector.type)) return;\n // Skip any connectors that mention WalletConnect\n if (connector.name?.toLowerCase().includes(\"walletconnect\")) return;\n mobileWallets.push({\n id: connector.id,\n connector,\n shortName: connector.name,\n iconConnector: connector.icon ? (\n <img src={connector.icon} alt={connector.name} />\n ) : (\n <WalletIcon />\n ),\n iconShape: \"squircle\",\n });\n });\n }\n\n function addIfNotPresent(idList: string) {\n if (mobileWallets.find((w) => idList.includes(w.id))) return;\n if (mobileWallets.length >= 3) return;\n const wallet = assertNotNull(\n walletConfigs[idList],\n () => `missing ${idList}`,\n );\n mobileWallets.push({\n id: idList,\n ...wallet,\n });\n }\n\n addIfNotPresent(\n \"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK\",\n );\n addIfNotPresent(\"com.trustwallet.app\");\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\"\");\n const otherString = flattenChildren(locales.other).join(\"\");\n // Add other wallet\n mobileWallets.push({\n id: WALLET_ID_OTHER_WALLET,\n name: otherWalletsString,\n shortName: otherString,\n iconConnector: <Logos.OtherWallets />,\n iconShape: \"square\",\n showInMobileConnectors: false,\n });\n\n return mobileWallets;\n }\n\n const wallets = connectors.map((connector): WalletProps => {\n // First, attempt to find a config by matching connector.id (existing logic).\n let walletConfigKey: string | undefined = Object.keys(walletConfigs).find(\n (id) =>\n id\n .split(\",\")\n .map((i) => i.trim())\n .includes(connector.id),\n );\n\n // If not found by id, attempt a fuzzy match on connector.name.\n if (!walletConfigKey && connector.name) {\n walletConfigKey = Object.keys(walletConfigs).find((key) => {\n const cfgName = walletConfigs[key].name?.toLowerCase();\n const connName = connector.name!.toLowerCase();\n return (\n cfgName && (cfgName.includes(connName) || connName.includes(cfgName))\n );\n });\n }\n\n const c: WalletProps = {\n id: connector.id,\n name: connector.name ?? connector.id ?? connector.type,\n icon: connector.icon ? (\n <img\n src={connector.icon}\n alt={connector.name}\n width={\"100%\"}\n height={\"100%\"}\n />\n ) : (\n <WalletIcon />\n ),\n connector,\n iconShape: connector.id === \"io.rabby\" ? \"circle\" : \"squircle\",\n isInstalled:\n connector.type === \"mock\" ||\n (connector.type === \"injected\" && connector.id !== \"metaMask\") ||\n connector.type === \"farcasterFrame\" ||\n isPortoConnector(connector.id) ||\n isBaseAccountConnector(connector.id) ||\n isGeminiConnector(connector.id),\n };\n\n if (walletConfigKey) {\n const wallet = walletConfigs[walletConfigKey];\n return {\n ...c,\n iconConnector: connector.icon ? (\n <img\n src={connector.icon}\n alt={connector.name}\n width={\"100%\"}\n height={\"100%\"}\n />\n ) : undefined,\n ...wallet,\n };\n }\n\n return c;\n });\n\n wallets.push(walletConfigs.world as WalletProps);\n\n wallets.push({\n id: WALLET_ID_MOBILE_WALLETS,\n name: \"Mobile Wallets\",\n shortName: \"Mobile\",\n icon: (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transform: \"scale(1.2)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n ),\n iconConnector: (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n transform: \"scale(1.2)\",\n transformOrigin: \"center center\",\n }}\n >\n <MobileWithLogos />\n </div>\n ),\n });\n\n if (showSolanaPaymentMethod) {\n const solanaAdapters = solanaWallet.wallets ?? [];\n\n // Merge by fuzzy name matching (includes comparison)\n wallets.forEach((w) => {\n // Skip wallets without a usable name to avoid matching everything\n if (!w.name) return;\n\n const evm = w.name.toLowerCase();\n const match = solanaAdapters.find((sw) => {\n const sol = sw.adapter.name.toLowerCase();\n return evm.includes(sol) || sol.includes(evm);\n });\n\n if (match) {\n w.solanaConnectorName = match.adapter.name;\n }\n });\n\n const unmatched = solanaAdapters.filter(\n (sw) => !wallets.find((w) => w.solanaConnectorName === sw.adapter.name),\n );\n\n unmatched.forEach((sw) => {\n wallets.push({\n id: `solana-${sw.adapter.name}`,\n name: sw.adapter.name,\n shortName: sw.adapter.name,\n icon: <SquircleIcon icon={sw.adapter.icon} alt={sw.adapter.name} />,\n iconConnector: (\n <SquircleIcon icon={sw.adapter.icon} alt={sw.adapter.name} />\n ),\n iconShape: \"squircle\",\n solanaConnectorName: sw.adapter.name,\n });\n });\n }\n\n return (\n wallets\n // remove duplicate ids\n .filter(\n (wallet, index, self) =>\n self.findIndex((w) => w.id === wallet.id) === index,\n )\n // remove wallet with id coinbaseWalletSDK if wallet with id 'com.coinbase.wallet' exists\n .filter(\n (wallet, index, self) =>\n !(\n wallet.id === \"coinbaseWalletSDK\" &&\n self.find((w) => w.id === \"com.coinbase.wallet\")\n ),\n )\n // remove wallet with id io.metamask if wallet with id 'metaMask' exists\n .filter(\n (wallet, index, self) =>\n !(\n (wallet.id === \"metaMaskSDK\" || wallet.id === \"metaMask\") &&\n self.find(\n (w) => w.id === \"io.metamask\" || w.id === \"io.metamask.mobile\",\n )\n ),\n )\n // remove wallet with id 'com.warpcast.mobile' if wallet with id 'farcaster' exists\n .filter(\n (wallet, index, self) =>\n !(\n wallet.id === \"com.warpcast.mobile\" &&\n self.find((w) => w.id === \"farcaster\")\n ),\n )\n // order by isInstalled injected connectors first\n .sort((a, b) => {\n const aIsInstalledInjected =\n a.isInstalled && isInjectedConnector(a.connector?.type);\n const bIsInstalledInjected =\n b.isInstalled && isInjectedConnector(b.connector?.type);\n\n if (aIsInstalledInjected && !bIsInstalledInjected) return -1;\n if (!aIsInstalledInjected && bIsInstalledInjected) return 1;\n\n // Within installed injected group, push Porto to the end\n if (aIsInstalledInjected && bIsInstalledInjected) {\n const aIsPorto = isPortoConnector(a.connector?.id);\n const bIsPorto = isPortoConnector(b.connector?.id);\n if (aIsPorto && !bIsPorto) return 1;\n if (!aIsPorto && bIsPorto) return -1;\n }\n\n return 0;\n })\n // order \"mobile wallets\" option last\n .sort((a, b) => {\n if (a.id === WALLET_ID_MOBILE_WALLETS) return 1;\n if (b.id === WALLET_ID_MOBILE_WALLETS) return -1;\n return 0;\n })\n );\n};\n"],"names":["useSolanaWalletAdapter","addIfNotPresent"],"mappings":"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"}
@@ -38,7 +38,7 @@ const walletConfigs = {
38
38
  return "cbwallet://dapp?url=" + getEncodedDaimoPayUrl(payId);
39
39
  }
40
40
  },
41
- "baseAccount": {
41
+ baseAccount: {
42
42
  name: "Base App",
43
43
  shortName: "Base",
44
44
  icon: /* @__PURE__ */ jsx(Logos.Base, {}),
@@ -128,11 +128,19 @@ const walletConfigs = {
128
128
  return `https://phantom.app/ul/browse/${url}?ref=${ref}`;
129
129
  }
130
130
  },
131
+ porto: {
132
+ name: "Porto",
133
+ icon: /* @__PURE__ */ jsx(Logos.Porto, {}),
134
+ iconShape: "squircle",
135
+ showInMobileConnectors: true
136
+ },
131
137
  farcaster: {
132
138
  name: "Farcaster",
133
139
  icon: /* @__PURE__ */ jsx(Logos.Farcaster, {}),
134
140
  iconShape: "squircle",
135
- showInMobileConnectors: true,
141
+ // Temporarily hidden from mobile connectors to make room for World wallet.
142
+ // Will re-enable once /pay flow is fixed for Farcaster and we support more mobile wallets.
143
+ showInMobileConnectors: false,
136
144
  getDaimoPayDeeplink: (payId) => {
137
145
  return "https://farcaster.xyz/miniapps/sGRsevnRvM9P/daimo-pay/?id=" + payId;
138
146
  }
@@ -233,6 +241,21 @@ const walletConfigs = {
233
241
  // // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started
234
242
  // shouldDeeplinkDesktop: true,
235
243
  // },
244
+ world: {
245
+ id: "world",
246
+ name: "World",
247
+ shortName: "World",
248
+ icon: /* @__PURE__ */ jsx(Logos.World, {}),
249
+ iconConnector: /* @__PURE__ */ jsx(Logos.World, {}),
250
+ showInMobileConnectors: true,
251
+ iconShape: "squircle",
252
+ deeplinkScheme: "world",
253
+ getDaimoPayDeeplink: (payId) => {
254
+ const path = "/pay?id=" + payId;
255
+ const url = "https://worldcoin.org/mini-app?app_id=app_e7d27c5ce2234e00558776f227f791ef&path=" + encodeURIComponent(path);
256
+ return url;
257
+ }
258
+ },
236
259
  zerion: {
237
260
  name: "Zerion",
238
261
  icon: /* @__PURE__ */ jsx(Logos.Zerion, {}),