@daimo/pay 1.4.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import React$1, { ReactNode } from 'react';
2
2
  export { version } from '../package.json';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { DaimoPayOrderMode, DepositAddressPaymentOptionMetadata, PlatformType, ExternalPaymentOptionMetadata, WalletPaymentOption, DaimoPayOrder, ExternalPaymentOptions, DepositAddressPaymentOptions, DepositAddressPaymentOptionData, SolanaPublicKey, DaimoPayUserMetadata, PaymentStartedEvent, PaymentCompletedEvent, PaymentBouncedEvent, DaimoPayIntentStatus, DaimoPayOrderView } from '@daimo/common';
4
+ import { DaimoPayOrderMode, DepositAddressPaymentOptionMetadata, PlatformType, ExternalPaymentOptionMetadata, WalletPaymentOption, DaimoPayOrder, ExternalPaymentOptions, DepositAddressPaymentOptions, DepositAddressPaymentOptionData, SolanaPublicKey, DaimoPayUserMetadata, DaimoPayOrderView, DaimoPayIntentStatus } from '@daimo/common';
5
5
  import { Address, Hex } from 'viem';
6
6
  import { AppRouter } from '@daimo/pay-api';
7
7
  import { CreateTRPCClient } from '@trpc/client';
@@ -70,7 +70,7 @@ type DaimoPayModalOptions = {
70
70
  closeOnSuccess?: boolean;
71
71
  };
72
72
  /** Additional payment options. Onchain payments are always enabled. */
73
- type PaymentOption = "Daimo" | "Coinbase" | "Binance" | "RampNetwork" | "Solana" | "ExternalChains";
73
+ type PaymentOption = "Daimo" | "Coinbase" | "Binance" | "RampNetwork" | "Solana" | "ExternalChains" | "Lemon";
74
74
 
75
75
  type types_d_All = All;
76
76
  type types_d_CustomAvatarProps = CustomAvatarProps;
@@ -218,6 +218,34 @@ interface PaymentState {
218
218
  senderEnsName: string | undefined;
219
219
  }
220
220
 
221
+ /**
222
+ * EIP-6963: Multi Injected Provider Discovery
223
+ * https://eips.ethereum.org/EIPS/eip-6963
224
+ *
225
+ */
226
+ type WalletConfigProps = {
227
+ name?: string;
228
+ shortName?: string;
229
+ icon?: string | React.ReactNode;
230
+ iconConnector?: React.ReactNode;
231
+ iconShape?: "squircle" | "circle" | "square";
232
+ iconShouldShrink?: boolean;
233
+ downloadUrls?: {
234
+ download?: string;
235
+ website?: string;
236
+ desktop?: string;
237
+ android?: string;
238
+ ios?: string;
239
+ chrome?: string;
240
+ firefox?: string;
241
+ brave?: string;
242
+ edge?: string;
243
+ safari?: string;
244
+ };
245
+ getWalletConnectDeeplink?: (uri: string) => string;
246
+ shouldDeeplinkDesktop?: boolean;
247
+ };
248
+
221
249
  type SolanaWalletName = WalletName<string>;
222
250
 
