@privy-io/react-auth
Advanced tools
Comparing version
@@ -1,1 +0,1 @@ | ||
"use strict";var e=require("@abstract-foundation/agw-client"),r=require("@abstract-foundation/agw-client/actions"),n=require("viem"),i=require("viem/accounts"),t=require("viem/chains"),o=require("./privy-provider-C88DR-Em.js"),a=require("./internal-context-Bj24LJZ_.js"),c=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),s=require("./smart-wallets-Biw_fynz.js");require("react/jsx-runtime"),require("mipd"),require("react"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction"),exports.useAbstractSmartWallets=function(){let{user:l}=o.usePrivyContext(),{hideWalletUIs:u,openPrivyModal:d,chains:h,appId:p,rpcConfig:g,client:q}=a.usePrivyInternal(),m=o.useAppConfig(),{wallets:y}=o.useWallets(),{setModalData:I}=o.usePrivyModal(),C=o.getPrivyEthereumWallet(l),v=!!C&&o.getIsUnifiedWallet(C),f=async(r=t.abstractTestnet.id)=>{let a=c.getEmbeddedConnectedWallet(y);if(!a)throw Error("No connected wallet found");let s="string"==typeof r?n.hexToNumber(r):r;if(![t.abstractTestnet.id,2741].includes(s))throw Error("Error, only Abstract chains are supported");let l=h.find((e=>e.id===s));if(!l)throw Error("Chain not configured");await a.switchChain(l.id);let u=await a.getEthereumProvider(),d=n.createWalletClient({account:a.address,transport:n.custom(u)}),q=i.toAccount({address:a.address,signMessage:d.signMessage,signTransaction:d.signTransaction,signTypedData:d.signTypedData});return await e.createAbstractClient({chain:l,transport:n.http(o.getJsonRpcEndpointFromChain(l,g,p)),publicTransport:n.http(o.getJsonRpcEndpointFromChain(l,g,p)),signer:q})};return{signMessage:async({message:e},r)=>{let n=await f(r);return new Promise((async(r,i)=>{let{entropyId:t,entropyIdVerifier:a}=o.getEntropyDetailsForUser(l);u.current=!0,I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:t,entropyIdVerifier:a,onCompleteNavigateTo:o.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>n.signMessage({message:e}),onSuccess:e=>r(e),onFailure:i,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))},signTypedData:async(e,r)=>{let n=await f(r);return new Promise((async(r,i)=>{u.current=!0;let{entropyId:t,entropyIdVerifier:a}=o.getEntropyDetailsForUser(l);I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:t,entropyIdVerifier:a,onCompleteNavigateTo:o.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>r(e),onFailure:i,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))},sendTransaction:async e=>{let n=await f(e.chainId),i=[],t="calls"in e&&void 0!==e.calls;return i=t?[...e.calls]:[e],new Promise((async(a,c)=>{u.current=!0;let{entropyId:h,entropyIdVerifier:p}=o.getEntropyDetailsForUser(l);I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:h,entropyIdVerifier:p,onCompleteNavigateTo:o.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:s.callsToTransactionRequests({calls:i,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:h,entropyIdVerifier:p,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let i=t?r.getBatchTransactionObject(n.account.address,e):e,o=await n.prepareAbstractTransactionRequest(i);return await q.scanTransaction({metadata:{domain:m.embeddedWallets.transactionScanning.domain},chain_id:o.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:o.from,to:o.to,value:o.value?.toString(),gas:o.gas?.toString(),gasPrice:o.gasPrice?.toString(),nonce:o.nonce?.toString(),data:o.data,eip_712_meta:{paymaster_params:{paymaster:o.paymaster,paymaster_input:o.paymasterInput}}}]}})},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>t?n.sendTransactionBatch(e):n.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:c,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))},signTransaction:async e=>{let n=await f(e.chainId),i=[],t="calls"in e&&void 0!==e.calls;return i=t?[...e.calls]:[e],new Promise((async(a,c)=>{u.current=!0;let{entropyId:h,entropyIdVerifier:p}=o.getEntropyDetailsForUser(l);I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:h,entropyIdVerifier:p,onCompleteNavigateTo:o.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:s.callsToTransactionRequests({calls:i,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:h,entropyIdVerifier:p,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let i=t?r.getBatchTransactionObject(n.account.address,e):e,o=await n.prepareAbstractTransactionRequest(i);return await q.scanTransaction({metadata:{domain:m.embeddedWallets.transactionScanning.domain},chain_id:o.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:o.from,to:o.to,value:o.value?.toString(),gas:o.gas?.toString(),gasPrice:o.gasPrice?.toString(),nonce:o.nonce?.toString(),data:o.data}]}})},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>{if(!t)return n.signTransaction(e);throw Error("Batch transactions not supported for signing")},onSuccess:e=>a(e.hash),onFailure:c,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))}}}; | ||
"use strict";var e=require("@abstract-foundation/agw-client"),r=require("@abstract-foundation/agw-client/actions"),n=require("viem"),i=require("viem/accounts"),t=require("viem/chains"),o=require("./privy-provider-DFRGMmYo.js"),a=require("./internal-context-Bj24LJZ_.js"),c=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),s=require("./smart-wallets-C1ixu36_.js");require("react/jsx-runtime"),require("mipd"),require("react"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction"),exports.useAbstractSmartWallets=function(){let{user:l}=o.usePrivyContext(),{hideWalletUIs:u,openPrivyModal:d,chains:h,appId:p,rpcConfig:g,client:q}=a.usePrivyInternal(),m=o.useAppConfig(),{wallets:y}=o.useWallets(),{setModalData:I}=o.usePrivyModal(),C=o.getPrivyEthereumWallet(l),v=!!C&&o.getIsUnifiedWallet(C),f=async(r=t.abstractTestnet.id)=>{let a=c.getEmbeddedConnectedWallet(y);if(!a)throw Error("No connected wallet found");let s="string"==typeof r?n.hexToNumber(r):r;if(![t.abstractTestnet.id,2741].includes(s))throw Error("Error, only Abstract chains are supported");let l=h.find((e=>e.id===s));if(!l)throw Error("Chain not configured");await a.switchChain(l.id);let u=await a.getEthereumProvider(),d=n.createWalletClient({account:a.address,transport:n.custom(u)}),q=i.toAccount({address:a.address,signMessage:d.signMessage,signTransaction:d.signTransaction,signTypedData:d.signTypedData});return await e.createAbstractClient({chain:l,transport:n.http(o.getJsonRpcEndpointFromChain(l,g,p)),publicTransport:n.http(o.getJsonRpcEndpointFromChain(l,g,p)),signer:q})};return{signMessage:async({message:e},r)=>{let n=await f(r);return new Promise((async(r,i)=>{let{entropyId:t,entropyIdVerifier:a}=o.getEntropyDetailsForUser(l);u.current=!0,I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:t,entropyIdVerifier:a,onCompleteNavigateTo:o.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>n.signMessage({message:e}),onSuccess:e=>r(e),onFailure:i,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))},signTypedData:async(e,r)=>{let n=await f(r);return new Promise((async(r,i)=>{u.current=!0;let{entropyId:t,entropyIdVerifier:a}=o.getEntropyDetailsForUser(l);I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:t,entropyIdVerifier:a,onCompleteNavigateTo:o.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>r(e),onFailure:i,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))},sendTransaction:async e=>{let n=await f(e.chainId),i=[],t="calls"in e&&void 0!==e.calls;return i=t?[...e.calls]:[e],new Promise((async(a,c)=>{u.current=!0;let{entropyId:h,entropyIdVerifier:p}=o.getEntropyDetailsForUser(l);I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:h,entropyIdVerifier:p,onCompleteNavigateTo:o.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:s.callsToTransactionRequests({calls:i,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:h,entropyIdVerifier:p,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let i=t?r.getBatchTransactionObject(n.account.address,e):e,o=await n.prepareAbstractTransactionRequest(i);return await q.scanTransaction({metadata:{domain:m.embeddedWallets.transactionScanning.domain},chain_id:o.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:o.from,to:o.to,value:o.value?.toString(),gas:o.gas?.toString(),gasPrice:o.gasPrice?.toString(),nonce:o.nonce?.toString(),data:o.data,eip_712_meta:{paymaster_params:{paymaster:o.paymaster,paymaster_input:o.paymasterInput}}}]}})},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>t?n.sendTransactionBatch(e):n.sendTransaction(e),onSuccess:e=>a(e.hash),onFailure:c,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))},signTransaction:async e=>{let n=await f(e.chainId),i=[],t="calls"in e&&void 0!==e.calls;return i=t?[...e.calls]:[e],new Promise((async(a,c)=>{u.current=!0;let{entropyId:h,entropyIdVerifier:p}=o.getEntropyDetailsForUser(l);I({connectWallet:{recoveryMethod:C.recoveryMethod,connectingWalletAddress:C.address,isUnifiedWallet:v,entropyId:h,entropyIdVerifier:p,onCompleteNavigateTo:o.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:s.callsToTransactionRequests({calls:i,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:h,entropyIdVerifier:p,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let i=t?r.getBatchTransactionObject(n.account.address,e):e,o=await n.prepareAbstractTransactionRequest(i);return await q.scanTransaction({metadata:{domain:m.embeddedWallets.transactionScanning.domain},chain_id:o.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:o.from,to:o.to,value:o.value?.toString(),gas:o.gas?.toString(),gasPrice:o.gasPrice?.toString(),nonce:o.nonce?.toString(),data:o.data}]}})},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>{if(!t)return n.signTransaction(e);throw Error("Batch transactions not supported for signing")},onSuccess:e=>a(e.hash),onFailure:c,uiOptions:{isCancellable:!0}}}),d(o.EmbeddedWalletConnectingScreen)})).finally((()=>{u.current=!1}))}}}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var e=require("./privy-provider-C88DR-Em.js"),r=require("react"),t=require("./internal-context-Bj24LJZ_.js"),i=require("./useActiveWallet-Z4qrccI_.js"),o=require("./frame-mbQ9YqJg.js"),s=require("viem"),n=require("viem/utils"),a=require("@privy-io/js-sdk-core"),l=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js");require("react/jsx-runtime"),require("mipd"),require("react-device-detect"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie");let u=async(e,r,i,o,s)=>{if(!e)throw o("linkAccount","onError",t.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:s}),new t.PrivyClientError("User must be authenticated before linking an account.");if(!r?.linkedAccounts.some((e=>e.type.includes(s))))throw new t.PrivyClientError(`OAuth account of type ${s} not linked to the account.`);await i(s)};exports.Captcha=e.Captcha,exports.ConnectorManager=e.ConnectorManager,exports.EthereumWalletConnector=e.EthereumWalletConnector,exports.LoginModal=e.LoginModal,exports.PrivyClient=e.PrivyClient,exports.PrivyProvider=e.PrivyProvider,exports.VERSION=e.VERSION,exports.WalletConnector=e.WalletConnector,exports.errorIndicatesMaxMfaRetries=e.errorIndicatesMaxMfaRetries,exports.errorIndicatesMfaTimeout=e.errorIndicatesMfaTimeout,exports.errorIndicatesMfaVerificationFailed=e.errorIndicatesMfaVerificationFailed,exports.getAccessToken=e.getCustomerAccessToken,exports.useCreateWallet=e.useCreateWallet,exports.useIdentityToken=e.useIdentityToken,exports.useImportWallet=e.useImportWallet,exports.useLogout=e.useLogout,exports.useMfa=e.useMfa,exports.useMfaEnrollment=e.useMfaEnrollment,exports.usePrivy=e.usePrivy,exports.useRegisterMfaListener=e.useRegisterMfaListener,exports.useSolanaWallets=e.useSolanaWallets,exports.useSyncJwtBasedAuthState=e.useSyncJwtBasedAuthState,exports.useWallets=e.useWallets,exports.useActiveWallet=i.useActiveWallet,exports.useConnectWallet=i.useConnectWallet,exports.useFundWallet=i.useFundWallet,exports.useLogin=i.useLogin,Object.defineProperty(exports,"SUPPORTED_CHAINS",{enumerable:!0,get:function(){return a.DEFAULT_SUPPORTED_CHAINS}}),Object.defineProperty(exports,"addPrivyRpcToChain",{enumerable:!0,get:function(){return a.addPrivyRpcToChain}}),Object.defineProperty(exports,"addRpcUrlOverrideToChain",{enumerable:!0,get:function(){return a.addRpcUrlOverrideToChain}}),exports.getEmbeddedConnectedWallet=l.getEmbeddedConnectedWallet,exports.useConnectCoinbaseSmartWallet=()=>{let{connectCoinbaseSmartWallet:e}=t.usePrivyInternal();return{connectCoinbaseSmartWallet:e}},exports.useConnectOrCreateWallet=r=>{let{connectOrCreateWallet:t}=e.usePrivyContext();return e.usePrivyEventSubscription("connectOrCreateWallet",r),{connectOrCreateWallet:t}},exports.useCrossAppAccounts=()=>{let{startCrossAppAuthFlow:r,unlinkCrossAppAccount:t,signMessageWithCrossAppWallet:i,signTypedDataWithCrossAppWallet:o,sendTransactionWithCrossAppWallet:s}=e.usePrivyContext();return{loginWithCrossAppAccount:({appId:e})=>r({appId:e,action:"login"}),linkCrossAppAccount:({appId:e})=>r({appId:e,action:"link"}),unlinkCrossAppAccount:t,signMessage:i,signTypedData:o,sendTransaction:s}},exports.useCustomAuth=r=>{let t=e.useJwtAuthFlowState();return e.usePrivyEventSubscription("customAuth",r),{status:t}},exports.useDelegatedActions=()=>{let{revokeDelegatedWallets:e,delegateWallet:r}=t.usePrivyInternal();return{delegateWallet:async({address:e,chainType:t})=>await r({address:e,chainType:t,showDelegationUIs:!0}),revokeWallets:async()=>await e({showDelegationUIs:!0})}},exports.useFarcasterSigner=function(){let{getFarcasterSignerPublicKey:r,signFarcasterMessage:t,requestFarcasterSignerFromWarpcast:i}=e.usePrivyContext();return{getFarcasterSignerPublicKey:r,signFarcasterMessage:t,requestFarcasterSignerFromWarpcast:i}},exports.useGuestAccounts=function(){let r=e.useAppConfig(),{getAccessToken:i}=e.usePrivyContext(),o=e.useEmitPrivyEvent(),{client:s,setUser:n,setAuthenticated:a,setIsNewUser:l,initializeWalletProxy:u}=t.usePrivyInternal(),{create:c}=e.useCreateWalletInternal();return{createGuestAccount:async()=>{if(!r.id||!s)throw Error("SDK not yet ready");s.startAuthFlow(new e.GuestFlow(r.id));try{let d=await s.authenticate(),h=d.user,y=d.isNewUser??!1;if(!h)throw new t.PrivyClientError("Unable to authenticate guest account");let w=await i(),p=await u(e.WALLET_PROXY_TIMEOUT);if(w&&p)try{let t=e.shouldCreateEmbeddedEthWallet(h,r.embeddedWallets.ethereum.createOnLogin),i=e.shouldCreateEmbeddedSolWallet(h,r.embeddedWallets.solana.createOnLogin);t&&i?(h=(await c({chainType:"ethereum",latestUser:h})).user,h=(await c({chainType:"solana",latestUser:h})).user):i?h=(await c({chainType:"solana",latestUser:h})).user:t?h=(await c({chainType:"ethereum",latestUser:h})).user:n(h)}catch(e){n(h),console.warn("Unable to create embedded wallet for guest account")}return l(y),a(!0),o("login","onComplete",{user:h,isNewUser:y,wasAlreadyAuthenticated:!1,loginMethod:"guest",loginAccount:null}),h}catch(e){throw o("login","onError",e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),e}}}},exports.useHeadlessDelegatedActions=()=>{let{revokeDelegatedWallets:e,delegateWallet:r}=t.usePrivyInternal();return{delegateWallet:async({address:e,chainType:t})=>await r({address:e,chainType:t,showDelegationUIs:!1}),revokeWallets:async()=>await e({showDelegationUIs:!1})}},exports.useLinkAccount=function(t){let{linkEmail:i,linkPhone:o,linkWallet:s,linkGoogle:n,linkApple:a,linkTwitter:l,linkDiscord:u,linkGithub:c,linkLinkedIn:d,linkTiktok:h,linkSpotify:y,linkInstagram:w,linkTelegram:p,linkFarcaster:g}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("linkAccount",t),{linkEmail:i,linkPhone:o,linkWallet:s,linkGoogle:n,linkApple:a,linkTwitter:l,linkDiscord:u,linkGithub:c,linkLinkedIn:d,linkTiktok:h,linkSpotify:y,linkInstagram:w,linkFarcaster:g,linkTelegram:p}},exports.useLinkWithPasskey=e=>{let{initLinkWithPasskey:i,linkWithPasskey:o,passkeyAuthState:s,setPasskeyAuthState:n}=t.usePrivyInternal();return{linkWithPasskey:r.useCallback((async()=>{try{await i();let r=await o();if(!r)throw Error("Error, user not found");let t=r.linkedAccounts.filter((e=>"passkey"===e.type)).sort(((e,r)=>r.latestVerifiedAt.getTime()-e.latestVerifiedAt.getTime()))[0];e?.onSuccess?.({user:r,linkMethod:"passkey",linkedAccount:t})}catch(r){throw n({status:"error",error:r}),e?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR,{linkMethod:"passkey"}),r}}),[o]),state:s}},exports.useLinkWithSiwe=i=>{let o=e.useCaptcha(),{siweState:s,setSiweState:n,linkWithSiwe:a,generateSiweMessage:l}=t.usePrivyInternal();return{generateSiweMessage:r.useCallback((async({address:e,chainId:r})=>{try{if(!e||!r)throw Error("wallet address and chainId required to generate nonce");return await l({address:e,chainId:r}).then((e=>e))}catch(e){throw n({status:"error",error:e}),i?.onError?.(e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR,{linkMethod:"siwe"}),e}}),[l]),linkWithSiwe:r.useCallback((async({signature:r,message:s,chainId:l,walletClientType:u,connectorType:c})=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);let{user:n,linkedAccount:d}=await a({message:s,signature:r,chainId:l,walletClientType:u,connectorType:c});d&&i?.onSuccess?.({user:n,linkMethod:"siwe",linkedAccount:d})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR,{linkMethod:"siwe"}),r}}),[a,o.status]),state:s}},exports.useLoginWithEmail=i=>{let o=e.useCaptcha(),{emailOtpState:s,setEmailOtpState:n,initLoginWithEmail:a,loginWithCode:l}=t.usePrivyInternal();return{sendCode:r.useCallback((async({email:r,disableSignup:s})=>{try{let i;if(!r)throw Error("Email required to send OTP code");if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);return o.enabled&&"success"!==o.status&&(o.execute(),i=await o.waitForResult()),await a({email:r,captchaToken:i,disableSignup:s,withPrivyUi:!1})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[a]),loginWithCode:r.useCallback((async({code:r})=>{try{if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);let{user:s,isNewUser:n,wasAlreadyAuthenticated:a,linkedAccount:u}=await l(r);i?.onComplete?.({user:s,isNewUser:n,wasAlreadyAuthenticated:a,loginMethod:"email",loginAccount:u})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[l,o.status]),state:s}},exports.useLoginWithFarcasterV2=()=>{let{client:e,setAuthenticated:i,setUser:s}=t.usePrivyInternal();return r.useMemo((()=>({init:async()=>{if(!e)throw new t.PrivyClientError("Must initialize Privy client first.");let r=new o.FarcasterFramesFlow;return e.startAuthFlow(r),await r.init()},login:async({fid:r,message:n,signature:a})=>{if(!e)throw new t.PrivyClientError("Must initialize Privy client first.");if(!(e.authFlow instanceof o.FarcasterFramesFlow))throw new t.PrivyClientError("Must initialize Farcaster frame flow first.");e.authFlow.setAuthData({message:n,signature:a,fid:r});let{user:l}=await e.authenticate();if(!l)throw new t.PrivyClientError("Failed to login with Farcaster V2");return s(l),i(!0),{user:l}}})),[e,s,i])},exports.useLoginWithOAuth=i=>{e.usePrivyEventSubscription("login",i);let o=e.useCaptcha(),s=e.useIsServerConfigLoaded(),{ready:n,user:a}=e.usePrivyContext(),{initLoginWithHeadlessOAuth:l,loginWithHeadlessOAuth:u,oAuthState:c,setOAuthState:d,isHeadlessOAuthLoading:h}=t.usePrivyInternal(),y=r.useCallback((async r=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);return await l(r.provider,o.token,r.disableSignup)}catch(r){throw d({status:"error",error:r}),r}}),[l,o]),w=r.useCallback((async()=>{let r=e.detectCompletingOAuthFlow();try{if(a)return console.warn("Cannot login with OAuth when already logged in"),a;if(!r.inProgress)throw Error("Cannot login with OAuth because no OAuth flow is in progress");if(r.popupFlow)return}catch(r){throw d({status:"error",error:r}),r}try{return await u(r)}catch(r){throw d({status:"error",error:r}),r}finally{e.stripUrlOAuthParamsAndRemoveStateCode()}}),[u]);return r.useEffect((()=>{let r=e.detectCompletingOAuthFlow();n&&s&&r.inProgress&&!r.withPrivyUi&&!r.popupFlow&&w().catch((()=>{}))}),[n,s]),{initOAuth:y,loading:h,state:c}},exports.useLoginWithPasskey=i=>{let o=e.useCaptcha(),{initLoginWithPasskey:s,loginWithPasskey:n,passkeyAuthState:a,setPasskeyAuthState:l}=t.usePrivyInternal();return{loginWithPasskey:r.useCallback((async r=>{try{let a;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),a=await o.waitForResult()),await s({captchaToken:a,withPrivyUi:!1});let{user:l,isNewUser:u,wasAlreadyAuthenticated:c,loginAccount:d}=await n(r);i?.onComplete?.({user:l,isNewUser:u,wasAlreadyAuthenticated:c,loginMethod:"passkey",loginAccount:d})}catch(r){throw l({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[n,o.status]),state:a}},exports.useLoginWithSiwe=i=>{let o=e.useCaptcha(),{siweState:s,setSiweState:n,client:a,generateSiweMessage:l,loginWithSiwe:u}=t.usePrivyInternal();return{generateSiweNonce:r.useCallback((async({address:r})=>{try{let i;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),i=await o.waitForResult()),n({status:"generating-message"});let s=await a.generateSiweNonce({address:r,captchaToken:i});return n({status:"awaiting-signature"}),s}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[a,o]),generateSiweMessage:r.useCallback((async({address:e,chainId:r})=>{try{return await l({address:e,chainId:r})}catch(e){throw n({status:"error",error:e}),i?.onError?.(e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),e}}),[l]),loginWithSiwe:r.useCallback((async({message:r,signature:s,disableSignup:a})=>{try{let n;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),n=await o.waitForResult());let l=await u({message:r,signature:s,captchaToken:n,disableSignup:a});return i?.onComplete?.({user:l,isNewUser:!1,wasAlreadyAuthenticated:!1,loginMethod:"siwe",loginAccount:null}),l}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[u,o.status]),state:s}},exports.useLoginWithSms=i=>{let o=e.useCaptcha(),{smsOtpState:s,setSmsOtpState:n,initLoginWithSms:a,loginWithCode:l}=t.usePrivyInternal();return{sendCode:r.useCallback((async({phoneNumber:r,disableSignup:s})=>{try{let i;if(!r)throw Error("SMS required to send OTP code");if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);return o.enabled&&"success"!==o.status&&(o.execute(),i=await o.waitForResult()),await a({phoneNumber:r,captchaToken:i,disableSignup:s,withPrivyUi:!1})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[a]),loginWithCode:r.useCallback((async({code:r})=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);let{user:s,isNewUser:n,wasAlreadyAuthenticated:a,linkedAccount:u}=await l(r);i?.onComplete?.({user:s,isNewUser:n,wasAlreadyAuthenticated:a,loginMethod:"sms",loginAccount:u})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[l,o.status]),state:s}},exports.useLoginWithTelegram=i=>{let o=e.useCaptcha(),{initLoginWithTelegram:s,loginWithTelegram:n,telegramAuthState:a,setTelegramAuthState:l}=t.usePrivyInternal();return{login:r.useCallback((async r=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);await s(o.token,r?.disableSignup);let{user:a,isNewUser:l,loginAccount:u,wasAlreadyAuthenticated:c}=await n({intent:"login"});i?.onComplete?.({user:a,isNewUser:l,wasAlreadyAuthenticated:c,loginMethod:"telegram",loginAccount:u})}catch(r){throw l({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[s,n,o]),state:a}},exports.useModalStatus=()=>{let{isModalOpen:t}=r.useContext(e.PrivyContext);return{isOpen:t}},exports.useOAuthTokens=function(r){let{authenticated:i,user:o}=e.usePrivyContext(),{initLoginWithOAuth:s}=t.usePrivyInternal(),n=e.useEmitPrivyEvent();return e.usePrivyEventSubscription("oAuthAuthorization",r),{reauthorize:e=>u(i,o,s,n,e.provider)}},exports.useRecoverEmbeddedWallet=()=>{let{user:i}=e.usePrivyContext(),{walletProxy:o}=t.usePrivyInternal();return{recover:r.useCallback((async r=>{if(!o)throw Error("Wallet proxy is not ready");let s=await e.getAccessToken();if(!i||!s)throw new t.PrivyClientError("User must be logged in before attempting to modify the recovery method.");let{entropyId:n,entropyIdVerifier:a}=e.getEntropyDetailsForUser(i);try{await o.recover({entropyId:n,entropyIdVerifier:a,accessToken:s,...r})}catch{throw new t.PrivyClientError("Unable to recover wallets")}}),[o,i])}},exports.useSendTransaction=function(t){let{sendTransaction:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("sendTransaction",t),{sendTransaction:i}},exports.useSessionSigners=()=>{let{addSessionSignersInternal:r,removeSessionSignersInternal:i}=(()=>{let{getAccessToken:r,user:i}=e.usePrivyContext(),o=t.usePrivyInternal(),{signWithUserSigner:s}=e.useSignWithUserSigner(),n=async({wallet:e,additional_signers:n})=>{let l=await r();if(!i||!l)throw new t.PrivyClientError("User must be authenticated and have an embedded wallet to delegate actions.");if(!e.id)throw new t.PrivyClientError("Wallet to add signers to must have ID on server");if(!o.walletProxy)throw new t.PrivyClientError("Wallet proxy not initialized.");await a.updateWallet(o.privy,{wallet_id:e.id},s,{additional_signers:n})};return{addSessionSignersInternal:async({address:s,signers:l})=>{let u=await r();if(!i||!u)throw new t.PrivyClientError("User must be authenticated and have an embedded wallet to add a session signer.");let c=o.walletProxy??await o.initializeWalletProxy(15e3);if(!c)throw new t.PrivyClientError("Wallet proxy not initialized.");let d=e.getPrivyWalletWithAddress(i,s);if(!d)throw new t.PrivyClientError("Address to add signers too is not associated with current user.");if(e.getIsUnifiedWallet(d)){if(0===l.length)throw new t.PrivyClientError("Must specify at least one signer to add.");let r=[...(await a.getWallet(o.privy,{wallet_id:d.id})).additional_signers,...e.parseAdditionalSigners(l)];await n({wallet:d,additional_signers:r})}else{if(d.delegated)return{user:i};if(l.length>0)throw new t.PrivyClientError("This embedded wallet does not support specifying signers. If signing is enabled in the dashboard, signer will default to that key. Otherwise, no signatures will be required for the wallet.");let r=e.getDelegatedWalletsData({address:s,user:i}),n=e.getRootWalletDataForDelegation({address:s,user:i});await o.recoverEmbeddedWallet({address:s}),await c.createDelegatedAction({accessToken:u,rootWallet:n,delegatedWallets:[r]})}let h=await o.refreshSessionAndUser();if(!h)throw Error("Could not refresh user");return{user:h}},removeSessionSignersInternal:async({address:s})=>{let a=await r();if(!i||!a)throw new t.PrivyClientError("User must be authenticated and have an embedded wallet to delegate actions.");if(!(o.walletProxy??await o.initializeWalletProxy(15e3)))throw new t.PrivyClientError("Wallet proxy not initialized.");let l=e.getPrivyWalletWithAddress(i,s);if(!l)throw new t.PrivyClientError("Address to remove signers from is not associated with current user.");e.getIsUnifiedWallet(l)?await n({wallet:l,additional_signers:[]}):await o.client.revokeDelegatedWallet();let u=await o.refreshSessionAndUser();if(!u)throw Error("Could not refresh user");return{user:u}}}})();return{addSessionSigners:async({address:e,signers:t})=>r({address:e,signers:t}),removeSessionSigners:async({address:e})=>i({address:e})}},exports.useSetWalletPassword=function(t){let{setWalletPassword:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("setWalletPassword",t),{setWalletPassword:i}},exports.useSetWalletRecovery=function(t){let{setWalletRecovery:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("setWalletRecovery",t),{setWalletRecovery:i}},exports.useSignAuthorization=()=>{let{ready:i,wallets:o}=e.useWallets(),{user:a}=e.usePrivyContext(),{rpcConfig:l,chains:u,appId:c}=t.usePrivyInternal();return{signAuthorization:r.useCallback((async(r,t)=>{if(!a)throw Error("User must be authenticated before signing with a Privy wallet");if(!i)throw Error("Wallets are not ready");let d=t?.address??e.getPrivyEthereumWallet(a)?.address??s.zeroAddress,h=o.find((e=>s.getAddress(e.address)===s.getAddress(d)));if(!h)throw Error("Signing wallet not found.");let y=r.chainId??Number(h.chainId.split(":")[1]),w=u.find((e=>e.id===y));if(!w)throw Error("Error, chain not configured in PrivyProvider config");let p=s.createWalletClient({account:d,chain:w,transport:s.http(e.getJsonRpcEndpointFromChain(w,l,c))}),g=await p.prepareAuthorization({...r}),C=await h.getEthereumProvider(),v=await C.request({method:"secp256k1_sign",params:[n.hashAuthorization(g)]});return{...g,...s.parseSignature(v)}}),[i,o,a,u])}},exports.useSignMessage=function(t){let{signMessage:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("signMessage",t),{signMessage:i}},exports.useSignTransaction=function(){let{signTransaction:t}=r.useContext(e.PrivyContext);return{signTransaction:t}},exports.useSignTypedData=function(t){let{signTypedData:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("signTypedData",t),{signTypedData:i}},exports.useSignupWithPasskey=i=>{let o=e.useCaptcha(),{initSignupWithPasskey:s,signupWithPasskey:n,passkeyAuthState:a,setPasskeyAuthState:l}=t.usePrivyInternal();return{signupWithPasskey:r.useCallback((async()=>{try{let r;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),r=await o.waitForResult()),await s({captchaToken:r,withPrivyUi:!1});let{user:a,isNewUser:l,wasAlreadyAuthenticated:u,loginAccount:c}=await n();i?.onComplete?.({user:a,isNewUser:l,wasAlreadyAuthenticated:u,loginMethod:"passkey",loginAccount:c})}catch(e){throw l({status:"error",error:e}),i?.onError?.(e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),e}}),[n,o.status]),state:a}},exports.useSubscribeToJwtAuthWithFlag=function({isAuthenticated:t,isLoading:i,...o}){let s=r.useRef();r.useEffect((()=>{i||s.current?.()}),[t,i]);let n=r.useCallback((e=>(s.current=e,()=>{s.current=void 0})),[]);return e.useSyncJwtBasedAuthState({...o,subscribe:n})},exports.useToken=function(t){let{getAccessToken:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("accessToken",t),{getAccessToken:i}},exports.useUpdateAccount=function(t){let{updateEmail:i,updatePhone:o}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("update",t),{updateEmail:i,updatePhone:o}},exports.useUser=()=>{let{setUser:i,client:o}=r.useContext(t.InternalPrivyContext),{user:s}=r.useContext(e.PrivyContext);return{user:s,refreshUser:r.useCallback((async()=>{let e=await(o?.updateUserAndIdToken());return i(e??null),e}),[o,i])}}; | ||
"use strict";var e=require("./privy-provider-DFRGMmYo.js"),r=require("react"),t=require("./internal-context-Bj24LJZ_.js"),i=require("./useActiveWallet-CmsIBqAk.js"),o=require("./frame-mbQ9YqJg.js"),s=require("viem"),n=require("viem/utils"),a=require("@privy-io/js-sdk-core"),l=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js");require("react/jsx-runtime"),require("mipd"),require("react-device-detect"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie");let u=async(e,r,i,o,s)=>{if(!e)throw o("linkAccount","onError",t.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:s}),new t.PrivyClientError("User must be authenticated before linking an account.");if(!r?.linkedAccounts.some((e=>e.type.includes(s))))throw new t.PrivyClientError(`OAuth account of type ${s} not linked to the account.`);await i(s)};exports.Captcha=e.Captcha,exports.ConnectorManager=e.ConnectorManager,exports.EthereumWalletConnector=e.EthereumWalletConnector,exports.LoginModal=e.LoginModal,exports.PrivyClient=e.PrivyClient,exports.PrivyProvider=e.PrivyProvider,exports.VERSION=e.VERSION,exports.WalletConnector=e.WalletConnector,exports.errorIndicatesMaxMfaRetries=e.errorIndicatesMaxMfaRetries,exports.errorIndicatesMfaTimeout=e.errorIndicatesMfaTimeout,exports.errorIndicatesMfaVerificationFailed=e.errorIndicatesMfaVerificationFailed,exports.getAccessToken=e.getCustomerAccessToken,exports.useCreateWallet=e.useCreateWallet,exports.useIdentityToken=e.useIdentityToken,exports.useImportWallet=e.useImportWallet,exports.useLogout=e.useLogout,exports.useMfa=e.useMfa,exports.useMfaEnrollment=e.useMfaEnrollment,exports.usePrivy=e.usePrivy,exports.useRegisterMfaListener=e.useRegisterMfaListener,exports.useSolanaWallets=e.useSolanaWallets,exports.useSyncJwtBasedAuthState=e.useSyncJwtBasedAuthState,exports.useWallets=e.useWallets,exports.useActiveWallet=i.useActiveWallet,exports.useConnectWallet=i.useConnectWallet,exports.useFundWallet=i.useFundWallet,exports.useLogin=i.useLogin,Object.defineProperty(exports,"SUPPORTED_CHAINS",{enumerable:!0,get:function(){return a.DEFAULT_SUPPORTED_CHAINS}}),Object.defineProperty(exports,"addPrivyRpcToChain",{enumerable:!0,get:function(){return a.addPrivyRpcToChain}}),Object.defineProperty(exports,"addRpcUrlOverrideToChain",{enumerable:!0,get:function(){return a.addRpcUrlOverrideToChain}}),exports.getEmbeddedConnectedWallet=l.getEmbeddedConnectedWallet,exports.useConnectCoinbaseSmartWallet=()=>{let{connectCoinbaseSmartWallet:e}=t.usePrivyInternal();return{connectCoinbaseSmartWallet:e}},exports.useConnectOrCreateWallet=r=>{let{connectOrCreateWallet:t}=e.usePrivyContext();return e.usePrivyEventSubscription("connectOrCreateWallet",r),{connectOrCreateWallet:t}},exports.useCrossAppAccounts=()=>{let{startCrossAppAuthFlow:r,unlinkCrossAppAccount:t,signMessageWithCrossAppWallet:i,signTypedDataWithCrossAppWallet:o,sendTransactionWithCrossAppWallet:s}=e.usePrivyContext();return{loginWithCrossAppAccount:({appId:e})=>r({appId:e,action:"login"}),linkCrossAppAccount:({appId:e})=>r({appId:e,action:"link"}),unlinkCrossAppAccount:t,signMessage:i,signTypedData:o,sendTransaction:s}},exports.useCustomAuth=r=>{let t=e.useJwtAuthFlowState();return e.usePrivyEventSubscription("customAuth",r),{status:t}},exports.useDelegatedActions=()=>{let{revokeDelegatedWallets:e,delegateWallet:r}=t.usePrivyInternal();return{delegateWallet:async({address:e,chainType:t})=>await r({address:e,chainType:t,showDelegationUIs:!0}),revokeWallets:async()=>await e({showDelegationUIs:!0})}},exports.useFarcasterSigner=function(){let{getFarcasterSignerPublicKey:r,signFarcasterMessage:t,requestFarcasterSignerFromWarpcast:i}=e.usePrivyContext();return{getFarcasterSignerPublicKey:r,signFarcasterMessage:t,requestFarcasterSignerFromWarpcast:i}},exports.useGuestAccounts=function(){let r=e.useAppConfig(),{getAccessToken:i}=e.usePrivyContext(),o=e.useEmitPrivyEvent(),{client:s,setUser:n,setAuthenticated:a,setIsNewUser:l,initializeWalletProxy:u}=t.usePrivyInternal(),{create:c}=e.useCreateWalletInternal();return{createGuestAccount:async()=>{if(!r.id||!s)throw Error("SDK not yet ready");s.startAuthFlow(new e.GuestFlow(r.id));try{let d=await s.authenticate(),h=d.user,y=d.isNewUser??!1;if(!h)throw new t.PrivyClientError("Unable to authenticate guest account");let w=await i(),p=await u(e.WALLET_PROXY_TIMEOUT);if(w&&p)try{let t=e.shouldCreateEmbeddedEthWallet(h,r.embeddedWallets.ethereum.createOnLogin),i=e.shouldCreateEmbeddedSolWallet(h,r.embeddedWallets.solana.createOnLogin);t&&i?(h=(await c({chainType:"ethereum",latestUser:h})).user,h=(await c({chainType:"solana",latestUser:h})).user):i?h=(await c({chainType:"solana",latestUser:h})).user:t?h=(await c({chainType:"ethereum",latestUser:h})).user:n(h)}catch(e){n(h),console.warn("Unable to create embedded wallet for guest account")}return l(y),a(!0),o("login","onComplete",{user:h,isNewUser:y,wasAlreadyAuthenticated:!1,loginMethod:"guest",loginAccount:null}),h}catch(e){throw o("login","onError",e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),e}}}},exports.useHeadlessDelegatedActions=()=>{let{revokeDelegatedWallets:e,delegateWallet:r}=t.usePrivyInternal();return{delegateWallet:async({address:e,chainType:t})=>await r({address:e,chainType:t,showDelegationUIs:!1}),revokeWallets:async()=>await e({showDelegationUIs:!1})}},exports.useLinkAccount=function(t){let{linkEmail:i,linkPhone:o,linkWallet:s,linkGoogle:n,linkApple:a,linkTwitter:l,linkDiscord:u,linkGithub:c,linkLinkedIn:d,linkTiktok:h,linkSpotify:y,linkInstagram:w,linkTelegram:p,linkFarcaster:g}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("linkAccount",t),{linkEmail:i,linkPhone:o,linkWallet:s,linkGoogle:n,linkApple:a,linkTwitter:l,linkDiscord:u,linkGithub:c,linkLinkedIn:d,linkTiktok:h,linkSpotify:y,linkInstagram:w,linkFarcaster:g,linkTelegram:p}},exports.useLinkWithPasskey=e=>{let{initLinkWithPasskey:i,linkWithPasskey:o,passkeyAuthState:s,setPasskeyAuthState:n}=t.usePrivyInternal();return{linkWithPasskey:r.useCallback((async()=>{try{await i();let r=await o();if(!r)throw Error("Error, user not found");let t=r.linkedAccounts.filter((e=>"passkey"===e.type)).sort(((e,r)=>r.latestVerifiedAt.getTime()-e.latestVerifiedAt.getTime()))[0];e?.onSuccess?.({user:r,linkMethod:"passkey",linkedAccount:t})}catch(r){throw n({status:"error",error:r}),e?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR,{linkMethod:"passkey"}),r}}),[o]),state:s}},exports.useLinkWithSiwe=i=>{let o=e.useCaptcha(),{siweState:s,setSiweState:n,linkWithSiwe:a,generateSiweMessage:l}=t.usePrivyInternal();return{generateSiweMessage:r.useCallback((async({address:e,chainId:r})=>{try{if(!e||!r)throw Error("wallet address and chainId required to generate nonce");return await l({address:e,chainId:r}).then((e=>e))}catch(e){throw n({status:"error",error:e}),i?.onError?.(e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR,{linkMethod:"siwe"}),e}}),[l]),linkWithSiwe:r.useCallback((async({signature:r,message:s,chainId:l,walletClientType:u,connectorType:c})=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);let{user:n,linkedAccount:d}=await a({message:s,signature:r,chainId:l,walletClientType:u,connectorType:c});d&&i?.onSuccess?.({user:n,linkMethod:"siwe",linkedAccount:d})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR,{linkMethod:"siwe"}),r}}),[a,o.status]),state:s}},exports.useLoginWithEmail=i=>{let o=e.useCaptcha(),{emailOtpState:s,setEmailOtpState:n,initLoginWithEmail:a,loginWithCode:l}=t.usePrivyInternal();return{sendCode:r.useCallback((async({email:r,disableSignup:s})=>{try{let i;if(!r)throw Error("Email required to send OTP code");if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);return o.enabled&&"success"!==o.status&&(o.execute(),i=await o.waitForResult()),await a({email:r,captchaToken:i,disableSignup:s,withPrivyUi:!1})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[a]),loginWithCode:r.useCallback((async({code:r})=>{try{if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);let{user:s,isNewUser:n,wasAlreadyAuthenticated:a,linkedAccount:u}=await l(r);i?.onComplete?.({user:s,isNewUser:n,wasAlreadyAuthenticated:a,loginMethod:"email",loginAccount:u})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[l,o.status]),state:s}},exports.useLoginWithFarcasterV2=()=>{let{client:e,setAuthenticated:i,setUser:s}=t.usePrivyInternal();return r.useMemo((()=>({init:async()=>{if(!e)throw new t.PrivyClientError("Must initialize Privy client first.");let r=new o.FarcasterFramesFlow;return e.startAuthFlow(r),await r.init()},login:async({fid:r,message:n,signature:a})=>{if(!e)throw new t.PrivyClientError("Must initialize Privy client first.");if(!(e.authFlow instanceof o.FarcasterFramesFlow))throw new t.PrivyClientError("Must initialize Farcaster frame flow first.");e.authFlow.setAuthData({message:n,signature:a,fid:r});let{user:l}=await e.authenticate();if(!l)throw new t.PrivyClientError("Failed to login with Farcaster V2");return s(l),i(!0),{user:l}}})),[e,s,i])},exports.useLoginWithOAuth=i=>{e.usePrivyEventSubscription("login",i);let o=e.useCaptcha(),s=e.useIsServerConfigLoaded(),{ready:n,user:a}=e.usePrivyContext(),{initLoginWithHeadlessOAuth:l,loginWithHeadlessOAuth:u,oAuthState:c,setOAuthState:d,isHeadlessOAuthLoading:h}=t.usePrivyInternal(),y=r.useCallback((async r=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);return await l(r.provider,o.token,r.disableSignup)}catch(r){throw d({status:"error",error:r}),r}}),[l,o]),w=r.useCallback((async()=>{let r=e.detectCompletingOAuthFlow();try{if(a)return console.warn("Cannot login with OAuth when already logged in"),a;if(!r.inProgress)throw Error("Cannot login with OAuth because no OAuth flow is in progress");if(r.popupFlow)return}catch(r){throw d({status:"error",error:r}),r}try{return await u(r)}catch(r){throw d({status:"error",error:r}),r}finally{e.stripUrlOAuthParamsAndRemoveStateCode()}}),[u]);return r.useEffect((()=>{let r=e.detectCompletingOAuthFlow();n&&s&&r.inProgress&&!r.withPrivyUi&&!r.popupFlow&&w().catch((()=>{}))}),[n,s]),{initOAuth:y,loading:h,state:c}},exports.useLoginWithPasskey=i=>{let o=e.useCaptcha(),{initLoginWithPasskey:s,loginWithPasskey:n,passkeyAuthState:a,setPasskeyAuthState:l}=t.usePrivyInternal();return{loginWithPasskey:r.useCallback((async r=>{try{let a;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),a=await o.waitForResult()),await s({captchaToken:a,withPrivyUi:!1});let{user:l,isNewUser:u,wasAlreadyAuthenticated:c,loginAccount:d}=await n(r);i?.onComplete?.({user:l,isNewUser:u,wasAlreadyAuthenticated:c,loginMethod:"passkey",loginAccount:d})}catch(r){throw l({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[n,o.status]),state:a}},exports.useLoginWithSiwe=i=>{let o=e.useCaptcha(),{siweState:s,setSiweState:n,client:a,generateSiweMessage:l,loginWithSiwe:u}=t.usePrivyInternal();return{generateSiweNonce:r.useCallback((async({address:r})=>{try{let i;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),i=await o.waitForResult()),n({status:"generating-message"});let s=await a.generateSiweNonce({address:r,captchaToken:i});return n({status:"awaiting-signature"}),s}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[a,o]),generateSiweMessage:r.useCallback((async({address:e,chainId:r})=>{try{return await l({address:e,chainId:r})}catch(e){throw n({status:"error",error:e}),i?.onError?.(e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),e}}),[l]),loginWithSiwe:r.useCallback((async({message:r,signature:s,disableSignup:a})=>{try{let n;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),n=await o.waitForResult());let l=await u({message:r,signature:s,captchaToken:n,disableSignup:a});return i?.onComplete?.({user:l,isNewUser:!1,wasAlreadyAuthenticated:!1,loginMethod:"siwe",loginAccount:null}),l}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[u,o.status]),state:s}},exports.useLoginWithSms=i=>{let o=e.useCaptcha(),{smsOtpState:s,setSmsOtpState:n,initLoginWithSms:a,loginWithCode:l}=t.usePrivyInternal();return{sendCode:r.useCallback((async({phoneNumber:r,disableSignup:s})=>{try{let i;if(!r)throw Error("SMS required to send OTP code");if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);return o.enabled&&"success"!==o.status&&(o.execute(),i=await o.waitForResult()),await a({phoneNumber:r,captchaToken:i,disableSignup:s,withPrivyUi:!1})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[a]),loginWithCode:r.useCallback((async({code:r})=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);let{user:s,isNewUser:n,wasAlreadyAuthenticated:a,linkedAccount:u}=await l(r);i?.onComplete?.({user:s,isNewUser:n,wasAlreadyAuthenticated:a,loginMethod:"sms",loginAccount:u})}catch(r){throw n({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[l,o.status]),state:s}},exports.useLoginWithTelegram=i=>{let o=e.useCaptcha(),{initLoginWithTelegram:s,loginWithTelegram:n,telegramAuthState:a,setTelegramAuthState:l}=t.usePrivyInternal();return{login:r.useCallback((async r=>{try{if(o.enabled&&"success"!==o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);await s(o.token,r?.disableSignup);let{user:a,isNewUser:l,loginAccount:u,wasAlreadyAuthenticated:c}=await n({intent:"login"});i?.onComplete?.({user:a,isNewUser:l,wasAlreadyAuthenticated:c,loginMethod:"telegram",loginAccount:u})}catch(r){throw l({status:"error",error:r}),i?.onError?.(r.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),r}}),[s,n,o]),state:a}},exports.useModalStatus=()=>{let{isModalOpen:t}=r.useContext(e.PrivyContext);return{isOpen:t}},exports.useOAuthTokens=function(r){let{authenticated:i,user:o}=e.usePrivyContext(),{initLoginWithOAuth:s}=t.usePrivyInternal(),n=e.useEmitPrivyEvent();return e.usePrivyEventSubscription("oAuthAuthorization",r),{reauthorize:e=>u(i,o,s,n,e.provider)}},exports.useRecoverEmbeddedWallet=()=>{let{user:i}=e.usePrivyContext(),{walletProxy:o}=t.usePrivyInternal();return{recover:r.useCallback((async r=>{if(!o)throw Error("Wallet proxy is not ready");let s=await e.getAccessToken();if(!i||!s)throw new t.PrivyClientError("User must be logged in before attempting to modify the recovery method.");let{entropyId:n,entropyIdVerifier:a}=e.getEntropyDetailsForUser(i);try{await o.recover({entropyId:n,entropyIdVerifier:a,accessToken:s,...r})}catch{throw new t.PrivyClientError("Unable to recover wallets")}}),[o,i])}},exports.useSendTransaction=function(t){let{sendTransaction:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("sendTransaction",t),{sendTransaction:i}},exports.useSessionSigners=()=>{let{addSessionSignersInternal:r,removeSessionSignersInternal:i}=(()=>{let{getAccessToken:r,user:i}=e.usePrivyContext(),o=t.usePrivyInternal(),{signWithUserSigner:s}=e.useSignWithUserSigner(),n=async({wallet:e,additional_signers:n})=>{let l=await r();if(!i||!l)throw new t.PrivyClientError("User must be authenticated and have an embedded wallet to delegate actions.");if(!e.id)throw new t.PrivyClientError("Wallet to add signers to must have ID on server");if(!o.walletProxy)throw new t.PrivyClientError("Wallet proxy not initialized.");await a.updateWallet(o.privy,{wallet_id:e.id},s,{additional_signers:n})};return{addSessionSignersInternal:async({address:s,signers:l})=>{let u=await r();if(!i||!u)throw new t.PrivyClientError("User must be authenticated and have an embedded wallet to add a session signer.");let c=o.walletProxy??await o.initializeWalletProxy(15e3);if(!c)throw new t.PrivyClientError("Wallet proxy not initialized.");let d=e.getPrivyWalletWithAddress(i,s);if(!d)throw new t.PrivyClientError("Address to add signers too is not associated with current user.");if(e.getIsUnifiedWallet(d)){if(0===l.length)throw new t.PrivyClientError("Must specify at least one signer to add.");let r=[...(await a.getWallet(o.privy,{wallet_id:d.id})).additional_signers,...e.parseAdditionalSigners(l)];await n({wallet:d,additional_signers:r})}else{if(d.delegated)return{user:i};if(l.length>0)throw new t.PrivyClientError("This embedded wallet does not support specifying signers. If signing is enabled in the dashboard, signer will default to that key. Otherwise, no signatures will be required for the wallet.");let r=e.getDelegatedWalletsData({address:s,user:i}),n=e.getRootWalletDataForDelegation({address:s,user:i});await o.recoverEmbeddedWallet({address:s}),await c.createDelegatedAction({accessToken:u,rootWallet:n,delegatedWallets:[r]})}let h=await o.refreshSessionAndUser();if(!h)throw Error("Could not refresh user");return{user:h}},removeSessionSignersInternal:async({address:s})=>{let a=await r();if(!i||!a)throw new t.PrivyClientError("User must be authenticated and have an embedded wallet to delegate actions.");if(!(o.walletProxy??await o.initializeWalletProxy(15e3)))throw new t.PrivyClientError("Wallet proxy not initialized.");let l=e.getPrivyWalletWithAddress(i,s);if(!l)throw new t.PrivyClientError("Address to remove signers from is not associated with current user.");e.getIsUnifiedWallet(l)?await n({wallet:l,additional_signers:[]}):await o.client.revokeDelegatedWallet();let u=await o.refreshSessionAndUser();if(!u)throw Error("Could not refresh user");return{user:u}}}})();return{addSessionSigners:async({address:e,signers:t})=>r({address:e,signers:t}),removeSessionSigners:async({address:e})=>i({address:e})}},exports.useSetWalletPassword=function(t){let{setWalletPassword:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("setWalletPassword",t),{setWalletPassword:i}},exports.useSetWalletRecovery=function(t){let{setWalletRecovery:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("setWalletRecovery",t),{setWalletRecovery:i}},exports.useSignAuthorization=()=>{let{ready:i,wallets:o}=e.useWallets(),{user:a}=e.usePrivyContext(),{rpcConfig:l,chains:u,appId:c}=t.usePrivyInternal();return{signAuthorization:r.useCallback((async(r,t)=>{if(!a)throw Error("User must be authenticated before signing with a Privy wallet");if(!i)throw Error("Wallets are not ready");let d=t?.address??e.getPrivyEthereumWallet(a)?.address??s.zeroAddress,h=o.find((e=>s.getAddress(e.address)===s.getAddress(d)));if(!h)throw Error("Signing wallet not found.");let y=r.chainId??Number(h.chainId.split(":")[1]),w=u.find((e=>e.id===y));if(!w)throw Error("Error, chain not configured in PrivyProvider config");let p=s.createWalletClient({account:d,chain:w,transport:s.http(e.getJsonRpcEndpointFromChain(w,l,c))}),g=await p.prepareAuthorization({...r}),C=await h.getEthereumProvider(),v=await C.request({method:"secp256k1_sign",params:[n.hashAuthorization(g)]});return{...g,...s.parseSignature(v)}}),[i,o,a,u])}},exports.useSignMessage=function(t){let{signMessage:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("signMessage",t),{signMessage:i}},exports.useSignTransaction=function(){let{signTransaction:t}=r.useContext(e.PrivyContext);return{signTransaction:t}},exports.useSignTypedData=function(t){let{signTypedData:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("signTypedData",t),{signTypedData:i}},exports.useSignupWithPasskey=i=>{let o=e.useCaptcha(),{initSignupWithPasskey:s,signupWithPasskey:n,passkeyAuthState:a,setPasskeyAuthState:l}=t.usePrivyInternal();return{signupWithPasskey:r.useCallback((async()=>{try{let r;if(o.enabled&&"error"===o.status)throw new e.CaptchaError(o.error,null,t.PrivyErrorCode.CAPTCHA_FAILURE);o.enabled&&"success"!==o.status&&(o.execute(),r=await o.waitForResult()),await s({captchaToken:r,withPrivyUi:!1});let{user:a,isNewUser:l,wasAlreadyAuthenticated:u,loginAccount:c}=await n();i?.onComplete?.({user:a,isNewUser:l,wasAlreadyAuthenticated:u,loginMethod:"passkey",loginAccount:c})}catch(e){throw l({status:"error",error:e}),i?.onError?.(e.privyErrorCode||t.PrivyErrorCode.UNKNOWN_AUTH_ERROR),e}}),[n,o.status]),state:a}},exports.useSubscribeToJwtAuthWithFlag=function({isAuthenticated:t,isLoading:i,...o}){let s=r.useRef();r.useEffect((()=>{i||s.current?.()}),[t,i]);let n=r.useCallback((e=>(s.current=e,()=>{s.current=void 0})),[]);return e.useSyncJwtBasedAuthState({...o,subscribe:n})},exports.useToken=function(t){let{getAccessToken:i}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("accessToken",t),{getAccessToken:i}},exports.useUpdateAccount=function(t){let{updateEmail:i,updatePhone:o}=r.useContext(e.PrivyContext);return e.usePrivyEventSubscription("update",t),{updateEmail:i,updatePhone:o}},exports.useUser=()=>{let{setUser:i,client:o}=r.useContext(t.InternalPrivyContext),{user:s}=r.useContext(e.PrivyContext);return{user:s,refreshUser:r.useCallback((async()=>{let e=await(o?.updateUserAndIdToken());return i(e??null),e}),[o,i])}}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./privy-provider-C88DR-Em.js"),o=require("./internal-context-Bj24LJZ_.js"),t=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),n=require("./smart-wallets-Biw_fynz.js");require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("viem"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction");let c=/*#__PURE__*/r.createContext({client:void 0,getClientForChain:o.notImplemented});let a=/*#__PURE__*/r.createContext({config:void 0}),l=()=>{let{config:e}=r.useContext(a);return{config:e}},s=({children:i})=>{let[t,n]=r.useState(void 0),{client:c}=o.usePrivyInternal();return r.useEffect((()=>{!t&&c&&(async()=>{try{if(!c)return void console.warn("No client found");let e=await c.getSmartWalletsConfig();n(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!c]),/*#__PURE__*/e.jsx(a.Provider,{value:{config:t},children:i})},u=({config:c,children:a})=>{let{config:s}=l(),{appId:u}=o.usePrivyInternal(),{chains:d,defaultChain:q,rpcConfig:C}=i.useAppConfig(),{wallets:g}=i.useWallets(),{user:I}=i.usePrivyContext(),[m,f]=r.useState(),{wrapSmartAccountClientWithUIs:p}=n.useSmartWalletsUIWrapper(),v=i.getPrivyEthereumWallet(I),w=t.getEmbeddedConnectedWallet(g);r.useEffect((()=>{(async()=>{if(!s?.enabled)return;let e=s.configuredNetworks.find((e=>e.chainId===`eip155:${q.id}`))?q:d.find((e=>s.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new o.PrivyClientError("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");f(await n.getSmartWalletClient({chain:e,privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s}))})()}),[!!s?.enabled,!!I?.smartWallet,!!w,!!v]);/*#__PURE__*/return e.jsx(h.Provider,{value:{client:m,config:c,getClientForChain:async({id:e})=>{let r=await n.getSmartWalletClient({chain:d.find((r=>r.id===e)),privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s});if(!r)throw new o.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return p(r)}},children:a})},h=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:o.notImplemented}),d=({children:t})=>{let{client:a,config:s,getClientForChain:u}=(()=>{let{client:e,config:i,getClientForChain:o}=r.useContext(h);return{client:e,config:i,getClientForChain:o}})(),{config:d}=l(),{wrapSmartAccountClient:q}=n.useSmartWalletsWrapper({clientConfig:s,smartWalletsConfig:d}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:I,hideWalletUIs:m}=o.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(a&&C&&!C?.smartWallet&&d?.enabled)try{let e=await g({address:a.account.address,chainId:`eip155:${a.chain.id}`});m.current=!0;let r=await a.signMessage({message:e});await I({signature:r,message:e,smartWalletType:d.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{m.current=!1}})()}),[!!a,!!C?.smartWallet,!!d?.enabled]),/*#__PURE__*/e.jsx(c.Provider,{value:{client:C?.smartWallet&&a?q(a):void 0,getClientForChain:u},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(s,{children:/*#__PURE__*/e.jsx(u,{config:r,children:/*#__PURE__*/e.jsx(d,{children:i})})}),exports.useSmartWallets=()=>{let{client:e,getClientForChain:i}=r.useContext(c);return{client:e,getClientForChain:i}}; | ||
"use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./privy-provider-DFRGMmYo.js"),o=require("./internal-context-Bj24LJZ_.js"),t=require("./getEmbeddedConnectedWallet-DTU4T9TJ.js"),n=require("./smart-wallets-C1ixu36_.js");require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("viem"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction");let c=/*#__PURE__*/r.createContext({client:void 0,getClientForChain:o.notImplemented});let a=/*#__PURE__*/r.createContext({config:void 0}),l=()=>{let{config:e}=r.useContext(a);return{config:e}},s=({children:i})=>{let[t,n]=r.useState(void 0),{client:c}=o.usePrivyInternal();return r.useEffect((()=>{!t&&c&&(async()=>{try{if(!c)return void console.warn("No client found");let e=await c.getSmartWalletsConfig();n(e)}catch(e){console.warn("Error generating smart wallet config: ",e)}})()}),[!!c]),/*#__PURE__*/e.jsx(a.Provider,{value:{config:t},children:i})},u=({config:c,children:a})=>{let{config:s}=l(),{appId:u}=o.usePrivyInternal(),{chains:d,defaultChain:q,rpcConfig:C}=i.useAppConfig(),{wallets:g}=i.useWallets(),{user:I}=i.usePrivyContext(),[m,f]=r.useState(),{wrapSmartAccountClientWithUIs:p}=n.useSmartWalletsUIWrapper(),v=i.getPrivyEthereumWallet(I),w=t.getEmbeddedConnectedWallet(g);r.useEffect((()=>{(async()=>{if(!s?.enabled)return;let e=s.configuredNetworks.find((e=>e.chainId===`eip155:${q.id}`))?q:d.find((e=>s.configuredNetworks.map((e=>e.chainId)).includes(`eip155:${e.id}`)));if(!e)throw new o.PrivyClientError("Could not find smart wallets chain configurations for any Privy client configured chains. Please configure smart wallets for your chains in the Privy dashboard.");f(await n.getSmartWalletClient({chain:e,privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s}))})()}),[!!s?.enabled,!!I?.smartWallet,!!w,!!v]);/*#__PURE__*/return e.jsx(h.Provider,{value:{client:m,config:c,getClientForChain:async({id:e})=>{let r=await n.getSmartWalletClient({chain:d.find((r=>r.id===e)),privyAppId:u,paymasterContext:c?.paymasterContext,rpcConfig:C,account:v,signer:await(w?.getEthereumProvider()),user:I,smartWalletsConfig:s});if(!r)throw new o.PrivyClientError(`Failed to create smart wallet client for chain id: ${e}`);return p(r)}},children:a})},h=/*#__PURE__*/r.createContext({client:void 0,config:void 0,getClientForChain:o.notImplemented}),d=({children:t})=>{let{client:a,config:s,getClientForChain:u}=(()=>{let{client:e,config:i,getClientForChain:o}=r.useContext(h);return{client:e,config:i,getClientForChain:o}})(),{config:d}=l(),{wrapSmartAccountClient:q}=n.useSmartWalletsWrapper({clientConfig:s,smartWalletsConfig:d}),{user:C}=i.usePrivyContext(),{generateSiweMessageForSmartWallet:g,linkSmartWallet:I,hideWalletUIs:m}=o.usePrivyInternal();return r.useEffect((()=>{(async()=>{if(a&&C&&!C?.smartWallet&&d?.enabled)try{let e=await g({address:a.account.address,chainId:`eip155:${a.chain.id}`});m.current=!0;let r=await a.signMessage({message:e});await I({signature:r,message:e,smartWalletType:d.smartWalletType})}catch(e){console.error("Error creating smart wallet:",e)}finally{m.current=!1}})()}),[!!a,!!C?.smartWallet,!!d?.enabled]),/*#__PURE__*/e.jsx(c.Provider,{value:{client:C?.smartWallet&&a?q(a):void 0,getClientForChain:u},children:t})};exports.SmartWalletsProvider=({config:r,children:i})=>/*#__PURE__*/e.jsx(s,{children:/*#__PURE__*/e.jsx(u,{config:r,children:/*#__PURE__*/e.jsx(d,{children:i})})}),exports.useSmartWallets=()=>{let{client:e,getClientForChain:i}=r.useContext(c);return{client:e,getClientForChain:i}}; |
@@ -1,1 +0,1 @@ | ||
"use strict";var e=require("@solana/wallet-adapter-base"),r=require("@solana/wallet-standard-wallet-adapter-base"),n=require("@wallet-standard/app"),t=require("./privy-provider-C88DR-Em.js"),i=require("react"),s=require("./internal-context-Bj24LJZ_.js"),o=require("@solana/web3.js"),a=require("eventemitter3"),c=require("@scure/base"),l=require("./useFundWallet-Bqs5wOsu.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("react/jsx-runtime"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("viem"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("@solana/spl-token");var d=/*#__PURE__*/u(a);let h=n=>n.filter((r=>e.isWalletAdapterCompatibleStandardWallet(r)&&!(r.features["privy:"]&&"isPrivyWallet"in r&&r.isPrivyWallet))).map((e=>new r.StandardWalletAdapter({wallet:e})));const g=["solana:mainnet","solana:devnet","solana:testnet"];function p(e){switch(e){case"solana:mainnet":return"mainnet-beta";case"solana:devnet":return"devnet";case"solana:testnet":return"testnet";default:throw Error(`Unknown chain: ${e}`)}}function v(e,r){if(!Object.prototype.hasOwnProperty.call(e,r))throw TypeError("attempted to use private field on non-instance");return e}var A=0,y="__private_"+A+++"__implementation";class w extends d.default{setImplementation(e){v(this,y)[y]=e}async signMessage(e,r){return v(this,y)[y].signMessage(e,r)}async signAndSendTransaction(e,r,n,t){return v(this,y)[y].signAndSendTransaction(e,r,n,t)}async signTransaction(e,r,n,t){return v(this,y)[y].signTransaction(e,r,n,t)}constructor(e){super(),Object.defineProperty(this,y,{writable:!0,value:void 0}),v(this,y)[y]=e}}function f(e,r){if(!Object.prototype.hasOwnProperty.call(e,r))throw TypeError("attempted to use private field on non-instance");return e}var q=0;function b(e){return"__private_"+q+++"_"+e}var m=/*#__PURE__*/b("_address"),I=/*#__PURE__*/b("_publicKey"),P=/*#__PURE__*/b("_chains"),S=/*#__PURE__*/b("_features"),T=/*#__PURE__*/b("_label"),C=/*#__PURE__*/b("_icon");class j{get address(){return f(this,m)[m]}get publicKey(){return f(this,I)[I].slice()}get chains(){return f(this,P)[P].slice()}get features(){return f(this,S)[S].slice()}get label(){return f(this,T)[T]}get icon(){return f(this,C)[C]}constructor({address:e,publicKey:r,label:n,icon:t}){Object.defineProperty(this,m,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,T,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),f(this,m)[m]=e,f(this,I)[I]=r,f(this,P)[P]=g,f(this,T)[T]=n,f(this,C)[C]=t,f(this,S)[S]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===j&&Object.freeze(this)}}function W(e,r){if(!Object.prototype.hasOwnProperty.call(e,r))throw TypeError("attempted to use private field on non-instance");return e}var E=0;function O(e){return"__private_"+E+++"_"+e}var M=/*#__PURE__*/O("_listeners"),_=/*#__PURE__*/O("_version"),k=/*#__PURE__*/O("_name"),x=/*#__PURE__*/O("_icon"),B=/*#__PURE__*/O("_injection"),D=/*#__PURE__*/O("_isPrivyWallet"),F=/*#__PURE__*/O("_accounts"),U=/*#__PURE__*/O("_on"),V=/*#__PURE__*/O("_emit"),K=/*#__PURE__*/O("_off"),R=/*#__PURE__*/O("_connected"),Q=/*#__PURE__*/O("_connect"),G=/*#__PURE__*/O("_disconnect"),J=/*#__PURE__*/O("_signMessage"),L=/*#__PURE__*/O("_signAndSendTransaction"),z=/*#__PURE__*/O("_signTransaction");function Y(e,...r){W(this,M)[M][e]?.forEach((e=>e.apply(null,r)))}function H(e,r){W(this,M)[M][e]=W(this,M)[M][e]?.filter((e=>r!==e))}function N(e){let r=t.useAppConfig(),{getAccessToken:n,user:i}=t.usePrivy(),{setModalData:o}=t.usePrivyModal(),{isHeadlessSigning:a,openModal:c,walletProxy:l,recoverEmbeddedWallet:u,privy:d}=s.usePrivyInternal(),h=t.useEmitPrivyEvent(),{signWithUserSigner:g}=t.useSignWithUserSigner();return t.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:s,uiOptions:p,transactionOptions:v,address:A})=>{let{signedTransaction:y}=await t.signOrSendSolanaTransactionInternal({privy:d,appConfig:r,getAccessToken:n,isHeadlessSigning:a,emitPrivyEvent:h,setModalData:o,openModal:c,walletProxy:l,user:i,recoverEmbeddedWallet:u,signWithUserSigner:g},{transaction:e,connection:s,transactionOptions:v,uiOptions:p,address:A,signOnly:!0});return y}}}let Z=new w({signTransaction:s.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:s.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:s.notImplementedWithMessage("signMessage was not injected")}),X=new class{get version(){return W(this,_)[_]}get name(){return W(this,k)[k]}get icon(){return W(this,x)[x]}get chains(){return g.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:W(this,Q)[Q]},"standard:disconnect":{version:"1.0.0",disconnect:W(this,G)[G]},"standard:events":{version:"1.0.0",on:W(this,U)[U]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:W(this,L)[L]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:W(this,z)[z]},"solana:signMessage":{version:"1.0.0",signMessage:W(this,J)[J]},"privy:":{privy:{signMessage:W(this,B)[B].signMessage,signTransaction:W(this,B)[B].signTransaction,signAndSendTransaction:W(this,B)[B].signAndSendTransaction}}}}get accounts(){return W(this,F)[F].slice()}get isPrivyWallet(){return W(this,D)[D]}constructor({name:e,icon:r,version:n,injection:i,wallets:s}){Object.defineProperty(this,V,{value:Y}),Object.defineProperty(this,K,{value:H}),Object.defineProperty(this,M,{writable:!0,value:void 0}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),W(this,M)[M]={},W(this,U)[U]=(e,r)=>(W(this,M)[M][e]?.push(r)||(W(this,M)[M][e]=[r]),()=>W(this,K)[K](e,r)),W(this,R)[R]=e=>{null!=e&&(W(this,F)[F]=e.map((({address:e})=>new j({address:e,publicKey:c.base58.decode(e)})))),W(this,V)[V]("change",{accounts:this.accounts})},W(this,Q)[Q]=async()=>(W(this,V)[V]("change",{accounts:this.accounts}),{accounts:this.accounts}),W(this,G)[G]=async()=>{W(this,V)[V]("change",{accounts:this.accounts})},W(this,J)[J]=async(...e)=>{let r=[];for(let{message:n,account:t}of e){let{signature:e}=await W(this,B)[B].signMessage(n,t.address);r.push({signedMessage:n,signature:e})}return r},W(this,L)[L]=async(...e)=>{let r=[];for(let{transaction:n,account:t,options:i,chain:s}of e){let{signature:e}=await W(this,B)[B].signAndSendTransaction(o.VersionedTransaction.deserialize(n),t.address,p(s||"solana:mainnet"),i);r.push({signature:c.base58.decode(e)})}return r},W(this,z)[z]=async(...e)=>{let r=[];for(let{transaction:n,account:i,options:s,chain:a}of e){let e=await W(this,B)[B].signTransaction(o.VersionedTransaction.deserialize(n),i.address,p(a||"solana:mainnet"),s),c=t.isVersionedTransaction(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}));r.push({signedTransaction:c})}return r},W(this,k)[k]=e,W(this,x)[x]=r,W(this,_)[_]=n,W(this,B)[B]=i,W(this,F)[F]=[],W(this,D)[D]=!0,i.on("accountChanged",W(this,R)[R],this),W(this,R)[R](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:Z});function $(){let{solanaClusters:e}=t.useAppConfig(),{ready:r}=t.useWallets(),{user:n}=t.usePrivy(),{signMessage:s}=t.useSignMessage(),{signTransaction:a}=N(),{sendTransaction:c}=t.useSendTransaction(),l=i.useMemo((()=>{let e=[...t.getPrivySolanaHDWallets(n).sort(((e,r)=>(e.walletIndex??0)-(r.walletIndex??0)))],r=t.getImportedPrivySolanaWallet(n);return r?[...e,r]:e}),[n]),u=i.useMemo((()=>({signMessage:async(e,r)=>({signature:await s({message:e,options:{address:r}})}),async signTransaction(r,n,t){let i=new o.Connection(e[t].rpcUrl);return await a({transaction:r,address:n,connection:i})},async signAndSendTransaction(r,n,t,i){let s=new o.Connection(e[t].rpcUrl),{signature:a}=await c({transaction:r,connection:s,address:n,transactionOptions:i});return{signature:a}}})),[s,a,c,e]);return i.useEffect((()=>{Z?.setImplementation(u)}),[u]),i.useEffect((()=>{var e;!r||(e=X.accounts).length===l.length&&e.every(((e,r)=>e.address===l[r]?.address))||Z?.emit("accountChanged",l)}),[r,l]),{ready:r,wallet:X}}var ee={id:t.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:r})=>{let n=t.prepareSiwsMessageWithNonce({address:e,nonce:r}),i=new o.Transaction,s=new o.TransactionInstruction({keys:[{pubkey:new o.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new o.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(n,"utf-8")});return i.add(s),i.feePayer=new o.PublicKey(e),i.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",i.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>o.Transaction.from(t.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=t.SolanaWalletConnector,exports.useSendTransaction=t.useSendTransaction,exports.useSignMessage=t.useSignMessage,exports.useSolanaWallets=t.useSolanaWallets,exports.useFundWallet=l.useFundWallet,exports.toSolanaWalletConnectors=e=>{let r,{get:i,on:s}=n.getWallets(),o=e?.shouldAutoConnect??!0,a=new Map,c=[];function l(...e){h(e).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),r?.(c)}function u(...e){Array.from(a.keys()).forEach((r=>!e.includes(r)&&a.delete(r))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),r?.(c)}let d=[s("register",l),s("unregister",u)];return h(i()).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),{_setOnConnectorsUpdated:e=>{r=e},onMount:()=>{d[0]||(d[0]=s("register",l)),d[1]||(d[1]=s("unregister",u))},onUnmount:()=>{let e=d.pop();for(;e;)e(),e=d.pop()},get:()=>c}},exports.useImportWallet=()=>{let{getAccessToken:e,user:r}=t.usePrivyContext(),{refreshSessionAndUser:n,initializeWalletProxy:o}=s.usePrivyInternal(),a=t.useEmitPrivyEvent();return{importWallet:i.useCallback((({privateKey:i})=>t.importWallet({getAccessToken:e,user:r,initializeWalletProxy:o,refreshSessionAndUser:n,emitPrivyEvent:a},{privateKey:i,chainType:"solana"})),[r,e,n,o,a])}},exports.usePrivyStandardWallet=$,exports.useSignTransaction=N,exports.useSolanaFundingPlugin=()=>t.useRegisterPlugin(l.t),exports.useSolanaLedgerPlugin=()=>t.useRegisterPlugin(ee),exports.useSolanaStandardWallets=function(){let{connectors:e}=s.usePrivyInternal(),{ready:r,wallet:n}=$(),[t,o]=i.useState([]);return i.useEffect((()=>{if(!r)return;let t=[n,...e.filter((e=>"solana"===e.chainType)).map((e=>e.wallet))];o(t);let i=t.map((e=>e.features["standard:events"]?.on("change",(()=>{o([...t])}))));return()=>{i.forEach((e=>e?.()))}}),[r,e]),{ready:r,wallets:t}}; | ||
"use strict";var e=require("@solana/wallet-adapter-base"),r=require("@solana/wallet-standard-wallet-adapter-base"),n=require("@wallet-standard/app"),t=require("./privy-provider-DFRGMmYo.js"),i=require("react"),s=require("./internal-context-Bj24LJZ_.js"),o=require("@solana/web3.js"),a=require("eventemitter3"),c=require("@scure/base"),l=require("./useFundWallet-CixvepkC.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("react/jsx-runtime"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/js-sdk-core"),require("viem"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("@marsidev/react-turnstile"),require("styled-components"),require("tinycolor2"),require("@heroicons/react/24/outline/DevicePhoneMobileIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@heroicons/react/24/outline/CalendarIcon"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("zustand"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/20/solid/CheckIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/CheckIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/ArrowTopRightOnSquareIcon"),require("@heroicons/react/24/solid/DocumentCheckIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("qrcode"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/ChevronRightIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/LockClosedIcon"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("ofetch"),require("@heroicons/react/24/outline"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/CloudArrowUpIcon"),require("@heroicons/react/24/outline/NoSymbolIcon"),require("@heroicons/react/24/outline/ClockIcon"),require("@heroicons/react/24/outline/TrashIcon"),require("@heroicons/react/24/solid/CheckBadgeIcon"),require("@heroicons/react/24/solid/IdentificationIcon"),require("@heroicons/react/24/outline/MinusCircleIcon"),require("@heroicons/react/24/outline/ArrowRightEndOnRectangleIcon"),require("@heroicons/react/24/solid/ShieldCheckIcon"),require("js-cookie"),require("@solana/spl-token");var d=/*#__PURE__*/u(a);let h=n=>n.filter((r=>e.isWalletAdapterCompatibleStandardWallet(r)&&!(r.features["privy:"]&&"isPrivyWallet"in r&&r.isPrivyWallet))).map((e=>new r.StandardWalletAdapter({wallet:e})));const g=["solana:mainnet","solana:devnet","solana:testnet"];function p(e){switch(e){case"solana:mainnet":return"mainnet-beta";case"solana:devnet":return"devnet";case"solana:testnet":return"testnet";default:throw Error(`Unknown chain: ${e}`)}}function v(e,r){if(!Object.prototype.hasOwnProperty.call(e,r))throw TypeError("attempted to use private field on non-instance");return e}var A=0,y="__private_"+A+++"__implementation";class w extends d.default{setImplementation(e){v(this,y)[y]=e}async signMessage(e,r){return v(this,y)[y].signMessage(e,r)}async signAndSendTransaction(e,r,n,t){return v(this,y)[y].signAndSendTransaction(e,r,n,t)}async signTransaction(e,r,n,t){return v(this,y)[y].signTransaction(e,r,n,t)}constructor(e){super(),Object.defineProperty(this,y,{writable:!0,value:void 0}),v(this,y)[y]=e}}function f(e,r){if(!Object.prototype.hasOwnProperty.call(e,r))throw TypeError("attempted to use private field on non-instance");return e}var q=0;function b(e){return"__private_"+q+++"_"+e}var m=/*#__PURE__*/b("_address"),I=/*#__PURE__*/b("_publicKey"),P=/*#__PURE__*/b("_chains"),S=/*#__PURE__*/b("_features"),T=/*#__PURE__*/b("_label"),C=/*#__PURE__*/b("_icon");class j{get address(){return f(this,m)[m]}get publicKey(){return f(this,I)[I].slice()}get chains(){return f(this,P)[P].slice()}get features(){return f(this,S)[S].slice()}get label(){return f(this,T)[T]}get icon(){return f(this,C)[C]}constructor({address:e,publicKey:r,label:n,icon:t}){Object.defineProperty(this,m,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,T,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),f(this,m)[m]=e,f(this,I)[I]=r,f(this,P)[P]=g,f(this,T)[T]=n,f(this,C)[C]=t,f(this,S)[S]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===j&&Object.freeze(this)}}function W(e,r){if(!Object.prototype.hasOwnProperty.call(e,r))throw TypeError("attempted to use private field on non-instance");return e}var E=0;function O(e){return"__private_"+E+++"_"+e}var M=/*#__PURE__*/O("_listeners"),_=/*#__PURE__*/O("_version"),k=/*#__PURE__*/O("_name"),x=/*#__PURE__*/O("_icon"),B=/*#__PURE__*/O("_injection"),D=/*#__PURE__*/O("_isPrivyWallet"),F=/*#__PURE__*/O("_accounts"),U=/*#__PURE__*/O("_on"),V=/*#__PURE__*/O("_emit"),K=/*#__PURE__*/O("_off"),R=/*#__PURE__*/O("_connected"),Q=/*#__PURE__*/O("_connect"),G=/*#__PURE__*/O("_disconnect"),J=/*#__PURE__*/O("_signMessage"),L=/*#__PURE__*/O("_signAndSendTransaction"),z=/*#__PURE__*/O("_signTransaction");function Y(e,...r){W(this,M)[M][e]?.forEach((e=>e.apply(null,r)))}function H(e,r){W(this,M)[M][e]=W(this,M)[M][e]?.filter((e=>r!==e))}function N(e){let r=t.useAppConfig(),{getAccessToken:n,user:i}=t.usePrivy(),{setModalData:o}=t.usePrivyModal(),{isHeadlessSigning:a,openModal:c,walletProxy:l,recoverEmbeddedWallet:u,privy:d}=s.usePrivyInternal(),h=t.useEmitPrivyEvent(),{signWithUserSigner:g}=t.useSignWithUserSigner();return t.usePrivyEventSubscription("signSolanaTransaction",e),{signTransaction:async({transaction:e,connection:s,uiOptions:p,transactionOptions:v,address:A})=>{let{signedTransaction:y}=await t.signOrSendSolanaTransactionInternal({privy:d,appConfig:r,getAccessToken:n,isHeadlessSigning:a,emitPrivyEvent:h,setModalData:o,openModal:c,walletProxy:l,user:i,recoverEmbeddedWallet:u,signWithUserSigner:g},{transaction:e,connection:s,transactionOptions:v,uiOptions:p,address:A,signOnly:!0});return y}}}let Z=new w({signTransaction:s.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:s.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:s.notImplementedWithMessage("signMessage was not injected")}),X=new class{get version(){return W(this,_)[_]}get name(){return W(this,k)[k]}get icon(){return W(this,x)[x]}get chains(){return g.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:W(this,Q)[Q]},"standard:disconnect":{version:"1.0.0",disconnect:W(this,G)[G]},"standard:events":{version:"1.0.0",on:W(this,U)[U]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:W(this,L)[L]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:W(this,z)[z]},"solana:signMessage":{version:"1.0.0",signMessage:W(this,J)[J]},"privy:":{privy:{signMessage:W(this,B)[B].signMessage,signTransaction:W(this,B)[B].signTransaction,signAndSendTransaction:W(this,B)[B].signAndSendTransaction}}}}get accounts(){return W(this,F)[F].slice()}get isPrivyWallet(){return W(this,D)[D]}constructor({name:e,icon:r,version:n,injection:i,wallets:s}){Object.defineProperty(this,V,{value:Y}),Object.defineProperty(this,K,{value:H}),Object.defineProperty(this,M,{writable:!0,value:void 0}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),W(this,M)[M]={},W(this,U)[U]=(e,r)=>(W(this,M)[M][e]?.push(r)||(W(this,M)[M][e]=[r]),()=>W(this,K)[K](e,r)),W(this,R)[R]=e=>{null!=e&&(W(this,F)[F]=e.map((({address:e})=>new j({address:e,publicKey:c.base58.decode(e)})))),W(this,V)[V]("change",{accounts:this.accounts})},W(this,Q)[Q]=async()=>(W(this,V)[V]("change",{accounts:this.accounts}),{accounts:this.accounts}),W(this,G)[G]=async()=>{W(this,V)[V]("change",{accounts:this.accounts})},W(this,J)[J]=async(...e)=>{let r=[];for(let{message:n,account:t}of e){let{signature:e}=await W(this,B)[B].signMessage(n,t.address);r.push({signedMessage:n,signature:e})}return r},W(this,L)[L]=async(...e)=>{let r=[];for(let{transaction:n,account:t,options:i,chain:s}of e){let{signature:e}=await W(this,B)[B].signAndSendTransaction(o.VersionedTransaction.deserialize(n),t.address,p(s||"solana:mainnet"),i);r.push({signature:c.base58.decode(e)})}return r},W(this,z)[z]=async(...e)=>{let r=[];for(let{transaction:n,account:i,options:s,chain:a}of e){let e=await W(this,B)[B].signTransaction(o.VersionedTransaction.deserialize(n),i.address,p(a||"solana:mainnet"),s),c=t.isVersionedTransaction(e)?e.serialize():new Uint8Array(e.serialize({requireAllSignatures:!1,verifySignatures:!1}));r.push({signedTransaction:c})}return r},W(this,k)[k]=e,W(this,x)[x]=r,W(this,_)[_]=n,W(this,B)[B]=i,W(this,F)[F]=[],W(this,D)[D]=!0,i.on("accountChanged",W(this,R)[R],this),W(this,R)[R](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:Z});function $(){let{solanaClusters:e}=t.useAppConfig(),{ready:r}=t.useWallets(),{user:n}=t.usePrivy(),{signMessage:s}=t.useSignMessage(),{signTransaction:a}=N(),{sendTransaction:c}=t.useSendTransaction(),l=i.useMemo((()=>{let e=[...t.getPrivySolanaHDWallets(n).sort(((e,r)=>(e.walletIndex??0)-(r.walletIndex??0)))],r=t.getImportedPrivySolanaWallet(n);return r?[...e,r]:e}),[n]),u=i.useMemo((()=>({signMessage:async(e,r)=>({signature:await s({message:e,options:{address:r}})}),async signTransaction(r,n,t){let i=new o.Connection(e[t].rpcUrl);return await a({transaction:r,address:n,connection:i})},async signAndSendTransaction(r,n,t,i){let s=new o.Connection(e[t].rpcUrl),{signature:a}=await c({transaction:r,connection:s,address:n,transactionOptions:i});return{signature:a}}})),[s,a,c,e]);return i.useEffect((()=>{Z?.setImplementation(u)}),[u]),i.useEffect((()=>{var e;!r||(e=X.accounts).length===l.length&&e.every(((e,r)=>e.address===l[r]?.address))||Z?.emit("accountChanged",l)}),[r,l]),{ready:r,wallet:X}}var ee={id:t.SOLANA_LEDGER_PLUGIN_ID,prepareSiwsTransactionWithMemo:({address:e,nonce:r})=>{let n=t.prepareSiwsMessageWithNonce({address:e,nonce:r}),i=new o.Transaction,s=new o.TransactionInstruction({keys:[{pubkey:new o.PublicKey(e),isSigner:!0,isWritable:!1}],programId:new o.PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),data:Buffer.from(n,"utf-8")});return i.add(s),i.feePayer=new o.PublicKey(e),i.recentBlockhash="GfVcyD5fWFJ6hRm8bsy7CoVPsLSoJhtJKRJYk8T2VVFN",i.serialize({requireAllSignatures:!1}).toString("base64")},deserializeTransactionFromB64String:e=>o.Transaction.from(t.bufferFrom(e,"base64"))};exports.SolanaAdapterConnector=t.SolanaWalletConnector,exports.useSendTransaction=t.useSendTransaction,exports.useSignMessage=t.useSignMessage,exports.useSolanaWallets=t.useSolanaWallets,exports.useFundWallet=l.useFundWallet,exports.toSolanaWalletConnectors=e=>{let r,{get:i,on:s}=n.getWallets(),o=e?.shouldAutoConnect??!0,a=new Map,c=[];function l(...e){h(e).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),r?.(c)}function u(...e){Array.from(a.keys()).forEach((r=>!e.includes(r)&&a.delete(r))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),r?.(c)}let d=[s("register",l),s("unregister",u)];return h(i()).forEach((e=>!a.has(e.wallet)&&a.set(e.wallet,e))),c=Array.from(a.values()).map((e=>new t.SolanaWalletConnector(e,o))),{_setOnConnectorsUpdated:e=>{r=e},onMount:()=>{d[0]||(d[0]=s("register",l)),d[1]||(d[1]=s("unregister",u))},onUnmount:()=>{let e=d.pop();for(;e;)e(),e=d.pop()},get:()=>c}},exports.useImportWallet=()=>{let{getAccessToken:e,user:r}=t.usePrivyContext(),{refreshSessionAndUser:n,initializeWalletProxy:o}=s.usePrivyInternal(),a=t.useEmitPrivyEvent();return{importWallet:i.useCallback((({privateKey:i})=>t.importWallet({getAccessToken:e,user:r,initializeWalletProxy:o,refreshSessionAndUser:n,emitPrivyEvent:a},{privateKey:i,chainType:"solana"})),[r,e,n,o,a])}},exports.usePrivyStandardWallet=$,exports.useSignTransaction=N,exports.useSolanaFundingPlugin=()=>t.useRegisterPlugin(l.t),exports.useSolanaLedgerPlugin=()=>t.useRegisterPlugin(ee),exports.useSolanaStandardWallets=function(){let{connectors:e}=s.usePrivyInternal(),{ready:r,wallet:n}=$(),[t,o]=i.useState([]);return i.useEffect((()=>{if(!r)return;let t=[n,...e.filter((e=>"solana"===e.chainType)).map((e=>e.wallet))];o(t);let i=t.map((e=>e.features["standard:events"]?.on("change",(()=>{o([...t])}))));return()=>{i.forEach((e=>e?.()))}}),[r,e]),{ready:r,wallets:t}}; |
{ | ||
"name": "@privy-io/react-auth", | ||
"version": "2.13.1-beta-20250508214717", | ||
"version": "2.13.1", | ||
"description": "React client for the Privy Auth API", | ||
@@ -140,4 +140,4 @@ "keywords": [ | ||
"@privy-io/chains": "0.0.1", | ||
"@privy-io/js-sdk-core": "0.50.1-beta-20250508214717", | ||
"@privy-io/ethereum": "0.0.1-beta-20250508214717", | ||
"@privy-io/js-sdk-core": "0.50.1", | ||
"@privy-io/ethereum": "0.0.1", | ||
"@reown/appkit": "^1.7.2", | ||
@@ -182,3 +182,3 @@ "@scure/base": "^1.2.5", | ||
"@privy-io/eslint-config-custom": "*", | ||
"@privy-io/public-api": "2.25.0-beta-20250508214717", | ||
"@privy-io/public-api": "2.25.0", | ||
"@privy-io/testing": "*", | ||
@@ -185,0 +185,0 @@ "@rollup/plugin-commonjs": "^26.0.1", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
12
-7.69%1
-50%2370907
014039
-0.01%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated