@privy-io/react-auth 3.3.0 → 3.4.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.
Files changed (42) hide show
  1. package/dist/cjs/{SignRequestScreen-CvBcoZRA.js → SignRequestScreen-BtiA_kjR.js} +19 -19
  2. package/dist/cjs/abstract-smart-wallets.js +1 -1
  3. package/dist/cjs/index.js +7 -7
  4. package/dist/cjs/{smart-wallets-Cgmp6lBz.js → smart-wallets-CT6HYICU.js} +1 -1
  5. package/dist/cjs/smart-wallets.js +1 -1
  6. package/dist/cjs/solana.js +1 -1
  7. package/dist/cjs/ui.js +1 -1
  8. package/dist/cjs/use-export-wallet-C_4yZPUM.js +2 -0
  9. package/dist/cjs/{useActiveWallet-DAK4USsc.js → useActiveWallet-DygS7fQB.js} +1 -1
  10. package/dist/cjs/{usePrivy-BQiDRA6a.js → usePrivy-8s4mCLcX.js} +1 -1
  11. package/dist/dts/extended-chains.d.mts +1 -1
  12. package/dist/dts/extended-chains.d.ts +1 -1
  13. package/dist/dts/farcaster.d.mts +1 -1
  14. package/dist/dts/farcaster.d.ts +1 -1
  15. package/dist/dts/index.d.mts +6 -4
  16. package/dist/dts/index.d.ts +6 -4
  17. package/dist/dts/smart-wallets.d.mts +2 -2
  18. package/dist/dts/smart-wallets.d.ts +2 -2
  19. package/dist/dts/solana.d.mts +4 -5
  20. package/dist/dts/solana.d.ts +4 -5
  21. package/dist/dts/{types-C97UOzaM.d.mts → types-tFJ_e9u8.d.mts} +5 -5
  22. package/dist/dts/{types-C97UOzaM.d.ts → types-tFJ_e9u8.d.ts} +5 -5
  23. package/dist/dts/ui.d.mts +1 -1
  24. package/dist/dts/ui.d.ts +1 -1
  25. package/dist/esm/{SignRequestScreen-Dnn_x6kV.mjs → SignRequestScreen-Dkx-HBRI.mjs} +17 -17
  26. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  27. package/dist/esm/extended-chains.mjs +1 -1
  28. package/dist/esm/farcaster.mjs +1 -1
  29. package/dist/esm/index.mjs +4 -4
  30. package/dist/esm/{internal-context-LlMdpfkb.mjs → internal-context-CfE_S5P-.mjs} +1 -1
  31. package/dist/esm/{privy-context-C7K3ZBW-.mjs → privy-context-DDSW3jEM.mjs} +1 -1
  32. package/dist/esm/{smart-wallets-D86YXRN5.mjs → smart-wallets-BElFh8An.mjs} +1 -1
  33. package/dist/esm/smart-wallets.mjs +1 -1
  34. package/dist/esm/solana.mjs +1 -1
  35. package/dist/esm/ui.mjs +2 -2
  36. package/dist/esm/use-export-wallet-OoiI5as_.mjs +1 -0
  37. package/dist/esm/{use-sign-with-user-signer-DwqsbciW.mjs → use-sign-with-user-signer-DVcbjNtZ.mjs} +1 -1
  38. package/dist/esm/{useActiveWallet-YrSgEFNG.mjs → useActiveWallet-BjD-txC9.mjs} +1 -1
  39. package/dist/esm/{usePrivy-CYAVrCyA.mjs → usePrivy-BJYprMT0.mjs} +1 -1
  40. package/package.json +6 -6
  41. package/dist/cjs/use-export-wallet-Crjmwv6E.js +0 -2
  42. package/dist/esm/use-export-wallet-DVZxxj2x.mjs +0 -1
