@daimo/pay 1.19.6 → 1.19.7

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.
@@ -1,5 +1,5 @@
1
1
  var name = "@daimo/pay";
2
- var version = "1.19.6";
2
+ var version = "1.19.7";
3
3
  var author = "Daimo";
4
4
  var homepage = "https://pay.daimo.com";
5
5
  var license = "BSD-2-Clause license";
@@ -31,7 +31,7 @@ var scripts = {
31
31
  lint: "eslint 'src/**/*.{js,jsx,ts,tsx}' --max-warnings=0"
32
32
  };
33
33
  var dependencies = {
34
- "@daimo/pay-common": "1.19.6",
34
+ "@daimo/pay-common": "1.19.7",
35
35
  "@solana/wallet-adapter-base": "^0.9.23",
36
36
  "@solana/wallet-adapter-react": "^0.15.35",
37
37
  "@solana/web3.js": "^1.95.4",
@@ -0,0 +1,9 @@
1
+ const isWalletInstalled = (name) => {
2
+ if (typeof window === "undefined") return false;
3
+ const { ethereum } = window;
4
+ return !!(ethereum?.[`is${name}`] || ethereum?.providers && ethereum?.providers.find((provider) => provider?.[`is${name}`]));
5
+ };
6
+ const isMetaMask = () => isWalletInstalled("MetaMask");
7
+
8
+ export { isMetaMask, isWalletInstalled };
9
+ //# sourceMappingURL=wallets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallets.js","sources":["../../../src/utils/wallets.ts"],"sourcesContent":["declare global {\n interface Window {\n trustWallet: any;\n trustwallet: any;\n }\n}\n\nexport const isWalletInstalled = (name: string) => {\n if (typeof window === \"undefined\") return false;\n const { ethereum } = window;\n return !!(\n ethereum?.[`is${name}`] ||\n (ethereum?.providers &&\n ethereum?.providers.find((provider) => provider?.[`is${name}`]))\n );\n};\n\nexport const isMetaMask = () => isWalletInstalled(\"MetaMask\");\nexport const isCoinbaseWallet = () => isWalletInstalled(\"CoinbaseWallet\");\nexport const isFamily = () => isWalletInstalled(\"Family\");\nexport const isBrave = () => isWalletInstalled(\"BraveWallet\");\nexport const isTokenary = () => isWalletInstalled(\"Tokenary\");\nexport const isDawn = () => isWalletInstalled(\"Dawn\");\nexport const isFrame = () => isWalletInstalled(\"Frame\");\nexport const isPhantom = () => isWalletInstalled(\"Phantom\");\nexport const isInfinityWallet = () => isWalletInstalled(\"InfinityWallet\");\nexport const isRabby = () => isWalletInstalled(\"Rabby\");\nexport const isFrontier = () => isWalletInstalled(\"Frontier\");\nexport const isTrust = () => {\n if (typeof window === \"undefined\") return false;\n return (\n isWalletInstalled(\"Trust\") ||\n window?.trustWallet?.isTrust ||\n window?.trustwallet?.isTrust\n );\n};\nexport const isTokenPocket = () => isWalletInstalled(\"TokenPocket\");\nexport const isTalisman = () => isWalletInstalled(\"Talisman\");\nexport const isFordefi = () => isWalletInstalled(\"Fordefi\");\nexport const isRainbow = () => isWalletInstalled(\"Rainbow\");\nexport const isZerion = () => isWalletInstalled(\"Zerion\");\n"],"names":[],"mappings":"AAOa,MAAA,iBAAA,GAAoB,CAAC,IAAiB,KAAA;AACjD,EAAI,IAAA,OAAO,MAAW,KAAA,WAAA,EAAoB,OAAA,KAAA,CAAA;AAC1C,EAAM,MAAA,EAAE,UAAa,GAAA,MAAA,CAAA;AACrB,EAAA,OAAO,CAAC,EACN,QAAA,GAAW,KAAK,IAAI,CAAA,CAAE,KACrB,QAAU,EAAA,SAAA,IACT,QAAU,EAAA,SAAA,CAAU,KAAK,CAAC,QAAA,KAAa,WAAW,CAAK,EAAA,EAAA,IAAI,EAAE,CAAC,CAAA,CAAA,CAAA;AAEpE,EAAA;AAEa,MAAA,UAAA,GAAa,MAAM,iBAAA,CAAkB,UAAU;;;;"}
@@ -164,7 +164,7 @@ const useWallets = (isMobile) => {
164
164
  ) : /* @__PURE__ */ jsx(WalletIcon, {}),
165
165
  connector,
166
166
  iconShape: connector.id === RABBY_CONNECTOR_ID ? "circle" : "squircle",
167
- isInstalled: connector.type === "mock" || connector.type === "injected" && connector.id !== "metaMask" || connector.type === "farcasterFrame" || isBaseAccountConnector(connector.id) || isGeminiConnector(connector.id)
167
+ isInstalled: connector.type === "mock" || connector.type === "injected" || connector.type === "farcasterFrame" || isBaseAccountConnector(connector.id) || isGeminiConnector(connector.id)
168
168
  };