223
251
  declare enum ROUTES {
@@ -265,6 +293,8 @@ type ContextValue = {
265
293
  setRoute: (route: ROUTES, data?: Record<string, any>) => void;
266
294
  connector: Connector;
267
295
  setConnector: React$1.Dispatch<React$1.SetStateAction<Connector>>;
296
+ wcWallet: WalletConfigProps | undefined;
297
+ setWcWallet: React$1.Dispatch<React$1.SetStateAction<WalletConfigProps | undefined>>;
268
298
  errorMessage: Error;
269
299
  debugMode?: boolean;
270
300
  log: (...props: any) => void;
@@ -332,6 +362,46 @@ type DefaultConfigProps = {
332
362
  /** Daimo Pay recommended config, for use with wagmi's createConfig(). */
333
363
  declare const defaultConfig: ({ appName, appIcon, appDescription, appUrl, walletConnectProjectId, coinbaseWalletPreference, additionalConnectors, chains, client, ...props }: DefaultConfigProps) => CreateConfigParameters;
334
364
 
365
+ /** Payment details and status. */
366
+ type DaimoPayment = DaimoPayOrderView;
367
+ /** Passed to both `onPayment*` event handlers and webhooks. */
368
+ type DaimoPayEvent = {
369
+ /**
370
+ * A payment is started once the user has sent payment. Completed means
371
+ * the payment was sent on the destination chain and custom contract call,
372
+ * if any, was successful. Bounced means that a destination contract call
373
+ * reverted and funds were refunded.
374
+ */
375
+ type: "payment_started" | "payment_completed" | "payment_bounced";
376
+ /**
377
+ * The unique ID for this payment.
378
+ */
379
+ paymentId: string;
380
+ /**
381
+ * The chain for this event--source chain for payment_started, destination
382
+ * chain for payment_completed/payment_bounced.
383
+ */
384
+ chainId: number;
385
+ /**
386
+ * The transaction hash for this event. Hex for all EVM events, Base58 for
387
+ * payment_started on Solana.
388
+ */
389
+ txHash: Hex | string;
390
+ /**
391
+ * Payment details.
392
+ */
393
+ payment: DaimoPayment;
394
+ };
395
+ type DaimoPayStartedEvent = DaimoPayEvent & {
396
+ type: "payment_started";
397
+ };
398
+ type DaimoPayCompletedEvent = DaimoPayEvent & {
399
+ type: "payment_completed";
400
+ };
401
+ type DaimoPayBouncedEvent = DaimoPayEvent & {
402
+ type: "payment_bounced";
403
+ };
404
+ /** Props for DaimoPayButton. */
335
405
  type PayButtonPaymentProps = {
336
406
  /**
337
407
  * Your public app ID. Specify either (payId) or (appId + parameters).
@@ -396,11 +466,11 @@ type PayButtonPaymentProps = {
396
466
  };
397
467
  type PayButtonCommonProps = PayButtonPaymentProps & {
398
468
  /** Called when user sends payment and transaction is seen on chain */
399
- onPaymentStarted?: (event: PaymentStartedEvent) => void;
469
+ onPaymentStarted?: (event: DaimoPayStartedEvent) => void;
400
470
  /** Called when destination transfer or call completes successfully */
401
- onPaymentCompleted?: (event: PaymentCompletedEvent) => void;
471
+ onPaymentCompleted?: (event: DaimoPayCompletedEvent) => void;
402
472
  /** Called when destination call reverts and funds are refunded */
403
- onPaymentBounced?: (event: PaymentBouncedEvent) => void;
473
+ onPaymentBounced?: (event: DaimoPayBouncedEvent) => void;
404
474
  /** Automatically close the modal after a successful payment. */
405
475
  closeOnSuccess?: boolean;
406
476
  /** Open the modal by default. */
@@ -473,7 +543,4 @@ declare const daimoPayVersion: string;
473
543
  /** Chain ids supported by Daimo Pay. */
474
544
  declare const supportedChainIds: Set<number>;
475
545
 
476
- type DaimoPayment = DaimoPayOrderView;
477
- type DaimoPayEvent = PaymentStartedEvent | PaymentCompletedEvent | PaymentBouncedEvent;
478
-
479
- export { Avatar, Chain as ChainIcon, DaimoPayButton, type DaimoPayButtonCustomProps, type DaimoPayButtonProps, Context as DaimoPayContext, type DaimoPayEvent, DaimoPayProvider, type DaimoPayment, types_d as Types, daimoPayVersion, defaultConfig as getDefaultConfig, supportedChainIds, useDaimoPayStatus, usePayContext, wallets };
546
+ export { Avatar, Chain as ChainIcon, type DaimoPayBouncedEvent, DaimoPayButton, type DaimoPayButtonCustomProps, type DaimoPayButtonProps, type DaimoPayCompletedEvent, Context as DaimoPayContext, type DaimoPayEvent, DaimoPayProvider, type DaimoPayStartedEvent, type DaimoPayment, types_d as Types, daimoPayVersion, defaultConfig as getDefaultConfig, supportedChainIds, useDaimoPayStatus, usePayContext, wallets };
@@ -1,5 +1,5 @@
1
1
  var name = "@daimo/pay";
2
- var version = "1.4.0";
2
+ var version = "1.5.1";
3
3
  var author = "Daimo";
4
4
  var homepage = "https://pay.daimo.com";
5
5
  var license = "BSD-2-Clause license";
@@ -38,8 +38,8 @@ var keywords = [
38
38
  "crypto"
39
39
  ];
40
40
  var dependencies = {
41
- "@daimo/common": "1.3.4",
42
- "@daimo/contract": "1.3.4",
41
+ "@daimo/common": "1.5.0",
42
+ "@daimo/contract": "1.5.0",
43
43
  "@solana/wallet-adapter-base": "^0.9.23",
44
44
  "@solana/wallet-adapter-react": "^0.15.35",
45
45
  "@solana/web3.js": "^1.95.4",
@@ -1,4 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React from 'react';
2
3
  import { isZerion, isFamily, isRainbow } from '../utils/wallets.js';
3
4
 
4
5
  const Mock = ({ ...props }) => (jsxs("svg", { ...props, "aria-hidden": "true", width: "44", height: "44", viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
@@ -11,7 +12,7 @@ const MetaMask = ({ background = false, ...props }) => (jsxs("svg", { ...props,
11
12
  background: "linear-gradient(0deg, var(--ck-brand-metamask-12), var(--ck-brand-metamask-11))",
12
13
  borderRadius: "27.5%",
13
14
  }
14
- : undefined, width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M27.2684 4.03027L17.5018 11.2841L19.3079 7.00442L27.2684 4.03027Z", fill: "var(--ck-brand-metamask-02)", stroke: "var(--ck-brand-metamask-02)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M4.7218 4.03027L14.4099 11.3528L12.6921 7.00442L4.7218 4.03027Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M23.7544 20.8438L21.1532 24.8289L26.7187 26.3602L28.3187 20.9321L23.7544 20.8438Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M3.69104 20.9321L5.28117 26.3602L10.8467 24.8289L8.24551 20.8438L3.69104 20.9321Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M10.5327 14.1108L8.98181 16.4568L14.5081 16.7022L14.3117 10.7637L10.5327 14.1108Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M21.4576 14.1111L17.6295 10.6953L17.5018 16.7025L23.0182 16.4571L21.4576 14.1111Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M10.8469 24.8292L14.1647 23.2096L11.2984 20.9717L10.8469 24.8292Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M17.8257 23.2096L21.1531 24.8292L20.6918 20.9717L17.8257 23.2096Z", fill: "var(--ck-brand-metamask-08)", stroke: "var(--ck-brand-metamask-08)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M21.1531 24.8296L17.8257 23.21L18.0906 25.3793L18.0612 26.2921L21.1531 24.8296Z", fill: "var(--ck-brand-metamask-06)", stroke: "var(--ck-brand-metamask-06)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M10.8469 24.8296L13.9388 26.2921L13.9192 25.3793L14.1647 23.21L10.8469 24.8296Z", fill: "var(--ck-brand-metamask-06)", stroke: "var(--ck-brand-metamask-06)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M13.9877 19.5389L11.2196 18.7242L13.1729 17.8311L13.9877 19.5389Z", fill: "var(--ck-brand-metamask-09)", stroke: "var(--ck-brand-metamask-09)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M18.0023 19.5389L18.8171 17.8311L20.7802 18.7242L18.0023 19.5389Z", fill: "var(--ck-brand-metamask-09)", stroke: "var(--ck-brand-metamask-09)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M10.8468 24.8289L11.3179 20.8438L8.24561 20.9321L10.8468 24.8289Z", fill: "var(--ck-brand-metamask-03)", stroke: "var(--ck-brand-metamask-03)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M20.6821 20.8438L21.1532 24.8289L23.7544 20.9321L20.6821 20.8438Z", fill: "var(--ck-brand-metamask-03)", stroke: "var(--ck-brand-metamask-03)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M23.0182 16.4565L17.5018 16.7019L18.0122 19.5387L18.827 17.8308L20.7902 18.7239L23.0182 16.4565Z", fill: "var(--ck-brand-metamask-03)", stroke: "var(--ck-brand-metamask-03)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M11.2198 18.7239L13.1829 17.8308L13.9878 19.5387L14.5081 16.7019L8.98181 16.4565L11.2198 18.7239Z", fill: "var(--ck-brand-metamask-03)", stroke: "var(--ck-brand-metamask-03)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M8.98181 16.4565L11.2983 20.9718L11.2198 18.7239L8.98181 16.4565Z", fill: "var(--ck-brand-metamask-10)", stroke: "var(--ck-brand-metamask-10)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M20.7901 18.7239L20.6919 20.9718L23.0181 16.4565L20.7901 18.7239Z", fill: "var(--ck-brand-metamask-10)", stroke: "var(--ck-brand-metamask-10)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M14.508 16.7021L13.9878 19.5389L14.6356 22.886L14.7828 18.4788L14.508 16.7021Z", fill: "var(--ck-brand-metamask-10)", stroke: "var(--ck-brand-metamask-10)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M17.5017 16.7021L17.2367 18.4689L17.3545 22.886L18.0121 19.5389L17.5017 16.7021Z", fill: "var(--ck-brand-metamask-10)", stroke: "var(--ck-brand-metamask-10)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M18.0121 19.5388L17.3545 22.886L17.8257 23.2099L20.6918 20.972L20.79 18.7241L18.0121 19.5388Z", fill: "var(--ck-brand-metamask-01)", stroke: "var(--ck-brand-metamask-01)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M11.2196 18.7241L11.2981 20.972L14.1644 23.2099L14.6355 22.886L13.9877 19.5388L11.2196 18.7241Z", fill: "var(--ck-brand-metamask-01)", stroke: "var(--ck-brand-metamask-01)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M18.0615 26.2917L18.0908 25.3788L17.8455 25.1628H14.145L13.9192 25.3788L13.9388 26.2917L10.8469 24.8291L11.9267 25.7126L14.1155 27.234H17.875L20.0736 25.7126L21.1533 24.8291L18.0615 26.2917Z", fill: "var(--ck-brand-metamask-07)", stroke: "var(--ck-brand-metamask-07)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M17.8258 23.2096L17.3546 22.8857H14.6357L14.1646 23.2096L13.9191 25.379L14.1449 25.163H17.8454L18.0907 25.379L17.8258 23.2096Z", fill: "var(--ck-brand-metamask-04)", stroke: "var(--ck-brand-metamask-04)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M27.6806 11.7552L28.5149 7.75041L27.2683 4.03027L17.8257 11.0387L21.4575 14.1109L26.591 15.6128L27.7296 14.2876L27.2389 13.9342L28.0241 13.2178L27.4156 12.7465L28.2007 12.1478L27.6806 11.7552Z", fill: "var(--ck-brand-metamask-05)", stroke: "var(--ck-brand-metamask-05)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M3.48486 7.75041L4.3192 11.7552L3.78916 12.1478L4.57441 12.7465L3.97566 13.2178L4.7609 13.9342L4.27012 14.2876L5.39892 15.6128L10.5325 14.1109L14.1644 11.0387L4.72164 4.03027L3.48486 7.75041Z", fill: "var(--ck-brand-metamask-05)", stroke: "var(--ck-brand-metamask-05)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M26.591 15.6122L21.4575 14.1104L23.0181 16.4564L20.6919 20.9716L23.7544 20.9323H28.3186L26.591 15.6122Z", fill: "var(--ck-brand-metamask-01)", stroke: "var(--ck-brand-metamask-01)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M10.5326 14.1104L5.39897 15.6122L3.69104 20.9323H8.24551L11.2982 20.9716L8.98168 16.4564L10.5326 14.1104Z", fill: "var(--ck-brand-metamask-01)", stroke: "var(--ck-brand-metamask-01)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M17.5018 16.7018L17.8258 11.0381L19.3177 7.00391H12.6921L14.1645 11.0381L14.5081 16.7018L14.6258 18.4883L14.6356 22.8856H17.3546L17.3742 18.4883L17.5018 16.7018Z", fill: "var(--ck-brand-metamask-01)", stroke: "var(--ck-brand-metamask-01)", strokeWidth: "0.269931", strokeLinecap: "round", strokeLinejoin: "round" })] }));
15
+ : undefined, width: "142", height: "137", viewBox: "0 0 142 137", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { fill: "#FF5C16", d: "m132.24 131.751-30.481-9.076-22.986 13.741-16.038-.007-23-13.734-30.467 9.076L0 100.465l9.268-34.723L0 36.385 9.268 0l47.607 28.443h27.757L132.24 0l9.268 36.385-9.268 29.357 9.268 34.723-9.268 31.286Z" }), jsx("path", { fill: "#FF5C16", d: "m9.274 0 47.608 28.463-1.893 19.534L9.274 0Zm30.468 100.478 20.947 15.957-20.947 6.24v-22.197Zm19.273-26.381L54.989 48.01l-25.77 17.74-.014-.007v.013l.08 18.26 10.45-9.918h19.28ZM132.24 0 84.632 28.463l1.887 19.534L132.24 0Zm-30.467 100.478-20.948 15.957 20.948 6.24v-22.197Zm10.529-34.723h.007-.007v-.013l-.006.007-25.77-17.739L82.5 74.097h19.272l10.457 9.917.073-18.259Z" }), jsx("path", { fill: "#E34807", d: "m39.735 122.675-30.467 9.076L0 100.478h39.735v22.197ZM59.008 74.09l5.82 37.714-8.066-20.97-27.49-6.82 10.456-9.923h19.28Zm42.764 48.585 30.468 9.076 9.268-31.273h-39.736v22.197ZM82.5 74.09l-5.82 37.714 8.065-20.97 27.491-6.82-10.463-9.923H82.5Z" }), jsx("path", { fill: "#FF8D5D", d: "m0 100.465 9.268-34.723h19.93l.073 18.266 27.492 6.82 8.065 20.969-4.146 4.618-20.947-15.957H0v.007Zm141.508 0-9.268-34.723h-19.931l-.073 18.266-27.49 6.82-8.066 20.969 4.145 4.618 20.948-15.957h39.735v.007ZM84.632 28.443H56.875L54.99 47.977l9.839 63.8H76.68l9.845-63.8-1.893-19.534Z" }), jsx("path", { fill: "#661800", d: "M9.268 0 0 36.385l9.268 29.357h19.93l25.784-17.745L9.268 0Zm43.98 81.665h-9.029l-4.916 4.819 17.466 4.33-3.521-9.155v.006ZM132.24 0l9.268 36.385-9.268 29.357h-19.931L86.526 47.997 132.24 0ZM88.273 81.665h9.042l4.916 4.825-17.486 4.338 3.528-9.17v.007Zm-9.507 42.305 2.06-7.542-4.146-4.618H64.82l-4.145 4.618 2.059 7.542" }), jsx("path", { fill: "#C0C4CD", d: "M78.766 123.969v12.453H62.735v-12.453h16.03Z" }), jsx("path", { fill: "#E7EBF6", d: "m39.742 122.662 23.006 13.754v-12.453l-2.06-7.541-20.946 6.24Zm62.031 0-23.007 13.754v-12.453l2.06-7.541 20.947 6.24Z" })] }));
15
16
  const Coinbase = ({ background = false, ...props }) => (jsxs("svg", { ...props, width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("circle", { cx: "10", cy: "10", r: "10", fill: "var(--ck-brand-coinbaseWallet)" }), background && (jsx("rect", { rx: "27%", width: "20", height: "20", fill: "var(--ck-brand-coinbaseWallet)" })), jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.0001 17C13.8661 17 17.0001 13.866 17.0001 10C17.0001 6.13401 13.8661 3 10.0001 3C6.13413 3 3.00012 6.13401 3.00012 10C3.00012 13.866 6.13413 17 10.0001 17ZM8.25012 7.71429C7.95427 7.71429 7.71441 7.95414 7.71441 8.25V11.75C7.71441 12.0459 7.95427 12.2857 8.25012 12.2857H11.7501C12.046 12.2857 12.2858 12.0459 12.2858 11.75V8.25C12.2858 7.95414 12.046 7.71429 11.7501 7.71429H8.25012Z", fill: "white" })] }));
16
17
  const Family = ({ ...props }) => {
17
18
  const img = "data:image/png;base64,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";
@@ -56,6 +57,20 @@ const Zerion = ({ ...props }) => (jsxs("svg", { ...props, width: "88", height: "
56
57
  background: "linear-gradient(120.22deg, #2962EF 0%, #255CE5 100%)",
57
58
  }, children: [jsx("path", { d: "M19.0864 22C17.5783 22 16.9973 23.8648 18.2628 24.6438L49.9199 43.732C50.709 44.2178 51.7614 44.0258 52.3048 43.2969L66.2236 25.024C67.17 23.7545 66.2138 22 64.5757 22H19.0864Z", fill: "white" }), jsx("path", { d: "M68.8425 66C70.3503 66 70.9466 64.1252 69.6814 63.3464L38.015 44.2605C37.2259 43.7748 36.1989 43.991 35.6558 44.7198L21.7099 62.9891C20.7639 64.2582 21.7499 66 23.3877 66H68.8425Z", fill: "white" })] }));
58
59
  const Phantom = ({ background = false, ...props }) => (jsx("svg", { ...props, width: "88", height: "88", viewBox: "0 0 88 88", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: background ? { background: "#AB9FF2" } : undefined, children: jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M37.7425 57.0705C34.1942 62.3362 28.2483 69 20.3366 69C16.5965 69 13.0001 67.5093 13 61.0322C12.9997 44.5362 36.2555 19.0003 57.8334 19C70.1084 18.9998 75 27.2474 75 36.6136C75 48.6357 66.9442 62.3824 58.9368 62.3824C56.3955 62.3824 55.1487 61.031 55.1487 58.888C55.1487 58.3288 55.2442 57.7228 55.4365 57.0705C52.7029 61.5902 47.4285 65.7849 42.4896 65.7849C38.8933 65.7849 37.0713 63.5944 37.0713 60.5187C37.0713 59.4003 37.311 58.2357 37.7425 57.0705ZM53.7586 31.6834C51.8054 31.6868 50.4738 33.2938 50.478 35.5864C50.4822 37.879 51.8198 39.5273 53.7729 39.5241C55.6789 39.5208 57.0099 37.8679 57.0058 35.5752C57.0016 33.2827 55.6646 31.6802 53.7586 31.6834ZM64.1193 31.6725C62.1661 31.6759 60.8345 33.2829 60.8387 35.5755C60.8429 37.868 62.1798 39.5164 64.1336 39.5131C66.0396 39.5099 67.3706 37.8569 67.3664 35.5643C67.3622 33.2718 66.0253 31.6693 64.1193 31.6725Z", fill: background ? "#ffffff" : "currentColor" }) }));
60
+ const Solflare = ({ ...props }) => {
61
+ const img = "data:image/jpeg;base64,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";
62
+ return (jsx("svg", { ...props, width: "120", height: "120", viewBox: "0 0 120 120", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
63
+ backgroundSize: "100% 100%",
64
+ backgroundImage: `url("${img}")`,
65
+ } }));
66
+ };
67
+ const Backpack = ({ background = false, ...props }) => {
68
+ const img = "data:image/png;base64,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";
69
+ return (jsx("svg", { ...props, width: "120", height: "120", viewBox: "0 0 120 120", fill: "none", xmlns: "http://www.w3.org/2000/svg", style: {
70
+ backgroundSize: "100% 100%",
71
+ backgroundImage: `url("${img}")`,
72
+ } }));
73
+ };
59
74
  const PlaceHolder = () => {
60
75
  return jsx("div", { style: { width: 80, height: 80, background: "#555" } });
61
76
  };
@@ -94,6 +109,10 @@ const OtherWallets = ({ ...props }) => {
94
109
  return (jsxs("div", { style: column, ...props, children: [jsxs("div", { style: row, children: [jsx("div", { style: cell, children: jsx(WalletConnect, { background: true }) }), jsx("div", { style: cell, children: !isZerion() ? jsx(Zerion, {}) : jsx(Phantom, {}) })] }), jsxs("div", { style: row, children: [jsx("div", { style: cell, children: !isFamily() ? jsx(Family, {}) : jsx(ImToken, {}) }), jsx("div", { style: cell, children: !isRainbow() ? jsx(Rainbow, {}) : jsx(Trust, {}) })] })] }));
95
110
  };
96
111
  const Fordefi = ({ ...props }) => (jsxs("svg", { ...props, width: "88", height: "88", viewBox: "0 0 96 96", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxs("g", { clipPath: "url(#clip0_14298_75627)", children: [jsx("path", { d: "M43.5075 62.5508H6V73.5954C6 79.2046 10.5379 83.7515 16.1357 83.7515H32.9997L43.5075 62.5508Z", fill: "#7994FF" }), jsx("path", { d: "M6.00098 39.1016H76.2075L68.0567 55.4841H6.00098V39.1016Z", fill: "#486DFF" }), jsx("path", { d: "M30.6398 12H6.09766V32.0282H89.8447V12H65.3025V26.9577H60.2423V12H35.7001V26.9577H30.6398V12Z", fill: "#5CD1FA" })] }), jsx("defs", { children: jsx("clipPath", { id: "clip0_14298_75627", children: jsx("rect", { width: "84", height: "72", fill: "white", transform: "translate(6 12)" }) }) })] }));
112
+ const SquircleIcon = ({ icon, alt, }) => {
113
+ const IconComponent = typeof icon === "string" ? (jsx("img", { src: icon, alt: alt })) : (React.createElement(icon));
114
+ return (jsx("div", { style: { borderRadius: "22.5%", overflow: "hidden" }, children: IconComponent }));
115
+ };
97
116
  var Logos = {
98
117
  Mock,
99
118
  Injected,
@@ -125,7 +144,10 @@ var Logos = {
125
144
  Fordefi,
126
145
  TokenPocket,
127
146
  Talisman,
147
+ SquircleIcon,
148
+ Backpack,
149
+ Solflare,
128
150
  };
129
151
 
130
- export { Argent, Brave, Coinbase, Crypto, Dawn, Family, Frame, Frontier, ImToken, InfinityWallet, Injected, Ledger, MetaMask, Mock, ONTO, OtherWallets, Phantom, PlaceHolder, Rabby, Rainbow, Safe, Slope, Steak, Trust, Unstoppable, WalletConnect, Zerion, Logos as default };
152
+ export { Argent, Backpack, Brave, Coinbase, Crypto, Dawn, Family, Frame, Frontier, ImToken, InfinityWallet, Injected, Ledger, MetaMask, Mock, ONTO, OtherWallets, Phantom, PlaceHolder, Rabby, Rainbow, Safe, Slope, Solflare, SquircleIcon, Steak, Trust, Unstoppable, WalletConnect, Zerion, Logos as default };
131
153
  //# sourceMappingURL=logos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logos.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"logos.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -62,6 +62,7 @@ const ConnectorItem = ({ wallet, isRecent, }) => {
62
62
  }
63
63
  context.setRoute(ROUTES.CONNECT);
64
64
  context.setConnector({ id: wallet.id });
65
+ context.setWcWallet(wallet);
65
66
  }
66
67
  }, children: [jsx(ConnectorIcon, { "data-small": wallet.iconShouldShrink, "data-shape": wallet.iconShape, children: wallet.iconConnector ?? wallet.icon }), jsxs(ConnectorLabel, { children: [isMobile ? (wallet.shortName ?? wallet.name) : wallet.name, !context.options?.hideRecentBadge && isRecent && (jsx(RecentlyUsedTag, { children: jsx("span", { children: "Recent" }) }))] })] }));
67
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -127,7 +127,7 @@ const OptionIcon = styled(motion.div) `
127
127
  right: 20px;
128
128
  width: 32px;
129
129
  height: 32px;
130
- overflow: hidden;
130
+ overflow: visible;
131
131
  svg,
132
132
  img {
133
133
  display: block;
@@ -0,0 +1,24 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { motion } from 'framer-motion';
3
+ import styled from '../../../styles/styled/index.js';
4
+
5
+ const WalletChainLogo = ({ walletIcon, walletName, chainLogo, }) => {
6
+ const walletIconElement = typeof walletIcon === "string" ? (jsx("img", { src: walletIcon, alt: walletName })) : (walletIcon);
7
+ return (jsxs(WalletChainContainer, { children: [walletIconElement, jsx(ChainContainer, { children: chainLogo })] }));
8
+ };
9
+ const WalletChainContainer = styled(motion.div) `
10
+ width: 100%;
11
+ height: 100%;
12
+ `;
13
+ const ChainContainer = styled(motion.div) `
14
+ position: absolute;
15
+ width: 16px;
16
+ height: 16px;
17
+ border-radius: 9999px;
18
+ overflow: hidden;
19
+ bottom: -4px;
20
+ right: -4px;
21
+ `;
22
+
23
+ export { WalletChainLogo as default };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -115,6 +115,7 @@ const DaimoPayProviderWithoutSolana = ({ children, theme = "auto", mode = "auto"
115
115
  const [connector, setConnector] = useState({
116
116
  id: "",
117
117
  });
118
+ const [wcWallet, setWcWallet] = useState();
118
119
  const [solanaConnector, setSolanaConnector] = useState();
119
120
  const [route, setRouteState] = useState(ROUTES.SELECT_METHOD);
120
121
  const setRoute = (route, data) => {
@@ -226,6 +227,8 @@ const DaimoPayProviderWithoutSolana = ({ children, theme = "auto", mode = "auto"
226
227
  route,
227
228
  setRoute,
228
229
  connector,
230
+ wcWallet,
231
+ setWcWallet,
229
232
  // Daimo Pay context
230
233
  sessionId,
231
234
  setConnector,
@@ -1 +1 @@
1
- {"version":3,"file":"DaimoPay.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DaimoPay.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -14,6 +14,7 @@ import { usePayContext } from '../../DaimoPay.js';
14
14
  const MoreIcon = (jsx("svg", { width: "60", height: "60", viewBox: "0 0 60 60", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M30 42V19M19 30.5H42", stroke: "var(--ck-body-color-muted)", strokeWidth: "3", strokeLinecap: "round" }) }));
15
15
  const MobileConnectors = () => {
16
16
  const context = usePayContext();
17
+ const { log, paymentState } = context;
17
18
  const locales = useLocales();
18
19
  const { connect: { getUri }, } = useWeb3();
19
20
  const wcUri = getUri();
@@ -29,10 +30,14 @@ const MobileConnectors = () => {
29
30
  return true;
30
31
  }) ?? [];
31
32
  const connectWallet = (wallet) => {
33
+ context.setWcWallet(wallet);
32
34
  const uri = wallet.getWalletConnectDeeplink?.(wcUri);
35
+ log(`[MobileConnectors] clicked ${wallet.name}: ${uri}`);
36
+ // Using open(.., '_blank') to open the wallet connect modal.
37
+ // Previously, we used window.location.href = uri, but this closes the dapp
38
+ // (losing state) if there's no deeplink handler for the URI.
33
39
  if (uri)
34
- window.location.href = uri;
35
- //if (uri) window.open(uri, '_blank');
40
+ window.open(uri, "_blank");
36
41
  };
37
42
  return (jsx(PageContent, { style: { width: 312 }, children: jsxs(Container, { children: [jsx(ModalContent, { style: { paddingBottom: 0 }, children: jsx(ScrollArea, { height: 340, children: jsxs(WalletList, { "$disabled": !wcUri, children: [walletsIdsToDisplay
38
43
  .sort(
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -3,6 +3,8 @@ import { useState, useEffect } from 'react';
3
3
  import { usePayContext, ROUTES } from '../../DaimoPay.js';
4
4
  import { PageContent, ModalContent, ModalH1 } from '../../Common/Modal/styles.js';
5
5
  import { useChainId, useSwitchChain } from 'wagmi';
6
+ import { ExternalLinkIcon } from '../../../assets/icons.js';
7
+ import useIsMobile from '../../../hooks/useIsMobile.js';
6
8
  import Button from '../../Common/Button/index.js';
7
9
  import PaymentBreakdown from '../../Common/PaymentBreakdown/index.js';
8
10
  import TokenLogoSpinner from '../../Spinners/TokenLogoSpinner/index.js';
@@ -15,7 +17,8 @@ var PayState;
15
17
  PayState["RequestSuccessful"] = "Payment Successful";
16
18
  })(PayState || (PayState = {}));
17
19
  const PayWithToken = () => {
18
- const { triggerResize, paymentState, setRoute, log } = usePayContext();
20
+ const isMobile = useIsMobile();
21
+ const { triggerResize, paymentState, setRoute, log, wcWallet } = usePayContext();
19
22
  const { selectedTokenOption, payWithToken } = paymentState;
20
23
  const [payState, setPayState] = useState(PayState.RequestingPayment);
21
24
  const walletChainId = useChainId();
@@ -81,10 +84,19 @@ const PayWithToken = () => {
81
84
  useEffect(() => {
82
85
  if (!selectedTokenOption)
83
86
  return;
84
- // Give user time to see the UI before opening
85
- transferTimeout = setTimeout(() => {
86
- handleTransfer(selectedTokenOption);
87
- }, 100);
87
+ // Give user time to see the UI before opening on mobile
88
+ if (wcWallet && isMobile) {
89
+ transferTimeout = setTimeout(() => {
90
+ window.open(wcWallet?.getWalletConnectDeeplink?.(""), "_blank");
91
+ handleTransfer(selectedTokenOption);
92
+ }, 800);
93
+ }
94
+ // On desktop, open the wallet connect modal immediately
95
+ else {
96
+ transferTimeout = setTimeout(() => {
97
+ handleTransfer(selectedTokenOption);
98
+ }, 100);
99
+ }
88
100
  return () => {
89
101
  clearTimeout(transferTimeout);
90
102
  };
@@ -92,7 +104,7 @@ const PayWithToken = () => {
92
104
  useEffect(() => {
93
105
  triggerResize();
94
106
  }, [payState]);
95
- return (jsxs(PageContent, { children: [selectedTokenOption && (jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token })), jsxs(ModalContent, { style: { paddingBottom: 0 }, "$preserveDisplay": true, children: [jsx(ModalH1, { children: payState }), selectedTokenOption && (jsx(PaymentBreakdown, { paymentOption: selectedTokenOption })), payState === PayState.RequestCancelled && (jsx(Button, { onClick: () => selectedTokenOption ? handleTransfer(selectedTokenOption) : null, children: "Retry Payment" }))] })] }));
107
+ return (jsxs(PageContent, { children: [selectedTokenOption && (jsx(TokenLogoSpinner, { token: selectedTokenOption.required.token })), jsxs(ModalContent, { style: { paddingBottom: 0 }, "$preserveDisplay": true, children: [jsx(ModalH1, { children: payState }), selectedTokenOption && (jsx(PaymentBreakdown, { paymentOption: selectedTokenOption })), payState === PayState.RequestingPayment && wcWallet && isMobile && (jsxs(Button, { icon: jsx(ExternalLinkIcon, {}), href: wcWallet.getWalletConnectDeeplink?.(""), children: ["Pay with ", wcWallet.name] })), payState === PayState.RequestCancelled && (jsx(Button, { onClick: () => selectedTokenOption ? handleTransfer(selectedTokenOption) : null, children: "Retry Payment" }))] })] }));
96
108
  };
97
109
 
98
110
  export { PayWithToken as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,18 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useMemo, useEffect } from 'react';
2
3
  import { usePayContext, ROUTES } from '../../DaimoPay.js';
3
4
  import { PageContent } from '../../Common/Modal/styles.js';
4
- import { getAddressContraction, ExternalPaymentOptions } from '@daimo/common';
5
+ import { ExternalPaymentOptions, getAddressContraction } from '@daimo/common';
5
6
  import { useWallet } from '@solana/wallet-adapter-react';
6
7
  import { useAccount, useDisconnect } from 'wagmi';
7
- import { Solana, Bitcoin, Tron, Zcash } from '../../../assets/chains.js';
8
+ import { Solana, Bitcoin, Tron, Zcash, Ethereum } from '../../../assets/chains.js';
8
9
  import { MetaMask, Rainbow, Coinbase, Rabby } from '../../../assets/logos.js';
9
10
  import useIsMobile from '../../../hooks/useIsMobile.js';
11
+ import { walletConfigs } from '../../../wallets/walletConfigs.js';
10
12
  import OptionsList from '../../Common/OptionsList/index.js';
11
13
  import { OrderHeader } from '../../Common/OrderHeader/index.js';
12
14
  import PoweredByFooter from '../../Common/PoweredByFooter/index.js';
15
+ import WalletChainLogo from '../../Common/WalletChainLogo/index.js';
13
16
 
14
17
  // Get 3 icons, skipping the one that is already connected
15
18
  function getBestUnconnectedWalletIcons(connector) {
@@ -30,10 +33,10 @@ function getBestUnconnectedWalletIcons(connector) {
30
33
  icons.push(jsx(Rabby, {}));
31
34
  return icons;
32
35
  }
33
- function getSolanaOption() {
36
+ function getSolanaOption(isOnIOS) {
34
37
  const { wallets } = useWallet();
35
38
  const { setRoute } = usePayContext();
36
- if (wallets.length === 0)
39
+ if (wallets.length === 0 && !isOnIOS)
37
40
  return null;
38
41
  return {
39
42
  id: "solana",
@@ -64,47 +67,111 @@ function getDepositAddressOption(depositAddressOptions) {
64
67
  }
65
68
  const SelectMethod = () => {
66
69
  const isMobile = useIsMobile();
67
- const { address, chain, isConnected, connector } = useAccount();
70
+ const isOnIOS = useMemo(() => {
71
+ return /iPad|iPhone/.test(navigator.userAgent);
72
+ }, []);
73
+ const { address, chain, isConnected: isEthConnected, connector, } = useAccount();
74
+ const { connected: isSolanaConnected, wallet: solanaWallet, publicKey, } = useWallet();
75
+ const { setRoute, paymentState, wcWallet, setWcWallet, log } = usePayContext();
68
76
  const { disconnectAsync } = useDisconnect();
69
- const { setRoute, paymentState, log } = usePayContext();
70
77
  const { daimoPayOrder, setSelectedExternalOption, externalPaymentOptions, depositAddressOptions, senderEnsName, } = paymentState;
71
- const displayName = senderEnsName ?? (address ? getAddressContraction(address) : "wallet");
72
78
  const paymentOptions = daimoPayOrder?.metadata.payer?.paymentOptions;
73
- const connectedWalletOption = isConnected
74
- ? {
75
- id: "connectedWallet",
76
- title: `Pay with ${displayName}`,
77
- icons: connector && connector.icon ? [connector.icon] : [jsx(MetaMask, {})],
78
- onClick: () => {
79
- setRoute(ROUTES.SELECT_TOKEN, {
80
- event: "click-wallet",
81
- walletId: connector?.id,
82
- chainId: chain?.id,
83
- address: address,
84
- });
85
- },
79
+ // Extract the currently connect WalletConnect wallet
80
+ useEffect(() => {
81
+ connector?.getProvider()?.then((p) => {
82
+ let name = p.session?.peer?.metadata?.name;
83
+ if (p.isCoinbaseWallet)
84
+ name = "Coinbase Wallet";
85
+ if (name == null)
86
+ name = "Unknown";
87
+ const wallet = Object.values(walletConfigs).find((c) => c.name === name || name.includes(c.shortName));
88
+ log(`[SELECT_METHOD] wcWallet: ${wallet?.name} ${wallet != null}`, p);
89
+ setWcWallet(wallet);
90
+ });
91
+ }, [connector]);
92
+ const getConnectedWalletOptions = () => {
93
+ const showChainLogo = isEthConnected && isSolanaConnected;
94
+ const connectedOptions = [];
95
+ if (isEthConnected) {
96
+ const ethWalletDisplayName = senderEnsName ?? (address ? getAddressContraction(address) : "wallet");
97
+ let walletIcon;
98
+ if (connector?.icon) {
99
+ walletIcon = jsx("img", { src: connector.icon, alt: connector.name });
100
+ }
101
+ else if (wcWallet?.icon) {
102
+ walletIcon = (jsx("div", { style: { borderRadius: "22.5%", overflow: "hidden" }, children: wcWallet.icon }));
103
+ }
104
+ else {
105
+ walletIcon = jsx(MetaMask, {});
106
+ }
107
+ const connectedEthWalletOption = {
108
+ id: "connectedWallet",
109
+ title: `Pay with ${ethWalletDisplayName}`,
110
+ icons: [
111
+ jsx(WalletChainLogo, { walletIcon: walletIcon, walletName: connector?.name || "Wallet", chainLogo: showChainLogo ? jsx(Ethereum, {}) : null }, "eth"),
112
+ ],
113
+ onClick: () => {
114
+ setRoute(ROUTES.SELECT_TOKEN, {
115
+ event: "click-wallet",
116
+ walletId: connector?.id,
117
+ chainId: chain?.id,
118
+ address: address,
119
+ });
120
+ },
121
+ };
122
+ connectedOptions.push(connectedEthWalletOption);
123
+ }
124
+ if (isSolanaConnected) {
125
+ const solWalletDisplayName = getAddressContraction(publicKey?.toBase58() ?? "");
126
+ const connectedSolWalletOption = {
127
+ id: "connectedSolanaWallet",
128
+ title: `Pay with ${solWalletDisplayName}`,
129
+ icons: solanaWallet?.adapter.icon
130
+ ? [
131
+ jsx(WalletChainLogo, { walletIcon: solanaWallet.adapter.icon, walletName: solanaWallet.adapter.name, chainLogo: showChainLogo && jsx(Solana, {}) }),
132
+ ]
133
+ : [
134
+ jsx(WalletChainLogo, { walletIcon: jsx(Solana, {}), walletName: "Default wallet icon", chainLogo: null }),
135
+ ],
136
+ onClick: () => {
137
+ setRoute(ROUTES.SOLANA_SELECT_TOKEN, {
138
+ event: "click-wallet",
139
+ walletId: solanaWallet?.adapter.name,
140
+ chainId: "solana",
141
+ address: publicKey?.toBase58(),
142
+ });
143
+ },
144
+ };
145
+ connectedOptions.push(connectedSolWalletOption);
86
146
  }
87
- : null;
147
+ return connectedOptions;
148
+ };
149
+ // Solana payment option
150
+ // Include by default if paymentOptions not provided
151
+ const includeSolana = paymentOptions == null ||
152
+ paymentOptions.includes(ExternalPaymentOptions.Solana);
153
+ // Deposit address options, e.g. Bitcoin, Tron, Zcash, etc.
154
+ // Include by default if paymentOptions not provided
155
+ const includeDepositAddressOption = paymentOptions == null ||
156
+ paymentOptions.includes(ExternalPaymentOptions.ExternalChains);
157
+ const connectedWalletOptions = getConnectedWalletOptions();
88
158
  const unconnectedWalletOption = {
89
159
  id: "unconnectedWallet",
90
- title: isConnected ? `Pay with another wallet` : `Pay with wallet`,
160
+ title: isEthConnected || isSolanaConnected
161
+ ? `Pay with another wallet`
162
+ : `Pay with wallet`,
91
163
  icons: getBestUnconnectedWalletIcons(connector),
92
164
  onClick: async () => {
93
165
  await disconnectAsync();
94
166
  setRoute(ROUTES.CONNECTORS);
95
167
  },
96
168
  };
97
- const walletOptions = connectedWalletOption
98
- ? [connectedWalletOption, unconnectedWalletOption]
99
- : [unconnectedWalletOption];
169
+ const options = [];
170
+ options.push(...connectedWalletOptions);
171
+ options.push(unconnectedWalletOption);
100
172
  log(`[SELECT_METHOD] loading: ${externalPaymentOptions.loading}, options: ${JSON.stringify(externalPaymentOptions.options)}`);
101
- const options = [...walletOptions];
102
- // Solana payment option
103
- // Include by default if paymentOptions not provided
104
- const includeSolana = paymentOptions == null ||
105
- paymentOptions.includes(ExternalPaymentOptions.Solana);
106
173
  if (includeSolana) {
107
- const solanaOption = getSolanaOption();
174
+ const solanaOption = getSolanaOption(isOnIOS);
108
175
  if (solanaOption) {
109
176
  options.push(solanaOption);
110
177
  }
@@ -127,10 +194,6 @@ const SelectMethod = () => {
127
194
  disabled: option.disabled,
128
195
  subtitle: option.message,
129
196
  })));
130
- // Deposit address options, e.g. Bitcoin, Tron, Zcash, etc.
131
- // Include by default if paymentOptions not provided
132
- const includeDepositAddressOption = paymentOptions == null ||
133
- paymentOptions.includes(ExternalPaymentOptions.ExternalChains);
134
197
  if (includeDepositAddressOption) {
135
198
  const depositAddressOption = getDepositAddressOption(depositAddressOptions);
136
199
  options.push(depositAddressOption);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,13 +1,14 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { PageContent, ModalContent, ModalH1 } from '../../../Common/Modal/styles.js';
3
3
  import { useWallet } from '@solana/wallet-adapter-react';
4
+ import { SquircleIcon, Phantom, Solflare, Backpack } from '../../../../assets/logos.js';
5
+ import { isMobile } from '../../../../utils/index.js';
4
6
  import Button from '../../../Common/Button/index.js';
5
7
  import OptionsList from '../../../Common/OptionsList/index.js';
6
- import { OrderHeader } from '../../../Common/OrderHeader/index.js';
7
8
  import { usePayContext, ROUTES } from '../../../DaimoPay.js';
8
9
 
9
10
  const ConnectSolana = () => {
10
- const { setSolanaConnector, setRoute } = usePayContext();
11
+ const { setSolanaConnector, setRoute, log } = usePayContext();
11
12
  const solanaWallets = useWallet();
12
13
  const options = solanaWallets.wallets.map((wallet) => ({
13
14
  id: wallet.adapter.name,
@@ -16,6 +17,7 @@ const ConnectSolana = () => {
16
17
  jsx(SquircleIcon, { icon: wallet.adapter.icon, alt: wallet.adapter.name }),
17
18
  ],
18
19
  onClick: async () => {
20
+ log("wallet.adapter.name ", wallet.adapter.name);
19
21
  setSolanaConnector(wallet.adapter.name);
20
22
  if (solanaWallets.connected) {
21
23
  await solanaWallets.disconnect();
@@ -26,15 +28,53 @@ const ConnectSolana = () => {
26
28
  });
27
29
  },
28
30
  }));
29
- return (jsxs(PageContent, { children: [jsx(OrderHeader, { minified: true }), solanaWallets.wallets.length === 0 && (jsxs(ModalContent, { style: {
31
+ const defaultOptions = [
32
+ {
33
+ id: "phantom",
34
+ title: "Open in Phantom",
35
+ icons: [
36
+ jsx(SquircleIcon, { icon: (props) => jsx(Phantom, { ...props, background: true }), alt: "Phantom" }),
37
+ ],
38
+ onClick: () => window.open(`https://phantom.app/ul/browse/${encodeURIComponent(window.location.href)}?ref=${encodeURIComponent(window.location.origin)}`),
39
+ },
40
+ {
41
+ id: "solflare",
42
+ title: "Open in Solflare",
43
+ icons: [
44
+ jsx(SquircleIcon, { icon: (props) => jsx(Solflare, { ...props, background: true }), alt: "Solflare" }),
45
+ ],
46
+ onClick: () => window.open(`https://solflare.com/ul/v1/browse/${encodeURIComponent(window.location.href)}?ref=${encodeURIComponent(window.location.origin)}`, "_blank"),
47
+ },
48
+ {
49
+ id: "backpack",
50
+ title: "Open in Backpack",
51
+ icons: [
52
+ jsx(SquircleIcon, { icon: (props) => jsx(Backpack, { ...props, background: true }), alt: "Backpack" }),
53
+ ],
54
+ onClick: () => window.open(`https://backpack.app/ul/v1/browse/${encodeURIComponent(window.location.href)}?ref=${encodeURIComponent(window.location.origin)}`, "_blank"),
55
+ },
56
+ ];
57
+ return (jsxs(PageContent, { style: {
58
+ height: "100%",
59
+ }, children: [solanaWallets.wallets.length === 0 && !isMobile() && (jsxs(ModalContent, { style: {
30
60
  display: "flex",
61
+ flexDirection: "column",
31
62
  alignItems: "center",
32
63
  justifyContent: "center",
33
64
  paddingTop: 16,
34
65
  paddingBottom: 16,
35
- }, children: [jsx(ModalH1, { children: "No Solana wallets detected." }), jsx(Button, { onClick: () => setRoute(ROUTES.SELECT_METHOD, { event: "click-select-another" }), children: "Select Another Method" })] })), jsx(OptionsList, { options: options })] }));
66
+ gap: 16,
67
+ }, children: [jsx(ModalH1, { children: "No Solana wallets detected." }), jsx(Button, { onClick: () => setRoute(ROUTES.SELECT_METHOD, { event: "click-select-another" }), children: "Select Another Method" })] })), isMobile() &&
68
+ (solanaWallets.wallets.length === 0 ||
69
+ (solanaWallets.wallets.length > 0 &&
70
+ solanaWallets.wallets[0].adapter.name ===
71
+ "Mobile Wallet Adapter")) && (jsx(ModalContent, { style: {
72
+ display: "flex",
73
+ flexDirection: "column",
74
+ gap: 16,
75
+ }, children: jsx(OptionsList, { options: defaultOptions }) })), solanaWallets.wallets.length > 0 &&
76
+ solanaWallets.wallets[0].adapter.name !== "Mobile Wallet Adapter" && (jsx(OptionsList, { options: options }))] }));
36
77
  };