@@ -1 +1 @@
1
- import{createAbstractClient as e}from"@abstract-foundation/agw-client";import{getBatchTransactionObject as t}from"@abstract-foundation/agw-client/actions";import{hexToNumber as r,createWalletClient as o,custom as n,http as a}from"viem";import{toAccount as i}from"viem/accounts";import{abstractTestnet as s,zksync as c}from"viem/chains";import{u as l,b as p,g as d}from"./privy-context-C7K3ZBW-.mjs";import{an as m,af as u,as as h,F as y,bx as g,bV as I,bU as f,c3 as v}from"./SignRequestScreen-Dnn_x6kV.mjs";import{u as w}from"./internal-context-LlMdpfkb.mjs";import{g as C}from"./getEmbeddedConnectedWallet-CM6cDQCS.mjs";import{c as T}from"./smart-wallets-D86YXRN5.mjs";import"react";import"react/jsx-runtime";import"lucide-react";import"styled-components";import"@privy-io/urls";import"@scure/base";import"@privy-io/js-sdk-core";import"./paths-B891YjWw.mjs";import"ofetch";import"tinycolor2";import"@heroicons/react/24/outline/UserCircleIcon";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"@heroicons/react/20/solid/CheckIcon";import"@heroicons/react/24/outline/EnvelopeIcon";import"@heroicons/react/24/outline/PhoneIcon";import"react-device-detect";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/WalletIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"fast-password-entropy";import"secure-password-utilities";import"secure-password-utilities/wordlists";import"@heroicons/react/24/outline/LockClosedIcon";import"@heroicons/react/24/outline/PencilSquareIcon";import"jose";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"@heroicons/react/24/outline/KeyIcon";import"@heroicons/react/24/solid/CheckCircleIcon";import"@heroicons/react/24/outline/ArrowDownTrayIcon";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/DocumentDuplicateIcon";import"@heroicons/react/24/solid/XCircleIcon";import"@heroicons/react/24/outline/ShieldCheckIcon";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"@heroicons/react/24/outline/CheckIcon";import"qrcode";import"viem/utils";import"eventemitter3";import"zustand";import"@walletconnect/ethereum-provider";import"@heroicons/react/24/outline/CreditCardIcon";import"@heroicons/react/24/outline/QrCodeIcon";import"@heroicons/react/24/solid/ArrowsRightLeftIcon";import"@heroicons/react/24/outline/InformationCircleIcon";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"@heroicons/react/24/outline/ChevronDownIcon";import"@privy-io/ethereum";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/GlobeAltIcon";import"@headlessui/react";import"@heroicons/react/24/outline/FingerPrintIcon";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";function P(){let{user:P}=l(),{hideWalletUIs:S,openPrivyModal:b,chains:W,appId:A,rpcConfig:F,client:M}=w(),x=m(),{wallets:q}=u(),{setModalData:_}=h(),E=p(P),k=!!E&&d(E),D=async(t=s.id)=>{let l=C(q);if(!l)throw Error("No connected wallet found");let p="string"==typeof t?r(t):t;if(![s.id,2741,c.id].includes(p))throw Error("Error, only Abstract and ZKSync Era chains are supported");let d=W.find((e=>e.id===p));if(!d)throw Error("Chain not configured");await l.switchChain(d.id);let m=await l.getEthereumProvider(),u=o({account:l.address,transport:n(m)}),h=i({address:l.address,signMessage:u.signMessage,signTransaction:u.signTransaction,signTypedData:u.signTypedData});return await e({chain:d,transport:a(v(d,F,A)),publicTransport:a(v(d,F,A)),signer:h})};return{signMessage:async({message:e},t)=>{let r=await D(t);return new Promise((async(t,o)=>{let{entropyId:n,entropyIdVerifier:a}=y(P);S.current=!0,_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:n,entropyIdVerifier:a,onCompleteNavigateTo:g,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>r.signMessage({message:e}),onSuccess:e=>t(e),onFailure:o,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))},signTypedData:async(e,t)=>{let r=await D(t);return new Promise((async(t,o)=>{S.current=!0;let{entropyId:n,entropyIdVerifier:a}=y(P);_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:n,entropyIdVerifier:a,onCompleteNavigateTo:g,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>t(e),onFailure:o,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))},sendTransaction:async e=>{let r=await D(e.chainId),o=[],n="calls"in e&&void 0!==e.calls;return o=n?[...e.calls]:[e],new Promise((async(a,i)=>{S.current=!0;let{entropyId:s,entropyIdVerifier:c}=y(P);_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:s,entropyIdVerifier:c,onCompleteNavigateTo:f,onFailure:()=>{}},sendTransaction:{transactionRequests:T({calls:o,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:s,entropyIdVerifier:c,transactingWalletAddress:r.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let o=n?t(r.account.address,e):e;return await r.prepareAbstractTransactionRequest(o)},scanTransaction:async()=>{if(!M)throw Error("Privy client not found");let o=n?t(r.account.address,e):e,a=await r.prepareAbstractTransactionRequest(o);return await M.scanTransaction({metadata:{domain:x.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:a.from,to:a.to,value:a.value?.toString(),gas:a.gas?.toString(),gasPrice:a.gasPrice?.toString(),nonce:a.nonce?.toString(),data:a.data,eip_712_meta:{paymaster_params:{paymaster:a.paymaster,paymaster_input:a.paymasterInput}}}]}})},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>n?r.sendTransactionBatch(e):r.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))},signTransaction:async e=>{let r=await D(e.chainId),o=[],n="calls"in e&&void 0!==e.calls;return o=n?[...e.calls]:[e],new Promise((async(a,i)=>{S.current=!0;let{entropyId:s,entropyIdVerifier:c}=y(P);_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:s,entropyIdVerifier:c,onCompleteNavigateTo:f,onFailure:()=>{}},sendTransaction:{transactionRequests:T({calls:o,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:s,entropyIdVerifier:c,transactingWalletAddress:r.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let o=n?t(r.account.address,e):e;return await r.prepareAbstractTransactionRequest(o)},scanTransaction:async()=>{if(!M)throw Error("Privy client not found");let o=n?t(r.account.address,e):e,a=await r.prepareAbstractTransactionRequest(o);return await M.scanTransaction({metadata:{domain:x.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:a.from,to:a.to,value:a.value?.toString(),gas:a.gas?.toString(),gasPrice:a.gasPrice?.toString(),nonce:a.nonce?.toString(),data:a.data,eip_712_meta:{paymaster_params:{paymaster:a.paymaster,paymaster_input:a.paymasterInput}}}]}})},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:async()=>{let o=n?t(r.account.address,e):e,a=await r.prepareAbstractTransactionRequest(o);return r.signTransaction(a)},onSuccess:e=>a(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))}}}export{P as useAbstractSmartWallets};
1
+ import{createAbstractClient as e}from"@abstract-foundation/agw-client";import{getBatchTransactionObject as t}from"@abstract-foundation/agw-client/actions";import{hexToNumber as r,createWalletClient as o,custom as n,http as a}from"viem";import{toAccount as i}from"viem/accounts";import{abstractTestnet as s,zksync as c}from"viem/chains";import{u as l,b as p,g as d}from"./privy-context-DDSW3jEM.mjs";import{an as m,af as u,as as h,F as y,bW as g,bO as I,bQ as f,c3 as v}from"./SignRequestScreen-Dkx-HBRI.mjs";import{u as w}from"./internal-context-CfE_S5P-.mjs";import{g as C}from"./getEmbeddedConnectedWallet-CM6cDQCS.mjs";import{c as T}from"./smart-wallets-BElFh8An.mjs";import"react";import"react/jsx-runtime";import"lucide-react";import"styled-components";import"@privy-io/urls";import"@scure/base";import"@privy-io/js-sdk-core";import"./paths-B891YjWw.mjs";import"ofetch";import"tinycolor2";import"@heroicons/react/24/outline/UserCircleIcon";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"@heroicons/react/20/solid/CheckIcon";import"@heroicons/react/24/outline/EnvelopeIcon";import"@heroicons/react/24/outline/PhoneIcon";import"react-device-detect";import"@heroicons/react/24/outline/ExclamationTriangleIcon";import"@heroicons/react/24/outline/WalletIcon";import"@heroicons/react/24/outline/ExclamationCircleIcon";import"@heroicons/react/24/outline/Square2StackIcon";import"fast-password-entropy";import"secure-password-utilities";import"secure-password-utilities/wordlists";import"@heroicons/react/24/outline/LockClosedIcon";import"@heroicons/react/24/outline/PencilSquareIcon";import"jose";import"@heroicons/react/24/outline/ArrowPathIcon";import"@heroicons/react/24/outline/EyeIcon";import"@heroicons/react/24/outline/EyeSlashIcon";import"@heroicons/react/24/outline/KeyIcon";import"@heroicons/react/24/solid/CheckCircleIcon";import"@heroicons/react/24/outline/ArrowDownTrayIcon";import"@heroicons/react/24/outline/ClipboardDocumentCheckIcon";import"@heroicons/react/24/outline/DocumentDuplicateIcon";import"@heroicons/react/24/solid/XCircleIcon";import"@heroicons/react/24/outline/ShieldCheckIcon";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"@heroicons/react/24/outline/CheckIcon";import"qrcode";import"viem/utils";import"eventemitter3";import"zustand";import"@walletconnect/ethereum-provider";import"@heroicons/react/24/outline/CreditCardIcon";import"@heroicons/react/24/outline/QrCodeIcon";import"@heroicons/react/24/solid/ArrowsRightLeftIcon";import"@heroicons/react/24/outline/InformationCircleIcon";import"@heroicons/react/24/outline/ClipboardDocumentIcon";import"@heroicons/react/24/outline/ChevronDownIcon";import"@privy-io/ethereum";import"@heroicons/react/24/outline/CheckCircleIcon";import"@heroicons/react/24/outline/GlobeAltIcon";import"@headlessui/react";import"@heroicons/react/24/outline/FingerPrintIcon";import"permissionless";import"permissionless/accounts";import"permissionless/clients/pimlico";import"viem/account-abstraction";function P(){let{user:P}=l(),{hideWalletUIs:S,openPrivyModal:b,chains:W,appId:A,rpcConfig:F,client:M}=w(),x=m(),{wallets:q}=u(),{setModalData:_}=h(),E=p(P),k=!!E&&d(E),D=async(t=s.id)=>{let l=C(q);if(!l)throw Error("No connected wallet found");let p="string"==typeof t?r(t):t;if(![s.id,2741,c.id].includes(p))throw Error("Error, only Abstract and ZKSync Era chains are supported");let d=W.find((e=>e.id===p));if(!d)throw Error("Chain not configured");await l.switchChain(d.id);let m=await l.getEthereumProvider(),u=o({account:l.address,transport:n(m)}),h=i({address:l.address,signMessage:u.signMessage,signTransaction:u.signTransaction,signTypedData:u.signTypedData});return await e({chain:d,transport:a(v(d,F,A)),publicTransport:a(v(d,F,A)),signer:h})};return{signMessage:async({message:e},t)=>{let r=await D(t);return new Promise((async(t,o)=>{let{entropyId:n,entropyIdVerifier:a}=y(P);S.current=!0,_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:n,entropyIdVerifier:a,onCompleteNavigateTo:f,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>r.signMessage({message:e}),onSuccess:e=>t(e),onFailure:o,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))},signTypedData:async(e,t)=>{let r=await D(t);return new Promise((async(t,o)=>{S.current=!0;let{entropyId:n,entropyIdVerifier:a}=y(P);_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:n,entropyIdVerifier:a,onCompleteNavigateTo:f,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>t(e),onFailure:o,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))},sendTransaction:async e=>{let r=await D(e.chainId),o=[],n="calls"in e&&void 0!==e.calls;return o=n?[...e.calls]:[e],new Promise((async(a,i)=>{S.current=!0;let{entropyId:s,entropyIdVerifier:c}=y(P);_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:s,entropyIdVerifier:c,onCompleteNavigateTo:g,onFailure:()=>{}},sendTransaction:{transactionRequests:T({calls:o,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:s,entropyIdVerifier:c,transactingWalletAddress:r.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let o=n?t(r.account.address,e):e;return await r.prepareAbstractTransactionRequest(o)},scanTransaction:async()=>{if(!M)throw Error("Privy client not found");let o=n?t(r.account.address,e):e,a=await r.prepareAbstractTransactionRequest(o);return await M.scanTransaction({metadata:{domain:x.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:a.from,to:a.to,value:a.value?.toString(),gas:a.gas?.toString(),gasPrice:a.gasPrice?.toString(),nonce:a.nonce?.toString(),data:a.data,eip_712_meta:{paymaster_params:{paymaster:a.paymaster,paymaster_input:a.paymasterInput}}}]}})},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>n?r.sendTransactionBatch(e):r.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))},signTransaction:async e=>{let r=await D(e.chainId),o=[],n="calls"in e&&void 0!==e.calls;return o=n?[...e.calls]:[e],new Promise((async(a,i)=>{S.current=!0;let{entropyId:s,entropyIdVerifier:c}=y(P);_({connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,isUnifiedWallet:k,entropyId:s,entropyIdVerifier:c,onCompleteNavigateTo:g,onFailure:()=>{}},sendTransaction:{transactionRequests:T({calls:o,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:s,entropyIdVerifier:c,transactingWalletAddress:r.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let o=n?t(r.account.address,e):e;return await r.prepareAbstractTransactionRequest(o)},scanTransaction:async()=>{if(!M)throw Error("Privy client not found");let o=n?t(r.account.address,e):e,a=await r.prepareAbstractTransactionRequest(o);return await M.scanTransaction({metadata:{domain:x.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:a.from,to:a.to,value:a.value?.toString(),gas:a.gas?.toString(),gasPrice:a.gasPrice?.toString(),nonce:a.nonce?.toString(),data:a.data,eip_712_meta:{paymaster_params:{paymaster:a.paymaster,paymaster_input:a.paymasterInput}}}]}})},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:async()=>{let o=n?t(r.account.address,e):e,a=await r.prepareAbstractTransactionRequest(o);return r.signTransaction(a)},onSuccess:e=>a(e.hash),onFailure:i,uiOptions:{isCancellable:!0}}}),b(I)})).finally((()=>{S.current=!1}))}}}export{P as useAbstractSmartWallets};
@@ -1 +1 @@
1
- import{useMemo as r}from"react";import{create as e,rawSign as t}from"@privy-io/js-sdk-core";import{u as a}from"./internal-context-LlMdpfkb.mjs";import{u as i,m as s,g as n}from"./privy-context-C7K3ZBW-.mjs";import{u as o}from"./use-sign-with-user-signer-DwqsbciW.mjs";import"viem";const u=()=>{let{refreshSessionAndUser:t,privy:i}=a();return r((()=>({async createWallet(r){let a=await e(i,{request:{chain_type:r.chainType}}),s=await t();if(!s)throw Error("User must be authenticated before creating a Privy wallet");return{user:s,wallet:a}}})),[t,i])},m=()=>{let{user:e}=i(),{privy:u}=a(),{signWithUserSigner:m}=o();return r((()=>({async signRawHash({address:r,chainType:a,hash:i}){if(!e)throw Error("User must be authenticated before signing");let o=s(e,a).filter((r=>n(r))).find((e=>e.address===r));if(!o)throw Error("Wallet not found");let d=await t(u,m,{wallet_id:o.id,params:{hash:i}});if(d.data&&"signature"in d.data&&"hex"===d.data.encoding)return{signature:d.data.signature};throw Error("Failed to sign")}})),[u,m,e])};export{u as useCreateWallet,m as useSignRawHash};
1
+ import{useMemo as r}from"react";import{create as e,rawSign as t}from"@privy-io/js-sdk-core";import{u as a}from"./internal-context-CfE_S5P-.mjs";import{u as i,m as s,g as n}from"./privy-context-DDSW3jEM.mjs";import{u as o}from"./use-sign-with-user-signer-DVcbjNtZ.mjs";import"viem";const u=()=>{let{refreshSessionAndUser:t,privy:i}=a();return r((()=>({async createWallet(r){let a=await e(i,{request:{chain_type:r.chainType}}),s=await t();if(!s)throw Error("User must be authenticated before creating a Privy wallet");return{user:s,wallet:a}}})),[t,i])},m=()=>{let{user:e}=i(),{privy:u}=a(),{signWithUserSigner:m}=o();return r((()=>({async signRawHash({address:r,chainType:a,hash:i}){if(!e)throw Error("User must be authenticated before signing");let o=s(e,a).filter((r=>n(r))).find((e=>e.address===r));if(!o)throw Error("Wallet not found");let d=await t(u,m,{wallet_id:o.id,params:{hash:i}});if(d.data&&"signature"in d.data&&"hex"===d.data.encoding)return{signature:d.data.signature};throw Error("Failed to sign")}})),[u,m,e])};export{u as useCreateWallet,m as useSignRawHash};
@@ -1 +1 @@
1
- import{useCallback as t}from"react";import{F as i}from"./frame-Dh-xhHMG.mjs";import{P as e}from"./paths-B891YjWw.mjs";import{u as r}from"./internal-context-LlMdpfkb.mjs";import"ofetch";const a=()=>{let{client:a,setAuthenticated:n,setUser:s}=r();return{initLoginToMiniApp:t((async()=>{let t=new i;if(!a)throw new e("Must initialize Privy client first.");return a.startAuthFlow(t),await t.init()}),[a]),loginToMiniApp:t((async({message:t,signature:r})=>{if(!a)throw new e("Must initialize Privy client first.");if(!(a.authFlow instanceof i))throw new e("Must initialize Farcaster Mini App flow first.");let o=(t=>{let i=t.match(/farcaster:\/\/fid\/(\d+)/);return i&&i[1]?parseInt(i[1],10):null})(t);if(!o)throw new e("Invalid message format; could not parse Farcaster ID.");a.authFlow.setAuthData({message:t,signature:r,fid:o});let{user:l}=await a.authenticate();return l&&(s(l),n(!0)),l}),[a,s,n])}};export{a as useLoginToMiniApp};
1
+ import{useCallback as t}from"react";import{F as i}from"./frame-Dh-xhHMG.mjs";import{P as e}from"./paths-B891YjWw.mjs";import{u as r}from"./internal-context-CfE_S5P-.mjs";import"ofetch";const a=()=>{let{client:a,setAuthenticated:n,setUser:s}=r();return{initLoginToMiniApp:t((async()=>{let t=new i;if(!a)throw new e("Must initialize Privy client first.");return a.startAuthFlow(t),await t.init()}),[a]),loginToMiniApp:t((async({message:t,signature:r})=>{if(!a)throw new e("Must initialize Privy client first.");if(!(a.authFlow instanceof i))throw new e("Must initialize Farcaster Mini App flow first.");let o=(t=>{let i=t.match(/farcaster:\/\/fid\/(\d+)/);return i&&i[1]?parseInt(i[1],10):null})(t);if(!o)throw new e("Invalid message format; could not parse Farcaster ID.");a.authFlow.setAuthData({message:t,signature:r,fid:o});let{user:l}=await a.authenticate();return l&&(s(l),n(!0)),l}),[a,s,n])}};export{a as useLoginToMiniApp};