@privy-io/react-auth 1.93.0 → 1.93.1-beta-20241108182016

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cjs/abstract-smart-wallets.js +1 -1
  2. package/dist/cjs/events-context-D4csIP2K.js +1 -0
  3. package/dist/cjs/{getEmbeddedConnectedWallet-DGCba9eL.js → getEmbeddedConnectedWallet-D8Hbsclz.js} +1 -1
  4. package/dist/cjs/index.js +312 -312
  5. package/dist/cjs/privy-context-ymK4c6qn.js +1 -0
  6. package/dist/cjs/smart-wallets-xWAJPVoA.js +1 -0
  7. package/dist/cjs/smart-wallets.js +1 -1
  8. package/dist/cjs/solana.js +1 -1
  9. package/dist/cjs/ui.js +22 -22
  10. package/dist/cjs/{useFundWallet-CW-_1LDw.js → useFundWallet-BMvRGB2P.js} +2 -2
  11. package/dist/cjs/useSolanaWallets-DowXcwiH.js +1 -0
  12. package/dist/cjs/{useWallets-CZUj7ALT.js → useWallets-CI4D93NT.js} +1 -1
  13. package/dist/dts/index.d.mts +4 -4
  14. package/dist/dts/index.d.ts +4 -4
  15. package/dist/dts/smart-wallets.d.mts +3 -3
  16. package/dist/dts/smart-wallets.d.ts +3 -3
  17. package/dist/dts/{solana-CWtzrK1j.d.ts → solana-zVpz_NAz.d.mts} +2 -2
  18. package/dist/dts/{solana-CWtzrK1j.d.mts → solana-zVpz_NAz.d.ts} +2 -2
  19. package/dist/dts/solana.d.mts +2 -2
  20. package/dist/dts/solana.d.ts +2 -2
  21. package/dist/dts/{types-fObwliWo.d.mts → types-BokrcPu3.d.mts} +59 -120
  22. package/dist/dts/{types-fObwliWo.d.ts → types-BokrcPu3.d.ts} +59 -120
  23. package/dist/dts/ui.d.mts +1 -1
  24. package/dist/dts/ui.d.ts +1 -1
  25. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  26. package/dist/esm/events-context-2ZF4RQWB.mjs +1 -0
  27. package/dist/esm/{getEmbeddedConnectedWallet-CeIDxPC5.mjs → getEmbeddedConnectedWallet-CjPtW7Kh.mjs} +1 -1
  28. package/dist/esm/index.mjs +324 -324
  29. package/dist/esm/privy-context-1qVRD8ny.mjs +1 -0
  30. package/dist/esm/smart-wallets-DJoa6K12.mjs +1 -0
  31. package/dist/esm/smart-wallets.mjs +1 -1
  32. package/dist/esm/solana.mjs +1 -1
  33. package/dist/esm/ui.mjs +20 -20
  34. package/dist/esm/{useFundWallet-BLErEIDU.mjs → useFundWallet-DHHdMkMH.mjs} +1 -1
  35. package/dist/esm/useSolanaWallets-BSuTkje9.mjs +1 -0
  36. package/dist/esm/useWallets-Djl5fNHD.mjs +1 -0
  37. package/package.json +4 -4
  38. package/dist/cjs/events-context-DykapYG4.js +0 -1
  39. package/dist/cjs/privy-context-Ds_CALAJ.js +0 -1
  40. package/dist/cjs/smart-wallets-C-wtePWG.js +0 -1
  41. package/dist/cjs/useSolanaWallets-DYHtxLmi.js +0 -1
  42. package/dist/esm/events-context-D3j6WwDa.mjs +0 -1
  43. package/dist/esm/privy-context-BeqkgOHo.mjs +0 -1
  44. package/dist/esm/smart-wallets-vjWIsaaC.mjs +0 -1
  45. package/dist/esm/useSolanaWallets-DiqA_tT8.mjs +0 -1
  46. package/dist/esm/useWallets-C0_t04LR.mjs +0 -1
