@daimo/pay 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.d.ts +75 -8
- package/build/package.json.js +3 -3
- package/build/src/assets/chains.js +3 -1
- package/build/src/assets/chains.js.map +1 -1
- package/build/src/assets/logos.js +24 -2
- package/build/src/assets/logos.js.map +1 -1
- package/build/src/components/Common/ConnectorList/index.js +1 -0
- package/build/src/components/Common/ConnectorList/index.js.map +1 -1
- package/build/src/components/Common/OptionsList/styles.js +1 -1
- package/build/src/components/Common/WalletChainLogo/index.js +24 -0
- package/build/src/components/Common/WalletChainLogo/index.js.map +1 -0
- package/build/src/components/DaimoPay.js +3 -0
- package/build/src/components/DaimoPay.js.map +1 -1
- package/build/src/components/Pages/MobileConnectors/index.js +7 -2
- package/build/src/components/Pages/MobileConnectors/index.js.map +1 -1
- package/build/src/components/Pages/PayWithToken/index.js +18 -6
- package/build/src/components/Pages/PayWithToken/index.js.map +1 -1
- package/build/src/components/Pages/SelectMethod/index.js +99 -36
- package/build/src/components/Pages/SelectMethod/index.js.map +1 -1
- package/build/src/components/Pages/Solana/ConnectSolana/index.js +45 -5
- package/build/src/components/Pages/Solana/ConnectSolana/index.js.map +1 -1
- package/build/src/defaultConfig.js +2 -1
- package/build/src/defaultConfig.js.map +1 -1
- package/build/src/wallets/walletConfigs.js +13 -38
- package/build/src/wallets/walletConfigs.js.map +1 -1
- package/package.json +3 -3
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,
|
|
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';
|
|
@@ -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:
|
|
469
|
+
onPaymentStarted?: (event: DaimoPayStartedEvent) => void;
|
|
400
470
|
/** Called when destination transfer or call completes successfully */
|
|
401
|
-
onPaymentCompleted?: (event:
|
|
471
|
+
onPaymentCompleted?: (event: DaimoPayCompletedEvent) => void;
|
|
402
472
|
/** Called when destination call reverts and funds are refunded */
|
|
403
|
-
onPaymentBounced?: (event:
|
|
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
|
|
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 };
|
package/build/package.json.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var name = "@daimo/pay";
|
|
2
|
-
var version = "1.
|
|
2
|
+
var version = "1.6.0";
|
|
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.
|
|
42
|
-
"@daimo/contract": "1.
|
|
41
|
+
"@daimo/common": "1.6.0",
|
|
42
|
+
"@daimo/contract": "1.6.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,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { ethereum, arbitrum, base, optimism, polygon, ethereumSepolia, baseSepolia, linea, bsc, worldchain, blast } from '@daimo/contract';
|
|
2
|
+
import { ethereum, arbitrum, base, optimism, polygon, ethereumSepolia, baseSepolia, linea, bsc, worldchain, blast, mantle } from '@daimo/contract';
|
|
3
3
|
|
|
4
4
|
const KnownChain = ({ testnet, ...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: {
|
|
5
5
|
background: testnet
|
|
@@ -112,6 +112,7 @@ const Zora = ({ testnet, ...props }) => (jsxs("svg", { ...props, width: "44", he
|
|
|
112
112
|
const Linea = ({ testnet, ...props }) => (jsxs("svg", { ...props, width: "44", height: "44", viewBox: "0 0 200 200", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M200 0H0V200H200V0Z", fill: "#121212" }), jsx("mask", { id: "mask0_267_10", style: { maskType: "luminance" }, maskUnits: "userSpaceOnUse", x: "50", y: "48", width: "100", height: "104", children: jsx("path", { d: "M149.541 48H50V151.977H149.541V48Z", fill: "white" }) }), jsxs("g", { mask: "url(#mask0_267_10)", children: [jsx("path", { d: "M132.669 151.977H50V64.8721H68.9147V135.096H132.669V151.968V151.977Z", fill: "white" }), jsx("path", { d: "M132.669 81.7441C141.987 81.7441 149.541 74.1902 149.541 64.8721C149.541 55.5539 141.987 48 132.669 48C123.35 48 115.797 55.5539 115.797 64.8721C115.797 74.1902 123.35 81.7441 132.669 81.7441Z", fill: "white" })] })] }));
|
|
113
113
|
const Worldchain = ({ testnet, ...props }) => (jsxs("svg", { ...props, "aria-hidden": "true", width: "44", height: "44", viewBox: "0 0 400 400", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M0 0 C132 0 264 0 400 0 C400 132 400 264 400 400 C268 400 136 400 0 400 C0 268 0 136 0 0 Z ", fill: "#FEFEFE", transform: "translate(0,0)" }), jsx("path", { d: "M0 0 C0.70403961 0.0012085 1.40807922 0.00241699 2.13345337 0.00366211 C37.34271908 0.16721508 68.5105973 14.80090333 93.17163086 39.68505859 C98.62984305 45.41558542 103.09177892 51.78200535 107.4375 58.375 C108.159375 59.4475 108.88125 60.52 109.625 61.625 C122.08220864 80.87704972 127.84793078 103.26191133 127.75 126.0625 C127.74850952 126.72419189 127.74701904 127.38588379 127.7454834 128.06762695 C127.70436084 138.22551322 127.07498098 147.56085403 124.4375 157.375 C124.14746094 158.56480469 123.85742188 159.75460938 123.55859375 160.98046875 C117.33294616 184.86715846 102.42700827 208.48904018 83.4375 224.375 C82.7775 224.375 82.1175 224.375 81.4375 224.375 C81.4375 225.035 81.4375 225.695 81.4375 226.375 C79.55168751 227.86844182 77.6802053 229.22460868 75.6875 230.5625 C75.09767334 230.96251221 74.50784668 231.36252441 73.90014648 231.7746582 C45.33982467 250.94089101 10.69801357 259.36417248 -23.53125 253.31640625 C-58.32294327 245.96067382 -87.68703658 225.97193245 -107.32177734 196.33154297 C-113.84308531 186.04784324 -119.21618764 175.09939589 -122.5625 163.375 C-122.75714844 162.7032373 -122.95179687 162.03147461 -123.15234375 161.33935547 C-126.29298989 150.01096274 -126.95426502 138.7553544 -127 127.0625 C-127.0061734 126.39534973 -127.0123468 125.72819946 -127.01870728 125.04083252 C-127.22210042 90.87814217 -112.10569979 60.09763142 -88.5625 35.9375 C-73.41024939 20.79283974 -54.8893351 10.80975271 -34.5625 4.375 C-33.52222656 4.04242188 -32.48195313 3.70984375 -31.41015625 3.3671875 C-20.96204118 0.67295275 -10.76743051 -0.03432509 0 0 Z ", fill: "#030303", transform: "translate(199.5625,72.625)" }), jsx("path", { d: "M0 0 C11.55 0 23.1 0 35 0 C37.475 7.425 37.475 7.425 40 15 C49.21380616 33.94914853 62.0370052 48.14330377 82.26171875 55.140625 C83.16535156 55.42421875 84.06898438 55.7078125 85 56 C86.03415543 56.34114838 87.06831085 56.68229675 88.13380432 57.03378296 C92.4151578 58.10375381 96.2112859 58.30653699 100.59741211 58.31884766 C101.84252563 58.33391609 101.84252563 58.33391609 103.11279297 58.34928894 C105.83430337 58.37997941 108.55571605 58.39711649 111.27734375 58.4140625 C113.17306857 58.43278554 115.06878515 58.45235979 116.9644928 58.4727478 C121.93741998 58.52395501 126.91037415 58.56364168 131.88342285 58.60089111 C136.96466688 58.64100246 142.04579976 58.69206221 147.12695312 58.7421875 C157.08455721 58.83881161 167.04222421 58.92325948 177 59 C176.06240625 60.11818809 175.12128368 61.23341782 174.17871094 62.34741211 C173.39315826 63.27945717 173.39315826 63.27945717 172.59173584 64.23033142 C162.58148353 75.35958323 147.85650103 82.10162688 134 87 C132.87980469 87.41765625 131.75960937 87.8353125 130.60546875 88.265625 C112.47396566 93.94296445 87.79207496 93.59729315 70 87 C68.77410156 86.5875 67.54820312 86.175 66.28515625 85.75 C40.7576163 76.74144211 20.58906247 57.52681738 8.6484375 33.45703125 C3.51705369 22.69571686 0 12.06068152 0 0 Z ", fill: "#FAFAFA", transform: "translate(98,212)" }), jsx("path", { d: "M0 0 C0.99128906 0.26683594 1.98257813 0.53367187 3.00390625 0.80859375 C20.02205338 5.90723969 35.38784974 15.53622797 48 28 C48 28.33 48 28.66 48 29 C46.99569946 29.00142502 45.99139893 29.00285004 44.95666504 29.00431824 C35.42537052 29.02109205 25.89449728 29.06417913 16.36342621 29.13209057 C11.46504263 29.16617258 6.56696472 29.19144103 1.66845703 29.19555664 C-3.07161547 29.19988029 -7.81100063 29.22867466 -12.55085754 29.27343178 C-14.34621658 29.28627824 -16.14165841 29.29076089 -17.9370575 29.28615379 C-39.57125354 29.2436265 -58.64662622 35.40002391 -74.56494141 50.54882812 C-85.14790619 61.25062171 -89.66973578 73.56885506 -93 88 C-104.88 88 -116.76 88 -129 88 C-129 64.08086196 -115.40828709 41.63583644 -99 25 C-72.65926108 0.43663887 -35.01441399 -9.99793527 0 0 Z ", fill: "#FBFBFB", transform: "translate(227,100)" }), jsx("path", { d: "M0 0 C1.43530815 -0.00043808 1.43530815 -0.00043808 2.89961243 -0.00088501 C6.04327657 0.00050157 9.18669983 0.01603116 12.33032227 0.03173828 C14.51750051 0.0354708 16.70468044 0.03831664 18.89186096 0.04031372 C24.63427386 0.04793137 30.37658477 0.06756384 36.11895752 0.08972168 C41.98432028 0.11022036 47.8496996 0.11932403 53.71508789 0.12939453 C65.21317945 0.15081148 76.71119548 0.18492487 88.20922852 0.22705078 C89.01417532 1.6299547 89.81343075 3.03612493 90.61035156 4.44360352 C91.05606003 5.22630112 91.50176849 6.00899872 91.96098328 6.81541443 C93.86879215 10.50134175 94.96928018 14.29024711 96.02172852 18.28955078 C96.34560547 19.41586914 96.34560547 19.41586914 96.67602539 20.56494141 C98.11972655 25.86767867 98.20922852 29.34376842 98.20922852 35.22705078 C50.68922852 35.22705078 3.16922852 35.22705078 -45.79077148 35.22705078 C-41.98207673 22.53140161 -35.92269341 12.61991806 -24.31030273 5.76220703 C-16.09258333 1.47307966 -9.18687217 -0.07412284 0 0 Z ", fill: "#FDFDFD", transform: "translate(203.790771484375,152.77294921875)" }), jsx("path", { d: "M0 0 C47.52 0 95.04 0 144 0 C142.84140283 13.90316605 142.84140283 13.90316605 140.6875 20.3125 C140.48705078 20.96283203 140.28660156 21.61316406 140.08007812 22.28320312 C138.58431084 26.91869244 136.43289036 30.78177675 134 35 C121.42969934 35.09296032 108.85948139 35.16389686 96.2889061 35.20724869 C90.45094348 35.22806258 84.61321724 35.25626666 78.77539062 35.30175781 C73.1343582 35.34543695 67.49355217 35.36918365 61.85236359 35.37950897 C59.70752655 35.38686085 57.56270095 35.40121672 55.41796112 35.42292023 C38.21797933 35.58994386 24.82919001 34.23919899 11.77734375 21.8984375 C5.69643497 15.465177 1.74000471 8.70002355 0 0 Z ", fill: "#FDFDFD", transform: "translate(158,212)" }), jsx("path", { d: "M0 0 C47.52 0 95.04 0 144 0 C144 0.33 144 0.66 144 1 C143.27516733 1.00238835 142.55033466 1.00477671 141.80353737 1.00723743 C124.18601629 1.0663125 106.5686429 1.14181412 88.95127296 1.23571491 C80.43172058 1.28072596 71.91221049 1.32012822 63.39257812 1.34643555 C55.96891368 1.3693728 48.5453825 1.40272254 41.12182367 1.44870156 C37.1892239 1.47269179 33.25675658 1.49138239 29.32408524 1.49761391 C25.62550831 1.50363876 21.92727054 1.52354315 18.22881889 1.55427551 C16.21821404 1.56731688 14.2075301 1.56547871 12.19688416 1.5632782 C11.00773911 1.57581635 9.81859406 1.58835449 8.59341431 1.60127258 C7.55547541 1.60588155 6.51753651 1.61049051 5.44814491 1.61523914 C4.64025709 1.74221023 3.83236927 1.86918131 3 2 C2.01 3.485 2.01 3.485 1 5 C0.67 3.35 0.34 1.7 0 0 Z ", fill: "#DDDDDD", transform: "translate(158,212)" }), jsx("path", { d: "M0 0 C0.66 0.66 1.32 1.32 2 2 C-0.97 5.3 -3.94 8.6 -7 12 C-7.66 11.01 -8.32 10.02 -9 9 C-8.01 8.34 -7.02 7.68 -6 7 C-4.78715124 3.94570927 -4.78715124 3.94570927 -4 1 C-3.01 1 -2.02 1 -1 1 C-0.67 0.67 -0.34 0.34 0 0 Z ", fill: "#090909", transform: "translate(126,124)" }), jsx("path", { d: "M0 0 C-0.99 1.485 -0.99 1.485 -2 3 C-3.9453125 3.29296875 -3.9453125 3.29296875 -6.125 3.1875 C-7.40375 3.125625 -8.6825 3.06375 -10 3 C-10 2.01 -10 1.02 -10 0 C-2.25 -1.125 -2.25 -1.125 0 0 Z ", fill: "#121212", transform: "translate(182,75)" }), jsx("path", { d: "M0 0 C0.66 0.33 1.32 0.66 2 1 C0.515 2.485 0.515 2.485 -1 4 C-0.67 4.66 -0.34 5.32 0 6 C-2.31 5.67 -4.62 5.34 -7 5 C-2.25 1.125 -2.25 1.125 0 0 Z ", fill: "#181818", transform: "translate(171,136)" }), jsx("path", { d: "M0 0 C4 4.5 4 4.5 4 9 C3.34 8.67 2.68 8.34 2 8 C2 6.68 2 5.36 2 4 C0.68 3.34 -0.64 2.68 -2 2 C-1.34 2 -0.68 2 0 2 C0 1.34 0 0.68 0 0 Z ", fill: "#E6E6E6", transform: "translate(90,265)" }), jsx("path", { d: "M0 0 C-1.39332574 3.36720387 -2.9789286 4.9859524 -6 7 C-6.33 6.01 -6.66 5.02 -7 4 C-2.25 0 -2.25 0 0 0 Z ", fill: "#1A1A1A", transform: "translate(124,129)" })] }));
|
|
114
114
|
const Blast = ({ testnet, ...props }) => (jsxs("svg", { ...props, "aria-hidden": "true", width: "44", height: "44", viewBox: "0 0 128 128", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("path", { d: "M0 0 C42.24 0 84.48 0 128 0 C128 42.24 128 84.48 128 128 C85.76 128 43.52 128 0 128 C0 85.76 0 43.52 0 0 Z ", fill: "#FBFB02", transform: "translate(0,0)" }), jsx("path", { d: "M0 0 C1.29626816 -0.00432541 2.59253632 -0.00865082 3.92808533 -0.0131073 C6.65588944 -0.01887515 9.38206966 -0.00018386 12.10961914 0.03686523 C15.58233542 0.08239403 19.05191484 0.06972176 22.5246973 0.03905773 C25.87091674 0.01684949 29.21626874 0.04154386 32.5625 0.0625 C34.41440697 0.0489875 34.41440697 0.0489875 36.3037262 0.03520203 C44.24833063 0.18576309 49.15483387 1.67114298 55.21484375 6.89453125 C54.95700697 8.90565812 54.59904373 10.90367679 54.21484375 12.89453125 C54.10011719 13.61769531 53.98539062 14.34085938 53.8671875 15.0859375 C52.92855388 19.19506689 52.06398095 21.28119581 48.5703125 23.8046875 C45.82568204 25.29503241 43.08020729 26.65400884 40.21484375 27.89453125 C40.21484375 28.55453125 40.21484375 29.21453125 40.21484375 29.89453125 C42.17632249 31.28391202 44.17650951 32.62057235 46.21484375 33.89453125 C45.70230165 40.94198511 44.80867926 47.70762156 39.26782227 52.62109375 C28.09200342 59.30025375 15.01841579 57.53817431 2.46484375 57.26953125 C0.01435568 57.23939433 -2.43616809 57.21202513 -4.88671875 57.1875 C-10.85365094 57.12180305 -16.81923525 57.02175013 -22.78515625 56.89453125 C-15.80058377 33.54211776 -15.80058377 33.54211776 -13.03515625 24.70703125 C-12.74511719 23.75634766 -12.45507812 22.80566406 -12.15625 21.82617188 C-11.87394531 20.92705078 -11.59164062 20.02792969 -11.30078125 19.1015625 C-11.05618164 18.31241455 -10.81158203 17.5232666 -10.55957031 16.71020508 C-9.78515625 14.89453125 -9.78515625 14.89453125 -7.78515625 13.89453125 C-5.14515625 15.87453125 -2.50515625 17.85453125 0.21484375 19.89453125 C-1.81250285 28.89397227 -4.65412522 37.12764436 -7.78515625 45.89453125 C5.41484375 45.89453125 18.61484375 45.89453125 32.21484375 45.89453125 C33.69984375 40.44953125 33.69984375 40.44953125 35.21484375 34.89453125 C35.54484375 33.90453125 35.87484375 32.91453125 36.21484375 31.89453125 C26.97484375 31.89453125 17.73484375 31.89453125 8.21484375 31.89453125 C8.87484375 29.25453125 9.53484375 26.61453125 10.21484375 23.89453125 C19.78484375 23.89453125 29.35484375 23.89453125 39.21484375 23.89453125 C40.20484375 20.26453125 41.19484375 16.63453125 42.21484375 12.89453125 C19.11484375 12.56453125 -3.98515625 12.23453125 -27.78515625 11.89453125 C-18.85278804 2.96216304 -12.73867052 -0.17886377 0 0 Z ", fill: "#000000", transform: "translate(49.78515625,36.10546875)" })] }));
|
|
115
|
+
const Mantle = ({ testnet, ...props }) => (jsxs("svg", { ...props, "aria-hidden": "true", width: "44", height: "44", viewBox: "0 0 311 311", xmlns: "http://www.w3.org/2000/svg", children: [jsx("style", { children: ".st0{fill:#fff}" }), jsx("path", { d: "M0 0h314v311H0z" }), jsx("path", { d: "M155.5 289.1v-45.7c-4.6 0-9.3-.4-13.9-1.1l-7.2 45.1c7 1.2 14.1 1.7 21.1 1.7zm21-1.6c7-1.1 13.9-2.7 20.6-4.9L183 239.1c-4.4 1.4-9 2.5-13.6 3.2l7.1 45.2zm-62.6-4.9 14.1-43.4c-4.4-1.4-8.7-3.2-12.9-5.3l-20.8 40.7c6.3 3.1 12.9 5.8 19.6 8zm102.7-8c6.3-3.2 12.3-6.9 18-11l-27-36.9c-3.7 2.7-7.7 5.2-11.9 7.2l20.9 40.7zM76.3 263.5l27-36.9c-3.7-2.7-7.3-5.7-10.6-9l-32.4 32.3c5 4.9 10.4 9.5 16 13.6zm174.2-13.4.3-.3c5-4.9 9.6-10.3 13.7-15.9l-37-26.9c-2.7 3.7-5.8 7.3-9 10.5l-.5.5 15.6 14.7 16.9 17.4zM46.6 233.8l37-26.9c-2.7-3.7-5.2-7.7-7.3-11.8l-40.8 20.7c3.2 6.3 6.9 12.3 11.1 18zm228.9-17.9c3.2-6.2 5.9-12.8 8.1-19.5l-43.6-14c-1.4 4.4-3.2 8.7-5.3 12.8l40.8 20.7zM27.4 196.4 71 182.3c-1.4-4.4-2.5-8.9-3.2-13.5l-45.3 7.1c1.1 6.9 2.8 13.8 4.9 20.5zM288.5 176c1.1-6.9 1.7-14 1.7-21h-45.8c0 4.6-.4 9.3-1.1 13.9l45.2 7.1zM66.7 154.9c0-4.6.4-9.3 1.1-13.9l-45.3-7.1c-1.1 6.9-1.6 14-1.7 21h45.9zm176.6-13.8 45.3-7.1c-1.1-6.9-2.7-13.8-4.9-20.5l-43.6 14c1.4 4.5 2.5 9 3.2 13.6zM71 127.5c1.4-4.4 3.2-8.7 5.3-12.8L35.5 94c-3.2 6.2-5.9 12.8-8.1 19.5l43.6 14zm163.8-12.7 40.9-20.7c-3.2-6.3-6.9-12.3-11.1-18L227.5 103c2.7 3.7 5.2 7.7 7.3 11.8zM83.6 102.9c2.7-3.7 5.8-7.3 9.1-10.6l.1-.1-32.4-32.3-.1.1c-5 5-9.6 10.3-13.7 16l37 26.9zm134.9-10.4 9.8-9.9 22.5-22.4-.1-.1c-5-4.9-10.3-9.5-15.9-13.6l-27 36.9c3.7 2.7 7.3 5.7 10.5 9l.2.1zm-115.1-9.3c3.7-2.7 7.7-5.1 11.9-7.2L94.5 35.3c-6.3 3.2-12.3 6.9-18 11l26.9 36.9zm92.6-7.1 20.9-40.7c-6.3-3.2-12.8-5.9-19.5-8.1l-14.2 43.4c4.3 1.5 8.6 3.3 12.8 5.4zm-67.8-5.4c4.4-1.4 9-2.5 13.6-3.2l-7.1-45.1c-6.9 1.1-13.9 2.7-20.6 4.9l14.1 43.4zm41.3-3.2 7.2-45.1c-6.9-1.1-14-1.7-21-1.7v45.7c4.6 0 9.3.4 13.8 1.1z", className: "st0" }), jsx("path", { d: "M155.5 245.5v-45.9c-3.9 0-7.7-.5-11.5-1.5l-12 44.3c7.7 2 15.6 3.1 23.5 3.1zm23.5-3.1c7.7-2 15-5 21.9-9l-23.2-39.7c-3.3 1.9-6.9 3.4-10.6 4.4l11.9 44.3zm-68.8-9 23.2-39.7c-3.3-1.9-6.4-4.3-9.2-7l-.4-.4-14.6 15.3-18 17.3.3.3c5.6 5.5 11.9 10.3 18.7 14.2zm109.4-14.2c5.6-5.6 10.5-11.8 14.4-18.6l-40.1-23c-1.9 3.3-4.3 6.3-7.1 9.1l32.8 32.5zM77 200.5l40.1-22.9c-1.9-3.3-3.4-6.8-4.4-10.5L68 178.9c2 7.5 5.1 14.8 9 21.6zM243.1 179c2-7.6 3.1-15.4 3.1-23.2h-46.3c0 3.8-.5 7.7-1.5 11.4l44.7 11.8zm-131.8-23.3c0-3.8.5-7.7 1.5-11.4L68 132.5c-2 7.6-3.1 15.4-3.1 23.2h46.4zm87-11.3 44.8-11.8c-2-7.6-5.1-14.9-9-21.7L194 133.8c1.8 3.4 3.3 6.9 4.3 10.6zm-81.1-10.6c1.9-3.2 4.2-6.3 7-9l.1-.1-16.6-16.4L91.8 92l-.3.3c-5.6 5.5-10.4 11.8-14.4 18.5l40.1 23zm-9.5-25.5.2.2-.2-.2zm79.1 16.5 16.4-16.3L220 92.7l-.4-.4C214 86.7 207.7 82 200.9 78l-23.2 39.7c3.3 1.9 6.3 4.2 9.1 6.9v.2zm-53.4-7.1c3.3-1.9 6.9-3.4 10.6-4.4L132.2 69c-7.7 2-15 5-21.9 9l23.1 39.7zm33.6-4.3 12-44.3c-7.6-2-15.5-3.1-23.4-3.1v45.9c3.8 0 7.7.5 11.4 1.5z", className: "st0" })] }));
|
|
115
116
|
const chainToLogo = {
|
|
116
117
|
[ethereum.chainId]: jsx(Ethereum, {}),
|
|
117
118
|
[arbitrum.chainId]: jsx(Arbitrum, {}),
|
|
@@ -124,6 +125,7 @@ const chainToLogo = {
|
|
|
124
125
|
[bsc.chainId]: jsx(BinanceSmartChain, {}),
|
|
125
126
|
[worldchain.chainId]: jsx(Worldchain, {}),
|
|
126
127
|
[blast.chainId]: jsx(Blast, {}),
|
|
128
|
+
[mantle.chainId]: jsx(Mantle, {}),
|
|
127
129
|
};
|
|
128
130
|
var Chains = {
|
|
129
131
|
UnknownChain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chains.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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: "
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -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.
|
|
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
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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 {
|
|
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 {
|
|
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
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { http } from 'wagmi';
|
|
2
|
-
import { mainnet, base, polygon, optimism, arbitrum, linea, bsc, sepolia, baseSepolia, worldchain, blast } from 'wagmi/chains';
|
|
2
|
+
import { mainnet, base, polygon, optimism, arbitrum, linea, bsc, sepolia, baseSepolia, worldchain, blast, mantle } from 'wagmi/chains';
|
|
3
3
|
import defaultConnectors from './defaultConnectors.js';
|
|
4
4
|
|
|
5
5
|
// TODO: Move these to a provider rather than global variable
|
|
@@ -17,6 +17,7 @@ const REQUIRED_CHAINS = [
|
|
|
17
17
|
baseSepolia,
|
|
18
18
|
worldchain,
|
|
19
19
|
blast,
|
|
20
|
+
mantle,
|
|
20
21
|
];
|
|
21
22
|
/** Daimo Pay recommended config, for use with wagmi's createConfig(). */
|
|
22
23
|
const defaultConfig = ({ appName = "Daimo Pay", appIcon, appDescription, appUrl, walletConnectProjectId, coinbaseWalletPreference, additionalConnectors, chains = REQUIRED_CHAINS, client, ...props }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultConfig.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaultConfig.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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
+
"version": "1.6.0",
|
|
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.
|
|
44
|
-
"@daimo/contract": "1.
|
|
43
|
+
"@daimo/common": "1.6.0",
|
|
44
|
+
"@daimo/contract": "1.6.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",
|