@privy-io/react-auth 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/cjs/{EmbeddedWalletConnectingScreen-D_YsihzO.js → EmbeddedWalletConnectingScreen-i0UDHMDq.js} +1 -1
  2. package/dist/cjs/{SignRequestScreen-MGUrxay9.js → SignRequestScreen-H5r467q6.js} +1 -1
  3. package/dist/cjs/abstract-smart-wallets.js +1 -1
  4. package/dist/cjs/{events-context-Dn0fJZ2h.js → events-context-Cgq8fGB0.js} +1 -1
  5. package/dist/cjs/extended-chains.js +1 -1
  6. package/dist/cjs/index.js +2 -2
  7. package/dist/cjs/internal.js +1 -1
  8. package/dist/cjs/{smart-wallets-5q-XiLac.js → smart-wallets-B0bTYa6G.js} +1 -1
  9. package/dist/cjs/smart-wallets.js +1 -1
  10. package/dist/cjs/solana.js +1 -1
  11. package/dist/cjs/ui.js +1 -1
  12. package/dist/cjs/{use-export-wallet-C7R1A29C.js → use-export-wallet-BhYG6ocQ.js} +1 -1
  13. package/dist/cjs/{useActiveWallet-E94x91YD.js → useActiveWallet-BoPIudwB.js} +1 -1
  14. package/dist/cjs/{usePrivy-BEZb4Uky.js → usePrivy-CLLJiDdU.js} +1 -1
  15. package/dist/dts/index.d.mts +1 -1
  16. package/dist/dts/index.d.ts +1 -1
  17. package/dist/esm/{EmbeddedWalletConnectingScreen-ilL_GaJO.mjs → EmbeddedWalletConnectingScreen-BehtOUIO.mjs} +1 -1
  18. package/dist/esm/{SignRequestScreen-B3UhThlp.mjs → SignRequestScreen-W1brL2hg.mjs} +1 -1
  19. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  20. package/dist/esm/{events-context-CB7CF-OC.mjs → events-context-BKqrDYHW.mjs} +1 -1
  21. package/dist/esm/extended-chains.mjs +1 -1
  22. package/dist/esm/index.mjs +2 -2
  23. package/dist/esm/internal.mjs +1 -1
  24. package/dist/esm/{smart-wallets-DINPJbZr.mjs → smart-wallets-CZ7EzP9s.mjs} +1 -1
  25. package/dist/esm/smart-wallets.mjs +1 -1
  26. package/dist/esm/solana.mjs +1 -1
  27. package/dist/esm/ui.mjs +1 -1
  28. package/dist/esm/{use-export-wallet-CED1-6Km.mjs → use-export-wallet-CPxLgKFx.mjs} +1 -1
  29. package/dist/esm/{useActiveWallet-2NxrDpZU.mjs → useActiveWallet-Bw1ry9JQ.mjs} +1 -1
  30. package/dist/esm/{usePrivy-DhsfOIjx.mjs → usePrivy-BJ3NMQui.mjs} +1 -1
  31. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@scure/base"),t=require("lucide-react"),o=require("react"),i=require("styled-components"),n=require("viem"),s=require("@privy-io/js-sdk-core"),a=require("./EmbeddedWalletConnectingScreen-D_YsihzO.js"),l=require("./events-context-Dn0fJZ2h.js"),d=require("./internal-context-CeWKmK5u.js");const c=({style:r,color:t,...o})=>/*#__PURE__*/e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:t||"currentColor",style:{height:"1.5rem",width:"1.5rem",...r},...o,children:/*#__PURE__*/e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4.5 12.75l6 6 9-13.5"})}),p=r=>{let[t,i]=o.useState(!1);/*#__PURE__*/return e.jsxs(u,{color:r.color,onClick:()=>{i(!0),navigator.clipboard.writeText(r.text),setTimeout((()=>i(!1)),1500)},$justCopied:t,children:[t?/*#__PURE__*/e.jsx(c,{style:{height:"14px",width:"14px"},strokeWidth:"2"}):/*#__PURE__*/e.jsx(a.Copy,{style:{height:"14px",width:"14px"}}),t?"Copied":"Copy"," ",r.itemName?r.itemName:"to Clipboard"]})};let u=/*#__PURE__*/i.styled.button.withConfig({displayName:"StyledCopytoClipboardButton",componentId:"sc-46f4187f-0"})(["display:flex;align-items:center;gap:6px;&&{margin:8px 2px;font-size:14px;color:",";font-weight:",";transition:color 350ms ease;:focus,:active{background-color:transparent;border:none;outline:none;box-shadow:none;}:hover{color:",";}:active{color:'var(--privy-color-foreground)';font-weight:medium;}@media (max-width:440px){margin:12px 2px;}}svg{width:14px;height:14px;}"],(e=>e.$justCopied?"var(--privy-color-foreground)":e.color||"var(--privy-color-foreground-3)"),(e=>e.$justCopied?"medium":"normal"),(e=>e.$justCopied?"var(--privy-color-foreground)":"var(--privy-color-foreground-2)"));const g=/*#__PURE__*/i.styled.img.withConfig({displayName:"StyledLogo",componentId:"sc-68c1b1ea-0"})(["&&{height:",";width:",";border-radius:16px;margin-bottom:12px;}"],(e=>"sm"===e.size?"65px":"140px"),(e=>"sm"===e.size?"65px":"140px"));let y=e=>{if(!n.isHex(e))return e;try{let r=n.hexToString(e);return r.includes("�")?e:r}catch{return e}},x=e=>{try{let t=r.base64.decode(e),o=(new TextDecoder).decode(t);return o.includes("�")?e:o}catch{return e}},m=r=>{let{types:t,primaryType:o,...i}=r.typedData;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(w,{data:i}),/*#__PURE__*/e.jsx(p,{text:(n=r.typedData,JSON.stringify(n,null,2)),itemName:"full payload to clipboard"})," "]});var n};const h=({method:r,messageData:o,copy:i,iconUrl:n,isLoading:s,success:l,walletProxyIsLoading:d,errorMessage:c,isCancellable:p,onSign:u,onCancel:h,onClose:v})=>/*#__PURE__*/e.jsx(a.ScreenLayout,{title:i.title,subtitle:i.description,showClose:!0,onClose:v,icon:t.Edit,iconVariant:"subtle",helpText:c?/*#__PURE__*/e.jsx(f,{children:c}):void 0,primaryCta:{label:i.buttonText,onClick:u,disabled:s||l||d,loading:s},secondaryCta:p?{label:"Not now",onClick:h,disabled:s||l||d}:void 0,watermark:!0,children:/*#__PURE__*/e.jsxs(a.FixedGappedContainer,{children:[n?/*#__PURE__*/e.jsx(g,{style:{alignSelf:"center"},size:"sm",src:n,alt:"app image"}):null,/*#__PURE__*/e.jsxs(C,{children:["personal_sign"===r&&/*#__PURE__*/e.jsx(E,{children:y(o)}),"eth_signTypedData_v4"===r&&/*#__PURE__*/e.jsx(m,{typedData:o}),"solana_signMessage"===r&&/*#__PURE__*/e.jsx(E,{children:x(o)})]})]})}),v={component:()=>{let{authenticated:r}=a.usePrivyContext(),{initializeWalletProxy:t,closePrivyModal:i}=d.usePrivyInternal(),{navigate:n,data:c,onUserCloseViaDialogOrKeybindRef:p}=a.usePrivyModal(),[u,g]=o.useState(!0),[y,x]=o.useState(""),[m,v]=o.useState(),[C,f]=o.useState(null),[w,E]=o.useState(!1);o.useEffect((()=>{r||n(a.LandingScreen)}),[r]),o.useEffect((()=>{t(l.WALLET_PROXY_TIMEOUT).then((e=>{g(!1),e||(x("An error has occurred, please try again."),v(new a.PrivyProviderRpcError(new a.ProviderRpcError(y,s.ProviderErrors.E32603_DEFAULT_INTERNAL_ERROR.eipCode))))}))}),[]);let{method:S,data:b,confirmAndSign:j,onSuccess:T,onFailure:R,uiOptions:P}=c.signMessage,_={title:P?.title||"Sign message",description:P?.description||"Signing this message will not cost you any fees.",buttonText:P?.buttonText||"Sign and continue"},N=e=>{e?T(e):R(m||new a.PrivyProviderRpcError(new a.ProviderRpcError("The user rejected the request.",s.ProviderErrors.E4001_USER_REJECTED_REQUEST.eipCode))),i({shouldCallAuthOnSuccess:!1}),setTimeout((()=>{f(null),x(""),v(void 0)}),200)};p.current=()=>{N(C)};/*#__PURE__*/return e.jsx(h,{method:S,messageData:b,copy:_,iconUrl:P?.iconUrl&&"string"==typeof P.iconUrl?P.iconUrl:void 0,isLoading:w,success:null!==C,walletProxyIsLoading:u,errorMessage:y,isCancellable:P?.isCancellable,onSign:async()=>{E(!0),x("");try{let e=await j();f(e),E(!1),setTimeout((()=>{N(e)}),l.DEFAULT_SUCCESS_SCREEN_DURATION_MS)}catch(e){console.error(e),x("An error has occurred, please try again."),v(new a.PrivyProviderRpcError(new a.ProviderRpcError(y,s.ProviderErrors.E32603_DEFAULT_INTERNAL_ERROR.eipCode))),E(!1)}},onCancel:()=>N(null),onClose:()=>N(C)})}};let C=/*#__PURE__*/i.styled.div.withConfig({displayName:"MessageContainer",componentId:"sc-e01d451f-0"})(["flex:1;display:flex;flex-direction:column;gap:16px;"]),f=/*#__PURE__*/i.styled.p.withConfig({displayName:"ErrorText",componentId:"sc-e01d451f-1"})(["&&{margin:0;width:100%;text-align:center;color:var(--privy-color-error-dark);font-size:14px;line-height:22px;}"]),w=/*#__PURE__*/i.styled(a.DisplayJsonTree).withConfig({displayName:"StyledDisplayJsonTree",componentId:"sc-e01d451f-2"})(["margin-top:0;"]),E=/*#__PURE__*/i.styled(a.Message).withConfig({displayName:"StyledMessage",componentId:"sc-e01d451f-3"})(["margin-top:0;"]);exports.CopytoClipboardButton=p,exports.SignRequestScreen=v;
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("@scure/base"),t=require("lucide-react"),o=require("react"),i=require("styled-components"),n=require("viem"),s=require("@privy-io/js-sdk-core"),a=require("./EmbeddedWalletConnectingScreen-i0UDHMDq.js"),l=require("./events-context-Cgq8fGB0.js"),d=require("./internal-context-CeWKmK5u.js");const c=({style:r,color:t,...o})=>/*#__PURE__*/e.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:t||"currentColor",style:{height:"1.5rem",width:"1.5rem",...r},...o,children:/*#__PURE__*/e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4.5 12.75l6 6 9-13.5"})}),p=r=>{let[t,i]=o.useState(!1);/*#__PURE__*/return e.jsxs(u,{color:r.color,onClick:()=>{i(!0),navigator.clipboard.writeText(r.text),setTimeout((()=>i(!1)),1500)},$justCopied:t,children:[t?/*#__PURE__*/e.jsx(c,{style:{height:"14px",width:"14px"},strokeWidth:"2"}):/*#__PURE__*/e.jsx(a.Copy,{style:{height:"14px",width:"14px"}}),t?"Copied":"Copy"," ",r.itemName?r.itemName:"to Clipboard"]})};let u=/*#__PURE__*/i.styled.button.withConfig({displayName:"StyledCopytoClipboardButton",componentId:"sc-46f4187f-0"})(["display:flex;align-items:center;gap:6px;&&{margin:8px 2px;font-size:14px;color:",";font-weight:",";transition:color 350ms ease;:focus,:active{background-color:transparent;border:none;outline:none;box-shadow:none;}:hover{color:",";}:active{color:'var(--privy-color-foreground)';font-weight:medium;}@media (max-width:440px){margin:12px 2px;}}svg{width:14px;height:14px;}"],(e=>e.$justCopied?"var(--privy-color-foreground)":e.color||"var(--privy-color-foreground-3)"),(e=>e.$justCopied?"medium":"normal"),(e=>e.$justCopied?"var(--privy-color-foreground)":"var(--privy-color-foreground-2)"));const g=/*#__PURE__*/i.styled.img.withConfig({displayName:"StyledLogo",componentId:"sc-68c1b1ea-0"})(["&&{height:",";width:",";border-radius:16px;margin-bottom:12px;}"],(e=>"sm"===e.size?"65px":"140px"),(e=>"sm"===e.size?"65px":"140px"));let y=e=>{if(!n.isHex(e))return e;try{let r=n.hexToString(e);return r.includes("�")?e:r}catch{return e}},x=e=>{try{let t=r.base64.decode(e),o=(new TextDecoder).decode(t);return o.includes("�")?e:o}catch{return e}},m=r=>{let{types:t,primaryType:o,...i}=r.typedData;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(w,{data:i}),/*#__PURE__*/e.jsx(p,{text:(n=r.typedData,JSON.stringify(n,null,2)),itemName:"full payload to clipboard"})," "]});var n};const h=({method:r,messageData:o,copy:i,iconUrl:n,isLoading:s,success:l,walletProxyIsLoading:d,errorMessage:c,isCancellable:p,onSign:u,onCancel:h,onClose:v})=>/*#__PURE__*/e.jsx(a.ScreenLayout,{title:i.title,subtitle:i.description,showClose:!0,onClose:v,icon:t.Edit,iconVariant:"subtle",helpText:c?/*#__PURE__*/e.jsx(f,{children:c}):void 0,primaryCta:{label:i.buttonText,onClick:u,disabled:s||l||d,loading:s},secondaryCta:p?{label:"Not now",onClick:h,disabled:s||l||d}:void 0,watermark:!0,children:/*#__PURE__*/e.jsxs(a.FixedGappedContainer,{children:[n?/*#__PURE__*/e.jsx(g,{style:{alignSelf:"center"},size:"sm",src:n,alt:"app image"}):null,/*#__PURE__*/e.jsxs(C,{children:["personal_sign"===r&&/*#__PURE__*/e.jsx(E,{children:y(o)}),"eth_signTypedData_v4"===r&&/*#__PURE__*/e.jsx(m,{typedData:o}),"solana_signMessage"===r&&/*#__PURE__*/e.jsx(E,{children:x(o)})]})]})}),v={component:()=>{let{authenticated:r}=a.usePrivyContext(),{initializeWalletProxy:t,closePrivyModal:i}=d.usePrivyInternal(),{navigate:n,data:c,onUserCloseViaDialogOrKeybindRef:p}=a.usePrivyModal(),[u,g]=o.useState(!0),[y,x]=o.useState(""),[m,v]=o.useState(),[C,f]=o.useState(null),[w,E]=o.useState(!1);o.useEffect((()=>{r||n(a.LandingScreen)}),[r]),o.useEffect((()=>{t(l.WALLET_PROXY_TIMEOUT).then((e=>{g(!1),e||(x("An error has occurred, please try again."),v(new a.PrivyProviderRpcError(new a.ProviderRpcError(y,s.ProviderErrors.E32603_DEFAULT_INTERNAL_ERROR.eipCode))))}))}),[]);let{method:S,data:b,confirmAndSign:j,onSuccess:T,onFailure:R,uiOptions:P}=c.signMessage,_={title:P?.title||"Sign message",description:P?.description||"Signing this message will not cost you any fees.",buttonText:P?.buttonText||"Sign and continue"},N=e=>{e?T(e):R(m||new a.PrivyProviderRpcError(new a.ProviderRpcError("The user rejected the request.",s.ProviderErrors.E4001_USER_REJECTED_REQUEST.eipCode))),i({shouldCallAuthOnSuccess:!1}),setTimeout((()=>{f(null),x(""),v(void 0)}),200)};p.current=()=>{N(C)};/*#__PURE__*/return e.jsx(h,{method:S,messageData:b,copy:_,iconUrl:P?.iconUrl&&"string"==typeof P.iconUrl?P.iconUrl:void 0,isLoading:w,success:null!==C,walletProxyIsLoading:u,errorMessage:y,isCancellable:P?.isCancellable,onSign:async()=>{E(!0),x("");try{let e=await j();f(e),E(!1),setTimeout((()=>{N(e)}),l.DEFAULT_SUCCESS_SCREEN_DURATION_MS)}catch(e){console.error(e),x("An error has occurred, please try again."),v(new a.PrivyProviderRpcError(new a.ProviderRpcError(y,s.ProviderErrors.E32603_DEFAULT_INTERNAL_ERROR.eipCode))),E(!1)}},onCancel:()=>N(null),onClose:()=>N(C)})}};let C=/*#__PURE__*/i.styled.div.withConfig({displayName:"MessageContainer",componentId:"sc-e01d451f-0"})(["flex:1;display:flex;flex-direction:column;gap:16px;"]),f=/*#__PURE__*/i.styled.p.withConfig({displayName:"ErrorText",componentId:"sc-e01d451f-1"})(["&&{margin:0;width:100%;text-align:center;color:var(--privy-color-error-dark);font-size:14px;line-height:22px;}"]),w=/*#__PURE__*/i.styled(a.DisplayJsonTree).withConfig({displayName:"StyledDisplayJsonTree",componentId:"sc-e01d451f-2"})(["margin-top:0;"]),E=/*#__PURE__*/i.styled(a.Message).withConfig({displayName:"StyledMessage",componentId:"sc-e01d451f-3"})(["margin-top:0;"]);exports.CopytoClipboardButton=p,exports.SignRequestScreen=v;
@@ -1 +1 @@
1
- "use strict";var e=require("@abstract-foundation/agw-client"),r=require("@abstract-foundation/agw-client/actions"),n=require("viem"),t=require("viem/accounts"),a=require("viem/chains"),i=require("./EmbeddedWalletConnectingScreen-D_YsihzO.js"),o=require("./events-context-Dn0fJZ2h.js"),s=require("./internal-context-CeWKmK5u.js"),c=require("./SignRequestScreen-MGUrxay9.js"),l=require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),u=require("./smart-wallets-5q-XiLac.js");require("react/jsx-runtime"),require("lucide-react"),require("react"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("styled-components"),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/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@privy-io/js-sdk-core"),require("zustand"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("@scure/base"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("ofetch"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),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/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@privy-io/urls"),require("tinycolor2"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction"),exports.useAbstractSmartWallets=function(){let{user:d}=i.usePrivyContext(),{hideWalletUIs:p,openPrivyModal:h,chains:g,appId:y,rpcConfig:m,client:q}=s.usePrivyInternal(),I=o.useAppConfig(),{wallets:v}=i.useWallets(),{setModalData:f}=i.usePrivyModal(),T=i.getPrivyEthereumWallet(d),C=!!T&&i.getIsUnifiedWallet(T),S=async(r=a.abstractTestnet.id)=>{let o=l.getEmbeddedConnectedWallet(v);if(!o)throw Error("No connected wallet found");let s="string"==typeof r?n.hexToNumber(r):r;if(![a.abstractTestnet.id,2741,a.zksync.id].includes(s))throw Error("Error, only Abstract and ZKSync Era chains are supported");let c=g.find((e=>e.id===s));if(!c)throw Error("Chain not configured");await o.switchChain(c.id);let u=await o.getEthereumProvider(),d=n.createWalletClient({account:o.address,transport:n.custom(u)}),p=t.toAccount({address:o.address,signMessage:d.signMessage,signTransaction:d.signTransaction,signTypedData:d.signTypedData});return await e.createAbstractClient({chain:c,transport:n.http(i.getJsonRpcEndpointFromChain(c,m,y)),publicTransport:n.http(i.getJsonRpcEndpointFromChain(c,m,y)),signer:p})};return{signMessage:async({message:e},r)=>{let n=await S(r);return new Promise((async(r,t)=>{let{entropyId:a,entropyIdVerifier:o}=i.getEntropyDetailsForUser(d);p.current=!0,f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:a,entropyIdVerifier:o,onCompleteNavigateTo:c.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>n.signMessage({message:e}),onSuccess:e=>r(e),onFailure:t,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))},signTypedData:async(e,r)=>{let n=await S(r);return new Promise((async(r,t)=>{p.current=!0;let{entropyId:a,entropyIdVerifier:o}=i.getEntropyDetailsForUser(d);f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:a,entropyIdVerifier:o,onCompleteNavigateTo:c.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>r(e),onFailure:t,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))},sendTransaction:async e=>{let n=await S(e.chainId),t=[],a="calls"in e&&void 0!==e.calls;return t=a?[...e.calls]:[e],new Promise((async(o,s)=>{p.current=!0;let{entropyId:c,entropyIdVerifier:l}=i.getEntropyDetailsForUser(d);f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:c,entropyIdVerifier:l,onCompleteNavigateTo:i.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:u.callsToTransactionRequests({calls:t,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:c,entropyIdVerifier:l,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let t=a?r.getBatchTransactionObject(n.account.address,e):e;return await n.prepareAbstractTransactionRequest(t)},scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let t=a?r.getBatchTransactionObject(n.account.address,e):e,i=await n.prepareAbstractTransactionRequest(t);return await q.scanTransaction({metadata:{domain:I.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:i.from,to:i.to,value:i.value?.toString(),gas:i.gas?.toString(),gasPrice:i.gasPrice?.toString(),nonce:i.nonce?.toString(),data:i.data,eip_712_meta:{paymaster_params:{paymaster:i.paymaster,paymaster_input:i.paymasterInput}}}]}})},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>a?n.sendTransactionBatch(e):n.sendTransaction(e),onSuccess:e=>o(e.hash),onFailure:s,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))},signTransaction:async e=>{let n=await S(e.chainId),t=[],a="calls"in e&&void 0!==e.calls;return t=a?[...e.calls]:[e],new Promise((async(o,s)=>{p.current=!0;let{entropyId:c,entropyIdVerifier:l}=i.getEntropyDetailsForUser(d);f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:c,entropyIdVerifier:l,onCompleteNavigateTo:i.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:u.callsToTransactionRequests({calls:t,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:c,entropyIdVerifier:l,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let t=a?r.getBatchTransactionObject(n.account.address,e):e;return await n.prepareAbstractTransactionRequest(t)},scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let t=a?r.getBatchTransactionObject(n.account.address,e):e,i=await n.prepareAbstractTransactionRequest(t);return await q.scanTransaction({metadata:{domain:I.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:i.from,to:i.to,value:i.value?.toString(),gas:i.gas?.toString(),gasPrice:i.gasPrice?.toString(),nonce:i.nonce?.toString(),data:i.data,eip_712_meta:{paymaster_params:{paymaster:i.paymaster,paymaster_input:i.paymasterInput}}}]}})},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:async()=>{let t=a?r.getBatchTransactionObject(n.account.address,e):e,i=await n.prepareAbstractTransactionRequest(t);return n.signTransaction(i)},onSuccess:e=>o(e.hash),onFailure:s,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))}}};
1
+ "use strict";var e=require("@abstract-foundation/agw-client"),r=require("@abstract-foundation/agw-client/actions"),n=require("viem"),t=require("viem/accounts"),a=require("viem/chains"),i=require("./EmbeddedWalletConnectingScreen-i0UDHMDq.js"),o=require("./events-context-Cgq8fGB0.js"),s=require("./internal-context-CeWKmK5u.js"),c=require("./SignRequestScreen-H5r467q6.js"),l=require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),u=require("./smart-wallets-B0bTYa6G.js");require("react/jsx-runtime"),require("lucide-react"),require("react"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("styled-components"),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/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("@privy-io/js-sdk-core"),require("zustand"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("@scure/base"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("ofetch"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),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/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@privy-io/urls"),require("tinycolor2"),require("permissionless"),require("permissionless/accounts"),require("permissionless/clients/pimlico"),require("viem/account-abstraction"),exports.useAbstractSmartWallets=function(){let{user:d}=i.usePrivyContext(),{hideWalletUIs:p,openPrivyModal:h,chains:g,appId:y,rpcConfig:m,client:q}=s.usePrivyInternal(),I=o.useAppConfig(),{wallets:v}=i.useWallets(),{setModalData:f}=i.usePrivyModal(),T=i.getPrivyEthereumWallet(d),C=!!T&&i.getIsUnifiedWallet(T),S=async(r=a.abstractTestnet.id)=>{let o=l.getEmbeddedConnectedWallet(v);if(!o)throw Error("No connected wallet found");let s="string"==typeof r?n.hexToNumber(r):r;if(![a.abstractTestnet.id,2741,a.zksync.id].includes(s))throw Error("Error, only Abstract and ZKSync Era chains are supported");let c=g.find((e=>e.id===s));if(!c)throw Error("Chain not configured");await o.switchChain(c.id);let u=await o.getEthereumProvider(),d=n.createWalletClient({account:o.address,transport:n.custom(u)}),p=t.toAccount({address:o.address,signMessage:d.signMessage,signTransaction:d.signTransaction,signTypedData:d.signTypedData});return await e.createAbstractClient({chain:c,transport:n.http(i.getJsonRpcEndpointFromChain(c,m,y)),publicTransport:n.http(i.getJsonRpcEndpointFromChain(c,m,y)),signer:p})};return{signMessage:async({message:e},r)=>{let n=await S(r);return new Promise((async(r,t)=>{let{entropyId:a,entropyIdVerifier:o}=i.getEntropyDetailsForUser(d);p.current=!0,f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:a,entropyIdVerifier:o,onCompleteNavigateTo:c.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"personal_sign",data:e,confirmAndSign:()=>n.signMessage({message:e}),onSuccess:e=>r(e),onFailure:t,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))},signTypedData:async(e,r)=>{let n=await S(r);return new Promise((async(r,t)=>{p.current=!0;let{entropyId:a,entropyIdVerifier:o}=i.getEntropyDetailsForUser(d);f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:a,entropyIdVerifier:o,onCompleteNavigateTo:c.SignRequestScreen,onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>r(e),onFailure:t,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))},sendTransaction:async e=>{let n=await S(e.chainId),t=[],a="calls"in e&&void 0!==e.calls;return t=a?[...e.calls]:[e],new Promise((async(o,s)=>{p.current=!0;let{entropyId:c,entropyIdVerifier:l}=i.getEntropyDetailsForUser(d);f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:c,entropyIdVerifier:l,onCompleteNavigateTo:i.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:u.callsToTransactionRequests({calls:t,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:c,entropyIdVerifier:l,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let t=a?r.getBatchTransactionObject(n.account.address,e):e;return await n.prepareAbstractTransactionRequest(t)},scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let t=a?r.getBatchTransactionObject(n.account.address,e):e,i=await n.prepareAbstractTransactionRequest(t);return await q.scanTransaction({metadata:{domain:I.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:i.from,to:i.to,value:i.value?.toString(),gas:i.gas?.toString(),gasPrice:i.gasPrice?.toString(),nonce:i.nonce?.toString(),data:i.data,eip_712_meta:{paymaster_params:{paymaster:i.paymaster,paymaster_input:i.paymasterInput}}}]}})},signOnly:!1,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:()=>a?n.sendTransactionBatch(e):n.sendTransaction(e),onSuccess:e=>o(e.hash),onFailure:s,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))},signTransaction:async e=>{let n=await S(e.chainId),t=[],a="calls"in e&&void 0!==e.calls;return t=a?[...e.calls]:[e],new Promise((async(o,s)=>{p.current=!0;let{entropyId:c,entropyIdVerifier:l}=i.getEntropyDetailsForUser(d);f({connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,isUnifiedWallet:C,entropyId:c,entropyIdVerifier:l,onCompleteNavigateTo:i.SendTransactionScreen,onFailure:()=>{}},sendTransaction:{transactionRequests:u.callsToTransactionRequests({calls:t,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),entropyId:c,entropyIdVerifier:l,transactingWalletAddress:n.account.address,transactingWalletIndex:void 0,prepareTransactionRequest:async()=>{let t=a?r.getBatchTransactionObject(n.account.address,e):e;return await n.prepareAbstractTransactionRequest(t)},scanTransaction:async()=>{if(!q)throw Error("Privy client not found");let t=a?r.getBatchTransactionObject(n.account.address,e):e,i=await n.prepareAbstractTransactionRequest(t);return await q.scanTransaction({metadata:{domain:I.embeddedWallets.transactionScanning.domain},chain_id:e.chainId.toString(),request:{method:"eth_sendTransaction",params:[{from:i.from,to:i.to,value:i.value?.toString(),gas:i.gas?.toString(),gasPrice:i.gasPrice?.toString(),nonce:i.nonce?.toString(),data:i.data,eip_712_meta:{paymaster_params:{paymaster:i.paymaster,paymaster_input:i.paymasterInput}}}]}})},signOnly:!0,getIsSponsored:async()=>void 0!==e.paymaster&&void 0!==e.paymasterInput,onConfirm:async()=>{let t=a?r.getBatchTransactionObject(n.account.address,e):e,i=await n.prepareAbstractTransactionRequest(t);return n.signTransaction(i)},onSuccess:e=>o(e.hash),onFailure:s,uiOptions:{isCancellable:!0}}}),h(i.EmbeddedWalletConnectingScreen)})).finally((()=>{p.current=!1}))}}};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("@privy-io/js-sdk-core");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/o(require("tinycolor2"));const r={appearance:{landingHeader:"Log in or sign up",theme:"light",walletList:["detected_ethereum_wallets","detected_solana_wallets","metamask","coinbase_wallet","rainbow","base_account","wallet_connect"]},walletConnectCloudProjectId:"34357d3c125c2bcf2ce2bc3309d98715",captchaEnabled:!1,_render:{standalone:!1},fundingMethodConfig:{moonpay:{useSandbox:!1}}};let l=new Set(["coinbase_wallet","base_account","cryptocom","metamask","okx_wallet","phantom","rainbow","uniswap","zerion","universal_profile","bybit_wallet","ronin_wallet","haha_wallet","wallet_connect","wallet_connect_qr","wallet_connect_qr_solana","detected_solana_wallets","detected_ethereum_wallets","rabby_wallet","safe","solflare","backpack","binance","binanceus","bitget_wallet"]),i=e=>l.has(e),c=(e,t,n)=>n.indexOf(e)===t;const s=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter(i).filter(c):e?e.filter(i).filter(c):r.appearance.walletList;function d(e,t){let n=Math.max(0,Math.min(1,e.toHsl().l+t));return a.default({...e.toHsl(),l:n})}function u(e,t){let n=e.getLuminance(),o=t.getLuminance();return(Math.max(n,o)+.05)/(Math.min(n,o)+.05)}function g(e,t){if(!e){let e=t?f:p;return{accent:a.default(e.background.interactive),accentLight:a.default(e.background.interactive),accentHover:a.default(e.background["interactive-hover"]),accentDark:a.default(e.background["interactive-clicked"]),accentDarkest:a.default(e.background["interactive-disabled"])}}let n=a.default(e);return{accent:n,accentLight:d(n,.15),accentHover:d(n,.3),accentDark:d(n,-.06),accentDarkest:d(n,-.6)}}function _({backgroundTheme:e,accentHex:t}){let n,o;"light"===e?n=!1:"dark"===e?n=!0:(n=.5>=a.default(e).getLuminance(),o=a.default(e).toHslString());let r=n?"dark":"light",l=n?f:p,{accent:i,accentLight:c,accentHover:s,accentDark:d,accentDarkest:_}=g(t,n),h=function(e){let t=a.default(p.text.default),n=a.default(f.text.default),o=u(e,t),r=u(e,n),l=e.toHsl();return l.h>=220&&l.h<=300&&r>=3?f.text.default:o>r?p.text.default:f.text.default}(i),b=a.default(h),v=u(i,a.default(l.background.default))>=3;return{colorScheme:r,background:o||l.background.default,background2:l.background.elevated,background3:l.background.interactive,foreground:l.text.default,foreground2:l.text.muted,foreground3:l.text.placeholder,foreground4:l.border.default,accent:i.toHslString(),accentLight:c.toHslString(),accentHover:s.toHslString(),accentDark:d.toHslString(),accentDarkest:_.toHslString(),foregroundAccent:b.toHslString(),success:l.background.success,successDark:l.text.success,successLight:l.background.success,error:l.text.error,errorLight:l.background.error,warn:l.background.warning,warnLight:l.background.warning,warningDark:l.text.warning,errorDark:l.text.error,successBg:l.background.success,errorBg:l.background.error,errorBgHover:l.background["error-hover"],warnBg:l.background.warning,infoBg:l.background.info,infoBgHover:l.background["info-hover"],borderDefault:l.border.default,borderHover:l.border["default-hover"],borderFocus:l.border.focused,borderError:l.border.error,borderSuccess:l.border.success,borderWarning:l.border.warning,borderInfo:l.border.info,borderInteractive:l.border.interactive,borderInteractiveHover:l.border["interactive-hover"],backgroundHover:l.background["default-hover"],backgroundClicked:l.background["default-clicked"],backgroundDisabled:l.background["default-disabled"],backgroundInteractive:l.background.interactive,backgroundInteractiveHover:l.background["interactive-hover"],backgroundInteractiveClicked:l.background["interactive-clicked"],backgroundInteractiveDisabled:l.background["interactive-disabled"],foregroundHover:l.text.default,foregroundClicked:l.text.default,foregroundDisabled:l.text["default-disabled"],foregroundInteractive:l.text.interactive,foregroundInteractiveHover:l.text["interactive-hover"],accentHasGoodContrast:v?"1":"0",linkNavigationColor:v?i.toHslString():l.text.default,linkNavigationDecoration:v?"none":"underline",iconDefault:l.icon.default,iconMuted:l.icon.muted,iconSubtle:l.icon.subtle,iconInverse:l.icon.inverse,iconSuccess:l.icon.success,iconWarning:l.icon.warning,iconError:l.icon.error,iconInteractive:l.icon.interactive,iconDefaultHover:l.icon["default-hover"],iconMutedHover:l.icon["muted-hover"],iconSubtleHover:l.icon["subtle-hover"],iconDefaultClicked:l.icon["default-clicked"],iconMutedClicked:l.icon["muted-clicked"],iconSubtleClicked:l.icon["subtle-clicked"],iconDefaultDisabled:l.icon["default-disabled"],iconMutedDisabled:l.icon["muted-disabled"],iconSubtleDisabled:l.icon["subtle-disabled"],iconErrorHover:l.icon["error-hover"],iconInteractiveHover:l.icon["interactive-hover"],iconErrorClicked:l.icon["error-clicked"],iconInteractiveClicked:l.icon["interactive-clicked"],iconMutedDisabledAlt:l.icon["muted-disabled"],iconSubtleDisabledAlt:l.icon["subtle-disabled"]}}const f={background:{default:"#020713",elevated:"#1A2230","default-hover":"#101724","default-clicked":"#1A2230","default-disabled":"#020713",success:"#0E3E2D",warning:"#373827",error:"#2E0C18",interactive:"#8B86FF","error-hover":"#441821","interactive-hover":"#7B73E5","interactive-clicked":"#6560CC","interactive-disabled":"#141824",info:"#1F2937","info-hover":"#141824"},icon:{default:"#F8F8F8",muted:"#9BA2AE",subtle:"#7B8491",inverse:"#020713",success:"#88E3B5",warning:"#FDF27B",error:"#EF4444",interactive:"#88B6FF","default-hover":"#F8F8F8","muted-hover":"#AEB3BD","subtle-hover":"#8B939E","default-clicked":"#F8F8F8","muted-clicked":"#9097A5","subtle-clicked":"#78818E","default-disabled":"#404452","muted-disabled":"#404452","subtle-disabled":"#404452","error-hover":"#F05555","interactive-hover":"#7B73E5","error-clicked":"#EF4444","interactive-clicked":"#6560CC"},text:{default:"#F8F8F8",muted:"#9BA2AE",placeholder:"#7B8491",success:"#ACEECB",warning:"#FEF9A0",error:"#FCA5A5",interactive:"#A29EFF","default-disabled":"#404452","interactive-hover":"#8C88E5"},border:{default:"#1F2937",interactive:"#88B0FF",focused:"#F8F8FC",info:"#5B83D3",success:"#317056",warning:"#FBBF24",error:"#F87171","default-hover":"#34304A","interactive-hover":"#88B0FF"}},p={background:{default:"#FFFFFF",elevated:"#F1F2F9","default-hover":"#F8F9FC","default-clicked":"#F1F2F9","default-disabled":"#FFFFFF",success:"#DCFCE7",warning:"#FEF3C7",error:"#FEE2E2",interactive:"#5B4FFF","error-hover":"#FECACA","interactive-hover":"#4F46E5","interactive-clicked":"#4338CA","interactive-disabled":"#F1F2F9",info:"#E0E7FF","info-hover":"#EEF2FF"},icon:{default:"#110F2A",muted:"#64668B",subtle:"#9498B8",inverse:"#FFFFFF",success:"#33B287",warning:"#F59E0B",error:"#EF4444",interactive:"#564FFF","default-hover":"#1D1B35","muted-hover":"#64668B","subtle-hover":"#888AAE","default-clicked":"#060C23","muted-clicked":"#64668B","subtle-clicked":"#788804","default-disabled":"#CBCDE1","muted-disabled":"#CBCDE1","subtle-disabled":"#CBCDE1","error-hover":"#F06060","interactive-hover":"#4F46E5","error-clicked":"#DC3838","interactive-clicked":"#2BA482"},text:{default:"#040217",muted:"#64668B",placeholder:"#9498B8",success:"#135638",warning:"#906218",error:"#991B1B",interactive:"#5B4FFF","default-disabled":"#CBCDE1","interactive-hover":"#5B4FFF"},border:{default:"#E2E3F0",interactive:"#5B4FFF",focused:"#949DF9",info:"#F1F2F9",success:"#87D7B7",warning:"#FACD63",error:"#F69393","default-hover":"#E2E3F0","interactive-hover":"#5B4FFF"}};function h(e,t,n,o,a){let l,i,c,d,u,g,f,p,h,v,m,E,C,w,k,F,y,A=n?console.warn:()=>{};t?.loginMethods?(l=t.loginMethods.includes("email"),i=t.loginMethods.includes("sms"),d=t.loginMethods.includes("wallet"),u=t.loginMethods.includes("google"),g=t.loginMethods.includes("twitter"),f=t.loginMethods.includes("discord"),m=t.loginMethods.includes("spotify"),E=t.loginMethods.includes("instagram"),p=t.loginMethods.includes("tiktok"),h=t.loginMethods.includes("line"),v=t.loginMethods.includes("twitch"),w=t.loginMethods.includes("github"),C=t.loginMethods.includes("linkedin"),k=t.loginMethods.includes("apple"),F=t.loginMethods.includes("farcaster"),y=t.loginMethods.includes("telegram"),c=t.loginMethods.includes("passkey")):(l=e.email_auth,i=e.sms_auth,d=e.wallet_auth||e.solana_wallet_auth,u=e.google_oauth,g=e.twitter_oauth,f=e.discord_oauth,w=e.github_oauth,m=e.spotify_oauth,E=e.instagram_oauth,p=e.tiktok_oauth,h=e.line_oauth,v=e.twitch_oauth,C=e.linkedin_oauth,k=e.apple_oauth,F=e.farcaster_auth,y=e.telegram_auth,c=e.passkey_auth),e.passkey_auth&&(c=!0),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential&&(c=!1);let S=[l,i].filter(Boolean),x=[u,g,f,w,m,E,p,h,C,k,F,y].filter(Boolean),O=[d].filter(Boolean),M=t?.loginMethods?.includes("passkey")??!1,D=e.passkeys_for_signup_enabled??!1,T=[c&&(D||M)].filter(Boolean);if(S.length+x.length+O.length+T.length===0)throw Error("You must enable at least one login method");let I=void 0!==t?.appearance?.showWalletLoginFirst?t?.appearance?.showWalletLoginFirst:e.show_wallet_login_first;I&&0===O.length?(A("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),I=!1):I||x.length+S.length!==0||(A("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),I=!0);let L=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&A("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let W=s({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder});if((W.includes("wallet_connect_qr")||W.includes("wallet_connect"))&&W.includes("wallet_connect_qr_solana"))throw Error("wallet_connect_qr and wallet_connect_qr_solana cannot both be present in walletList due to WalletConnect session conflicts.");let B=(({input:e})=>{if(!e||!e.primary[0])return;let t=[e.primary[0]],n=[];for(let n of(e.primary.length>4&&console.warn("You should not specify greater than 4 login methods in `loginMethodsAndOrder.primary`"),e.primary.slice(1)))t.includes(n)?console.warn(`Duplicated login method: ${n}`):t.push(n);for(let o of e.overflow??[])t.includes(o)||n.includes(o)?console.warn(`Duplicated login method: ${o}`):n.push(o);return{primary:t,overflow:n}})({input:t?.loginMethodsAndOrder}),U=t?.intl?.defaultCountry??"US",{chains:R,defaultChain:H}=b({supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain}),P=!!t?.defaultChain,N=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,K=N?"all-users":e.embedded_wallet_config.ethereum.create_on_login,Y=e.embedded_wallet_config.solana.create_on_login;e.solana_wallet_auth&&!t?.externalWallets?.solana?.connectors&&console.warn("App configuration has Solana wallet login enabled, but no Solana wallet connectors have been passed to Privy. Make sure to pass Solana connectors to the `config.externalWallets.solana.connectors` field of the `PrivyProvider`");let q=e.telegram_auth_config?{botId:e.telegram_auth_config.bot_id,botName:e.telegram_auth_config.bot_name,linkEnabled:e.telegram_auth_config.link_enabled,seamlessAuthEnabled:e.telegram_auth_config.seamless_auth_enabled}:void 0,j=e.funding_config?{methods:e.funding_config.methods,options:e.funding_config.options,defaultRecommendedAmount:e.funding_config.default_recommended_amount,defaultRecommendedCurrency:e.funding_config.default_recommended_currency,promptFundingOnWalletCreation:e.funding_config.prompt_funding_on_wallet_creation,crossChainBridgingEnabled:e.funding_config.cross_chain_bridging_enabled}:void 0;return{id:e.id,appClientId:a,name:e.name,allowlistConfig:{errorTitle:e.allowlist_config.error_title,errorDetail:e.allowlist_config.error_detail,errorCtaText:e.allowlist_config.cta_text,errorCtaLink:e.allowlist_config.cta_link},legacyWalletUiConfig:e.legacy_wallet_ui_config,appearance:{logo:t?.appearance?.logo??e.logo_url??void 0,landingHeader:t?.appearance?.landingHeader??r.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,footerLogo:t?.appearance?.footerLogo,palette:_({backgroundTheme:t?.appearance?.theme??r.appearance.theme,accentHex:t?.appearance?.accentColor??e.accent_color}),loginGroupPriority:I?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:W,walletChainType:t?.appearance?.walletChainType??(({evmWalletAuth:e,solanaWalletAuth:t})=>e&&t?"ethereum-and-solana":e?"ethereum-only":t?"solana-only":"ethereum-only")({evmWalletAuth:e.wallet_auth??!1,solanaWalletAuth:e.solana_wallet_auth??!1})},loginMethods:{wallet:d,email:l,sms:i,passkey:c,google:u,twitter:g,discord:f,github:w,spotify:m,instagram:E,tiktok:p,line:h,twitch:v,linkedin:C,apple:k,farcaster:F,telegram:y},customOAuthProviders:(e.custom_oauth_providers??[]).filter((e=>!1!==e.enabled)),disablePlusEmails:e.disable_plus_emails,loginMethodsAndOrder:B,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.terms_and_conditions_url,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacy_policy_url,requireUsersAcceptTerms:e.require_users_accept_terms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.wallet_connect_cloud_project_id??r.walletConnectCloudProjectId,rpcConfig:{rpcUrls:{},rpcTimeouts:t?.externalWallets?.signatureRequestTimeouts??{}},chains:R,defaultChain:H,intl:{defaultCountry:U},shouldEnforceDefaultChainOnConnect:P,captchaEnabled:e.captcha_enabled??r.captchaEnabled,captchaSiteKey:e.captcha_site_key,externalWallets:{coinbaseWallet:{config:{appName:e.name,appLogoUrl:e.logo_url,preference:{options:"all",...t?.externalWallets?.coinbaseWallet?.config?.preference},...t?.externalWallets?.coinbaseWallet?.config}},baseAccount:{config:{appName:e.name,appLogoUrl:e.logo_url,...t?.externalWallets?.baseAccount?.config,preference:{...t?.externalWallets?.baseAccount?.config?.preference,telemetry:!1}}},walletConnect:{enabled:L},solana:{connectors:t?.externalWallets?.solana?.connectors},disableAllExternalWallets:t?.externalWallets?.disableAllExternalWallets??!1},embeddedWallets:{requireUserOwnedRecoveryOnCreate:!N&&(e.embedded_wallet_config.require_user_owned_recovery_on_create??!1),userOwnedRecoveryOptions:N?["user-passcode"]:e.embedded_wallet_config.user_owned_recovery_options,priceDisplay:t?.embeddedWallets?.priceDisplay??{primary:"fiat-currency",secondary:"native-token"},ethereum:{createOnLogin:t?.embeddedWallets?.ethereum?.createOnLogin??K},solana:{createOnLogin:t?.embeddedWallets?.solana?.createOnLogin??Y},disableAutomaticMigration:t?.embeddedWallets?.disableAutomaticMigration??!1,mode:e.embedded_wallet_config.mode,showWalletUIs:t?.embeddedWallets?.showWalletUIs??e.enforce_wallet_uis??!0,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding??!1,transactionScanning:{enabled:t?.embeddedWallets?.transactionScanning?.enabled??!1,domain:t?.embeddedWallets?.transactionScanning?.domain??o??"https://auth.privy.io"}},mfa:{methods:e.mfa_methods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},passkeys:{shouldUnlinkOnUnenrollMfa:t?.passkeys?.shouldUnlinkOnUnenrollMfa,shouldUnenrollMfaOnUnlink:t?.passkeys?.shouldUnenrollMfaOnUnlink,registration:t?.passkeys?.registration},customAuth:N?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:q,passkeysForSignupEnabled:e.passkeys_for_signup_enabled},headless:!!t?.headless,render:{standalone:t?._render?.standalone??r._render.standalone},fundingConfig:j,fundingMethodConfig:{...t?.fundingMethodConfig??r.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??r.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??r.fundingMethodConfig.moonpay.useSandbox}},whatsAppEnabled:!!e.whatsapp_enabled,customOAuthRedirectUrl:t?.customOAuthRedirectUrl,solanaRpcs:{"solana:mainnet":t?.solana?.rpcs?.["solana:mainnet"]??null,"solana:devnet":t?.solana?.rpcs?.["solana:devnet"]??null,"solana:testnet":t?.solana?.rpcs?.["solana:testnet"]??null}}}function b({supportedChains:e,defaultChainFromConfig:t}){let o;if(e){if(0===e.length)throw Error("`supportedChains` must contain at least one chain");o=n.dedupeSupportedChains(e)}else o=[...n.DEFAULT_SUPPORTED_CHAINS];let a=e?o[0]:n.mainnet,r=t??a;if(!o.find((e=>e.id===r.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:o,defaultChain:r}}const v={show_wallet_login_first:!0,allowlist_config:{error_title:null,error_detail:null,cta_text:null,cta_link:null},wallet_auth:!0,email_auth:!0,sms_auth:!1,google_oauth:!1,twitter_oauth:!1,discord_oauth:!1,github_oauth:!1,linkedin_oauth:!1,apple_oauth:!1,disable_plus_emails:!1,terms_and_conditions_url:null,privacy_policy_url:null,embedded_wallet_config:{create_on_login:"off",ethereum:{create_on_login:"off"},solana:{create_on_login:"off"},require_user_owned_recovery_on_create:!1,user_owned_recovery_options:["user-passcode"],mode:"user-controlled-server-wallets-only"},captcha_enabled:!1,captcha_site_key:"",enforce_wallet_uis:!1,legacy_wallet_ui_config:!1,id:"",name:"",passkeys_for_signup_enabled:!1,whatsapp_enabled:!1},m=h(v,void 0,!1);let E=/*#__PURE__*/t.createContext({appConfig:m,isServerConfigLoaded:!1});const C=/*#__PURE__*/t.createContext(void 0);let w=()=>t.useContext(C);function k(e,t,n,...o){for(let a of e.current[t][n])a(...o)}exports.CHAIN_ID_MAINNET=1,exports.CLIENT_ANALYTICS_ID_KEY="privy:caid",exports.CODE_VERIFIER_KEY="privy:code_verifier",exports.CONNECTIONS_HISTORY_KEY="privy:connections",exports.CUSTOMER_ACCESS_TOKEN_COOKIE_KEY="privy-token",exports.CUSTOMER_ACCESS_TOKEN_STORAGE_KEY="privy:token",exports.DEFAULT_API_TIMEOUT_MS=2e4,exports.DEFAULT_NETWORK="0x1",exports.DEFAULT_PRIVY_API_URL="https://auth.privy.io",exports.DEFAULT_RPC_TIMEOUT=12e4,exports.DEFAULT_SUCCESS_SCREEN_DURATION_MS=1400,exports.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS=4e3,exports.DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS=2500,exports.DEPRECATED_REFRESH_TOKEN="deprecated",exports.HEADLESS_OAUTH_KEY="privy:headless_oauth",exports.IDENTITY_TOKEN_COOKIE_KEY="privy-id-token",exports.IDENTITY_TOKEN_STORAGE_KEY="privy:id_token",exports.MOONPAY_API_URL="https://api.moonpay.com/v1",exports.MOONPAY_API_URL_SANDBOX="https://api.moonpay.com/v1",exports.MOONPAY_PUBLIC_KEY="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",exports.MOONPAY_PUBLIC_KEY_SANDBOX="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",exports.OAUTH_DISABLE_SIGNUP_KEY="privy:oauth_disable_signup",exports.PRIVY_ACCESS_TOKEN_STORAGE_KEY="privy:pat",exports.PrivyAppConfigProvider=({children:n,client:o,legacyClient:a,clientConfig:r,appClientId:l})=>{let[i,c]=t.useState(null),s=t.useMemo((()=>h(i??v,r,!!i,"undefined"!=typeof window?window.location.origin:void 0,l)),[i,r,l]);return t.useEffect((()=>{if(!i)return;let e=function(e){if(!e)return{};let{appearance:t,supportedChains:n,defaultChain:o,externalWallets:a,...r}=e;return{...r,...n?{supportedChains:n.map((e=>e.id))}:void 0,...o?{defaultChain:o.id}:void 0,...a?{walletConnect:a.walletConnect?{enabled:a.walletConnect.enabled}:void 0,coinbaseWallet:a.coinbaseWallet,solana:{connectors:a.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0}}(r),t=function(e,t=0){let n=3735928559^t,o=1103547991^t;for(let t,a=0;a<e.length;a++)n=Math.imul(n^(t=e.charCodeAt(a)),2654435761),o=Math.imul(o^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),4294967296*(2097151&(o=Math.imul(o^o>>>16,2246822507)^Math.imul(n^n>>>13,3266489909)))+(n>>>0)}(JSON.stringify(e)).toString(),n=`privy:sent:${i.id}:${t}`;localStorage.getItem(n)||(a.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(n,"t"))}),[r,i]),t.useEffect((()=>{i||(async()=>{try{await o.initialize();let e=o.app.getConfig();e.custom_api_url&&a.updateApiUrl(e.custom_api_url),c(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),/*#__PURE__*/e.jsx(E.Provider,{value:{appConfig:s,isServerConfigLoaded:!!i},children:n})},exports.PrivyEventsContext=C,exports.REFRESH_TOKEN_COOKIE_KEY="privy-refresh-token",exports.REFRESH_TOKEN_STORAGE_KEY="privy:refresh_token",exports.SESSION_COOKIE_KEY="privy-session",exports.STATE_CODE_KEY="privy:state_code",exports.VERSION="3.5.0",exports.WALLET_PROXY_TIMEOUT=3e4,exports.emitPrivyEvent=k,exports.getGuestCredentialStorageKey=e=>`privy:guest:${e}`,exports.getPrivyWalletKey=e=>`privy:wallet:${e}`,exports.getProviderAccessTokenStorageKey=e=>`privy:cross-app:${e}`,exports.privyEventsDefault={login:{onComplete:[],onError:[]},logout:{onSuccess:[]},connectWallet:{onSuccess:[],onError:[]},connectOrCreateWallet:{onSuccess:[],onError:[]},createWallet:{onSuccess:[],onError:[]},linkAccount:{onSuccess:[],onError:[]},update:{onSuccess:[],onError:[]},configureMfa:{onMfaRequired:[]},setWalletPassword:{onSuccess:[],onError:[]},setWalletRecovery:{onSuccess:[],onError:[]},signMessage:{onSuccess:[],onError:[]},signTypedData:{onSuccess:[],onError:[]},sendTransaction:{onSuccess:[],onError:[]},signTransaction:{onSuccess:[],onError:[]},accessToken:{onAccessTokenGranted:[],onAccessTokenRemoved:[]},oAuthAuthorization:{onOAuthTokenGrant:[]},fundWallet:{onUserExited:[]},fundSolanaWallet:{onUserExited:[]},customAuth:{onAuthenticated:[],onUnauthenticated:[]}},exports.useAppConfig=()=>{let{appConfig:e}=t.useContext(E);return e},exports.useEmitPrivyEvent=function(){let e=w();return(t,n,...o)=>k(e,t,n,...o)},exports.useIsServerConfigLoaded=()=>{let{isServerConfigLoaded:e}=t.useContext(E);return e},exports.usePrivyEventSubscription=function(e,n){if(!n)return;let o=w().current[e];return t.useEffect((()=>{for(let[t,a]of Object.entries(n))Object.prototype.hasOwnProperty.call(o,t)||console.warn(`Invalid event type "${t}" for action "${e}"`),o[t]?.push(a);return()=>{for(let[t,a]of Object.entries(n))Object.prototype.hasOwnProperty.call(o,t)||console.warn(`Invalid event type "${t}" for action "${e}"`),o[t]=o[t]?.filter((e=>e!==a))}}),[n])};
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("@privy-io/js-sdk-core");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/o(require("tinycolor2"));const r={appearance:{landingHeader:"Log in or sign up",theme:"light",walletList:["detected_ethereum_wallets","detected_solana_wallets","metamask","coinbase_wallet","rainbow","base_account","wallet_connect"]},walletConnectCloudProjectId:"34357d3c125c2bcf2ce2bc3309d98715",captchaEnabled:!1,_render:{standalone:!1},fundingMethodConfig:{moonpay:{useSandbox:!1}}};let l=new Set(["coinbase_wallet","base_account","cryptocom","metamask","okx_wallet","phantom","rainbow","uniswap","zerion","universal_profile","bybit_wallet","ronin_wallet","haha_wallet","wallet_connect","wallet_connect_qr","wallet_connect_qr_solana","detected_solana_wallets","detected_ethereum_wallets","rabby_wallet","safe","solflare","backpack","binance","binanceus","bitget_wallet"]),i=e=>l.has(e),c=(e,t,n)=>n.indexOf(e)===t;const s=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter(i).filter(c):e?e.filter(i).filter(c):r.appearance.walletList;function d(e,t){let n=Math.max(0,Math.min(1,e.toHsl().l+t));return a.default({...e.toHsl(),l:n})}function u(e,t){let n=e.getLuminance(),o=t.getLuminance();return(Math.max(n,o)+.05)/(Math.min(n,o)+.05)}function g(e,t){if(!e){let e=t?f:p;return{accent:a.default(e.background.interactive),accentLight:a.default(e.background.interactive),accentHover:a.default(e.background["interactive-hover"]),accentDark:a.default(e.background["interactive-clicked"]),accentDarkest:a.default(e.background["interactive-disabled"])}}let n=a.default(e);return{accent:n,accentLight:d(n,.15),accentHover:d(n,.3),accentDark:d(n,-.06),accentDarkest:d(n,-.6)}}function _({backgroundTheme:e,accentHex:t}){let n,o;"light"===e?n=!1:"dark"===e?n=!0:(n=.5>=a.default(e).getLuminance(),o=a.default(e).toHslString());let r=n?"dark":"light",l=n?f:p,{accent:i,accentLight:c,accentHover:s,accentDark:d,accentDarkest:_}=g(t,n),h=function(e){let t=a.default(p.text.default),n=a.default(f.text.default),o=u(e,t),r=u(e,n),l=e.toHsl();return l.h>=220&&l.h<=300&&r>=3?f.text.default:o>r?p.text.default:f.text.default}(i),b=a.default(h),v=u(i,a.default(l.background.default))>=3;return{colorScheme:r,background:o||l.background.default,background2:l.background.elevated,background3:l.background.interactive,foreground:l.text.default,foreground2:l.text.muted,foreground3:l.text.placeholder,foreground4:l.border.default,accent:i.toHslString(),accentLight:c.toHslString(),accentHover:s.toHslString(),accentDark:d.toHslString(),accentDarkest:_.toHslString(),foregroundAccent:b.toHslString(),success:l.background.success,successDark:l.text.success,successLight:l.background.success,error:l.text.error,errorLight:l.background.error,warn:l.background.warning,warnLight:l.background.warning,warningDark:l.text.warning,errorDark:l.text.error,successBg:l.background.success,errorBg:l.background.error,errorBgHover:l.background["error-hover"],warnBg:l.background.warning,infoBg:l.background.info,infoBgHover:l.background["info-hover"],borderDefault:l.border.default,borderHover:l.border["default-hover"],borderFocus:l.border.focused,borderError:l.border.error,borderSuccess:l.border.success,borderWarning:l.border.warning,borderInfo:l.border.info,borderInteractive:l.border.interactive,borderInteractiveHover:l.border["interactive-hover"],backgroundHover:l.background["default-hover"],backgroundClicked:l.background["default-clicked"],backgroundDisabled:l.background["default-disabled"],backgroundInteractive:l.background.interactive,backgroundInteractiveHover:l.background["interactive-hover"],backgroundInteractiveClicked:l.background["interactive-clicked"],backgroundInteractiveDisabled:l.background["interactive-disabled"],foregroundHover:l.text.default,foregroundClicked:l.text.default,foregroundDisabled:l.text["default-disabled"],foregroundInteractive:l.text.interactive,foregroundInteractiveHover:l.text["interactive-hover"],accentHasGoodContrast:v?"1":"0",linkNavigationColor:v?i.toHslString():l.text.default,linkNavigationDecoration:v?"none":"underline",iconDefault:l.icon.default,iconMuted:l.icon.muted,iconSubtle:l.icon.subtle,iconInverse:l.icon.inverse,iconSuccess:l.icon.success,iconWarning:l.icon.warning,iconError:l.icon.error,iconInteractive:l.icon.interactive,iconDefaultHover:l.icon["default-hover"],iconMutedHover:l.icon["muted-hover"],iconSubtleHover:l.icon["subtle-hover"],iconDefaultClicked:l.icon["default-clicked"],iconMutedClicked:l.icon["muted-clicked"],iconSubtleClicked:l.icon["subtle-clicked"],iconDefaultDisabled:l.icon["default-disabled"],iconMutedDisabled:l.icon["muted-disabled"],iconSubtleDisabled:l.icon["subtle-disabled"],iconErrorHover:l.icon["error-hover"],iconInteractiveHover:l.icon["interactive-hover"],iconErrorClicked:l.icon["error-clicked"],iconInteractiveClicked:l.icon["interactive-clicked"],iconMutedDisabledAlt:l.icon["muted-disabled"],iconSubtleDisabledAlt:l.icon["subtle-disabled"]}}const f={background:{default:"#020713",elevated:"#1A2230","default-hover":"#101724","default-clicked":"#1A2230","default-disabled":"#020713",success:"#0E3E2D",warning:"#373827",error:"#2E0C18",interactive:"#8B86FF","error-hover":"#441821","interactive-hover":"#7B73E5","interactive-clicked":"#6560CC","interactive-disabled":"#141824",info:"#1F2937","info-hover":"#141824"},icon:{default:"#F8F8F8",muted:"#9BA2AE",subtle:"#7B8491",inverse:"#020713",success:"#88E3B5",warning:"#FDF27B",error:"#EF4444",interactive:"#88B6FF","default-hover":"#F8F8F8","muted-hover":"#AEB3BD","subtle-hover":"#8B939E","default-clicked":"#F8F8F8","muted-clicked":"#9097A5","subtle-clicked":"#78818E","default-disabled":"#404452","muted-disabled":"#404452","subtle-disabled":"#404452","error-hover":"#F05555","interactive-hover":"#7B73E5","error-clicked":"#EF4444","interactive-clicked":"#6560CC"},text:{default:"#F8F8F8",muted:"#9BA2AE",placeholder:"#7B8491",success:"#ACEECB",warning:"#FEF9A0",error:"#FCA5A5",interactive:"#A29EFF","default-disabled":"#404452","interactive-hover":"#8C88E5"},border:{default:"#1F2937",interactive:"#88B0FF",focused:"#F8F8FC",info:"#5B83D3",success:"#317056",warning:"#FBBF24",error:"#F87171","default-hover":"#34304A","interactive-hover":"#88B0FF"}},p={background:{default:"#FFFFFF",elevated:"#F1F2F9","default-hover":"#F8F9FC","default-clicked":"#F1F2F9","default-disabled":"#FFFFFF",success:"#DCFCE7",warning:"#FEF3C7",error:"#FEE2E2",interactive:"#5B4FFF","error-hover":"#FECACA","interactive-hover":"#4F46E5","interactive-clicked":"#4338CA","interactive-disabled":"#F1F2F9",info:"#E0E7FF","info-hover":"#EEF2FF"},icon:{default:"#110F2A",muted:"#64668B",subtle:"#9498B8",inverse:"#FFFFFF",success:"#33B287",warning:"#F59E0B",error:"#EF4444",interactive:"#564FFF","default-hover":"#1D1B35","muted-hover":"#64668B","subtle-hover":"#888AAE","default-clicked":"#060C23","muted-clicked":"#64668B","subtle-clicked":"#788804","default-disabled":"#CBCDE1","muted-disabled":"#CBCDE1","subtle-disabled":"#CBCDE1","error-hover":"#F06060","interactive-hover":"#4F46E5","error-clicked":"#DC3838","interactive-clicked":"#2BA482"},text:{default:"#040217",muted:"#64668B",placeholder:"#9498B8",success:"#135638",warning:"#906218",error:"#991B1B",interactive:"#5B4FFF","default-disabled":"#CBCDE1","interactive-hover":"#5B4FFF"},border:{default:"#E2E3F0",interactive:"#5B4FFF",focused:"#949DF9",info:"#F1F2F9",success:"#87D7B7",warning:"#FACD63",error:"#F69393","default-hover":"#E2E3F0","interactive-hover":"#5B4FFF"}};function h(e,t,n,o,a){let l,i,c,d,u,g,f,p,h,v,m,E,C,w,k,F,y,A=n?console.warn:()=>{};t?.loginMethods?(l=t.loginMethods.includes("email"),i=t.loginMethods.includes("sms"),d=t.loginMethods.includes("wallet"),u=t.loginMethods.includes("google"),g=t.loginMethods.includes("twitter"),f=t.loginMethods.includes("discord"),m=t.loginMethods.includes("spotify"),E=t.loginMethods.includes("instagram"),p=t.loginMethods.includes("tiktok"),h=t.loginMethods.includes("line"),v=t.loginMethods.includes("twitch"),w=t.loginMethods.includes("github"),C=t.loginMethods.includes("linkedin"),k=t.loginMethods.includes("apple"),F=t.loginMethods.includes("farcaster"),y=t.loginMethods.includes("telegram"),c=t.loginMethods.includes("passkey")):(l=e.email_auth,i=e.sms_auth,d=e.wallet_auth||e.solana_wallet_auth,u=e.google_oauth,g=e.twitter_oauth,f=e.discord_oauth,w=e.github_oauth,m=e.spotify_oauth,E=e.instagram_oauth,p=e.tiktok_oauth,h=e.line_oauth,v=e.twitch_oauth,C=e.linkedin_oauth,k=e.apple_oauth,F=e.farcaster_auth,y=e.telegram_auth,c=e.passkey_auth),e.passkey_auth&&(c=!0),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential&&(c=!1);let S=[l,i].filter(Boolean),x=[u,g,f,w,m,E,p,h,C,k,F,y].filter(Boolean),O=[d].filter(Boolean),M=t?.loginMethods?.includes("passkey")??!1,D=e.passkeys_for_signup_enabled??!1,T=[c&&(D||M)].filter(Boolean);if(S.length+x.length+O.length+T.length===0)throw Error("You must enable at least one login method");let I=void 0!==t?.appearance?.showWalletLoginFirst?t?.appearance?.showWalletLoginFirst:e.show_wallet_login_first;I&&0===O.length?(A("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),I=!1):I||x.length+S.length!==0||(A("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),I=!0);let L=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&A("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let W=s({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder});if((W.includes("wallet_connect_qr")||W.includes("wallet_connect"))&&W.includes("wallet_connect_qr_solana"))throw Error("wallet_connect_qr and wallet_connect_qr_solana cannot both be present in walletList due to WalletConnect session conflicts.");let B=(({input:e})=>{if(!e||!e.primary[0])return;let t=[e.primary[0]],n=[];for(let n of(e.primary.length>4&&console.warn("You should not specify greater than 4 login methods in `loginMethodsAndOrder.primary`"),e.primary.slice(1)))t.includes(n)?console.warn(`Duplicated login method: ${n}`):t.push(n);for(let o of e.overflow??[])t.includes(o)||n.includes(o)?console.warn(`Duplicated login method: ${o}`):n.push(o);return{primary:t,overflow:n}})({input:t?.loginMethodsAndOrder}),U=t?.intl?.defaultCountry??"US",{chains:R,defaultChain:H}=b({supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain}),P=!!t?.defaultChain,N=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,K=N?"all-users":e.embedded_wallet_config.ethereum.create_on_login,Y=e.embedded_wallet_config.solana.create_on_login;e.solana_wallet_auth&&!t?.externalWallets?.solana?.connectors&&console.warn("App configuration has Solana wallet login enabled, but no Solana wallet connectors have been passed to Privy. Make sure to pass Solana connectors to the `config.externalWallets.solana.connectors` field of the `PrivyProvider`");let q=e.telegram_auth_config?{botId:e.telegram_auth_config.bot_id,botName:e.telegram_auth_config.bot_name,linkEnabled:e.telegram_auth_config.link_enabled,seamlessAuthEnabled:e.telegram_auth_config.seamless_auth_enabled}:void 0,j=e.funding_config?{methods:e.funding_config.methods,options:e.funding_config.options,defaultRecommendedAmount:e.funding_config.default_recommended_amount,defaultRecommendedCurrency:e.funding_config.default_recommended_currency,promptFundingOnWalletCreation:e.funding_config.prompt_funding_on_wallet_creation,crossChainBridgingEnabled:e.funding_config.cross_chain_bridging_enabled}:void 0;return{id:e.id,appClientId:a,name:e.name,allowlistConfig:{errorTitle:e.allowlist_config.error_title,errorDetail:e.allowlist_config.error_detail,errorCtaText:e.allowlist_config.cta_text,errorCtaLink:e.allowlist_config.cta_link},legacyWalletUiConfig:e.legacy_wallet_ui_config,appearance:{logo:t?.appearance?.logo??e.logo_url??void 0,landingHeader:t?.appearance?.landingHeader??r.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,footerLogo:t?.appearance?.footerLogo,palette:_({backgroundTheme:t?.appearance?.theme??r.appearance.theme,accentHex:t?.appearance?.accentColor??e.accent_color}),loginGroupPriority:I?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:W,walletChainType:t?.appearance?.walletChainType??(({evmWalletAuth:e,solanaWalletAuth:t})=>e&&t?"ethereum-and-solana":e?"ethereum-only":t?"solana-only":"ethereum-only")({evmWalletAuth:e.wallet_auth??!1,solanaWalletAuth:e.solana_wallet_auth??!1})},loginMethods:{wallet:d,email:l,sms:i,passkey:c,google:u,twitter:g,discord:f,github:w,spotify:m,instagram:E,tiktok:p,line:h,twitch:v,linkedin:C,apple:k,farcaster:F,telegram:y},customOAuthProviders:(e.custom_oauth_providers??[]).filter((e=>!1!==e.enabled)),disablePlusEmails:e.disable_plus_emails,loginMethodsAndOrder:B,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.terms_and_conditions_url,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacy_policy_url,requireUsersAcceptTerms:e.require_users_accept_terms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.wallet_connect_cloud_project_id??r.walletConnectCloudProjectId,rpcConfig:{rpcUrls:{},rpcTimeouts:t?.externalWallets?.signatureRequestTimeouts??{}},chains:R,defaultChain:H,intl:{defaultCountry:U},shouldEnforceDefaultChainOnConnect:P,captchaEnabled:e.captcha_enabled??r.captchaEnabled,captchaSiteKey:e.captcha_site_key,externalWallets:{coinbaseWallet:{config:{appName:e.name,appLogoUrl:e.logo_url,preference:{options:"all",...t?.externalWallets?.coinbaseWallet?.config?.preference},...t?.externalWallets?.coinbaseWallet?.config}},baseAccount:{config:{appName:e.name,appLogoUrl:e.logo_url,...t?.externalWallets?.baseAccount?.config,preference:{...t?.externalWallets?.baseAccount?.config?.preference,telemetry:!1}}},walletConnect:{enabled:L},solana:{connectors:t?.externalWallets?.solana?.connectors},disableAllExternalWallets:t?.externalWallets?.disableAllExternalWallets??!1},embeddedWallets:{requireUserOwnedRecoveryOnCreate:!N&&(e.embedded_wallet_config.require_user_owned_recovery_on_create??!1),userOwnedRecoveryOptions:N?["user-passcode"]:e.embedded_wallet_config.user_owned_recovery_options,priceDisplay:t?.embeddedWallets?.priceDisplay??{primary:"fiat-currency",secondary:"native-token"},ethereum:{createOnLogin:t?.embeddedWallets?.ethereum?.createOnLogin??K},solana:{createOnLogin:t?.embeddedWallets?.solana?.createOnLogin??Y},disableAutomaticMigration:t?.embeddedWallets?.disableAutomaticMigration??!1,mode:e.embedded_wallet_config.mode,showWalletUIs:t?.embeddedWallets?.showWalletUIs??e.enforce_wallet_uis??!0,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding??!1,transactionScanning:{enabled:t?.embeddedWallets?.transactionScanning?.enabled??!1,domain:t?.embeddedWallets?.transactionScanning?.domain??o??"https://auth.privy.io"}},mfa:{methods:e.mfa_methods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},passkeys:{shouldUnlinkOnUnenrollMfa:t?.passkeys?.shouldUnlinkOnUnenrollMfa,shouldUnenrollMfaOnUnlink:t?.passkeys?.shouldUnenrollMfaOnUnlink,registration:t?.passkeys?.registration},customAuth:N?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:q,passkeysForSignupEnabled:e.passkeys_for_signup_enabled},headless:!!t?.headless,render:{standalone:t?._render?.standalone??r._render.standalone},fundingConfig:j,fundingMethodConfig:{...t?.fundingMethodConfig??r.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??r.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??r.fundingMethodConfig.moonpay.useSandbox}},whatsAppEnabled:!!e.whatsapp_enabled,customOAuthRedirectUrl:t?.customOAuthRedirectUrl,solanaRpcs:{"solana:mainnet":t?.solana?.rpcs?.["solana:mainnet"]??null,"solana:devnet":t?.solana?.rpcs?.["solana:devnet"]??null,"solana:testnet":t?.solana?.rpcs?.["solana:testnet"]??null}}}function b({supportedChains:e,defaultChainFromConfig:t}){let o;if(e){if(0===e.length)throw Error("`supportedChains` must contain at least one chain");o=n.dedupeSupportedChains(e)}else o=[...n.DEFAULT_SUPPORTED_CHAINS];let a=e?o[0]:n.mainnet,r=t??a;if(!o.find((e=>e.id===r.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:o,defaultChain:r}}const v={show_wallet_login_first:!0,allowlist_config:{error_title:null,error_detail:null,cta_text:null,cta_link:null},wallet_auth:!0,email_auth:!0,sms_auth:!1,google_oauth:!1,twitter_oauth:!1,discord_oauth:!1,github_oauth:!1,linkedin_oauth:!1,apple_oauth:!1,disable_plus_emails:!1,terms_and_conditions_url:null,privacy_policy_url:null,embedded_wallet_config:{create_on_login:"off",ethereum:{create_on_login:"off"},solana:{create_on_login:"off"},require_user_owned_recovery_on_create:!1,user_owned_recovery_options:["user-passcode"],mode:"user-controlled-server-wallets-only"},captcha_enabled:!1,captcha_site_key:"",enforce_wallet_uis:!1,legacy_wallet_ui_config:!1,id:"",name:"",passkeys_for_signup_enabled:!1,whatsapp_enabled:!1},m=h(v,void 0,!1);let E=/*#__PURE__*/t.createContext({appConfig:m,isServerConfigLoaded:!1});const C=/*#__PURE__*/t.createContext(void 0);let w=()=>t.useContext(C);function k(e,t,n,...o){for(let a of e.current[t][n])a(...o)}exports.CHAIN_ID_MAINNET=1,exports.CLIENT_ANALYTICS_ID_KEY="privy:caid",exports.CODE_VERIFIER_KEY="privy:code_verifier",exports.CONNECTIONS_HISTORY_KEY="privy:connections",exports.CUSTOMER_ACCESS_TOKEN_COOKIE_KEY="privy-token",exports.CUSTOMER_ACCESS_TOKEN_STORAGE_KEY="privy:token",exports.DEFAULT_API_TIMEOUT_MS=2e4,exports.DEFAULT_NETWORK="0x1",exports.DEFAULT_PRIVY_API_URL="https://auth.privy.io",exports.DEFAULT_RPC_TIMEOUT=12e4,exports.DEFAULT_SUCCESS_SCREEN_DURATION_MS=1400,exports.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS=4e3,exports.DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS=2500,exports.DEPRECATED_REFRESH_TOKEN="deprecated",exports.HEADLESS_OAUTH_KEY="privy:headless_oauth",exports.IDENTITY_TOKEN_COOKIE_KEY="privy-id-token",exports.IDENTITY_TOKEN_STORAGE_KEY="privy:id_token",exports.MOONPAY_API_URL="https://api.moonpay.com/v1",exports.MOONPAY_API_URL_SANDBOX="https://api.moonpay.com/v1",exports.MOONPAY_PUBLIC_KEY="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",exports.MOONPAY_PUBLIC_KEY_SANDBOX="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",exports.OAUTH_DISABLE_SIGNUP_KEY="privy:oauth_disable_signup",exports.PRIVY_ACCESS_TOKEN_STORAGE_KEY="privy:pat",exports.PrivyAppConfigProvider=({children:n,client:o,legacyClient:a,clientConfig:r,appClientId:l})=>{let[i,c]=t.useState(null),s=t.useMemo((()=>h(i??v,r,!!i,"undefined"!=typeof window?window.location.origin:void 0,l)),[i,r,l]);return t.useEffect((()=>{if(!i)return;let e=function(e){if(!e)return{};let{appearance:t,supportedChains:n,defaultChain:o,externalWallets:a,...r}=e;return{...r,...n?{supportedChains:n.map((e=>e.id))}:void 0,...o?{defaultChain:o.id}:void 0,...a?{walletConnect:a.walletConnect?{enabled:a.walletConnect.enabled}:void 0,coinbaseWallet:a.coinbaseWallet,solana:{connectors:a.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0}}(r),t=function(e,t=0){let n=3735928559^t,o=1103547991^t;for(let t,a=0;a<e.length;a++)n=Math.imul(n^(t=e.charCodeAt(a)),2654435761),o=Math.imul(o^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(o^o>>>13,3266489909),4294967296*(2097151&(o=Math.imul(o^o>>>16,2246822507)^Math.imul(n^n>>>13,3266489909)))+(n>>>0)}(JSON.stringify(e)).toString(),n=`privy:sent:${i.id}:${t}`;localStorage.getItem(n)||(a.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(n,"t"))}),[r,i]),t.useEffect((()=>{i||(async()=>{try{await o.initialize();let e=o.app.getConfig();e.custom_api_url&&a.updateApiUrl(e.custom_api_url),c(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),/*#__PURE__*/e.jsx(E.Provider,{value:{appConfig:s,isServerConfigLoaded:!!i},children:n})},exports.PrivyEventsContext=C,exports.REFRESH_TOKEN_COOKIE_KEY="privy-refresh-token",exports.REFRESH_TOKEN_STORAGE_KEY="privy:refresh_token",exports.SESSION_COOKIE_KEY="privy-session",exports.STATE_CODE_KEY="privy:state_code",exports.VERSION="3.5.1",exports.WALLET_PROXY_TIMEOUT=3e4,exports.emitPrivyEvent=k,exports.getGuestCredentialStorageKey=e=>`privy:guest:${e}`,exports.getPrivyWalletKey=e=>`privy:wallet:${e}`,exports.getProviderAccessTokenStorageKey=e=>`privy:cross-app:${e}`,exports.privyEventsDefault={login:{onComplete:[],onError:[]},logout:{onSuccess:[]},connectWallet:{onSuccess:[],onError:[]},connectOrCreateWallet:{onSuccess:[],onError:[]},createWallet:{onSuccess:[],onError:[]},linkAccount:{onSuccess:[],onError:[]},update:{onSuccess:[],onError:[]},configureMfa:{onMfaRequired:[]},setWalletPassword:{onSuccess:[],onError:[]},setWalletRecovery:{onSuccess:[],onError:[]},signMessage:{onSuccess:[],onError:[]},signTypedData:{onSuccess:[],onError:[]},sendTransaction:{onSuccess:[],onError:[]},signTransaction:{onSuccess:[],onError:[]},accessToken:{onAccessTokenGranted:[],onAccessTokenRemoved:[]},oAuthAuthorization:{onOAuthTokenGrant:[]},fundWallet:{onUserExited:[]},fundSolanaWallet:{onUserExited:[]},customAuth:{onAuthenticated:[],onUnauthenticated:[]}},exports.useAppConfig=()=>{let{appConfig:e}=t.useContext(E);return e},exports.useEmitPrivyEvent=function(){let e=w();return(t,n,...o)=>k(e,t,n,...o)},exports.useIsServerConfigLoaded=()=>{let{isServerConfigLoaded:e}=t.useContext(E);return e},exports.usePrivyEventSubscription=function(e,n){if(!n)return;let o=w().current[e];return t.useEffect((()=>{for(let[t,a]of Object.entries(n))Object.prototype.hasOwnProperty.call(o,t)||console.warn(`Invalid event type "${t}" for action "${e}"`),o[t]?.push(a);return()=>{for(let[t,a]of Object.entries(n))Object.prototype.hasOwnProperty.call(o,t)||console.warn(`Invalid event type "${t}" for action "${e}"`),o[t]=o[t]?.filter((e=>e!==a))}}),[n])};
@@ -1 +1 @@
1
- "use strict";var e=require("react"),r=require("@privy-io/js-sdk-core"),i=require("./internal-context-CeWKmK5u.js"),o=require("./EmbeddedWalletConnectingScreen-D_YsihzO.js"),t=require("./events-context-Dn0fJZ2h.js"),n=require("./use-sign-with-user-signer-BtJVKMQr.js");require("ofetch"),require("react/jsx-runtime"),require("lucide-react"),require("viem"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("styled-components"),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/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("zustand"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("@scure/base"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),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/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@privy-io/urls"),require("tinycolor2");exports.useCreateWallet=()=>{let{refreshSessionAndUser:o,privy:t}=i.usePrivyInternal();return e.useMemo((()=>({async createWallet(e){let i=await r.create(t,{request:{chain_type:e.chainType}}),n=await o();if(!n)throw Error("User must be authenticated before creating a Privy wallet");return{user:n,wallet:i}}})),[o,t])},exports.useExportWallet=function(){let{user:r,getAccessToken:n}=o.usePrivyContext(),{walletProxy:c,openModal:a,client:s}=i.usePrivyInternal(),{setModalData:u}=o.usePrivyModal(),l=t.useAppConfig();return e.useMemo((()=>({exportWallet:e=>new Promise((async(t,d)=>{if(!r)return void d(new i.PrivyClientError("User must be authenticated before exporting their Privy wallet"));let h=o.getPrivyWalletWithAddress(r,e.address);h?"spark"===h.chainType&&o.getIsUnifiedWallet(h)?await n()?c?(u({connectWallet:{recoveryMethod:h.recoveryMethod,connectingWalletAddress:h.address,isUnifiedWallet:!0,onCompleteNavigateTo:o.EmbeddedWalletKeyExportScreen,onFailure:d,shouldForceMFA:!0},keyExport:{appId:l.id,appClientId:l.appClientId,origin:s.apiUrl,address:h.address,hdWalletIndex:h.walletIndex,chainType:h.chainType,walletId:h.id,isUnifiedWallet:!0,imported:h.imported,onSuccess:t,onFailure:d}}),a(o.EmbeddedWalletConnectingScreen)):d(new i.PrivyClientError("Wallet not ready for export")):d(new i.PrivyClientError("Must have valid access token.")):d(Error("Export via extended-chains is only supported for unified stack wallets")):d(new i.PrivyClientError("User must have an embedded wallet."))}))})),[r,n,c,a,s,u,l])},exports.useSignRawHash=()=>{let{user:t}=o.usePrivyContext(),{privy:c}=i.usePrivyInternal(),{signWithUserSigner:a}=n.useSignWithUserSigner();return e.useMemo((()=>({async signRawHash({address:e,chainType:i,hash:n}){if(!t)throw Error("User must be authenticated before signing");let s=o.getAllPrivyWalletsForChainType(t,i).filter((e=>o.getIsUnifiedWallet(e))).find((r=>r.address===e));if(!s)throw Error("Wallet not found");let u=await r.rawSign(c,a,{wallet_id:s.id,params:{hash:n}});if(u.data&&"signature"in u.data&&"hex"===u.data.encoding)return{signature:u.data.signature};throw Error("Failed to sign")}})),[c,a,t])};
1
+ "use strict";var e=require("react"),r=require("@privy-io/js-sdk-core"),i=require("./internal-context-CeWKmK5u.js"),o=require("./EmbeddedWalletConnectingScreen-i0UDHMDq.js"),t=require("./events-context-Cgq8fGB0.js"),n=require("./use-sign-with-user-signer-BtJVKMQr.js");require("ofetch"),require("react/jsx-runtime"),require("lucide-react"),require("viem"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/UserCircleIcon"),require("styled-components"),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/20/solid/CheckIcon"),require("@heroicons/react/24/outline/EnvelopeIcon"),require("@heroicons/react/24/outline/PhoneIcon"),require("react-device-detect"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("@heroicons/react/24/outline/WalletIcon"),require("@heroicons/react/24/outline/ExclamationCircleIcon"),require("@heroicons/react/24/outline/Square2StackIcon"),require("zustand"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("@heroicons/react/24/outline/CheckIcon"),require("qrcode"),require("viem/utils"),require("eventemitter3"),require("@scure/base"),require("@walletconnect/ethereum-provider"),require("@heroicons/react/24/outline/CreditCardIcon"),require("@heroicons/react/24/outline/QrCodeIcon"),require("@heroicons/react/24/solid/ArrowsRightLeftIcon"),require("@heroicons/react/24/outline/InformationCircleIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/ClipboardDocumentIcon"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("@privy-io/ethereum"),require("@heroicons/react/24/outline/CheckCircleIcon"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("@headlessui/react"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("@heroicons/react/24/outline/FingerPrintIcon"),require("@heroicons/react/24/outline/LockClosedIcon"),require("@heroicons/react/24/outline/PencilSquareIcon"),require("jose"),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/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("@heroicons/react/24/outline/ShieldCheckIcon"),require("@privy-io/urls"),require("tinycolor2");exports.useCreateWallet=()=>{let{refreshSessionAndUser:o,privy:t}=i.usePrivyInternal();return e.useMemo((()=>({async createWallet(e){let i=await r.create(t,{request:{chain_type:e.chainType}}),n=await o();if(!n)throw Error("User must be authenticated before creating a Privy wallet");return{user:n,wallet:i}}})),[o,t])},exports.useExportWallet=function(){let{user:r,getAccessToken:n}=o.usePrivyContext(),{walletProxy:c,openModal:a,client:s}=i.usePrivyInternal(),{setModalData:u}=o.usePrivyModal(),l=t.useAppConfig();return e.useMemo((()=>({exportWallet:e=>new Promise((async(t,d)=>{if(!r)return void d(new i.PrivyClientError("User must be authenticated before exporting their Privy wallet"));let h=o.getPrivyWalletWithAddress(r,e.address);h?"spark"===h.chainType&&o.getIsUnifiedWallet(h)?await n()?c?(u({connectWallet:{recoveryMethod:h.recoveryMethod,connectingWalletAddress:h.address,isUnifiedWallet:!0,onCompleteNavigateTo:o.EmbeddedWalletKeyExportScreen,onFailure:d,shouldForceMFA:!0},keyExport:{appId:l.id,appClientId:l.appClientId,origin:s.apiUrl,address:h.address,hdWalletIndex:h.walletIndex,chainType:h.chainType,walletId:h.id,isUnifiedWallet:!0,imported:h.imported,onSuccess:t,onFailure:d}}),a(o.EmbeddedWalletConnectingScreen)):d(new i.PrivyClientError("Wallet not ready for export")):d(new i.PrivyClientError("Must have valid access token.")):d(Error("Export via extended-chains is only supported for unified stack wallets")):d(new i.PrivyClientError("User must have an embedded wallet."))}))})),[r,n,c,a,s,u,l])},exports.useSignRawHash=()=>{let{user:t}=o.usePrivyContext(),{privy:c}=i.usePrivyInternal(),{signWithUserSigner:a}=n.useSignWithUserSigner();return e.useMemo((()=>({async signRawHash({address:e,chainType:i,hash:n}){if(!t)throw Error("User must be authenticated before signing");let s=o.getAllPrivyWalletsForChainType(t,i).filter((e=>o.getIsUnifiedWallet(e))).find((r=>r.address===e));if(!s)throw Error("Wallet not found");let u=await r.rawSign(c,a,{wallet_id:s.id,params:{hash:n}});if(u.data&&"signature"in u.data&&"hex"===u.data.encoding)return{signature:u.data.signature};throw Error("Failed to sign")}})),[c,a,t])};