@@ -253,7 +253,7 @@ declare class ProviderRpcError extends PrivyError {
253
253
  type BaseProxyRequest = {
254
254
  accessToken: string;
255
255
  } & Partial<MfaSubmitArgs>;
256
- type EntropyIdVerifier = 'ethereum-address-verifier' | 'solana-address-verifier';
256
+ type EntropyIdVerifier$1 = 'ethereum-address-verifier' | 'solana-address-verifier';
257
257
  type BaseWalletsRequestData = BaseProxyRequest & {
258
258
  chainType: 'ethereum' | 'solana' | 'bitcoin-taproot' | 'bitcoin-segwit';
259
259
  };
@@ -288,7 +288,7 @@ type WalletsAddRequestDataType = BaseWalletsRequestData & {
288
288
  * When this field is a wallet address, we can verify reconstitution was successful by
289
289
  * deriving the specified wallet and comparing the address to the `entropyId`
290
290
  */
291
- entropyIdVerifier: EntropyIdVerifier;
291
+ entropyIdVerifier: EntropyIdVerifier$1;
292
292
  /**
293
293
  * The HD node index at which to create a wallet. Must be >= 1 AND equal to the next
294
294
  * index in the sequence, since the primary wallet is created at index 0.
@@ -314,7 +314,7 @@ type WalletsSetRecoveryBaseRequestDataType = BaseWalletsRequestData & {
314
314
  * When this field is a wallet address, we can verify reconstitution was successful by
315
315
  * deriving the specified wallet and comparing the address to the `entropyId`
316
316
  */
317
- entropyIdVerifier: EntropyIdVerifier;
317
+ entropyIdVerifier: EntropyIdVerifier$1;
318
318
  existingRecoveryMethod?: UserRecoveryMethod;
319
319
  };
320
320
  type WalletsSetRecoveryPasswordDataType = WalletsSetRecoveryBaseRequestDataType & {
@@ -348,7 +348,7 @@ type WalletsSetRecoveryResponseDataType = {
348
348
  * When this field is a wallet address, we can verify reconstitution was successful by
349
349
  * deriving the specified wallet and comparing the address to the `entropyId`
350
350
  */
351
- entropyIdVerifier: EntropyIdVerifier;
351
+ entropyIdVerifier: EntropyIdVerifier$1;
352
352
  recoveryMethod: WalletsSetRecoveryRequestDataType['recoveryMethod'];
353
353
  };
354
354
  type WalletsConnectRequestDataType = BaseProxyRequest & {
@@ -359,7 +359,7 @@ type WalletsConnectRequestDataType = BaseProxyRequest & {
359
359
  /**
360
360
  * Source of the key with which to look up the existing entropy
361
361
  */
362
- entropyIdVerifier: EntropyIdVerifier;
362
+ entropyIdVerifier: EntropyIdVerifier$1;
363
363
  };
364
364
  type WalletsConnectResponseDataType = {
365
365
  address: string;
@@ -380,7 +380,7 @@ type WalletsRecoverRequestDataType = BaseProxyRequest & {
380
380
  * When this field is a wallet address, we can verify reconstitution was successful by
381
381
  * deriving the specified wallet and comparing the address to the `entropyId`
382
382
  */
383
- entropyIdVerifier: EntropyIdVerifier;
383
+ entropyIdVerifier: EntropyIdVerifier$1;
384
384
  /** Optional: the user-specified recovery password, replaces recoveryPin */
385
385
  recoveryPassword?: string;
386
386
  /** Optional: in the case of cloud recovery, the access token to be used to communicated with the cloud provider (eg Google) */
@@ -419,7 +419,13 @@ type WalletsRpcRequestDataType = BaseWalletsRequestData & {
419
419
  * When this field is a wallet address, we can verify reconstitution was successful by
420
420
  * deriving the specified wallet and comparing the address to the `entropyId`
421
421
  */
422
- entropyIdVerifier: EntropyIdVerifier;
422
+ entropyIdVerifier: EntropyIdVerifier$1;
423
+ /**
424
+ * The HD node index of the wallet to use for this request.
425
+ */
426
+ hdWalletIndex: number;
427
+ /** For cross-app requests, the app ID of the requester app */
428
+ requesterAppId?: string | null;
423
429
  } & (WalletsRpcEthereumRequestDataType | WalletsRpcSolanaRequestDataType | WalletsRpcBitcoinRequestDataType);
424
430
  type WalletsRpcEthereumResponseDataType = {
425
431
  chainType: 'ethereum';
@@ -463,75 +469,6 @@ type EthereumWalletCreateRequestDataType = BaseWalletCreateRequestDataType & Bas
463
469
  type WalletCreateResponseDataType = {
464
470
  address: string;
465
471
  };
466
- type WalletCreateAdditionalRequestDataType = {
467
- accessToken: string;
468
- primaryWalletAddress: string;
469
- /**
470
- * The HD node index at which to create a wallet. Must be >= 1 for ethereum
471
- * and solana, must be >= 0 otherwise.
472
- */
473
- hdWalletIndex: number;
474
- };
475
- type WalletCreateAdditionalResponseDataType = {
476
- address: string;
477
- };
478
- type WalletImportRequestDataType = {
479
- accessToken: string;
480
- privateKey: string;
481
- };
482
- type WalletImportResponseDataType = {
483
- address: string;
484
- };
485
- type WalletConnectRequestDataType = {
486
- accessToken: string;
487
- address: string;
488
- };
489
- type WalletConnectResponseDataType = {
490
- address: string;
491
- };
492
- type WalletRecoverRequestDataType = {
493
- address: string;
494
- imported?: boolean;
495
- accessToken: string;
496
- mfaCode?: string | PasskeyAuthenticateInputType['authenticator_response'];
497
- mfaMethod?: MfaMethod;
498
- relyingParty?: string;
499
- recoveryPassword?: string;
500
- recoveryMethod?: UserRecoveryMethod | 'privy';
501
- recoveryAccessToken?: string;
502
- /**
503
- * Will be deprecated in a future release, use `recoveryPassword` instead
504
- * @deprecated
505
- */
506
- recoveryPin?: string;
507
- };
508
- type WalletRecoverResponseDataType = {
509
- address: string;
510
- };
511
- type WalletSetRecoveryRequestDataType = {
512
- accessToken: string;
513
- address: string;
514
- recoveryMethod: UserRecoveryMethod;
515
- recoveryPassword?: string;
516
- recoveryAccessToken?: string;
517
- };
518
- type WalletSetRecoveryResponseDataType = {
519
- address: string;
520
- };
521
- type WalletRpcRequestDataType = {
522
- accessToken: string;
523
- hdWalletIndex?: number;
524
- mfaCode?: string | PasskeyAuthenticateInputType['authenticator_response'];
525
- mfaMethod?: MfaMethod;
526
- relyingParty?: string;
527
- requesterAppId?: string;
528
- address: string;
529
- request: EthereumRpcRequestType;
530
- };
531
- type WalletRpcResponseDataType = {
532
- address: string;
533
- response: EthereumRpcResponseType;
534
- };
535
472
  type SolanaWalletCreateRequestDataType = BaseWalletCreateRequestDataType & {
536
473
  /**
537
474
  * If a user has an existing Ethereum embedded wallet when creating the Solana embedded wallet, that address
@@ -546,28 +483,12 @@ type SolanaWalletCreateRequestDataType = BaseWalletCreateRequestDataType & {
546
483
  type SolanaWalletCreateResponseDataType = {
547
484
  publicKey: string;
548
485
  };
549
- type SolanaWalletConnectRequestDataType = {
550
- publicKey: string;
551
- accessToken: string;
552
- };
553
- type SolanaWalletConnectResponseDataType = {
554
- publicKey: string;
555
- };
556
- type SolanaWalletRecoverRequestDataType = {
557
- publicKey: string;
558
- accessToken: string;
559
- };
560
- type SolanaWalletRecoverResponseDataType = {
561
- publicKey: string;
562
- };
563
- type SolanaWalletRpcRequestDataType = {
486
+ type WalletImportRequestDataType = {
564
487
  accessToken: string;
565
- publicKey: string;
566
- request: SolanaRpcRequestType;
488
+ privateKey: string;
567
489
  };
568
- type SolanaWalletRpcResponseDataType = {
569
- publicKey: string;
570
- response: SolanaRpcResponseType;
490
+ type WalletImportResponseDataType = {
491
+ address: string;
571
492
  };
572
493
  type MfaVerifyRequestDataType = {
573
494
  accessToken: string;
@@ -667,32 +588,34 @@ type PrivyIframeErrorTypesType = (typeof PrivyIframeErrorTypes)[number];
667
588
  interface EmbeddedWalletProxy {
668
589
  createWallet: (data: WalletsCreateRequestDataType) => Promise<WalletsCreateResponseDataType>;
669
590
  addWallet: (data: WalletsAddRequestDataType) => Promise<WalletsAddResponseDataType>;
670
- setRecoveryWallet: (data: WalletsSetRecoveryRequestDataType) => Promise<WalletsSetRecoveryResponseDataType>;
671
- connectWallet: (data: WalletsConnectRequestDataType) => Promise<WalletsConnectResponseDataType>;
672
- recoverWallet: (data: WalletsRecoverRequestDataType) => Promise<WalletsRecoverResponseDataType>;
673
- rpcWallet(data: WalletsRpcRequestDataType): Promise<WalletsRpcResponseDataType>;
591
+ setRecovery: (data: WalletsSetRecoveryRequestDataType) => Promise<WalletsSetRecoveryResponseDataType>;
592
+ connect: (data: WalletsConnectRequestDataType) => Promise<WalletsConnectResponseDataType>;
593
+ recover: (data: WalletsRecoverRequestDataType) => Promise<WalletsRecoverResponseDataType>;
594
+ rpc(data: WalletsRpcRequestDataType & {
595
+ chainType: 'ethereum';
596
+ }): Promise<WalletsRpcResponseDataType & {
597
+ chainType: 'ethereum';
598
+ }>;
599
+ rpc(data: WalletsRpcRequestDataType & {
600
+ chainType: 'solana';
601
+ }): Promise<WalletsRpcResponseDataType & {
602
+ chainType: 'solana';
603
+ }>;
604
+ rpc(data: WalletsRpcRequestDataType & {
605
+ chainType: 'bitcoin-taproot';
606
+ }): Promise<WalletsRpcResponseDataType & {
607
+ chainType: 'bitcoin-taproot';
608
+ }>;
609
+ rpc(data: WalletsRpcRequestDataType & {
610
+ chainType: 'bitcoin-segwit';
611
+ }): Promise<WalletsRpcResponseDataType & {
612
+ chainType: 'bitcoin-segwit';
613
+ }>;
674
614
  /** @deprecated */
675
615
  create: (data: EthereumWalletCreateRequestDataType) => Promise<WalletCreateResponseDataType>;
676
- /** @deprecated */
677
- createAdditional: (data: WalletCreateAdditionalRequestDataType) => Promise<WalletCreateAdditionalResponseDataType>;
678
616
  import: (data: WalletImportRequestDataType) => Promise<WalletImportResponseDataType>;
679
617
  /** @deprecated */
680
- connect: (data: WalletConnectRequestDataType) => Promise<WalletConnectResponseDataType>;
681
- /** @deprecated */
682
- recover: (data: WalletRecoverRequestDataType) => Promise<WalletRecoverResponseDataType>;
683
- /** @deprecated */
684
- setRecovery: (data: WalletSetRecoveryRequestDataType) => Promise<WalletSetRecoveryResponseDataType>;
685
- /** @deprecated */
686
- rpc: (data: WalletRpcRequestDataType) => Promise<WalletRpcResponseDataType>;
687
- /** @deprecated */
688
618
  createSolana: (data: SolanaWalletCreateRequestDataType) => Promise<SolanaWalletCreateResponseDataType>;
689
- /** @deprecated */
690
- connectSolana: (data: SolanaWalletConnectRequestDataType) => Promise<SolanaWalletConnectResponseDataType>;
691
- /** @deprecated */
692
- recoverSolana: (data: SolanaWalletRecoverRequestDataType) => Promise<SolanaWalletRecoverResponseDataType>;
693
- /** @deprecated */
694
- rpcSolana: (data: SolanaWalletRpcRequestDataType) => Promise<SolanaWalletRpcResponseDataType>;
695
- /** @deprecated */
696
619
  createDelegatedAction: (data: DelegatedActionsConsentRequestDataType) => Promise<DelegatedActionsConsentResponseDataType>;
697
620
  verifyMfa: (data: MfaVerifyRequestDataType) => Promise<MfaVerifyResponseDataType>;
698
621
  initEnrollMfa: (data: MfaInitEnrollmentRequestDataType) => Promise<MfaInitEnrollmentResponseDataType>;
@@ -764,16 +687,29 @@ declare class Embedded1193Provider extends EventEmitter implements EIP1193Provid
764
687
  rpcTimeoutDuration: number;
765
688
  appId: string;
766
689
  /** Address of the user's embedded wallet at HD index 0. This is required to make RPC requests to the iframe. */
767
- rootAddress: string;
690
+ entropyId: string;
691
+ /**
692
+ * Source of the `entropyId` property. This field determines how the entropyId will
693
+ * be used. Possible values include:
694
+ * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
695
+ * at index 0 for this entropy
696
+ * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
697
+ * at index 0 for this entropy
698
+ *
699
+ * When this field is a wallet address, we can verify reconstitution was successful by
700
+ * deriving the specified wallet and comparing the address to the `entropyId`
701
+ */
702
+ entropyIdVerifier: EntropyIdVerifier;
768
703
  /**
769
704
  * HD index of the embedded wallet that this provider corresponds to, if this is an HD wallet. This is required to make RPC
770
705
  * requests to the iframe. If this is an imported wallet, the `walletIndex` is defined as 0 (and is handled as such by the iframe).
771
706
  */
772
707
  walletIndex: number;
773
- constructor({ walletProxy, address, rootAddress, rpcConfig, chains, appId, chainId, walletIndex, }: {
708
+ constructor({ walletProxy, address, entropyId, entropyIdVerifier, rpcConfig, chains, appId, chainId, walletIndex, }: {
774
709
  walletProxy: EmbeddedWalletProxy;
775
710
  address: string;
776
- rootAddress: string;
711
+ entropyId: string;
712
+ entropyIdVerifier: EntropyIdVerifier;
777
713
  rpcConfig: RpcConfig;
778
714
  chains: Chain[];
779
715
  appId: string;
@@ -1010,6 +946,7 @@ type MfaSubmitArgs = {
1010
946
  mfaCode: string | PasskeyAuthenticateInputType['authenticator_response'];
1011
947
  relyingParty: string;
1012
948
  };
949
+ type EntropyIdVerifier = 'ethereum-address-verifier' | 'solana-address-verifier';
1013
950
  /**
1014
951
  * Supported OAuth providers. Can be `'google'`, `'discord'`, `'twitter'`, `'github'`, `'spotify'`,
1015
952
  * `'instagram'`, `'tiktok'`, `'linkedin'`, or `'apple'`
@@ -1266,6 +1203,8 @@ interface PrivyConnectedWallet {
1266
1203
  /** Unlink this wallet to the authenticated user. Throws a PrivyClientError if the user is not
1267
1204
  * authenticated. */
1268
1205
  unlink: () => Promise<void>;
1206
+ /** The HD wallet index */
1207
+ walletIndex?: number;
1269
1208
  }
1270
1209
  /**
1271
1210
  * Object representation of a connected wallet.
package/dist/dts/ui.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { R as RuntimeLoginOverridableOptions } from './types-fObwliWo.js';
2
+ import { R as RuntimeLoginOverridableOptions } from './types-BokrcPu3.js';
3
3
  import '@metamask/eth-sig-util';
4
4
  import '@ethersproject/providers';
5
5
  import 'eventemitter3';
package/dist/dts/ui.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { R as RuntimeLoginOverridableOptions } from './types-fObwliWo.js';
2
+ import { R as RuntimeLoginOverridableOptions } from './types-BokrcPu3.js';
3
3
  import '@metamask/eth-sig-util';
4
4
  import '@ethersproject/providers';
5
5
  import 'eventemitter3';
@@ -1 +1 @@
1
- import{createAbstractClient as a}from"@abstract-foundation/agw-client";import{createWalletClient as t,custom as e}from"viem";import{toAccount as r}from"viem/accounts";import{abstractTestnet as s}from"viem/chains";import{u as n}from"./privy-context-BeqkgOHo.mjs";import{u as o,M as i,g as c}from"./getEmbeddedConnectedWallet-CeIDxPC5.mjs";import{a3 as l,Q as m}from"./useWallets-C0_t04LR.mjs";import{c as d}from"./smart-wallets-vjWIsaaC.mjs";import"ofetch";import"react";import"react/jsx-runtime";import"@ethersproject/providers";import"tinycolor2";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";function p(){let{noPromptOnSignature:p,openPrivyModal:u,chains:g,appId:f,rpcConfig:h}=n(),{wallets:E}=l(),{setModalData:T}=o();return{sendTransaction:async n=>{let o=await(async()=>{let n=c(E);if(!n)throw Error("No connected wallet found");let o=g.find((a=>a.id===s.id));if(!o)throw Error("Chain not configured");await n.switchChain(o.id);let i=await n.getEthereumProvider(),l=t({account:n.address,transport:e(i)}),d=r({address:n.address,signMessage:l.signMessage,signTransaction:l.signTransaction,signTypedData:l.signTypedData});return await a({chain:{...o,rpcUrls:{default:{http:[m(o,h,f)]}}},signer:d})})(),l=[];return l="calls"in n&&void 0!==n.calls?[...n.calls]:[n],new Promise((async(a,t)=>{p.current=!0,T({connectWallet:{onCompleteNavigateTo:i.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:d({calls:l,chain:o.chain,maxPriorityFeePerGas:n.maxPriorityFeePerGas,maxFeePerGas:n.maxFeePerGas,nonce:n.nonce?BigInt(n.nonce):void 0}),rootWallet:{address:o.account.address},transactingWallet:{address:o.account.address,walletIndex:null},getIsSponsored:async()=>!0,onConfirm:()=>l.length>1?o.sendTransactionBatch(n):o.sendTransaction(n),onSuccess:t=>a(t.hash),onFailure:t,uiOptions:{}}}),u(i.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{p.current=!1}))}}}export{p as useAbstractSmartWallets};
1
+ import{createAbstractClient as e}from"@abstract-foundation/agw-client";import{createWalletClient as r,custom as t}from"viem";import{toAccount as a}from"viem/accounts";import{abstractTestnet as n}from"viem/chains";import{j as s,u as i,w as o}from"./privy-context-1qVRD8ny.mjs";import{u as c,M as m,g as p}from"./getEmbeddedConnectedWallet-CjPtW7Kh.mjs";import{a3 as l,Q as d}from"./useWallets-Djl5fNHD.mjs";import{c as u}from"./smart-wallets-DJoa6K12.mjs";import"ofetch";import"@ethersproject/address";import"react";import"react/jsx-runtime";import"@ethersproject/providers";import"tinycolor2";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";import"zod";import"bs58";import"ethers";import"libphonenumber-js/max";function f(){let{user:f}=s(),{noPromptOnSignature:g,openPrivyModal:h,chains:y,appId:E,rpcConfig:w}=i(),{wallets:T}=l(),{setModalData:I}=c();return{sendTransaction:async s=>{let i=await(async()=>{let s=p(T);if(!s)throw Error("No connected wallet found");let i=y.find((e=>e.id===n.id));if(!i)throw Error("Chain not configured");await s.switchChain(i.id);let o=await s.getEthereumProvider(),c=r({account:s.address,transport:t(o)}),m=a({address:s.address,signMessage:c.signMessage,signTransaction:c.signTransaction,signTypedData:c.signTypedData});return await e({chain:{...i,rpcUrls:{default:{http:[d(i,w,E)]}}},signer:m})})(),c=[];return c="calls"in s&&void 0!==s.calls?[...s.calls]:[s],new Promise((async(e,r)=>{g.current=!0;let{entropyId:t,entropyIdVerifier:a}=o(f);I({connectWallet:{entropyId:t,entropyIdVerifier:a,onCompleteNavigateTo:m.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN,onFailure:()=>{}},sendTransaction:{transactionRequests:u({calls:c,chain:i.chain,maxPriorityFeePerGas:s.maxPriorityFeePerGas,maxFeePerGas:s.maxFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0}),entropyId:t,entropyIdVerifier:a,transactingWallet:{address:i.account.address,walletIndex:null},getIsSponsored:async()=>!0,onConfirm:()=>c.length>1?i.sendTransactionBatch(s):i.sendTransaction(s),onSuccess:r=>e(r.hash),onFailure:r,uiOptions:{}}}),h(m.EMBEDDED_WALLET_CONNECTING_SCREEN)})).finally((()=>{g.current=!1}))}}}export{f as useAbstractSmartWallets};
@@ -0,0 +1 @@
1
+ import{createContext as o,useEffect as n,useContext as e}from"react";const r={login:{onComplete:[],onError:[],onOAuthLoginComplete:[]},logout:{onSuccess:[]},connectWallet:{onSuccess:[],onError:[]},createWallet:{onSuccess:[],onError:[]},linkAccount:{onSuccess:[],onError:[]},update:{onSuccess:[],onError:[]},configureMfa:{onMfaRequired:[]},setWalletPassword:{onSuccess:[],onError:[]},setWalletRecovery:{onSuccess:[],onError:[]},signMessage:{onSuccess:[],onError:[]},signTypedData:{onSuccess:[],onError:[]},sendTransaction:{onSuccess:[],onError:[]},sendSolanaTransaction:{onSuccess:[],onError:[]},accessToken:{onAccessTokenGranted:[],onAccessTokenRemoved:[]},oAuthAuthorization:{onOAuthTokenGrant:[]},fundWallet:{onUserExited:[]},fundSolanaWallet:{onUserExited:[]},customAuth:{onAuthenticated:[],onUnauthenticated:[]}},t=o(void 0);let s=()=>e(t);function c(o,e){if(!e)return;let r=s().current[o];return n((()=>{for(let[n,t]of Object.entries(e))r.hasOwnProperty(n)||console.warn(`Invalid event type "${n}" for action "${o}"`),r[n]?.push(t);return()=>{for(let[n,t]of Object.entries(e))r.hasOwnProperty(n)||console.warn(`Invalid event type "${n}" for action "${o}"`),r[n]=r[n]?.filter((o=>o!==t))}}),[e])}function a(o,n,e,...r){for(let t of o.current[n][e])t(...r)}function u(){let o=s();return(n,e,...r)=>a(o,n,e,...r)}export{t as P,u as a,a as e,r as p,c as u};
@@ -1 +1 @@
1
- import{jsx as E,jsxs as _}from"react/jsx-runtime";import{useState as N,useEffect as A,useRef as S,useContext as R,createContext as T}from"react";import{z as C,ap as D}from"./useWallets-C0_t04LR.mjs";import{n as L}from"./privy-context-BeqkgOHo.mjs";function O({src:_,...N}){return E("img",{src:_,...N,style:{display:"none"}})}var I,e;(I=e||(e={})).LANDING="LANDING",I.CONNECT_OR_CREATE="CONNECT_OR_CREATE",I.AWAITING_CONNECTION="AWAITING_CONNECTION",I.AWAITING_FARCASTER_CONNECTION="AWAITING_FARCASTER_CONNECTION",I.AWAITING_FARCASTER_SIGNER="AWAITING_FARCASTER_SIGNER",I.AWAITING_OAUTH_SCREEN="AWAITING_OAUTH_SCREEN",I.CROSS_APP_AUTH_SCREEN="CROSS_APP_AUTH_SCREEN",I.AWAITING_PASSWORDLESS_CODE="AWAITING_PASSWORDLESS_CODE",I.AWAITING_PASSKEY_SYSTEM_DIALOGUE="AWAITING_PASSKEY_SYSTEM_DIALOGUE",I.LINK_EMAIL_SCREEN="LINK_EMAIL_SCREEN",I.LINK_PHONE_SCREEN="LINK_PHONE_SCREEN",I.LINK_WALLET_SCREEN="LINK_WALLET_SCREEN",I.LINK_PASSKEY_SCREEN="LINK_PASSKEY_SCREEN",I.UPDATE_EMAIL_SCREEN="UPDATE_EMAIL_SCREEN",I.UPDATE_PHONE_SCREEN="UPDATE_PHONE_SCREEN",I.AWAITING_CONNECT_ONLY_CONNECTION="AWAITING_CONNECT_ONLY_CONNECTION",I.CONNECT_ONLY_LANDING_SCREEN="CONNECT_ONLY_LANDING_SCREEN",I.CONNECT_ONLY_AUTHENTICATED_SCREEN="CONNECT_ONLY_AUTHENTICATED_SCREEN",I.LOGIN_FAILED_SCREEN="LOGIN_FAILED_SCREEN",I.ALLOWLIST_REJECTION_SCREEN="ALLOWLIST_REJECTION_SCREEN",I.ACCOUNT_NOT_FOUND_SCREEN="ACCOUNT_NOT_FOUND_SCREEN",I.USER_LIMIT_REACHED_SCREEN="USER_LIMIT_REACHED_SCREEN",I.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN="EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN",I.EMBEDDED_WALLET_CREATED_SCREEN="EMBEDDED_WALLET_CREATED_SCREEN",I.EMBEDDED_WALLET_CONNECTING_SCREEN="EMBEDDED_WALLET_CONNECTING_SCREEN",I.EMBEDDED_WALLET_PASSWORD_RECOVERY_SCREEN="EMBEDDED_WALLET_PASSWORD_RECOVERY_SCREEN",I.EMBEDDED_WALLET_KEY_EXPORT_SCREEN="EMBEDDED_WALLET_KEY_EXPORT_SCREEN",I.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN="EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN",I.EMBEDDED_WALLET_SEND_SOLANA_TRANSACTION_SCREEN="EMBEDDED_WALLET_SEND_SOLANA_TRANSACTION_SCREEN",I.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN="EMBEDDED_WALLET_SIGN_REQUEST_SCREEN",I.EMBEDDED_WALLET_PASSWORD_UPDATE_SPLASH_SCREEN="EMBEDDED_WALLET_PASSWORD_UPDATE_SPLASH_SCREEN",I.EMBEDDED_WALLET_PASSWORD_CREATE_SCREEN="EMBEDDED_WALLET_PASSWORD_CREATE_SCREEN",I.EMBEDDED_WALLET_PASSWORD_UPDATE_SCREEN="EMBEDDED_WALLET_PASSWORD_UPDATE_SCREEN",I.EMBEDDED_WALLET_RECOVERY_SELECTION_SCREEN="EMBEDDED_WALLET_RECOVERY_SELECTION_SCREEN",I.EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN="EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN",I.EMBEDDED_WALLET_SET_AUTOMATIC_RECOVERY_SCREEN="EMBEDDED_WALLET_SET_AUTOMATIC_RECOVERY_SCREEN",I.EMBEDDED_WALLET_DELEGATED_ACTIONS_CONSENT_SCREEN="EMBEDDED_WALLET_DELEGATED_ACTIONS_CONSENT_SCREEN",I.EMBEDDED_WALLET_DELEGATED_ACTIONS_REVOKE_SCREEN="EMBEDDED_WALLET_DELEGATED_ACTIONS_REVOKE_SCREEN",I.INSTALL_PHANTOM_SCREEN="INSTALL_PHANTOM_SCREEN",I.PHANTOM_INTERSTITIAL_SCREEN="PHANTOM_INTERSTITIAL_SCREEN",I.AFFIRMATIVE_CONSENT_SCREEN="AFFIRMATIVE_CONSENT_SCREEN",I.FUNDING_METHOD_SELECTION_SCREEN="FUNDING_METHOD_SELECTION_SCREEN",I.FUNDING_TRANSFER_FROM_WALLET_SCREEN="FUNDING_TRANSFER_FROM_WALLET_SCREEN",I.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN="FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN",I.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN="FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN",I.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN="FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN",I.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN="FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN",I.FUNDING_MANUAL_TRANSFER_SCREEN="FUNDING_MANUAL_TRANSFER_SCREEN",I.MOONPAY_PROMPT_SCREEN="MOONPAY_PROMPT_SCREEN",I.MOONPAY_STATUS_SCREEN="MOONPAY_STATUS_SCREEN",I.COINBASE_ONRAMP_STATUS_SCREEN="COINBASE_ONRAMP_STATUS_SCREEN",I.MFA_ENROLLMENT_FLOW_SCREEN="MFA_ENROLLMENT_FLOW_SCREEN",I.CAPTCHA_SCREEN="CAPTCHA_SCREEN",I.ERROR_SCREEN="ERROR_SCREEN",I.IN_APP_BROWSER_LOGIN_NOT_POSSIBLE="IN_APP_BROWSER_LOGIN_NOT_POSSIBLE",I.TELEGRAM_AUTH_SCREEN="TELEGRAM_AUTH_SCREEN",I.LINK_CONFLICT_SCREEN="LINK_CONFLICT_SCREEN";const M=T({ready:!1,app:D,currentScreen:null,lastScreen:null,navigate:L,navigateBack:L,resetNavigation:L,setModalData:L,onUserCloseViaDialogOrKeybindRef:void 0});let a=[e.LANDING,e.CONNECT_ONLY_LANDING_SCREEN,null];const W=R=>{let T=C(),D=R.authenticated,[L,I]=N(R.initialScreen);A((()=>{D||a.includes(R.initialScreen)||R.setInitialScreen(null)}),[D]);let e=S(null);A((()=>{R.open||(e.current=null)}),[R.open]),A((()=>{e.current=null}),[R.initialScreen]);let W={ready:!!T.id,app:T,data:R.data,setModalData:R.setModalData,currentScreen:R.initialScreen,lastScreen:L,navigate:(E,_=!0)=>{R.setInitialScreen(E),_&&I(R.initialScreen)},navigateBack:()=>{R.setInitialScreen(L)},resetNavigation:()=>{R.setInitialScreen(null),I(null)},onUserCloseViaDialogOrKeybindRef:e};return _(M.Provider,{value:W,children:[("string"==typeof T.appearance.logo||"img"===T.appearance.logo?.type)&&E(O,{src:"string"==typeof T.appearance.logo?T.appearance.logo:T.appearance.logo.props.src}),R.children]})},n=()=>R(M);function t(E){return E.find((E=>"privy"===E.walletClientType&&"embedded"===E.connectorType&&!E.imported))??null}export{e as M,W as a,t as g,n as u};
1
+ import{jsx as E,jsxs as _}from"react/jsx-runtime";import{useState as N,useEffect as A,useRef as S,useContext as R,createContext as T}from"react";import{z as C,ap as D}from"./useWallets-Djl5fNHD.mjs";import{n as L}from"./privy-context-1qVRD8ny.mjs";function O({src:_,...N}){return E("img",{src:_,...N,style:{display:"none"}})}var I,e;(I=e||(e={})).LANDING="LANDING",I.CONNECT_OR_CREATE="CONNECT_OR_CREATE",I.AWAITING_CONNECTION="AWAITING_CONNECTION",I.AWAITING_FARCASTER_CONNECTION="AWAITING_FARCASTER_CONNECTION",I.AWAITING_FARCASTER_SIGNER="AWAITING_FARCASTER_SIGNER",I.AWAITING_OAUTH_SCREEN="AWAITING_OAUTH_SCREEN",I.CROSS_APP_AUTH_SCREEN="CROSS_APP_AUTH_SCREEN",I.AWAITING_PASSWORDLESS_CODE="AWAITING_PASSWORDLESS_CODE",I.AWAITING_PASSKEY_SYSTEM_DIALOGUE="AWAITING_PASSKEY_SYSTEM_DIALOGUE",I.LINK_EMAIL_SCREEN="LINK_EMAIL_SCREEN",I.LINK_PHONE_SCREEN="LINK_PHONE_SCREEN",I.LINK_WALLET_SCREEN="LINK_WALLET_SCREEN",I.LINK_PASSKEY_SCREEN="LINK_PASSKEY_SCREEN",I.UPDATE_EMAIL_SCREEN="UPDATE_EMAIL_SCREEN",I.UPDATE_PHONE_SCREEN="UPDATE_PHONE_SCREEN",I.AWAITING_CONNECT_ONLY_CONNECTION="AWAITING_CONNECT_ONLY_CONNECTION",I.CONNECT_ONLY_LANDING_SCREEN="CONNECT_ONLY_LANDING_SCREEN",I.CONNECT_ONLY_AUTHENTICATED_SCREEN="CONNECT_ONLY_AUTHENTICATED_SCREEN",I.LOGIN_FAILED_SCREEN="LOGIN_FAILED_SCREEN",I.ALLOWLIST_REJECTION_SCREEN="ALLOWLIST_REJECTION_SCREEN",I.ACCOUNT_NOT_FOUND_SCREEN="ACCOUNT_NOT_FOUND_SCREEN",I.USER_LIMIT_REACHED_SCREEN="USER_LIMIT_REACHED_SCREEN",I.EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN="EMBEDDED_WALLET_ON_ACCOUNT_CREATE_SCREEN",I.EMBEDDED_WALLET_CREATED_SCREEN="EMBEDDED_WALLET_CREATED_SCREEN",I.EMBEDDED_WALLET_CONNECTING_SCREEN="EMBEDDED_WALLET_CONNECTING_SCREEN",I.EMBEDDED_WALLET_PASSWORD_RECOVERY_SCREEN="EMBEDDED_WALLET_PASSWORD_RECOVERY_SCREEN",I.EMBEDDED_WALLET_KEY_EXPORT_SCREEN="EMBEDDED_WALLET_KEY_EXPORT_SCREEN",I.EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN="EMBEDDED_WALLET_SEND_TRANSACTION_SCREEN",I.EMBEDDED_WALLET_SEND_SOLANA_TRANSACTION_SCREEN="EMBEDDED_WALLET_SEND_SOLANA_TRANSACTION_SCREEN",I.EMBEDDED_WALLET_SIGN_REQUEST_SCREEN="EMBEDDED_WALLET_SIGN_REQUEST_SCREEN",I.EMBEDDED_WALLET_PASSWORD_UPDATE_SPLASH_SCREEN="EMBEDDED_WALLET_PASSWORD_UPDATE_SPLASH_SCREEN",I.EMBEDDED_WALLET_PASSWORD_CREATE_SCREEN="EMBEDDED_WALLET_PASSWORD_CREATE_SCREEN",I.EMBEDDED_WALLET_PASSWORD_UPDATE_SCREEN="EMBEDDED_WALLET_PASSWORD_UPDATE_SCREEN",I.EMBEDDED_WALLET_RECOVERY_SELECTION_SCREEN="EMBEDDED_WALLET_RECOVERY_SELECTION_SCREEN",I.EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN="EMBEDDED_WALLET_RECOVERY_OAUTH_SCREEN",I.EMBEDDED_WALLET_SET_AUTOMATIC_RECOVERY_SCREEN="EMBEDDED_WALLET_SET_AUTOMATIC_RECOVERY_SCREEN",I.EMBEDDED_WALLET_DELEGATED_ACTIONS_CONSENT_SCREEN="EMBEDDED_WALLET_DELEGATED_ACTIONS_CONSENT_SCREEN",I.EMBEDDED_WALLET_DELEGATED_ACTIONS_REVOKE_SCREEN="EMBEDDED_WALLET_DELEGATED_ACTIONS_REVOKE_SCREEN",I.INSTALL_PHANTOM_SCREEN="INSTALL_PHANTOM_SCREEN",I.PHANTOM_INTERSTITIAL_SCREEN="PHANTOM_INTERSTITIAL_SCREEN",I.AFFIRMATIVE_CONSENT_SCREEN="AFFIRMATIVE_CONSENT_SCREEN",I.FUNDING_METHOD_SELECTION_SCREEN="FUNDING_METHOD_SELECTION_SCREEN",I.FUNDING_TRANSFER_FROM_WALLET_SCREEN="FUNDING_TRANSFER_FROM_WALLET_SCREEN",I.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN="FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_WALLET_SCREEN",I.FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN="FUNDING_AWAITING_TRANSFER_FROM_EXTERNAL_SOLANA_WALLET_SCREEN",I.FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN="FUNDING_AWAITING_EVM_TO_SOL_BRIDGING_SCREEN",I.FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN="FUNDING_AWAITING_SOL_TO_EVM_BRIDGING_SCREEN",I.FUNDING_MANUAL_TRANSFER_SCREEN="FUNDING_MANUAL_TRANSFER_SCREEN",I.MOONPAY_PROMPT_SCREEN="MOONPAY_PROMPT_SCREEN",I.MOONPAY_STATUS_SCREEN="MOONPAY_STATUS_SCREEN",I.COINBASE_ONRAMP_STATUS_SCREEN="COINBASE_ONRAMP_STATUS_SCREEN",I.MFA_ENROLLMENT_FLOW_SCREEN="MFA_ENROLLMENT_FLOW_SCREEN",I.CAPTCHA_SCREEN="CAPTCHA_SCREEN",I.ERROR_SCREEN="ERROR_SCREEN",I.IN_APP_BROWSER_LOGIN_NOT_POSSIBLE="IN_APP_BROWSER_LOGIN_NOT_POSSIBLE",I.TELEGRAM_AUTH_SCREEN="TELEGRAM_AUTH_SCREEN",I.LINK_CONFLICT_SCREEN="LINK_CONFLICT_SCREEN";const M=T({ready:!1,app:D,currentScreen:null,lastScreen:null,navigate:L,navigateBack:L,resetNavigation:L,setModalData:L,onUserCloseViaDialogOrKeybindRef:void 0});let a=[e.LANDING,e.CONNECT_ONLY_LANDING_SCREEN,null];const W=R=>{let T=C(),D=R.authenticated,[L,I]=N(R.initialScreen);A((()=>{D||a.includes(R.initialScreen)||R.setInitialScreen(null)}),[D]);let e=S(null);A((()=>{R.open||(e.current=null)}),[R.open]),A((()=>{e.current=null}),[R.initialScreen]);let W={ready:!!T.id,app:T,data:R.data,setModalData:R.setModalData,currentScreen:R.initialScreen,lastScreen:L,navigate:(E,_=!0)=>{R.setInitialScreen(E),_&&I(R.initialScreen)},navigateBack:()=>{R.setInitialScreen(L)},resetNavigation:()=>{R.setInitialScreen(null),I(null)},onUserCloseViaDialogOrKeybindRef:e};return _(M.Provider,{value:W,children:[("string"==typeof T.appearance.logo||"img"===T.appearance.logo?.type)&&E(O,{src:"string"==typeof T.appearance.logo?T.appearance.logo:T.appearance.logo.props.src}),R.children]})},n=()=>R(M);function t(E){return E.find((E=>"privy"===E.walletClientType&&"embedded"===E.connectorType&&!E.imported))??null}export{e as M,W as a,t as g,n as u};