169
169
  if (walletConfigKey) {
170
170
  const wallet = walletConfigs[walletConfigKey];
@@ -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, {\n createOtherWalletsIcon,\n SquircleIcon,\n WalletIcon,\n} from \"../assets/logos\";\nimport MobileWithLogos from \"../assets/MobileWithLogos\";\nimport {\n MOBILE_WALLETS_THRESHOLD_FOR_OTHER,\n RABBY_CONNECTOR_ID,\n WALLET_ID_MOBILE_WALLETS,\n WALLET_ID_OTHER_WALLET,\n} from \"../constants/wallets\";\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// ids moved to ../constants/wallets\n\nexport type WalletProps = {\n id: string;\n connector?: Connector | null;\n isInstalled?: boolean;\n /** Name of the matching Solana wallet adapter (if any) */\n solanaConnectorName?: SolanaWalletName;\n} & WalletConfigProps;\n\n/** Check if wallet should show QR code/deeplink (no injected connector) */\nexport function isExternalWallet(\n wallet: WalletProps | WalletConfigProps | null | undefined,\n): boolean {\n if (!wallet) return false;\n // Special mobile wallets option always shows QR\n if (wallet.id === WALLET_ID_MOBILE_WALLETS) return true;\n // Wallets with deeplink but no connector use QR/deeplink flow\n const hasConnector = \"connector\" in wallet && !!wallet.connector;\n return !!wallet.getDaimoPayDeeplink && !hasConnector;\n}\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 { disableMobileInjector, paymentState } = context;\n // Solana wallets available in the session (desktop & mobile)\n const solanaWallet = useSolanaWalletAdapter();\n const locales = useLocales();\n\n // Use prioritized id from button props\n const prioritizedId = context.paymentState.buttonProps?.prioritizedWalletId;\n\n // Get wallet ordering from payment options\n const walletOrder =\n paymentState?.externalPaymentOptions?.parsedConfig?.walletOrder ?? [];\n\n // Helper to move a wallet to the front by id\n function movePrioritizedFirst<T extends { id: string }>(\n list: T[],\n prioritizedId?: string,\n ): void {\n if (!prioritizedId) return;\n if (prioritizedId === WALLET_ID_MOBILE_WALLETS) return;\n const index = list.findIndex((w) => w.id === prioritizedId);\n if (index <= 0) return;\n const [item] = list.splice(index, 1);\n list.unshift(item);\n }\n\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 if (mobileWallets.some((w) => w.id === connector.id)) 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 // If wallet order is specified, use that order\n if (walletOrder.length > 0) {\n for (const optionId of walletOrder) {\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const optionLower = optionId.toLowerCase();\n return (\n wallet.name?.toLowerCase() === optionLower ||\n wallet.shortName?.toLowerCase() === optionLower ||\n wallet.name?.toLowerCase().includes(optionLower) ||\n id.toLowerCase() === optionLower ||\n id.toLowerCase().includes(optionLower)\n );\n });\n if (walletId && !mobileWallets.find((w) => w.id === walletId)) {\n const wallet = walletConfigs[walletId];\n mobileWallets.push({\n id: walletId,\n ...wallet,\n });\n }\n }\n\n // Move prioritized wallet (if any) before determining truncation/\"Other\"\n movePrioritizedFirst(mobileWallets, prioritizedId);\n\n // Determine if we need \"Other\" button\n const totalWallets = walletOrder.length;\n\n // If we have more than threshold total, show max before \"Other\"\n // If we have threshold or fewer, show all\n if (\n totalWallets > MOBILE_WALLETS_THRESHOLD_FOR_OTHER ||\n mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER\n ) {\n // Get the wallets that will be in \"Other\" (those shown in main selector)\n const shownWallets = mobileWallets.slice(\n 0,\n MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1,\n );\n const shownWalletNames = shownWallets\n .map((w) => w.name?.toLowerCase() || w.shortName?.toLowerCase())\n .filter((name): name is string => !!name);\n\n // Find remaining wallets from the order\n const remainingWalletConfigs = walletOrder\n .filter((walletName) => {\n const nameLower = walletName.toLowerCase();\n return !shownWalletNames.some(\n (shown) =>\n shown === nameLower ||\n shown.includes(nameLower) ||\n nameLower.includes(shown),\n );\n })\n .map((walletName) => {\n const configKey = Object.keys(walletConfigs).find((key) => {\n const wallet = walletConfigs[key];\n const name =\n wallet.name?.toLowerCase() ||\n wallet.shortName?.toLowerCase() ||\n \"\";\n return (\n name.includes(walletName.toLowerCase()) ||\n walletName.toLowerCase().includes(name)\n );\n });\n return configKey ? walletConfigs[configKey] : null;\n })\n .filter(Boolean) as WalletConfigProps[];\n\n // Keep max wallets total (including injected)\n if (mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1) {\n mobileWallets.splice(MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1);\n }\n\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\n \"\",\n );\n const otherString = flattenChildren(locales.other).join(\"\");\n mobileWallets.push({\n id: WALLET_ID_OTHER_WALLET,\n name: otherWalletsString,\n shortName: otherString,\n iconConnector: createOtherWalletsIcon(remainingWalletConfigs),\n iconShape: \"square\",\n showInMobileConnectors: false,\n });\n }\n\n return mobileWallets;\n }\n\n // Default behavior: add MetaMask and Trust, then \"other\"\n function addIfNotPresent(idList: string) {\n if (mobileWallets.find((w) => idList.includes(w.id))) return;\n if (mobileWallets.length >= MOBILE_WALLETS_THRESHOLD_FOR_OTHER) 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\n // Ensure prioritized wallet (if any) appears first\n movePrioritizedFirst(mobileWallets, prioritizedId);\n\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\"\");\n const otherString = flattenChildren(locales.other).join(\"\");\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 === RABBY_CONNECTOR_ID ? \"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(walletConfigs.world as WalletProps);\n wallets.push(walletConfigs.minipay 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 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 const sorted = 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 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 // Finally ensure prioritized wallet (if any) is first\n movePrioritizedFirst(sorted, prioritizedId);\n\n return sorted;\n};\n"],"names":["useSolanaWalletAdapter","prioritizedId","addIfNotPresent","otherWalletsString","otherString"],"mappings":";;;;;;;;;;;;AAuCO,SAAS,iBACd,MACS,EAAA;AACT,EAAI,IAAA,CAAC,QAAe,OAAA,KAAA,CAAA;AAEpB,EAAI,IAAA,MAAA,CAAO,EAAO,KAAA,wBAAA,EAAiC,OAAA,IAAA,CAAA;AAEnD,EAAA,MAAM,YAAe,GAAA,WAAA,IAAe,MAAU,IAAA,CAAC,CAAC,MAAO,CAAA,SAAA,CAAA;AACvD,EAAA,OAAO,CAAC,CAAC,MAAO,CAAA,mBAAA,IAAuB,CAAC,YAAA,CAAA;AAC1C,CAAA;AAEa,MAAA,SAAA,GAAY,CAAC,EAAmC,KAAA;AAC3D,EAAA,MAAM,UAAU,UAAW,EAAA,CAAA;AAC3B,EAAA,MAAM,SAAS,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,EAAE,CAAA,CAAA;AAC9C,EAAI,IAAA,CAAC,QAAe,OAAA,IAAA,CAAA;AACpB,EAAO,OAAA,MAAA,CAAA;AACT,EAAA;AAEa,MAAA,UAAA,GAAa,CAAC,QAAsC,KAAA;AAC/D,EAAA,MAAM,aAAa,aAAc,EAAA,CAAA;AACjC,EAAA,MAAM,UAAU,aAAc,EAAA,CAAA;AAC9B,EAAM,MAAA,EAAE,qBAAuB,EAAA,YAAA,EAAiB,GAAA,OAAA,CAAA;AAEhD,EAAA,MAAM,eAAeA,WAAuB,EAAA,CAAA;AAC5C,EAAA,MAAM,UAAU,UAAW,EAAA,CAAA;AAG3B,EAAM,MAAA,aAAA,GAAgB,OAAQ,CAAA,YAAA,CAAa,WAAa,EAAA,mBAAA,CAAA;AAGxD,EAAA,MAAM,WACJ,GAAA,YAAA,EAAc,sBAAwB,EAAA,YAAA,EAAc,eAAe,EAAC,CAAA;AAGtE,EAAS,SAAA,oBAAA,CACP,MACAC,cACM,EAAA;AACN,IAAA,IAAI,CAACA,cAAe,EAAA,OAAA;AACpB,IAAA,IAAIA,mBAAkB,wBAA0B,EAAA,OAAA;AAChD,IAAA,MAAM,QAAQ,IAAK,CAAA,SAAA,CAAU,CAAC,CAAM,KAAA,CAAA,CAAE,OAAOA,cAAa,CAAA,CAAA;AAC1D,IAAA,IAAI,SAAS,CAAG,EAAA,OAAA;AAChB,IAAA,MAAM,CAAC,IAAI,CAAA,GAAI,IAAK,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AACnC,IAAA,IAAA,CAAK,QAAQ,IAAI,CAAA,CAAA;AAAA,GACnB;AAEA,EAAA,IAAI,QAAU,EAAA;AAwHZ,IAASC,IAAAA,gBAAAA,GAAT,SAAyB,MAAgB,EAAA;AACvC,MAAI,IAAA,aAAA,CAAc,KAAK,CAAC,CAAA,KAAM,OAAO,QAAS,CAAA,CAAA,CAAE,EAAE,CAAC,CAAG,EAAA,OAAA;AACtD,MAAI,IAAA,aAAA,CAAc,UAAU,kCAAoC,EAAA,OAAA;AAChE,MAAA,MAAM,MAAS,GAAA,aAAA;AAAA,QACb,cAAc,MAAM,CAAA;AAAA,QACpB,MAAM,WAAW,MAAM,CAAA,CAAA;AAAA,OACzB,CAAA;AACA,MAAA,aAAA,CAAc,IAAK,CAAA;AAAA,QACjB,EAAI,EAAA,MAAA;AAAA,QACJ,GAAG,MAAA;AAAA,OACJ,CAAA,CAAA;AAAA,KACH,CAAA;AAlIA,IAAA,MAAM,gBAA+B,EAAC,CAAA;AAGtC,IAAA,IAAI,CAAC,qBAAuB,EAAA;AAC1B,MAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,SAAc,KAAA;AAChC,QAAI,IAAA,sBAAA,CAAuB,SAAU,CAAA,EAAE,CAAG,EAAA,OAAA;AAC1C,QAAI,IAAA,iBAAA,CAAkB,SAAU,CAAA,EAAE,CAAG,EAAA,OAAA;AACrC,QAAA,IAAI,CAAC,mBAAA,CAAoB,SAAU,CAAA,IAAI,CAAG,EAAA,OAAA;AAC1C,QAAI,IAAA,aAAA,CAAc,KAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,SAAA,CAAU,EAAE,CAAG,EAAA,OAAA;AAEtD,QAAA,IAAI,UAAU,IAAM,EAAA,WAAA,EAAc,CAAA,QAAA,CAAS,eAAe,CAAG,EAAA,OAAA;AAC7D,QAAA,aAAA,CAAc,IAAK,CAAA;AAAA,UACjB,IAAI,SAAU,CAAA,EAAA;AAAA,UACd,SAAA;AAAA,UACA,WAAW,SAAU,CAAA,IAAA;AAAA,UACrB,aAAe,EAAA,SAAA,CAAU,IACvB,mBAAA,GAAA,CAAC,KAAI,EAAA,EAAA,GAAA,EAAK,SAAU,CAAA,IAAA,EAAM,GAAK,EAAA,SAAA,CAAU,IAAM,EAAA,CAAA,uBAE9C,UAAW,EAAA,EAAA,CAAA;AAAA,UAEd,SAAW,EAAA,UAAA;AAAA,SACZ,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAAA,KACH;AAGA,IAAI,IAAA,WAAA,CAAY,SAAS,CAAG,EAAA;AAC1B,MAAA,KAAA,MAAW,YAAY,WAAa,EAAA;AAClC,QAAA,MAAM,WAAW,MAAO,CAAA,IAAA,CAAK,aAAa,CAAE,CAAA,IAAA,CAAK,CAAC,EAAO,KAAA;AACvD,UAAM,MAAA,MAAA,GAAS,cAAc,EAAE,CAAA,CAAA;AAC/B,UAAM,MAAA,WAAA,GAAc,SAAS,WAAY,EAAA,CAAA;AACzC,UACE,OAAA,MAAA,CAAO,IAAM,EAAA,WAAA,EAAkB,KAAA,WAAA,IAC/B,OAAO,SAAW,EAAA,WAAA,EAAkB,KAAA,WAAA,IACpC,MAAO,CAAA,IAAA,EAAM,aAAc,CAAA,QAAA,CAAS,WAAW,CAAA,IAC/C,EAAG,CAAA,WAAA,EAAkB,KAAA,WAAA,IACrB,EAAG,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,WAAW,CAAA,CAAA;AAAA,SAExC,CAAA,CAAA;AACD,QAAI,IAAA,QAAA,IAAY,CAAC,aAAc,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,QAAQ,CAAG,EAAA;AAC7D,UAAM,MAAA,MAAA,GAAS,cAAc,QAAQ,CAAA,CAAA;AACrC,UAAA,aAAA,CAAc,IAAK,CAAA;AAAA,YACjB,EAAI,EAAA,QAAA;AAAA,YACJ,GAAG,MAAA;AAAA,WACJ,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAGA,MAAA,oBAAA,CAAqB,eAAe,aAAa,CAAA,CAAA;AAGjD,MAAA,MAAM,eAAe,WAAY,CAAA,MAAA,CAAA;AAIjC,MAAA,IACE,YAAe,GAAA,kCAAA,IACf,aAAc,CAAA,MAAA,GAAS,kCACvB,EAAA;AAEA,QAAA,MAAM,eAAe,aAAc,CAAA,KAAA;AAAA,UACjC,CAAA;AAAA,UACA,kCAAqC,GAAA,CAAA;AAAA,SACvC,CAAA;AACA,QAAA,MAAM,mBAAmB,YACtB,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,CAAE,MAAM,WAAY,EAAA,IAAK,EAAE,SAAW,EAAA,WAAA,EAAa,CAC9D,CAAA,MAAA,CAAO,CAAC,IAAyB,KAAA,CAAC,CAAC,IAAI,CAAA,CAAA;AAG1C,QAAA,MAAM,sBAAyB,GAAA,WAAA,CAC5B,MAAO,CAAA,CAAC,UAAe,KAAA;AACtB,UAAM,MAAA,SAAA,GAAY,WAAW,WAAY,EAAA,CAAA;AACzC,UAAA,OAAO,CAAC,gBAAiB,CAAA,IAAA;AAAA,YACvB,CAAC,KACC,KAAA,KAAA,KAAU,SACV,IAAA,KAAA,CAAM,SAAS,SAAS,CAAA,IACxB,SAAU,CAAA,QAAA,CAAS,KAAK,CAAA;AAAA,WAC5B,CAAA;AAAA,SACD,CAAA,CACA,GAAI,CAAA,CAAC,UAAe,KAAA;AACnB,UAAA,MAAM,YAAY,MAAO,CAAA,IAAA,CAAK,aAAa,CAAE,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA;AACzD,YAAM,MAAA,MAAA,GAAS,cAAc,GAAG,CAAA,CAAA;AAChC,YAAM,MAAA,IAAA,GACJ,OAAO,IAAM,EAAA,WAAA,MACb,MAAO,CAAA,SAAA,EAAW,aAClB,IAAA,EAAA,CAAA;AACF,YACE,OAAA,IAAA,CAAK,QAAS,CAAA,UAAA,CAAW,WAAY,EAAC,KACtC,UAAW,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAAA,WAEzC,CAAA,CAAA;AACD,UAAO,OAAA,SAAA,GAAY,aAAc,CAAA,SAAS,CAAI,GAAA,IAAA,CAAA;AAAA,SAC/C,CACA,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AAGjB,QAAI,IAAA,aAAA,CAAc,MAAS,GAAA,kCAAA,GAAqC,CAAG,EAAA;AACjE,UAAc,aAAA,CAAA,MAAA,CAAO,qCAAqC,CAAC,CAAA,CAAA;AAAA,SAC7D;AAEA,QAAA,MAAMC,mBAAqB,GAAA,eAAA,CAAgB,OAAQ,CAAA,YAAY,CAAE,CAAA,IAAA;AAAA,UAC/D,EAAA;AAAA,SACF,CAAA;AACA,QAAA,MAAMC,eAAc,eAAgB,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAE,KAAK,EAAE,CAAA,CAAA;AAC1D,QAAA,aAAA,CAAc,IAAK,CAAA;AAAA,UACjB,EAAI,EAAA,sBAAA;AAAA,UACJ,IAAMD,EAAAA,mBAAAA;AAAA,UACN,SAAWC,EAAAA,YAAAA;AAAA,UACX,aAAA,EAAe,uBAAuB,sBAAsB,CAAA;AAAA,UAC5D,SAAW,EAAA,QAAA;AAAA,UACX,sBAAwB,EAAA,KAAA;AAAA,SACzB,CAAA,CAAA;AAAA,OACH;AAEA,MAAO,OAAA,aAAA,CAAA;AAAA,KACT;AAgBA,IAAAF,gBAAAA;AAAA,MACE,qEAAA;AAAA,KACF,CAAA;AACA,IAAAA,iBAAgB,qBAAqB,CAAA,CAAA;AAGrC,IAAA,oBAAA,CAAqB,eAAe,aAAa,CAAA,CAAA;AAEjD,IAAA,MAAM,qBAAqB,eAAgB,CAAA,OAAA,CAAQ,YAAY,CAAA,CAAE,KAAK,EAAE,CAAA,CAAA;AACxE,IAAA,MAAM,cAAc,eAAgB,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAE,KAAK,EAAE,CAAA,CAAA;AAC1D,IAAA,aAAA,CAAc,IAAK,CAAA;AAAA,MACjB,EAAI,EAAA,sBAAA;AAAA,MACJ,IAAM,EAAA,kBAAA;AAAA,MACN,SAAW,EAAA,WAAA;AAAA,MACX,aAAe,kBAAA,GAAA,CAAC,KAAM,CAAA,YAAA,EAAN,EAAmB,CAAA;AAAA,MACnC,SAAW,EAAA,QAAA;AAAA,MACX,sBAAwB,EAAA,KAAA;AAAA,KACzB,CAAA,CAAA;AAED,IAAO,OAAA,aAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,OAAU,GAAA,UAAA,CAAW,GAAI,CAAA,CAAC,SAA2B,KAAA;AAEzD,IAAA,IAAI,eAAsC,GAAA,MAAA,CAAO,IAAK,CAAA,aAAa,CAAE,CAAA,IAAA;AAAA,MACnE,CAAC,EAAA,KACC,EACG,CAAA,KAAA,CAAM,GAAG,CACT,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,IAAK,EAAC,CACnB,CAAA,QAAA,CAAS,UAAU,EAAE,CAAA;AAAA,KAC5B,CAAA;AAGA,IAAI,IAAA,CAAC,eAAmB,IAAA,SAAA,CAAU,IAAM,EAAA;AACtC,MAAA,eAAA,GAAkB,OAAO,IAAK,CAAA,aAAa,CAAE,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA;AACzD,QAAA,MAAM,OAAU,GAAA,aAAA,CAAc,GAAG,CAAA,CAAE,MAAM,WAAY,EAAA,CAAA;AACrD,QAAM,MAAA,QAAA,GAAW,SAAU,CAAA,IAAA,CAAM,WAAY,EAAA,CAAA;AAC7C,QAAA,OACE,YAAY,OAAQ,CAAA,QAAA,CAAS,QAAQ,CAAK,IAAA,QAAA,CAAS,SAAS,OAAO,CAAA,CAAA,CAAA;AAAA,OAEtE,CAAA,CAAA;AAAA,KACH;AAEA,IAAA,MAAM,CAAiB,GAAA;AAAA,MACrB,IAAI,SAAU,CAAA,EAAA;AAAA,MACd,IAAM,EAAA,SAAA,CAAU,IAAQ,IAAA,SAAA,CAAU,MAAM,SAAU,CAAA,IAAA;AAAA,MAClD,IAAA,EAAM,UAAU,IACd,mBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAK,SAAU,CAAA,IAAA;AAAA,UACf,KAAK,SAAU,CAAA,IAAA;AAAA,UACf,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,MAAA;AAAA,SAAA;AAAA,OACV,uBAEC,UAAW,EAAA,EAAA,CAAA;AAAA,MAEd,SAAA;AAAA,MACA,SAAW,EAAA,SAAA,CAAU,EAAO,KAAA,kBAAA,GAAqB,QAAW,GAAA,UAAA;AAAA,MAC5D,aACE,SAAU,CAAA,IAAA,KAAS,UAClB,SAAU,CAAA,IAAA,KAAS,cAAc,SAAU,CAAA,EAAA,KAAO,cACnD,SAAU,CAAA,IAAA,KAAS,oBACnB,sBAAuB,CAAA,SAAA,CAAU,EAAE,CACnC,IAAA,iBAAA,CAAkB,UAAU,EAAE,CAAA;AAAA,KAClC,CAAA;AAEA,IAAA,IAAI,eAAiB,EAAA;AACnB,MAAM,MAAA,MAAA,GAAS,cAAc,eAAe,CAAA,CAAA;AAC5C,MAAO,OAAA;AAAA,QACL,GAAG,CAAA;AAAA,QACH,aAAA,EAAe,UAAU,IACvB,mBAAA,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,KAAK,SAAU,CAAA,IAAA;AAAA,YACf,KAAK,SAAU,CAAA,IAAA;AAAA,YACf,KAAO,EAAA,MAAA;AAAA,YACP,MAAQ,EAAA,MAAA;AAAA,WAAA;AAAA,SAER,GAAA,KAAA,CAAA;AAAA,QACJ,GAAG,MAAA;AAAA,OACL,CAAA;AAAA,KACF;AAEA,IAAO,OAAA,CAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAQ,OAAA,CAAA,IAAA,CAAK,cAAc,KAAoB,CAAA,CAAA;AAC/C,EAAQ,OAAA,CAAA,IAAA,CAAK,cAAc,OAAsB,CAAA,CAAA;AAEjD,EAAA,OAAA,CAAQ,IAAK,CAAA;AAAA,IACX,EAAI,EAAA,wBAAA;AAAA,IACJ,IAAM,EAAA,gBAAA;AAAA,IACN,SAAW,EAAA,QAAA;AAAA,IACX,IACE,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA;AAAA,UACL,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,MAAA;AAAA,UACR,QAAU,EAAA,QAAA;AAAA,UACV,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,SAAW,EAAA,YAAA;AAAA,UACX,eAAiB,EAAA,eAAA;AAAA,SACnB;AAAA,QAEA,8BAAC,eAAgB,EAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KACnB;AAAA,IAEF,aACE,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA;AAAA,UACL,KAAO,EAAA,MAAA;AAAA,UACP,MAAQ,EAAA,MAAA;AAAA,UACR,QAAU,EAAA,QAAA;AAAA,UACV,OAAS,EAAA,MAAA;AAAA,UACT,UAAY,EAAA,QAAA;AAAA,UACZ,cAAgB,EAAA,QAAA;AAAA,UAChB,SAAW,EAAA,YAAA;AAAA,UACX,eAAiB,EAAA,eAAA;AAAA,SACnB;AAAA,QAEA,8BAAC,eAAgB,EAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KACnB;AAAA,GAEH,CAAA,CAAA;AAED,EAAM,MAAA,cAAA,GAAiB,YAAa,CAAA,OAAA,IAAW,EAAC,CAAA;AAGhD,EAAQ,OAAA,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA;AAErB,IAAI,IAAA,CAAC,EAAE,IAAM,EAAA,OAAA;AAEb,IAAM,MAAA,GAAA,GAAM,CAAE,CAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AAC/B,IAAA,MAAM,KAAQ,GAAA,cAAA,CAAe,IAAK,CAAA,CAAC,EAAO,KAAA;AACxC,MAAA,MAAM,GAAM,GAAA,EAAA,CAAG,OAAQ,CAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AACxC,MAAA,OAAO,IAAI,QAAS,CAAA,GAAG,CAAK,IAAA,GAAA,CAAI,SAAS,GAAG,CAAA,CAAA;AAAA,KAC7C,CAAA,CAAA;AAED,IAAA,IAAI,KAAO,EAAA;AACT,MAAE,CAAA,CAAA,mBAAA,GAAsB,MAAM,OAAQ,CAAA,IAAA,CAAA;AAAA,KACxC;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,YAAY,cAAe,CAAA,MAAA;AAAA,IAC/B,CAAC,EAAO,KAAA,CAAC,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,CAAE,CAAA,mBAAA,KAAwB,EAAG,CAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,GACxE,CAAA;AAEA,EAAU,SAAA,CAAA,OAAA,CAAQ,CAAC,EAAO,KAAA;AACxB,IAAA,OAAA,CAAQ,IAAK,CAAA;AAAA,MACX,EAAI,EAAA,CAAA,OAAA,EAAU,EAAG,CAAA,OAAA,CAAQ,IAAI,CAAA,CAAA;AAAA,MAC7B,IAAA,EAAM,GAAG,OAAQ,CAAA,IAAA;AAAA,MACjB,SAAA,EAAW,GAAG,OAAQ,CAAA,IAAA;AAAA,MACtB,IAAA,kBAAO,GAAA,CAAA,YAAA,EAAA,EAAa,IAAM,EAAA,EAAA,CAAG,QAAQ,IAAM,EAAA,GAAA,EAAK,EAAG,CAAA,OAAA,CAAQ,IAAM,EAAA,CAAA;AAAA,MACjE,aAAA,kBACG,GAAA,CAAA,YAAA,EAAA,EAAa,IAAM,EAAA,EAAA,CAAG,QAAQ,IAAM,EAAA,GAAA,EAAK,EAAG,CAAA,OAAA,CAAQ,IAAM,EAAA,CAAA;AAAA,MAE7D,SAAW,EAAA,UAAA;AAAA,MACX,mBAAA,EAAqB,GAAG,OAAQ,CAAA,IAAA;AAAA,KACjC,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AAED,EAAA,MAAM,SAAS,OAEZ,CAAA,MAAA;AAAA,IACC,CAAC,MAAA,EAAQ,KAAO,EAAA,IAAA,KACd,IAAK,CAAA,SAAA,CAAU,CAAC,CAAA,KAAM,CAAE,CAAA,EAAA,KAAO,MAAO,CAAA,EAAE,CAAM,KAAA,KAAA;AAAA,GAGjD,CAAA,MAAA;AAAA,IACC,CAAC,MAAA,EAAQ,KAAO,EAAA,IAAA,KACd,EACE,MAAO,CAAA,EAAA,KAAO,mBACd,IAAA,IAAA,CAAK,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,qBAAqB,CAAA,CAAA;AAAA,GAIpD,CAAA,MAAA;AAAA,IACC,CAAC,MAAQ,EAAA,KAAA,EAAO,IACd,KAAA,EAAA,CACG,MAAO,CAAA,EAAA,KAAO,aAAiB,IAAA,MAAA,CAAO,EAAO,KAAA,UAAA,KAC9C,IAAK,CAAA,IAAA;AAAA,MACH,CAAC,CAAM,KAAA,CAAA,CAAE,EAAO,KAAA,aAAA,IAAiB,EAAE,EAAO,KAAA,oBAAA;AAAA,KAC5C,CAAA;AAAA,GAIL,CAAA,MAAA;AAAA,IACC,CAAC,MAAA,EAAQ,KAAO,EAAA,IAAA,KACd,EACE,MAAO,CAAA,EAAA,KAAO,qBACd,IAAA,IAAA,CAAK,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,WAAW,CAAA,CAAA;AAAA,GAI1C,CAAA,IAAA,CAAK,CAAC,CAAA,EAAG,CAAM,KAAA;AACd,IAAA,MAAM,uBACJ,CAAE,CAAA,WAAA,IAAe,mBAAoB,CAAA,CAAA,CAAE,WAAW,IAAI,CAAA,CAAA;AACxD,IAAA,MAAM,uBACJ,CAAE,CAAA,WAAA,IAAe,mBAAoB,CAAA,CAAA,CAAE,WAAW,IAAI,CAAA,CAAA;AAExD,IAAI,IAAA,oBAAA,IAAwB,CAAC,oBAAA,EAA6B,OAAA,CAAA,CAAA,CAAA;AAC1D,IAAI,IAAA,CAAC,oBAAwB,IAAA,oBAAA,EAA6B,OAAA,CAAA,CAAA;AAC1D,IAAO,OAAA,CAAA,CAAA;AAAA,GACR,CAAA,CAEA,IAAK,CAAA,CAAC,GAAG,CAAM,KAAA;AACd,IAAI,IAAA,CAAA,CAAE,EAAO,KAAA,wBAAA,EAAiC,OAAA,CAAA,CAAA;AAC9C,IAAI,IAAA,CAAA,CAAE,EAAO,KAAA,wBAAA,EAAiC,OAAA,CAAA,CAAA,CAAA;AAC9C,IAAO,OAAA,CAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAGH,EAAA,oBAAA,CAAqB,QAAQ,aAAa,CAAA,CAAA;AAE1C,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
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, {\n createOtherWalletsIcon,\n SquircleIcon,\n WalletIcon,\n} from \"../assets/logos\";\nimport MobileWithLogos from \"../assets/MobileWithLogos\";\nimport {\n MOBILE_WALLETS_THRESHOLD_FOR_OTHER,\n RABBY_CONNECTOR_ID,\n WALLET_ID_MOBILE_WALLETS,\n WALLET_ID_OTHER_WALLET,\n} from \"../constants/wallets\";\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// ids moved to ../constants/wallets\n\nexport type WalletProps = {\n id: string;\n connector?: Connector | null;\n isInstalled?: boolean;\n /** Name of the matching Solana wallet adapter (if any) */\n solanaConnectorName?: SolanaWalletName;\n} & WalletConfigProps;\n\n/** Check if wallet should show QR code/deeplink (no injected connector) */\nexport function isExternalWallet(\n wallet: WalletProps | WalletConfigProps | null | undefined,\n): boolean {\n if (!wallet) return false;\n // Special mobile wallets option always shows QR\n if (wallet.id === WALLET_ID_MOBILE_WALLETS) return true;\n // Wallets with deeplink but no connector use QR/deeplink flow\n const hasConnector = \"connector\" in wallet && !!wallet.connector;\n return !!wallet.getDaimoPayDeeplink && !hasConnector;\n}\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 { disableMobileInjector, paymentState } = context;\n // Solana wallets available in the session (desktop & mobile)\n const solanaWallet = useSolanaWalletAdapter();\n const locales = useLocales();\n\n // Use prioritized id from button props\n const prioritizedId = context.paymentState.buttonProps?.prioritizedWalletId;\n\n // Get wallet ordering from payment options\n const walletOrder =\n paymentState?.externalPaymentOptions?.parsedConfig?.walletOrder ?? [];\n\n // Helper to move a wallet to the front by id\n function movePrioritizedFirst<T extends { id: string }>(\n list: T[],\n prioritizedId?: string,\n ): void {\n if (!prioritizedId) return;\n if (prioritizedId === WALLET_ID_MOBILE_WALLETS) return;\n const index = list.findIndex((w) => w.id === prioritizedId);\n if (index <= 0) return;\n const [item] = list.splice(index, 1);\n list.unshift(item);\n }\n\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 if (mobileWallets.some((w) => w.id === connector.id)) 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 // If wallet order is specified, use that order\n if (walletOrder.length > 0) {\n for (const optionId of walletOrder) {\n const walletId = Object.keys(walletConfigs).find((id) => {\n const wallet = walletConfigs[id];\n const optionLower = optionId.toLowerCase();\n return (\n wallet.name?.toLowerCase() === optionLower ||\n wallet.shortName?.toLowerCase() === optionLower ||\n wallet.name?.toLowerCase().includes(optionLower) ||\n id.toLowerCase() === optionLower ||\n id.toLowerCase().includes(optionLower)\n );\n });\n if (walletId && !mobileWallets.find((w) => w.id === walletId)) {\n const wallet = walletConfigs[walletId];\n mobileWallets.push({\n id: walletId,\n ...wallet,\n });\n }\n }\n\n // Move prioritized wallet (if any) before determining truncation/\"Other\"\n movePrioritizedFirst(mobileWallets, prioritizedId);\n\n // Determine if we need \"Other\" button\n const totalWallets = walletOrder.length;\n\n // If we have more than threshold total, show max before \"Other\"\n // If we have threshold or fewer, show all\n if (\n totalWallets > MOBILE_WALLETS_THRESHOLD_FOR_OTHER ||\n mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER\n ) {\n // Get the wallets that will be in \"Other\" (those shown in main selector)\n const shownWallets = mobileWallets.slice(\n 0,\n MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1,\n );\n const shownWalletNames = shownWallets\n .map((w) => w.name?.toLowerCase() || w.shortName?.toLowerCase())\n .filter((name): name is string => !!name);\n\n // Find remaining wallets from the order\n const remainingWalletConfigs = walletOrder\n .filter((walletName) => {\n const nameLower = walletName.toLowerCase();\n return !shownWalletNames.some(\n (shown) =>\n shown === nameLower ||\n shown.includes(nameLower) ||\n nameLower.includes(shown),\n );\n })\n .map((walletName) => {\n const configKey = Object.keys(walletConfigs).find((key) => {\n const wallet = walletConfigs[key];\n const name =\n wallet.name?.toLowerCase() ||\n wallet.shortName?.toLowerCase() ||\n \"\";\n return (\n name.includes(walletName.toLowerCase()) ||\n walletName.toLowerCase().includes(name)\n );\n });\n return configKey ? walletConfigs[configKey] : null;\n })\n .filter(Boolean) as WalletConfigProps[];\n\n // Keep max wallets total (including injected)\n if (mobileWallets.length > MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1) {\n mobileWallets.splice(MOBILE_WALLETS_THRESHOLD_FOR_OTHER - 1);\n }\n\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\n \"\",\n );\n const otherString = flattenChildren(locales.other).join(\"\");\n mobileWallets.push({\n id: WALLET_ID_OTHER_WALLET,\n name: otherWalletsString,\n shortName: otherString,\n iconConnector: createOtherWalletsIcon(remainingWalletConfigs),\n iconShape: \"square\",\n showInMobileConnectors: false,\n });\n }\n\n return mobileWallets;\n }\n\n // Default behavior: add MetaMask and Trust, then \"other\"\n function addIfNotPresent(idList: string) {\n if (mobileWallets.find((w) => idList.includes(w.id))) return;\n if (mobileWallets.length >= MOBILE_WALLETS_THRESHOLD_FOR_OTHER) 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\n // Ensure prioritized wallet (if any) appears first\n movePrioritizedFirst(mobileWallets, prioritizedId);\n\n const otherWalletsString = flattenChildren(locales.otherWallets).join(\"\");\n const otherString = flattenChildren(locales.other).join(\"\");\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 === RABBY_CONNECTOR_ID ? \"circle\" : \"squircle\",\n isInstalled:\n connector.type === \"mock\" ||\n connector.type === \"injected\" ||\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(walletConfigs.world as WalletProps);\n wallets.push(walletConfigs.minipay 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 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 const sorted = 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 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 // Finally ensure prioritized wallet (if any) is first\n movePrioritizedFirst(sorted, prioritizedId);\n\n return sorted;\n};\n"],"names":["useSolanaWalletAdapter","prioritizedId","addIfNotPresent","otherWalletsString","otherString"],"mappings":"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"}
@@ -14,11 +14,6 @@ function setInWalletPaymentUrlFromApiUrl(apiUrl) {
14
14
  function getDaimoPayUrl(payId) {
15
15
  return daimoPayHost + "/pay?id=" + payId;
16
16
  }
17
- function getEncodedDaimoPayUrl(payId) {
18
- let url = getDaimoPayUrl(payId);
19
- let encodedUrl = encodeURIComponent(url);
20
- return encodedUrl;
21
- }
22
17
  const walletConfigs = {
23
18
  baseAccount: {
24
19
  id: "baseAccount",
@@ -31,26 +26,8 @@ const walletConfigs = {
31
26
  deeplinkScheme: "cbwallet://",
32
27
  showOnAndroid: true,
33
28
  showOnIOS: true,
34
- getDaimoPayDeeplink: (payId, platform) => {
35
- if (platform === "android") {
36
- return "https://go.cb-w.com/dapp?cb_url=" + getEncodedDaimoPayUrl(payId);
37
- }
38
- return "cbwallet://dapp?url=" + getEncodedDaimoPayUrl(payId);
39
- }
40
- },
41
- backpack: {
42
- id: "backpack",
43
- name: "Backpack",
44
- shortName: "Backpack",
45
- icon: /* @__PURE__ */ jsx(Logos.Backpack, {}),
46
- iconConnector: /* @__PURE__ */ jsx(Logos.Backpack, {}),
47
- iconShape: "squircle",
48
- showInMobileConnectors: true,
49
- showOnAndroid: true,
50
- showOnIOS: true,
51
29
  getDaimoPayDeeplink: (payId) => {
52
- const url = encodeURIComponent(getDaimoPayUrl(payId));
53
- return `https://backpack.app/ul/v1/browse/${url}`;
30
+ return "https://go.cb-w.com/dapp?cb_url=" + encodeURIComponent(getDaimoPayUrl(payId));
54
31
  }
55
32
  },
56
33
  bitget: {
@@ -64,24 +41,9 @@ const walletConfigs = {
64
41
  showOnIOS: true,
65
42
  deeplinkScheme: "bitkeep://",
66
43
  getDaimoPayDeeplink: (payId) => {
67
- return "bitkeep://bkconnect?action=dapp&url=" + getDaimoPayUrl(payId);
44
+ return "https://bkcode.vip?action=dapp&url=" + getDaimoPayUrl(payId);
68
45
  }
69
46
  },
70
- "co.family.wallet": {
71
- id: "co.family.wallet",
72
- name: "Family",
73
- shortName: "Family",
74
- icon: /* @__PURE__ */ jsx(Logos.Family, {}),
75
- iconConnector: /* @__PURE__ */ jsx(Logos.Family, {}),
76
- iconShape: "squircle",
77
- showOnAndroid: false,
78
- showOnIOS: true,
79
- deeplinkScheme: "familywallet://",
80
- getDaimoPayDeeplink: (payId) => {
81
- return "familywallet://browser?url=" + getDaimoPayUrl(payId);
82
- },
83
- showInMobileConnectors: true
84
- },
85
47
  "metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK": {
86
48
  id: "metaMask",
87
49
  name: "MetaMask",
@@ -114,27 +76,6 @@ const walletConfigs = {
114
76
  return `https://phantom.app/ul/browse/${url}?ref=${ref}`;
115
77
  }
116
78
  },
117
- // porto: {
118
- // name: "Porto",
119
- // icon: <Logos.Porto />,
120
- // iconShape: "squircle",
121
- // showInMobileConnectors: true,
122
- // },
123
- farcaster: {
124
- id: "farcaster",
125
- name: "Farcaster",
126
- icon: /* @__PURE__ */ jsx(Logos.Farcaster, {}),
127
- iconConnector: /* @__PURE__ */ jsx(Logos.Farcaster, {}),
128
- iconShape: "squircle",
129
- // Temporarily hidden from mobile connectors to make room for World wallet.
130
- // Will re-enable once /pay flow is fixed for Farcaster and we support more mobile wallets.
131
- showInMobileConnectors: false,
132
- showOnAndroid: true,
133
- showOnIOS: true,
134
- getDaimoPayDeeplink: (payId) => {
135
- return "https://farcaster.xyz/miniapps/sGRsevnRvM9P/daimo-pay/?id=" + payId;
136
- }
137
- },
138
79
  minipay: {
139
80
  id: "minipay",
140
81
  name: "MiniPay",
@@ -161,7 +102,7 @@ const walletConfigs = {
161
102
  showOnAndroid: true,
162
103
  showOnIOS: true,
163
104
  getDaimoPayDeeplink: (payId) => {
164
- return "rainbow://dapp?url=" + getDaimoPayUrl(payId);
105
+ return "https://rnbwapp.com/dapp?url=" + getDaimoPayUrl(payId);
165
106
  }
166
107
  },
167
108
  // "io.rabby": {
@@ -182,7 +123,7 @@ const walletConfigs = {
182
123
  showOnAndroid: true,
183
124
  showOnIOS: true,
184
125
  getDaimoPayDeeplink: (payId) => {
185
- return "trust://open_url?coin_id=60&url=" + getDaimoPayUrl(payId);
126
+ return "https://link.trustwallet.com/open_url?coin_id=60&url=" + getDaimoPayUrl(payId);
186
127
  }
187
128
  },
188
129
  okx: {
@@ -195,25 +136,11 @@ const walletConfigs = {
195
136
  showOnAndroid: true,
196
137
  showOnIOS: true,
197
138
  getDaimoPayDeeplink: (payId) => {
198
- return "okx://wallet/dapp/url?dappUrl=" + getDaimoPayUrl(payId);
139
+ return "https://web3.okx.com/download?deeplink=" + encodeURIComponent(
140
+ "okx://wallet/dapp/url?dappUrl=" + getDaimoPayUrl(payId)
141
+ );
199
142
  }
200
143
  },
201
- solflare: {
202
- id: "solflare",
203
- name: "Solflare",
204
- icon: /* @__PURE__ */ jsx(Logos.Solflare, {}),
205
- iconConnector: /* @__PURE__ */ jsx(Logos.Solflare, {}),
206
- showInMobileConnectors: true,
207
- showOnAndroid: true,
208
- showOnIOS: true,
209
- deeplinkScheme: "solflare://",
210
- getDaimoPayDeeplink: (payId) => {
211
- const url = encodeURIComponent(getDaimoPayUrl(payId));
212
- const ref = encodeURIComponent(window.location.origin);
213
- return `https://solflare.com/ul/v1/browse/${url}?ref=${ref}`;
214
- },
215
- isSolanaOnly: true
216
- },
217
144
  // ledger: {
218
145
  // name: "Ledger Live",
219
146
  // shortName: "Ledger",
@@ -252,11 +179,8 @@ const walletConfigs = {
252
179
  deeplinkScheme: "zerion://",
253
180
  showOnAndroid: true,
254
181
  showOnIOS: true,
255
- getDaimoPayDeeplink: (payId, platform) => {
182
+ getDaimoPayDeeplink: (payId) => {
256
183
  const payUrl = getDaimoPayUrl(payId);
257
- if (platform === "ios") {
258
- return "zerion://browser?url=" + payUrl;
259
- }
260
184
  return "https://link.zerion.io/?url=" + encodeURIComponent(payUrl);
261
185
  }
262
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"walletConfigs.js","sources":["../../../src/wallets/walletConfigs.tsx"],"sourcesContent":["import type { Connector } from \"wagmi\";\nimport Logos from \"../assets/logos\";\n\n// Infer in-wallet payment URL from environment.\nlet daimoPayHost = \"https://pay.daimo.com\";\n\nexport function setInWalletPaymentUrlFromApiUrl(apiUrl: string) {\n if (apiUrl.startsWith(\"http://localhost\")) {\n daimoPayHost = \"http://localhost:3001\";\n } else if (apiUrl.startsWith(\"https://pay-api-stage.daimo.xyz\")) {\n daimoPayHost = \"https://pay.stage.daimo.xyz\";\n } else {\n daimoPayHost = \"https://pay.daimo.com\";\n }\n}\n\nfunction getDaimoPayUrl(payId: string) {\n return daimoPayHost + \"/pay?id=\" + payId;\n}\n\nfunction getEncodedDaimoPayUrl(payId: string) {\n let url = getDaimoPayUrl(payId);\n let encodedUrl = encodeURIComponent(url);\n return encodedUrl;\n}\n\nexport type WalletConfigProps = {\n // Wallet ID, eg \"io.rabby\" or a sentinel value like WALLET_ID_OTHER_WALLET.\n id?: string;\n // Wallets name\n name?: string;\n // Wallets short name. Defaults to `name`\n shortName?: string;\n // Icon to display in the modal\n icon?: string | React.ReactNode;\n // Icon to use on the wallet list button. If not provided, `icon` will be used\n iconConnector?: React.ReactNode;\n // Defaults to `'circle'`, but some icons look better as squircle (e.g. if they have a background)\n iconShape?: \"squircle\" | \"circle\" | \"square\";\n // Defaults to `false`, but some icons don't have a background and look better if they shrink to fit the container\n iconShouldShrink?: boolean;\n deeplinkScheme?: string;\n // For Daimo Pay deeplinks. Platform parameter: 'android' | 'ios' | 'other'\n getDaimoPayDeeplink?: (payId: string, platform?: string) => string;\n // To sort mobile wallets to show in the connector list\n showInMobileConnectors?: boolean;\n // Show wallet on Android. Defaults to true if not specified.\n showOnAndroid?: boolean;\n // Show wallet on iOS. Defaults to true if not specified.\n showOnIOS?: boolean;\n // Used to filter wallets that only support solana in mobile mode to not show in the connector options when the payID doesn't support solana\n isSolanaOnly?: boolean;\n // wallet payment option\n // Connector is present for wagmi wallets; null for static configs\n connector?: Connector | null;\n};\n\n// Organised in alphabetical order by key\nexport const walletConfigs: {\n [rdns: string]: WalletConfigProps; // for multiple cases seperate rdns by comma\n} = {\n baseAccount: {\n id: \"baseAccount\",\n name: \"Base App\",\n shortName: \"Base\",\n icon: <Logos.Base />,\n iconConnector: <Logos.Base />,\n iconShape: \"squircle\",\n showInMobileConnectors: false,\n deeplinkScheme: \"cbwallet://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string, platform?: string) => {\n if (platform === \"android\") {\n return (\n \"https://go.cb-w.com/dapp?cb_url=\" + getEncodedDaimoPayUrl(payId)\n );\n }\n return \"cbwallet://dapp?url=\" + getEncodedDaimoPayUrl(payId);\n },\n },\n backpack: {\n id: \"backpack\",\n name: \"Backpack\",\n shortName: \"Backpack\",\n icon: <Logos.Backpack />,\n iconConnector: <Logos.Backpack />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const url = encodeURIComponent(getDaimoPayUrl(payId));\n return `https://backpack.app/ul/v1/browse/${url}`;\n },\n },\n bitget: {\n id: \"bitget\",\n name: \"Bitget\",\n icon: <Logos.Bitget />,\n iconConnector: <Logos.Bitget />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n deeplinkScheme: \"bitkeep://\",\n getDaimoPayDeeplink: (payId: string) => {\n return \"bitkeep://bkconnect?action=dapp&url=\" + getDaimoPayUrl(payId);\n },\n },\n \"co.family.wallet\": {\n id: \"co.family.wallet\",\n name: \"Family\",\n shortName: \"Family\",\n icon: <Logos.Family />,\n iconConnector: <Logos.Family />,\n iconShape: \"squircle\",\n showOnAndroid: false,\n showOnIOS: true,\n deeplinkScheme: \"familywallet://\",\n getDaimoPayDeeplink: (payId: string) => {\n return \"familywallet://browser?url=\" + getDaimoPayUrl(payId);\n },\n showInMobileConnectors: true,\n },\n \"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK\": {\n id: \"metaMask\",\n name: \"MetaMask\",\n shortName: \"MetaMask\",\n icon: <Logos.MetaMask />,\n iconConnector: <Logos.MetaMask />,\n iconShouldShrink: true,\n showOnAndroid: true,\n showOnIOS: true,\n showInMobileConnectors: false,\n deeplinkScheme: \"metamask://\",\n getDaimoPayDeeplink: (payId: string) => {\n const daimoPayUrl = getDaimoPayUrl(payId);\n return (\n \"https://link.metamask.io/dapp/\" + daimoPayUrl.replace(\"https://\", \"\")\n );\n },\n },\n \"app.phantom\": {\n id: \"app.phantom\",\n name: \"Phantom\",\n icon: <Logos.Phantom />,\n iconConnector: <Logos.Phantom />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n deeplinkScheme: \"phantom://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const url = encodeURIComponent(getDaimoPayUrl(payId));\n const ref = encodeURIComponent(window.location.origin);\n return `https://phantom.app/ul/browse/${url}?ref=${ref}`;\n },\n },\n // porto: {\n // name: \"Porto\",\n // icon: <Logos.Porto />,\n // iconShape: \"squircle\",\n // showInMobileConnectors: true,\n // },\n farcaster: {\n id: \"farcaster\",\n name: \"Farcaster\",\n icon: <Logos.Farcaster />,\n iconConnector: <Logos.Farcaster />,\n iconShape: \"squircle\",\n // Temporarily hidden from mobile connectors to make room for World wallet.\n // Will re-enable once /pay flow is fixed for Farcaster and we support more mobile wallets.\n showInMobileConnectors: false,\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://farcaster.xyz/miniapps/sGRsevnRvM9P/daimo-pay/?id=\" + payId\n );\n },\n },\n minipay: {\n id: \"minipay\",\n name: \"MiniPay\",\n shortName: \"MiniPay\",\n icon: <Logos.MiniPay />,\n iconConnector: <Logos.MiniPay />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://cash.minipay.xyz/browse?url=\" +\n encodeURIComponent(getDaimoPayUrl(payId))\n );\n },\n },\n \"me.rainbow\": {\n id: \"me.rainbow\",\n name: \"Rainbow Wallet\",\n shortName: \"Rainbow\",\n icon: <Logos.Rainbow />,\n iconConnector: <Logos.Rainbow />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n deeplinkScheme: \"rainbow://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return \"rainbow://dapp?url=\" + getDaimoPayUrl(payId);\n },\n },\n // \"io.rabby\": {\n // name: \"Rabby Wallet\",\n // shortName: \"Rabby\",\n // showInMobileConnectors: false,\n // //TODO: add wallet deep link\n // // edit rabby scheme to deeplink URL: https://github.com/RabbyHub/rabby-mobile/blob/999d60f49c5254e4aa8e6aa8bb80ad46e267845c/apps/mobile/src/LinkingConfig.ts#L25\n // },\n \"com.trustwallet.app\": {\n id: \"com.trustwallet.app\",\n name: \"Trust Wallet\",\n shortName: \"Trust\",\n icon: <Logos.Trust />,\n iconConnector: <Logos.Trust />,\n showInMobileConnectors: false,\n deeplinkScheme: \"trust://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return \"trust://open_url?coin_id=60&url=\" + getDaimoPayUrl(payId);\n },\n },\n okx: {\n id: \"okx\",\n name: \"OKX\",\n icon: <Logos.OKX />,\n iconConnector: <Logos.OKX />,\n showInMobileConnectors: true,\n deeplinkScheme: \"okx://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return \"okx://wallet/dapp/url?dappUrl=\" + getDaimoPayUrl(payId);\n },\n },\n solflare: {\n id: \"solflare\",\n name: \"Solflare\",\n icon: <Logos.Solflare />,\n iconConnector: <Logos.Solflare />,\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n deeplinkScheme: \"solflare://\",\n getDaimoPayDeeplink: (payId: string) => {\n const url = encodeURIComponent(getDaimoPayUrl(payId));\n const ref = encodeURIComponent(window.location.origin);\n return `https://solflare.com/ul/v1/browse/${url}?ref=${ref}`;\n },\n isSolanaOnly: true,\n },\n // ledger: {\n // name: \"Ledger Live\",\n // shortName: \"Ledger\",\n // icon: <Logos.Ledger />,\n // showInMobileConnectors: true,\n // deeplinkScheme: \"ledgerlive://\",\n // // getDaimoPayDeeplink: (payId: string) => {\n // // return \"ledgerlive://discover/\" + daimoPayUrl + payId;\n // // },\n // // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started\n // shouldDeeplinkDesktop: true,\n // },\n world: {\n id: \"world\",\n name: \"World\",\n shortName: \"World\",\n icon: <Logos.World />,\n iconConnector: <Logos.World />,\n showInMobileConnectors: true,\n iconShape: \"squircle\",\n deeplinkScheme: \"world\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const path = \"/pay?id=\" + payId;\n const url =\n \"https://worldcoin.org/mini-app?app_id=app_e7d27c5ce2234e00558776f227f791ef&path=\" +\n encodeURIComponent(path);\n return url;\n },\n },\n zerion: {\n id: \"zerion\",\n name: \"Zerion\",\n icon: <Logos.Zerion />,\n iconConnector: <Logos.Zerion />,\n showInMobileConnectors: true,\n deeplinkScheme: \"zerion://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string, platform?: string) => {\n const payUrl = getDaimoPayUrl(payId);\n if (platform === \"ios\") {\n return \"zerion://browser?url=\" + payUrl;\n }\n return \"https://link.zerion.io/?url=\" + encodeURIComponent(payUrl);\n },\n },\n} as const;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walletConfigs.js","sources":["../../../src/wallets/walletConfigs.tsx"],"sourcesContent":["import type { Connector } from \"wagmi\";\nimport Logos from \"../assets/logos\";\n\n// Infer in-wallet payment URL from environment.\nlet daimoPayHost = \"https://pay.daimo.com\";\n\nexport function setInWalletPaymentUrlFromApiUrl(apiUrl: string) {\n if (apiUrl.startsWith(\"http://localhost\")) {\n daimoPayHost = \"http://localhost:3001\";\n } else if (apiUrl.startsWith(\"https://pay-api-stage.daimo.xyz\")) {\n daimoPayHost = \"https://pay.stage.daimo.xyz\";\n } else {\n daimoPayHost = \"https://pay.daimo.com\";\n }\n}\n\nfunction getDaimoPayUrl(payId: string) {\n return daimoPayHost + \"/pay?id=\" + payId;\n}\n\nexport type WalletConfigProps = {\n // Wallet ID, eg \"io.rabby\" or a sentinel value like WALLET_ID_OTHER_WALLET.\n id?: string;\n // Wallets name\n name?: string;\n // Wallets short name. Defaults to `name`\n shortName?: string;\n // Icon to display in the modal\n icon?: string | React.ReactNode;\n // Icon to use on the wallet list button. If not provided, `icon` will be used\n iconConnector?: React.ReactNode;\n // Defaults to `'circle'`, but some icons look better as squircle (e.g. if they have a background)\n iconShape?: \"squircle\" | \"circle\" | \"square\";\n // Defaults to `false`, but some icons don't have a background and look better if they shrink to fit the container\n iconShouldShrink?: boolean;\n deeplinkScheme?: string;\n // For Daimo Pay deeplinks. Platform parameter: 'android' | 'ios' | 'other'\n getDaimoPayDeeplink?: (payId: string, platform?: string) => string;\n // To sort mobile wallets to show in the connector list\n showInMobileConnectors?: boolean;\n // Show wallet on Android. Defaults to true if not specified.\n showOnAndroid?: boolean;\n // Show wallet on iOS. Defaults to true if not specified.\n showOnIOS?: boolean;\n // Used to filter wallets that only support solana in mobile mode to not show in the connector options when the payID doesn't support solana\n isSolanaOnly?: boolean;\n // wallet payment option\n // Connector is present for wagmi wallets; null for static configs\n connector?: Connector | null;\n};\n\n// Organised in alphabetical order by key\nexport const walletConfigs: {\n [rdns: string]: WalletConfigProps; // for multiple cases seperate rdns by comma\n} = {\n baseAccount: {\n id: \"baseAccount\",\n name: \"Base App\",\n shortName: \"Base\",\n icon: <Logos.Base />,\n iconConnector: <Logos.Base />,\n iconShape: \"squircle\",\n showInMobileConnectors: false,\n deeplinkScheme: \"cbwallet://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://go.cb-w.com/dapp?cb_url=\" +\n encodeURIComponent(getDaimoPayUrl(payId))\n );\n },\n },\n bitget: {\n id: \"bitget\",\n name: \"Bitget\",\n icon: <Logos.Bitget />,\n iconConnector: <Logos.Bitget />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n deeplinkScheme: \"bitkeep://\",\n getDaimoPayDeeplink: (payId: string) => {\n return \"https://bkcode.vip?action=dapp&url=\" + getDaimoPayUrl(payId);\n },\n },\n \"metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK\": {\n id: \"metaMask\",\n name: \"MetaMask\",\n shortName: \"MetaMask\",\n icon: <Logos.MetaMask />,\n iconConnector: <Logos.MetaMask />,\n iconShouldShrink: true,\n showOnAndroid: true,\n showOnIOS: true,\n showInMobileConnectors: false,\n deeplinkScheme: \"metamask://\",\n getDaimoPayDeeplink: (payId: string) => {\n const daimoPayUrl = getDaimoPayUrl(payId);\n return (\n \"https://link.metamask.io/dapp/\" + daimoPayUrl.replace(\"https://\", \"\")\n );\n },\n },\n \"app.phantom\": {\n id: \"app.phantom\",\n name: \"Phantom\",\n icon: <Logos.Phantom />,\n iconConnector: <Logos.Phantom />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n deeplinkScheme: \"phantom://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const url = encodeURIComponent(getDaimoPayUrl(payId));\n const ref = encodeURIComponent(window.location.origin);\n return `https://phantom.app/ul/browse/${url}?ref=${ref}`;\n },\n },\n minipay: {\n id: \"minipay\",\n name: \"MiniPay\",\n shortName: \"MiniPay\",\n icon: <Logos.MiniPay />,\n iconConnector: <Logos.MiniPay />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://cash.minipay.xyz/browse?url=\" +\n encodeURIComponent(getDaimoPayUrl(payId))\n );\n },\n },\n \"me.rainbow\": {\n id: \"me.rainbow\",\n name: \"Rainbow Wallet\",\n shortName: \"Rainbow\",\n icon: <Logos.Rainbow />,\n iconConnector: <Logos.Rainbow />,\n iconShape: \"squircle\",\n showInMobileConnectors: true,\n deeplinkScheme: \"rainbow://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return \"https://rnbwapp.com/dapp?url=\" + getDaimoPayUrl(payId);\n },\n },\n // \"io.rabby\": {\n // name: \"Rabby Wallet\",\n // shortName: \"Rabby\",\n // showInMobileConnectors: false,\n // //TODO: add wallet deep link\n // // edit rabby scheme to deeplink URL: https://github.com/RabbyHub/rabby-mobile/blob/999d60f49c5254e4aa8e6aa8bb80ad46e267845c/apps/mobile/src/LinkingConfig.ts#L25\n // },\n \"com.trustwallet.app\": {\n id: \"com.trustwallet.app\",\n name: \"Trust Wallet\",\n shortName: \"Trust\",\n icon: <Logos.Trust />,\n iconConnector: <Logos.Trust />,\n showInMobileConnectors: false,\n deeplinkScheme: \"trust://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://link.trustwallet.com/open_url?coin_id=60&url=\" +\n getDaimoPayUrl(payId)\n );\n },\n },\n okx: {\n id: \"okx\",\n name: \"OKX\",\n icon: <Logos.OKX />,\n iconConnector: <Logos.OKX />,\n showInMobileConnectors: true,\n deeplinkScheme: \"okx://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n return (\n \"https://web3.okx.com/download?deeplink=\" +\n encodeURIComponent(\n \"okx://wallet/dapp/url?dappUrl=\" + getDaimoPayUrl(payId),\n )\n );\n },\n },\n // ledger: {\n // name: \"Ledger Live\",\n // shortName: \"Ledger\",\n // icon: <Logos.Ledger />,\n // showInMobileConnectors: true,\n // deeplinkScheme: \"ledgerlive://\",\n // // getDaimoPayDeeplink: (payId: string) => {\n // // return \"ledgerlive://discover/\" + daimoPayUrl + payId;\n // // },\n // // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started\n // shouldDeeplinkDesktop: true,\n // },\n world: {\n id: \"world\",\n name: \"World\",\n shortName: \"World\",\n icon: <Logos.World />,\n iconConnector: <Logos.World />,\n showInMobileConnectors: true,\n iconShape: \"squircle\",\n deeplinkScheme: \"world\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const path = \"/pay?id=\" + payId;\n const url =\n \"https://worldcoin.org/mini-app?app_id=app_e7d27c5ce2234e00558776f227f791ef&path=\" +\n encodeURIComponent(path);\n return url;\n },\n },\n zerion: {\n id: \"zerion\",\n name: \"Zerion\",\n icon: <Logos.Zerion />,\n iconConnector: <Logos.Zerion />,\n showInMobileConnectors: true,\n deeplinkScheme: \"zerion://\",\n showOnAndroid: true,\n showOnIOS: true,\n getDaimoPayDeeplink: (payId: string) => {\n const payUrl = getDaimoPayUrl(payId);\n return \"https://link.zerion.io/?url=\" + encodeURIComponent(payUrl);\n },\n },\n} as const;\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@daimo/pay",
3
3
  "private": false,
4
- "version": "1.19.6",
4
+ "version": "1.19.7",
5
5
  "author": "Daimo",
6
6
  "homepage": "https://pay.daimo.com",
7
7
  "license": "BSD-2-Clause license",
@@ -33,7 +33,7 @@
33
33
  "lint": "eslint 'src/**/*.{js,jsx,ts,tsx}' --max-warnings=0"
34
34
  },
35
35
  "dependencies": {
36
- "@daimo/pay-common": "1.19.6",
36
+ "@daimo/pay-common": "1.19.7",
37
37
  "@solana/wallet-adapter-base": "^0.9.23",
38
38
  "@solana/wallet-adapter-react": "^0.15.35",
39
39
  "@solana/web3.js": "^1.95.4",