37
- const SquircleIcon = ({ icon, alt }) => (jsx("div", { style: { borderRadius: "22.5%", overflow: "hidden" }, children: jsx("img", { src: icon, alt: alt }) }));
38
78
 
39
79
  export { ConnectSolana as default };
40
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -6,6 +6,7 @@ const DEFAULT_EXTERNAL_PAYMENT_OPTIONS = [
6
6
  ExternalPaymentOptions.Binance,
7
7
  ExternalPaymentOptions.Daimo,
8
8
  ExternalPaymentOptions.RampNetwork,
9
+ ExternalPaymentOptions.Lemon,
9
10
  // Solana and ExternalChains are handled in the SelectMethod component.
10
11
  ];
11
12
  function useExternalPaymentOptions({ trpc, filterIds, platform, usdRequired, mode, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"useExternalPaymentOptions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"useExternalPaymentOptions.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import Logos from '../assets/logos.js';
3
- import { isAndroid } from '../utils/index.js';
4
3
 
5
4
  // Organised in alphabetical order by key
6
5
  const walletConfigs = {
@@ -16,9 +15,7 @@ const walletConfigs = {
16
15
  ios: "https://apps.apple.com/app/argent/id1358741926",
17
16
  },
18
17
  getWalletConnectDeeplink: (uri) => {
19
- return isAndroid()
20
- ? uri
21
- : `https://argent.link/app/wc?uri=${encodeURIComponent(uri)}`;
18
+ return `https://argent.link/app/wc?uri=${encodeURIComponent(uri)}`;
22
19
  },
23
20
  },
24
21
  "coinbaseWallet, coinbaseWalletSDK": {
@@ -77,9 +74,7 @@ const walletConfigs = {
77
74
  ios: "https://family.co/download",
78
75
  },
79
76
  getWalletConnectDeeplink: (uri) => {
80
- return isAndroid()
81
- ? uri
82
- : `familywallet://wc?uri=${encodeURIComponent(uri)}`;
77
+ return `familywallet://wc?uri=${encodeURIComponent(uri)}`;
83
78
  },
84
79
  },
85
80
  frame: {
@@ -107,7 +102,7 @@ const walletConfigs = {
107
102
  chrome: "https://chrome.google.com/webstore/detail/frontier-wallet/kppfdiipphfccemcignhifpjkapfbihd",
108
103
  },
109
104
  getWalletConnectDeeplink: (uri) => {
110
- return isAndroid() ? uri : `frontier://wc?uri=${encodeURIComponent(uri)}`;
105
+ return `frontier://wc?uri=${encodeURIComponent(uri)}`;
111
106
  },
112
107
  },
113
108
  injected: {
@@ -131,9 +126,7 @@ const walletConfigs = {
131
126
  edge: "https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm",
132
127
  },
133
128
  getWalletConnectDeeplink: (uri) => {
134
- return isAndroid()
135
- ? uri
136
- : `https://metamask.app.link/wc?uri=${encodeURIComponent(uri)}`;
129
+ return `https://metamask.app.link/wc?uri=${encodeURIComponent(uri)}`;
137
130
  },
138
131
  },
139
132
  "app.phantom": {
@@ -155,9 +148,7 @@ const walletConfigs = {
155
148
  brave: "https://rainbow.me/extension?utm_source=daimopay",
156
149
  },
157
150
  getWalletConnectDeeplink: (uri) => {
158
- return isAndroid()
159
- ? uri
160
- : `https://rnbwapp.com/wc?uri=${encodeURIComponent(uri)}&connector=daimopay`;
151
+ return `https://rnbwapp.com/wc?uri=${encodeURIComponent(uri)}&connector=daimopay`;
161
152
  },
162
153
  },
163
154
  "io.rabby": {
@@ -178,9 +169,7 @@ const walletConfigs = {
178
169
  android: "https://play.google.com/store/apps/details?id=io.gnosis.safe",
179
170
  },
180
171
  getWalletConnectDeeplink: (uri) => {
181
- return isAndroid()
182
- ? uri
183
- : `https://gnosis-safe.io/wc?uri=${encodeURIComponent(uri)}`;
172
+ return `https://gnosis-safe.io/wc?uri=${encodeURIComponent(uri)}`;
184
173
  },
185
174
  },
186
175
  "xyz.talisman": {
@@ -205,9 +194,7 @@ const walletConfigs = {
205
194
  ios: "https://apps.apple.com/app/trust-crypto-bitcoin-wallet/id1288339409",
206
195
  },
207
196
  getWalletConnectDeeplink(uri) {
208
- return isAndroid()
209
- ? uri
210
- : `https://link.trustwallet.com/wc?uri=${encodeURIComponent(uri)}`;
197
+ return `https://link.trustwallet.com/wc?uri=${encodeURIComponent(uri)}`;
211
198
  },
212
199
  },
213
200
  infinityWallet: {
@@ -244,9 +231,7 @@ const walletConfigs = {
244
231
  android: "https://play.google.com/store/apps/details?id=io.horizontalsystems.bankwallet",
245
232
  },
246
233
  getWalletConnectDeeplink: (uri) => {
247
- return isAndroid()
248
- ? uri
249
- : `https://unstoppable.money/wc?uri=${encodeURIComponent(uri)}`;
234
+ return `https://unstoppable.money/wc?uri=${encodeURIComponent(uri)}`;
250
235
  },
251
236
  },
252
237
  onto: {
@@ -259,9 +244,7 @@ const walletConfigs = {
259
244
  website: "https://onto.app/en/download/",
260
245
  },
261
246
  getWalletConnectDeeplink: (uri) => {
262
- return isAndroid()
263
- ? uri
264
- : `https://onto.app/wc?uri=${encodeURIComponent(uri)}`;
247
+ return `https://onto.app/wc?uri=${encodeURIComponent(uri)}`;
265
248
  },
266
249
  },
267
250
  steak: {
@@ -274,9 +257,7 @@ const walletConfigs = {
274
257
  website: "https://steakwallet.fi/download",
275
258
  },
276
259
  getWalletConnectDeeplink: (uri) => {
277
- return isAndroid()
278
- ? uri
279
- : `https://links.steakwallet.fi/wc?uri=${encodeURIComponent(uri)}`;
260
+ return `https://links.steakwallet.fi/wc?uri=${encodeURIComponent(uri)}`;
280
261
  },
281
262
  },
282
263
  ledger: {
@@ -290,9 +271,7 @@ const walletConfigs = {
290
271
  ios: "https://apps.apple.com/app/ledger-live-web3-wallet/id1361671700",
291
272
  },
292
273
  getWalletConnectDeeplink: (uri) => {
293
- return isAndroid()
294
- ? uri
295
- : `ledgerlive://wc?uri=${encodeURIComponent(uri)}`;
274
+ return `ledgerlive://wc?uri=${encodeURIComponent(uri)}`;
296
275
  },
297
276
  shouldDeeplinkDesktop: true,
298
277
  },
@@ -306,9 +285,7 @@ const walletConfigs = {
306
285
  website: "https://zerion.io/",
307
286
  },
308
287
  getWalletConnectDeeplink: (uri) => {
309
- return isAndroid()
310
- ? uri
311
- : `https://app.zerion.io/wc?uri=${encodeURIComponent(uri)}`;
288
+ return `https://app.zerion.io/wc?uri=${encodeURIComponent(uri)}`;
312
289
  },
313
290
  },
314
291
  slope: {
@@ -322,9 +299,7 @@ const walletConfigs = {
322
299
  website: "https://slope.finance/",
323
300
  },
324
301
  getWalletConnectDeeplink: (uri) => {
325
- return isAndroid()
326
- ? uri
327
- : `https://slope.finance/app/wc?uri=${encodeURIComponent(uri)}`;
302
+ return `https://slope.finance/app/wc?uri=${encodeURIComponent(uri)}`;
328
303
  },
329
304
  },
330
305
  tokenPocket: {
@@ -1 +1 @@
1
- {"version":3,"file":"walletConfigs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"walletConfigs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@daimo/pay",
3
3
  "private": false,
4
- "version": "1.4.0",
4
+ "version": "1.5.1",
5
5
  "author": "Daimo",
6
6
  "homepage": "https://pay.daimo.com",
7
7
  "license": "BSD-2-Clause license",
@@ -40,8 +40,8 @@
40
40
  "crypto"
41
41
  ],
42
42
  "dependencies": {
43
- "@daimo/common": "1.3.4",
44
- "@daimo/contract": "1.3.4",
43
+ "@daimo/common": "1.5.0",
44
+ "@daimo/contract": "1.5.0",
45
45
  "@solana/wallet-adapter-base": "^0.9.23",
46
46
  "@solana/wallet-adapter-react": "^0.15.35",
47
47
  "@solana/web3.js": "^1.95.4",