@crossmint/client-sdk-react-base 2.0.3 → 2.0.5

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 (39) hide show
  1. package/dist/{chunk-7PHHLYKM.js → chunk-BPNHRGDJ.js} +1 -1
  2. package/dist/chunk-DZ47H26W.js +1 -0
  3. package/dist/chunk-KIQHDK7U.cjs +1 -0
  4. package/dist/chunk-L3XCOKYI.cjs +1 -0
  5. package/dist/{chunk-3MSKBSMF.cjs → chunk-SX42KTTB.cjs} +1 -1
  6. package/dist/{chunk-HHKEEP4Y.cjs → chunk-TTFQ3CM6.cjs} +1 -1
  7. package/dist/chunk-YH44WWYA.js +1 -0
  8. package/dist/{chunk-B53BI22B.js → chunk-ZOOUCKVQ.js} +1 -1
  9. package/dist/hooks/index.cjs +1 -1
  10. package/dist/hooks/index.js +1 -1
  11. package/dist/hooks/useAuth.cjs +1 -1
  12. package/dist/hooks/useAuth.js +1 -1
  13. package/dist/hooks/useCrossmint.cjs +1 -1
  14. package/dist/hooks/useCrossmint.js +1 -1
  15. package/dist/hooks/useSignerAuth.cjs +1 -1
  16. package/dist/hooks/useSignerAuth.d.cts +4 -0
  17. package/dist/hooks/useSignerAuth.d.ts +4 -0
  18. package/dist/hooks/useSignerAuth.js +1 -1
  19. package/dist/hooks/useWallet.cjs +1 -1
  20. package/dist/hooks/useWallet.js +1 -1
  21. package/dist/hooks/useWalletOtpSigner.cjs +1 -1
  22. package/dist/hooks/useWalletOtpSigner.js +1 -1
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/providers/CrossmintAuthBaseProvider.cjs +1 -1
  26. package/dist/providers/CrossmintAuthBaseProvider.js +1 -1
  27. package/dist/providers/CrossmintProvider.cjs +1 -1
  28. package/dist/providers/CrossmintProvider.js +1 -1
  29. package/dist/providers/CrossmintWalletBaseProvider.cjs +1 -1
  30. package/dist/providers/CrossmintWalletBaseProvider.js +1 -1
  31. package/dist/providers/CrossmintWalletUIBaseProvider.cjs +1 -1
  32. package/dist/providers/CrossmintWalletUIBaseProvider.js +1 -1
  33. package/dist/providers/index.cjs +1 -1
  34. package/dist/providers/index.js +1 -1
  35. package/package.json +5 -5
  36. package/dist/chunk-5LSHJHZV.js +0 -1
  37. package/dist/chunk-6LPM65VC.js +0 -1
  38. package/dist/chunk-6PSAJIRL.cjs +0 -1
  39. package/dist/chunk-753F2TL5.cjs +0 -1
@@ -1 +1 @@
1
- import{a as t}from"./chunk-B53BI22B.js";import{useContext as u}from"react";function c(r){let o=u(t);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}export{c as a};
1
+ import{a as t}from"./chunk-ZOOUCKVQ.js";import{useContext as u}from"react";function c(r){let o=u(t);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}export{c as a};
@@ -0,0 +1 @@
1
+ import{c as i}from"./chunk-22GIA4MK.js";import{useState as o,useRef as a,useCallback as r}from"react";var s=g=>()=>{throw new Error(`${g} is not available. Make sure you're using an email or phone signer wallet.`)};function V(){let[g,h]=o(!1),[R,u]=o("initial"),[T,m]=o(!1),[D,P]=o("initial"),[E,f]=o(void 0),[w,v]=o(void 0),l=a(s("sendEmailOtp")),O=a(s("verifyOtp")),d=a(s("sendPhoneOtp")),S=a(s("verifyPhoneOtp")),n=a(s("reject")),A=r(()=>i(this,null,function*(){try{yield l.current(),u("otp")}catch(e){console.error("Failed to send email OTP",e),n.current(new Error("Failed to send email OTP"))}}),[]),F=r(e=>i(this,null,function*(){try{yield O.current(e),h(!1),u("initial"),f(void 0)}catch(t){console.error("Failed to verify OTP",t),n.current(new Error("Failed to verify OTP"))}}),[]),_=r(()=>i(this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend email OTP",e),n.current(new Error("Failed to resend email OTP"))}}),[]),j=r(()=>i(this,null,function*(){try{yield d.current(),P("otp")}catch(e){console.error("Failed to send phone OTP",e),n.current(new Error("Failed to send phone OTP"))}}),[]),k=r(e=>i(this,null,function*(){try{yield S.current(e),m(!1),P("initial"),v(void 0)}catch(t){console.error("Failed to verify phone OTP",t),n.current(new Error("Failed to verify phone OTP"))}}),[]),M=r(()=>i(this,null,function*(){try{yield d.current()}catch(e){console.error("Failed to resend phone OTP",e),n.current(new Error("Failed to resend phone OTP"))}}),[]),x=r((e,t,c,b,y,q)=>{let p=t.split(":")[1];return e==="phone"&&p!=null?(m(c),v(c?p:void 0),d.current=b,S.current=y):e==="email"&&p!=null&&(h(c),f(c?p:void 0),l.current=b,O.current=y),n.current=q,Promise.resolve()},[]);return{emailSignerDialogOpen:g,emailSignerDialogStep:R,setEmailSignerDialogOpen:h,setEmailSignerDialogStep:u,phoneSignerDialogOpen:T,phoneSignerDialogStep:D,setPhoneSignerDialogOpen:m,setPhoneSignerDialogStep:P,activeAuthEmail:E,activeAuthPhone:w,sendEmailOtpRef:l,verifyOtpRef:O,sendPhoneOtpRef:d,verifyPhoneOtpRef:S,rejectRef:n,emailsigners_handleSendEmailOTP:A,emailsigners_handleOTPSubmit:F,emailsigners_handleResendOTP:_,phonesigners_handleSendPhoneOTP:j,phonesigners_handleOTPSubmit:k,phonesigners_handleResendOTP:M,onAuthRequired:x}}export{V as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var s=g=>()=>{throw new Error(`${g} is not available. Make sure you're using an email or phone signer wallet.`)};function N(){let[g,h]=_react.useState.call(void 0, !1),[R,u]=_react.useState.call(void 0, "initial"),[T,m]=_react.useState.call(void 0, !1),[D,P]=_react.useState.call(void 0, "initial"),[E,f]=_react.useState.call(void 0, void 0),[w,v]=_react.useState.call(void 0, void 0),l=_react.useRef.call(void 0, s("sendEmailOtp")),O=_react.useRef.call(void 0, s("verifyOtp")),d=_react.useRef.call(void 0, s("sendPhoneOtp")),S=_react.useRef.call(void 0, s("verifyPhoneOtp")),n=_react.useRef.call(void 0, s("reject")),A=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current(),u("otp")}catch(e){console.error("Failed to send email OTP",e),n.current(new Error("Failed to send email OTP"))}}),[]),F=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield O.current(e),h(!1),u("initial"),f(void 0)}catch(t){console.error("Failed to verify OTP",t),n.current(new Error("Failed to verify OTP"))}}),[]),_=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend email OTP",e),n.current(new Error("Failed to resend email OTP"))}}),[]),j=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield d.current(),P("otp")}catch(e){console.error("Failed to send phone OTP",e),n.current(new Error("Failed to send phone OTP"))}}),[]),k=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield S.current(e),m(!1),P("initial"),v(void 0)}catch(t){console.error("Failed to verify phone OTP",t),n.current(new Error("Failed to verify phone OTP"))}}),[]),M=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield d.current()}catch(e){console.error("Failed to resend phone OTP",e),n.current(new Error("Failed to resend phone OTP"))}}),[]),x=_react.useCallback.call(void 0, (e,t,c,b,y,q)=>{let p=t.split(":")[1];return e==="phone"&&p!=null?(m(c),v(c?p:void 0),d.current=b,S.current=y):e==="email"&&p!=null&&(h(c),f(c?p:void 0),l.current=b,O.current=y),n.current=q,Promise.resolve()},[]);return{emailSignerDialogOpen:g,emailSignerDialogStep:R,setEmailSignerDialogOpen:h,setEmailSignerDialogStep:u,phoneSignerDialogOpen:T,phoneSignerDialogStep:D,setPhoneSignerDialogOpen:m,setPhoneSignerDialogStep:P,activeAuthEmail:E,activeAuthPhone:w,sendEmailOtpRef:l,verifyOtpRef:O,sendPhoneOtpRef:d,verifyPhoneOtpRef:S,rejectRef:n,emailsigners_handleSendEmailOTP:A,emailsigners_handleOTPSubmit:F,emailsigners_handleResendOTP:_,phonesigners_handleSendPhoneOTP:j,phonesigners_handleOTPSubmit:k,phonesigners_handleResendOTP:M,onAuthRequired:x}}exports.a = N;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkSX42KTTBcjs = require('./chunk-SX42KTTB.cjs');var _chunkTTFQ3CM6cjs = require('./chunk-TTFQ3CM6.cjs');var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunkKIQHDK7Ucjs = require('./chunk-KIQHDK7U.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var G=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email or phone signer wallet.`)};function _e(){let i=_react.useContext.call(void 0, D);if(i==null)throw new Error("useWalletOtpSigner must be used within CrossmintWalletProvider");let{otpSignerState:e}=i,h=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var n;return e.sendOtp==null&&G("sendOtp")(),yield(n=e.sendOtp)==null?void 0:n.call(e)}),[e.sendOtp]),m=_react.useCallback.call(void 0, n=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var l;return e.verifyOtp==null&&G("verifyOtp")(),yield(l=e.verifyOtp)==null?void 0:l.call(e,n)}),[e.verifyOtp]),d=_react.useCallback.call(void 0, n=>{var l;e.reject==null&&G("reject")(),(l=e.reject)==null||l.call(e,n)},[e.reject]);return{needsAuth:e.needsAuth,sendOtp:h,verifyOtp:m,reject:d}}var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _jsxruntime = require('react/jsx-runtime');var E=_react.createContext.call(void 0, {crossmintAuth:void 0,logout:()=>_chunkCK4JCQY6cjs.c.call(void 0, void 0,null,function*(){}),status:"initializing",getUser:()=>{},login:()=>{}});function be(){let i=_react.useContext.call(void 0, E);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function Ae({children:i,onLoginSuccess:e,refreshRoute:h,logoutRoute:m,storageProvider:d}){let{crossmint:n}=_chunkSX42KTTBcjs.a.call(void 0, "CrossmintAuthBaseProvider must be used within CrossmintProvider"),[l,x]=_react.useState.call(void 0, void 0),[u,c]=_react.useState.call(void 0, void 0),[b,A]=_react.useState.call(void 0, !1),s=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{if(!s.current)try{s.current=_clientsdkauth.CrossmintAuth.from(n,{callbacks:{onLogout:()=>{x(void 0),c(void 0)},onTokenRefresh:v=>{x(v.user),c(v.jwt)}},refreshRoute:h,logoutRoute:m,storageProvider:d})}catch(v){console.error("Failed to initialize CrossmintAuth:",v)}},[n,h,m,d]);let a=s.current,S=_react.useCallback.call(void 0, ()=>{e==null||e()},[e]);_react.useEffect.call(void 0, ()=>{var v;if(u==null)if(d)(v=d.get)==null||v.call(d,_commonsdkauth.SESSION_PREFIX).then(O=>{O!=null&&c(O)}).finally(()=>{A(!0)});else{try{let O=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);c(O)}catch(O){console.error("Failed to get cookie:",O)}A(!0)}else A(!0)},[u,d]),_react.useEffect.call(void 0, ()=>{u!=null&&S()},[u,S]);let f=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return x(void 0),c(void 0),yield a==null?void 0:a.logout()}),[a]),C=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(u==null){console.log("User not logged in");return}let v=yield a==null?void 0:a.getUser();return x(v),v}),[u,a]),F=_react.useCallback.call(void 0, ()=>b?u!=null?"logged-in":"logged-out":"initializing",[u,b]),U=_react.useMemo.call(void 0, ()=>({crossmintAuth:a,logout:f,jwt:u,user:l,status:F(),getUser:C,login:()=>{}}),[a,f,u,l,b,C,F]);return _jsxruntime.jsx.call(void 0, E.Provider,{value:U,children:i})}function lt(){let i=_react.useContext.call(void 0, E);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var _lodashclonedeep = require('lodash.clonedeep'); var _lodashclonedeep2 = _interopRequireDefault(_lodashclonedeep);var D=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getWallet:()=>Promise.resolve(void 0),createWallet:()=>Promise.resolve(void 0),clientTEEConnection:void 0,otpSignerState:{needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null},createDeviceSigner:()=>Promise.reject(new Error("createDeviceSigner must be used within a CrossmintWalletBaseProvider")),createPasskeySigner:()=>Promise.reject(new Error("createPasskeySigner must be used within a CrossmintWalletBaseProvider"))});function At({children:i,createOnLogin:e,callbacks:h,clientTEEConnection:m,deviceSignerKeyStorage:d,initializeWebView:n,appearance:l,showOtpSignerPrompt:x,onAuthRequired:u,showPasskeyHelpers:c,renderUI:b}){var ie,ae;let A=_chunkQBEM2WHMcjs.b.call(void 0, _chunkTTFQ3CM6cjs.b),{crossmint:s}=_chunkSX42KTTBcjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[a,S]=_react.useState.call(void 0, void 0),[f,C]=_react.useState.call(void 0, "not-loaded"),[F,U]=_react.useState.call(void 0, {open:!1}),v=_chunkKIQHDK7Ucjs.a.call(void 0, ),{onAuthRequired:O}=v,[L,Ce]=_react.useState.call(void 0, {needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null}),J=_react.useCallback.call(void 0, t=>()=>new Promise(r=>{if(!c){r();return}U({type:t,open:!0,primaryActionOnClick:()=>{U({open:!1}),r()},secondaryActionOnClick:()=>{U({open:!1}),r()}})}),[c]),R=_react.useMemo.call(void 0, ()=>{var o;let t=h==null?void 0:h.onWalletCreationStart,r=h==null?void 0:h.onTransactionStart;return((o=e==null?void 0:e.recovery)==null?void 0:o.type)==="passkey"&&c&&(t=J("create-wallet"),r=J("transaction")),{onWalletCreationStart:t,onTransactionStart:r}},[h,(ie=e==null?void 0:e.recovery)==null?void 0:ie.type,c,J]),ee=_react.useCallback.call(void 0, (t,r,o,W,y,P)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){Ce({needsAuth:o,sendOtp:W,verifyOtp:y,reject:P});let p=u!=null?u:O;return yield p==null?void 0:p(t,r,o,W,y,P)}),[u,O]),T=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){(t.type==="email"||t.type==="phone")&&(yield n==null?void 0:n())}),[n]),I=_react.useCallback.call(void 0, t=>{var r,o,W,y,P,p;return{clientTEEConnection:m==null?void 0:m(),callbacks:{onWalletCreationStart:(o=(r=t==null?void 0:t.callbacks)==null?void 0:r.onWalletCreationStart)!=null?o:R==null?void 0:R.onWalletCreationStart,onTransactionStart:(y=(W=t==null?void 0:t.callbacks)==null?void 0:W.onTransactionStart)!=null?y:R==null?void 0:R.onTransactionStart,onAuthRequired:(p=(P=t==null?void 0:t.callbacks)==null?void 0:P.onAuthRequired)!=null?p:ee},deviceSignerKeyStorage:d}},[m,R,d,ee]),te=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let r=_lodashclonedeep2.default.call(void 0, t);if(!(s.jwt==null||f==="in-progress")){if(a!=null)return a;try{C("in-progress");let o=_walletssdk.CrossmintWallets.from(s);yield T(r.recovery);let W=I(r.options),y;try{y=yield o.getWallet({chain:r.chain,alias:r.alias,options:W})}catch(P){if(!(P instanceof _walletssdk.WalletNotAvailableError))throw P}return y==null&&(y=yield o.createWallet({chain:r.chain,plugins:r.plugins,recovery:r.recovery,signers:r.signers,alias:r.alias,options:W})),S(y),C("loaded"),y}catch(o){A.error("react.wallet.getOrCreateWallet.error",{error:o}),S(void 0),C("error");return}}}),[s,s.jwt,f,a,T,I]),re=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if((s==null?void 0:s.jwt)!=null)try{C("in-progress");let o=yield _walletssdk.CrossmintWallets.from(s).getWallet({chain:t.chain,alias:t.alias,options:I()});return o!=null?(yield T(o.recovery),S(o),C("loaded")):C("not-loaded"),o}catch(r){A.error("react.wallet.getWallet.error",{error:r}),C("error");return}}),[s,T,I]),ne=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(!(s.jwt==null||f==="in-progress"))try{C("in-progress");let r=_walletssdk.CrossmintWallets.from(s);yield T(t.recovery);let o=yield r.createWallet(_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},t),{options:I(t.options)}));return S(o),C("loaded"),o}catch(r){A.error("react.wallet.createWallet.error",{error:r}),S(void 0),C("error");return}}),[s,f,T,I]),oe=_react.useCallback.call(void 0, t=>{let r=_walletssdk.CrossmintWallets.from(s);if(d==null)throw new Error("A DeviceSignerKeyStorage must be provided to create a device signer");return r.createDeviceSigner(d,t)},[s,d]),se=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield _walletssdk.CrossmintWallets.from(s).createPasskeySigner(t)}),[s]),w=_react.useContext.call(void 0, E),[M,K]=_react.useState.call(void 0, void 0);_react.useEffect.call(void 0, ()=>{var r,o,W,y;if(e==null){K(void 0);return}if(((r=e.recovery)==null?void 0:r.type)==="email"&&e.recovery.email==null||((W=(o=e.signers)==null?void 0:o.some(P=>P.type==="email"&&P.email==null))!=null?W:!1)){if((w==null?void 0:w.user)==null)return;if(w.user.email==null){w.getUser();return}let P=w.user.email,p=_chunkCK4JCQY6cjs.a.call(void 0, {},e);((y=p.recovery)==null?void 0:y.type)==="email"&&p.recovery.email==null&&(p.recovery=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},p.recovery),{email:P})),p.signers!=null&&(p.signers=p.signers.map(H=>H.type==="email"&&H.email==null?_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},H),{email:P}):H)),K(p);return}K(e)},[e,w==null?void 0:w.user,(ae=w==null?void 0:w.user)==null?void 0:ae.email]),_react.useEffect.call(void 0, ()=>{if(M!=null){let{recovery:t,signers:r}=M;if((t==null?void 0:t.type)==="external-wallet"&&t.address==null||r!=null&&r.some(o=>o.type==="external-wallet"&&o.address==null))return;te(M)}},[M,te,s.jwt]),_react.useEffect.call(void 0, ()=>{s.jwt==null&&f!=="not-loaded"&&(C("not-loaded"),S(void 0))},[s.jwt,f]);let ye=_react.useMemo.call(void 0, ()=>({wallet:a,status:f,getWallet:re,createWallet:ne,clientTEEConnection:m,otpSignerState:L,createDeviceSigner:oe,createPasskeySigner:se}),[re,ne,a,f,m,L,oe,se]),Pe=l!=null||x!=null||c!=null||b!=null;return _jsxruntime.jsx.call(void 0, D.Provider,{value:ye,children:Pe?_jsxruntime.jsx.call(void 0, ce,{appearance:l,showOtpSignerPrompt:x,renderUI:b,passkeyPromptState:F,signerAuth:v,children:i}):i})}function fe(){let i=_react.useContext.call(void 0, D);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}function ce({children:i,appearance:e,showOtpSignerPrompt:h,renderUI:m,passkeyPromptState:d,signerAuth:n}){var s,a,S,f;let{wallet:l}=fe(),x=(s=l==null?void 0:l.signer)==null?void 0:s.type,u=(a=l==null?void 0:l.signer)==null?void 0:a.locator().split(":")[1],c=(S=n.activeAuthEmail)!=null?S:x==="email"?u:void 0,b=(f=n.activeAuthPhone)!=null?f:x==="phone"?u:void 0,A={emailSignerProps:{email:c,open:n.emailSignerDialogOpen&&c!=null,setOpen:n.setEmailSignerDialogOpen,step:n.emailSignerDialogStep,onSubmitOTP:n.emailsigners_handleOTPSubmit,onResendOTPCode:n.emailsigners_handleResendOTP,onSubmitEmail:n.emailsigners_handleSendEmailOTP,rejectRef:n.rejectRef,appearance:e},phoneSignerProps:{phone:b,open:n.phoneSignerDialogOpen&&b!=null,setOpen:n.setPhoneSignerDialogOpen,step:n.phoneSignerDialogStep,onSubmitOTP:n.phonesigners_handleOTPSubmit,onResendOTPCode:n.phonesigners_handleResendOTP,onSubmitPhone:n.phonesigners_handleSendPhoneOTP,rejectRef:n.rejectRef,appearance:e},passkeyPromptProps:{state:d,appearance:e}};return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[i,m!=null&&m(A)]})}exports.a = ce; exports.b = E; exports.c = be; exports.d = Ae; exports.e = D; exports.f = At; exports.g = fe; exports.h = _e; exports.i = lt;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHHKEEP4Ycjs = require('./chunk-HHKEEP4Y.cjs');var _react = require('react');function i(r){let o=_react.useContext.call(void 0, _chunkHHKEEP4Ycjs.a);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}exports.a = i;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTTFQ3CM6cjs = require('./chunk-TTFQ3CM6.cjs');var _react = require('react');function i(r){let o=_react.useContext.call(void 0, _chunkTTFQ3CM6cjs.a);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}exports.a = i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunk4UKWTU5Wcjs = require('./chunk-4UKWTU5W.cjs');var _react = require('react');var _commonsdkbase = require('@crossmint/common-sdk-base');var r={name:"@crossmint/client-sdk-react-base",version:"2.0.3",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};var _jsxruntime = require('react/jsx-runtime');var E=_react.createContext.call(void 0, null),N= exports.b =_chunkQBEM2WHMcjs.a.call(void 0, );function q({children:l,apiKey:t,appId:u,extensionId:p,overrideBaseUrl:C}){let f=_react.useMemo.call(void 0, ()=>_chunk4UKWTU5Wcjs.a.call(void 0, t,r.name,r.version),[t]),[w,x]=_react.useState.call(void 0, 0),e=_react.useRef.call(void 0, null);e.current==null&&(e.current=new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:t,overrideBaseUrl:C,appId:u,extensionId:p}),{set(s,n,i){return n==="jwt"&&s.jwt!==i&&x(g=>g+1),Reflect.set(s,n,i)}}));let o=_react.useCallback.call(void 0, s=>{if(e.current==null)throw new Error("CrossmintProvider is not initialized");s!==e.current.jwt&&(e.current.jwt=s)},[]),v=_react.useMemo.call(void 0, ()=>{if(!e.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return e.current},setJwt:o}},[o,w]);return _jsxruntime.jsx.call(void 0, N.Provider,{value:f,children:_jsxruntime.jsx.call(void 0, E.Provider,{value:v,children:l})})}exports.a = E; exports.b = N; exports.c = q;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunk4UKWTU5Wcjs = require('./chunk-4UKWTU5W.cjs');var _react = require('react');var _commonsdkbase = require('@crossmint/common-sdk-base');var r={name:"@crossmint/client-sdk-react-base",version:"2.0.5",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};var _jsxruntime = require('react/jsx-runtime');var E=_react.createContext.call(void 0, null),N= exports.b =_chunkQBEM2WHMcjs.a.call(void 0, );function q({children:l,apiKey:t,appId:u,extensionId:p,overrideBaseUrl:C}){let f=_react.useMemo.call(void 0, ()=>_chunk4UKWTU5Wcjs.a.call(void 0, t,r.name,r.version),[t]),[w,x]=_react.useState.call(void 0, 0),e=_react.useRef.call(void 0, null);e.current==null&&(e.current=new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:t,overrideBaseUrl:C,appId:u,extensionId:p}),{set(s,n,i){return n==="jwt"&&s.jwt!==i&&x(g=>g+1),Reflect.set(s,n,i)}}));let o=_react.useCallback.call(void 0, s=>{if(e.current==null)throw new Error("CrossmintProvider is not initialized");s!==e.current.jwt&&(e.current.jwt=s)},[]),v=_react.useMemo.call(void 0, ()=>{if(!e.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return e.current},setJwt:o}},[o,w]);return _jsxruntime.jsx.call(void 0, N.Provider,{value:f,children:_jsxruntime.jsx.call(void 0, E.Provider,{value:v,children:l})})}exports.a = E; exports.b = N; exports.c = q;
@@ -0,0 +1 @@
1
+ import{a as z}from"./chunk-BPNHRGDJ.js";import{b as ue}from"./chunk-ZOOUCKVQ.js";import{b as $}from"./chunk-FF2S33DL.js";import{a as de}from"./chunk-DZ47H26W.js";import{a as D,b as q,c as g}from"./chunk-22GIA4MK.js";import{useContext as Ue}from"react";import{createContext as Be,useCallback as k,useContext as Ee,useEffect as L,useMemo as me,useState as _}from"react";import{CrossmintWallets as F,WalletNotAvailableError as Te}from"@crossmint/wallets-sdk";import{useCallback as G,useContext as he}from"react";var Q=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email or phone signer wallet.`)};function Fe(){let i=he(N);if(i==null)throw new Error("useWalletOtpSigner must be used within CrossmintWalletProvider");let{otpSignerState:e}=i,h=G(()=>g(this,null,function*(){var n;return e.sendOtp==null&&Q("sendOtp")(),yield(n=e.sendOtp)==null?void 0:n.call(e)}),[e.sendOtp]),m=G(n=>g(this,null,function*(){var l;return e.verifyOtp==null&&Q("verifyOtp")(),yield(l=e.verifyOtp)==null?void 0:l.call(e,n)}),[e.verifyOtp]),d=G(n=>{var l;e.reject==null&&Q("reject")(),(l=e.reject)==null||l.call(e,n)},[e.reject]);return{needsAuth:e.needsAuth,sendOtp:h,verifyOtp:m,reject:d}}import{useContext as Re}from"react";import{createContext as ve,useCallback as J,useContext as Se,useEffect as Y,useMemo as we,useRef as We,useState as Z}from"react";import{CrossmintAuth as xe,getCookie as be}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as pe}from"@crossmint/common-sdk-auth";import{jsx as ke}from"react/jsx-runtime";var T=ve({crossmintAuth:void 0,logout:()=>g(void 0,null,function*(){}),status:"initializing",getUser:()=>{},login:()=>{}});function Ae(){let i=Se(T);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function Oe({children:i,onLoginSuccess:e,refreshRoute:h,logoutRoute:m,storageProvider:d}){let{crossmint:n}=z("CrossmintAuthBaseProvider must be used within CrossmintProvider"),[l,x]=Z(void 0),[u,c]=Z(void 0),[b,A]=Z(!1),s=We(null);Y(()=>{if(!s.current)try{s.current=xe.from(n,{callbacks:{onLogout:()=>{x(void 0),c(void 0)},onTokenRefresh:v=>{x(v.user),c(v.jwt)}},refreshRoute:h,logoutRoute:m,storageProvider:d})}catch(v){console.error("Failed to initialize CrossmintAuth:",v)}},[n,h,m,d]);let a=s.current,S=J(()=>{e==null||e()},[e]);Y(()=>{var v;if(u==null)if(d)(v=d.get)==null||v.call(d,pe).then(O=>{O!=null&&c(O)}).finally(()=>{A(!0)});else{try{let O=be(pe);c(O)}catch(O){console.error("Failed to get cookie:",O)}A(!0)}else A(!0)},[u,d]),Y(()=>{u!=null&&S()},[u,S]);let f=J(()=>g(this,null,function*(){return x(void 0),c(void 0),yield a==null?void 0:a.logout()}),[a]),C=J(()=>g(this,null,function*(){if(u==null){console.log("User not logged in");return}let v=yield a==null?void 0:a.getUser();return x(v),v}),[u,a]),M=J(()=>b?u!=null?"logged-in":"logged-out":"initializing",[u,b]),j=we(()=>({crossmintAuth:a,logout:f,jwt:u,user:l,status:M(),getUser:C,login:()=>{}}),[a,f,u,l,b,C,M]);return ke(T.Provider,{value:j,children:i})}function ut(){let i=Re(T);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}import Ie from"lodash.clonedeep";import{jsx as ce}from"react/jsx-runtime";var N=Be({wallet:void 0,status:"not-loaded",getWallet:()=>Promise.resolve(void 0),createWallet:()=>Promise.resolve(void 0),clientTEEConnection:void 0,otpSignerState:{needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null},createDeviceSigner:()=>Promise.reject(new Error("createDeviceSigner must be used within a CrossmintWalletBaseProvider")),createPasskeySigner:()=>Promise.reject(new Error("createPasskeySigner must be used within a CrossmintWalletBaseProvider"))});function Ot({children:i,createOnLogin:e,callbacks:h,clientTEEConnection:m,deviceSignerKeyStorage:d,initializeWebView:n,appearance:l,showOtpSignerPrompt:x,onAuthRequired:u,showPasskeyHelpers:c,renderUI:b}){var ae,le;let A=$(ue),{crossmint:s}=z("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[a,S]=_(void 0),[f,C]=_("not-loaded"),[M,j]=_({open:!1}),v=de(),{onAuthRequired:O}=v,[ee,ye]=_({needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null}),K=k(t=>()=>new Promise(r=>{if(!c){r();return}j({type:t,open:!0,primaryActionOnClick:()=>{j({open:!1}),r()},secondaryActionOnClick:()=>{j({open:!1}),r()}})}),[c]),R=me(()=>{var o;let t=h==null?void 0:h.onWalletCreationStart,r=h==null?void 0:h.onTransactionStart;return((o=e==null?void 0:e.recovery)==null?void 0:o.type)==="passkey"&&c&&(t=K("create-wallet"),r=K("transaction")),{onWalletCreationStart:t,onTransactionStart:r}},[h,(ae=e==null?void 0:e.recovery)==null?void 0:ae.type,c,K]),te=k((t,r,o,W,y,P)=>g(this,null,function*(){ye({needsAuth:o,sendOtp:W,verifyOtp:y,reject:P});let p=u!=null?u:O;return yield p==null?void 0:p(t,r,o,W,y,P)}),[u,O]),I=k(t=>g(this,null,function*(){(t.type==="email"||t.type==="phone")&&(yield n==null?void 0:n())}),[n]),U=k(t=>{var r,o,W,y,P,p;return{clientTEEConnection:m==null?void 0:m(),callbacks:{onWalletCreationStart:(o=(r=t==null?void 0:t.callbacks)==null?void 0:r.onWalletCreationStart)!=null?o:R==null?void 0:R.onWalletCreationStart,onTransactionStart:(y=(W=t==null?void 0:t.callbacks)==null?void 0:W.onTransactionStart)!=null?y:R==null?void 0:R.onTransactionStart,onAuthRequired:(p=(P=t==null?void 0:t.callbacks)==null?void 0:P.onAuthRequired)!=null?p:te},deviceSignerKeyStorage:d}},[m,R,d,te]),re=k(t=>g(this,null,function*(){let r=Ie(t);if(!(s.jwt==null||f==="in-progress")){if(a!=null)return a;try{C("in-progress");let o=F.from(s);yield I(r.recovery);let W=U(r.options),y;try{y=yield o.getWallet({chain:r.chain,alias:r.alias,options:W})}catch(P){if(!(P instanceof Te))throw P}return y==null&&(y=yield o.createWallet({chain:r.chain,plugins:r.plugins,recovery:r.recovery,signers:r.signers,alias:r.alias,options:W})),S(y),C("loaded"),y}catch(o){A.error("react.wallet.getOrCreateWallet.error",{error:o}),S(void 0),C("error");return}}}),[s,s.jwt,f,a,I,U]),ne=k(t=>g(this,null,function*(){if((s==null?void 0:s.jwt)!=null)try{C("in-progress");let o=yield F.from(s).getWallet({chain:t.chain,alias:t.alias,options:U()});return o!=null?(yield I(o.recovery),S(o),C("loaded")):C("not-loaded"),o}catch(r){A.error("react.wallet.getWallet.error",{error:r}),C("error");return}}),[s,I,U]),oe=k(t=>g(this,null,function*(){if(!(s.jwt==null||f==="in-progress"))try{C("in-progress");let r=F.from(s);yield I(t.recovery);let o=yield r.createWallet(q(D({},t),{options:U(t.options)}));return S(o),C("loaded"),o}catch(r){A.error("react.wallet.createWallet.error",{error:r}),S(void 0),C("error");return}}),[s,f,I,U]),se=k(t=>{let r=F.from(s);if(d==null)throw new Error("A DeviceSignerKeyStorage must be provided to create a device signer");return r.createDeviceSigner(d,t)},[s,d]),ie=k(t=>g(this,null,function*(){return yield F.from(s).createPasskeySigner(t)}),[s]),w=Ee(T),[H,X]=_(void 0);L(()=>{var r,o,W,y;if(e==null){X(void 0);return}if(((r=e.recovery)==null?void 0:r.type)==="email"&&e.recovery.email==null||((W=(o=e.signers)==null?void 0:o.some(P=>P.type==="email"&&P.email==null))!=null?W:!1)){if((w==null?void 0:w.user)==null)return;if(w.user.email==null){w.getUser();return}let P=w.user.email,p=D({},e);((y=p.recovery)==null?void 0:y.type)==="email"&&p.recovery.email==null&&(p.recovery=q(D({},p.recovery),{email:P})),p.signers!=null&&(p.signers=p.signers.map(V=>V.type==="email"&&V.email==null?q(D({},V),{email:P}):V)),X(p);return}X(e)},[e,w==null?void 0:w.user,(le=w==null?void 0:w.user)==null?void 0:le.email]),L(()=>{if(H!=null){let{recovery:t,signers:r}=H;if((t==null?void 0:t.type)==="external-wallet"&&t.address==null||r!=null&&r.some(o=>o.type==="external-wallet"&&o.address==null))return;re(H)}},[H,re,s.jwt]),L(()=>{s.jwt==null&&f!=="not-loaded"&&(C("not-loaded"),S(void 0))},[s.jwt,f]);let Pe=me(()=>({wallet:a,status:f,getWallet:ne,createWallet:oe,clientTEEConnection:m,otpSignerState:ee,createDeviceSigner:se,createPasskeySigner:ie}),[ne,oe,a,f,m,ee,se,ie]),ge=l!=null||x!=null||c!=null||b!=null;return ce(N.Provider,{value:Pe,children:ge?ce(fe,{appearance:l,showOtpSignerPrompt:x,renderUI:b,passkeyPromptState:M,signerAuth:v,children:i}):i})}function Ce(){let i=Ue(N);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}import{Fragment as je,jsxs as De}from"react/jsx-runtime";function fe({children:i,appearance:e,showOtpSignerPrompt:h,renderUI:m,passkeyPromptState:d,signerAuth:n}){var s,a,S,f;let{wallet:l}=Ce(),x=(s=l==null?void 0:l.signer)==null?void 0:s.type,u=(a=l==null?void 0:l.signer)==null?void 0:a.locator().split(":")[1],c=(S=n.activeAuthEmail)!=null?S:x==="email"?u:void 0,b=(f=n.activeAuthPhone)!=null?f:x==="phone"?u:void 0,A={emailSignerProps:{email:c,open:n.emailSignerDialogOpen&&c!=null,setOpen:n.setEmailSignerDialogOpen,step:n.emailSignerDialogStep,onSubmitOTP:n.emailsigners_handleOTPSubmit,onResendOTPCode:n.emailsigners_handleResendOTP,onSubmitEmail:n.emailsigners_handleSendEmailOTP,rejectRef:n.rejectRef,appearance:e},phoneSignerProps:{phone:b,open:n.phoneSignerDialogOpen&&b!=null,setOpen:n.setPhoneSignerDialogOpen,step:n.phoneSignerDialogStep,onSubmitOTP:n.phonesigners_handleOTPSubmit,onResendOTPCode:n.phonesigners_handleResendOTP,onSubmitPhone:n.phonesigners_handleSendPhoneOTP,rejectRef:n.rejectRef,appearance:e},passkeyPromptProps:{state:d,appearance:e}};return De(je,{children:[i,m!=null&&m(A)]})}export{fe as a,T as b,Ae as c,Oe as d,N as e,Ot as f,Ce as g,Fe as h,ut as i};
@@ -1 +1 @@
1
- import{a as d}from"./chunk-FF2S33DL.js";import{a as c}from"./chunk-SUETDQ6M.js";import{createContext as h,useCallback as P,useMemo as m,useRef as y,useState as b}from"react";import{createCrossmint as j}from"@crossmint/common-sdk-base";var r={name:"@crossmint/client-sdk-react-base",version:"2.0.3",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};import{jsx as a}from"react/jsx-runtime";var E=h(null),N=d();function J({children:l,apiKey:t,appId:u,extensionId:p,overrideBaseUrl:C}){let f=m(()=>c(t,r.name,r.version),[t]),[w,x]=b(0),e=y(null);e.current==null&&(e.current=new Proxy(j({apiKey:t,overrideBaseUrl:C,appId:u,extensionId:p}),{set(s,n,i){return n==="jwt"&&s.jwt!==i&&x(g=>g+1),Reflect.set(s,n,i)}}));let o=P(s=>{if(e.current==null)throw new Error("CrossmintProvider is not initialized");s!==e.current.jwt&&(e.current.jwt=s)},[]),v=m(()=>{if(!e.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return e.current},setJwt:o}},[o,w]);return a(N.Provider,{value:f,children:a(E.Provider,{value:v,children:l})})}export{E as a,N as b,J as c};
1
+ import{a as d}from"./chunk-FF2S33DL.js";import{a as c}from"./chunk-SUETDQ6M.js";import{createContext as h,useCallback as P,useMemo as m,useRef as y,useState as b}from"react";import{createCrossmint as j}from"@crossmint/common-sdk-base";var r={name:"@crossmint/client-sdk-react-base",version:"2.0.5",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};import{jsx as a}from"react/jsx-runtime";var E=h(null),N=d();function J({children:l,apiKey:t,appId:u,extensionId:p,overrideBaseUrl:C}){let f=m(()=>c(t,r.name,r.version),[t]),[w,x]=b(0),e=y(null);e.current==null&&(e.current=new Proxy(j({apiKey:t,overrideBaseUrl:C,appId:u,extensionId:p}),{set(s,n,i){return n==="jwt"&&s.jwt!==i&&x(g=>g+1),Reflect.set(s,n,i)}}));let o=P(s=>{if(e.current==null)throw new Error("CrossmintProvider is not initialized");s!==e.current.jwt&&(e.current.jwt=s)},[]),v=m(()=>{if(!e.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return e.current},setJwt:o}},[o,w]);return a(N.Provider,{value:f,children:a(E.Provider,{value:v,children:l})})}export{E as a,N as b,J as c};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');var _chunk3MSKBSMFcjs = require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');var _chunk753F2TL5cjs = require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunk3MSKBSMFcjs.a; exports.useCrossmintAuth = _chunk6PSAJIRLcjs.i; exports.useSignerAuth = _chunk753F2TL5cjs.a; exports.useWallet = _chunk6PSAJIRLcjs.g; exports.useWalletOtpSigner = _chunk6PSAJIRLcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');var _chunkSX42KTTBcjs = require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');var _chunkKIQHDK7Ucjs = require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunkSX42KTTBcjs.a; exports.useCrossmintAuth = _chunkL3XCOKYIcjs.i; exports.useSignerAuth = _chunkKIQHDK7Ucjs.a; exports.useWallet = _chunkL3XCOKYIcjs.g; exports.useWalletOtpSigner = _chunkL3XCOKYIcjs.h;
@@ -1 +1 @@
1
- import{g as b,h as c,i as d}from"../chunk-5LSHJHZV.js";import{a}from"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import{a as e}from"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint,d as useCrossmintAuth,e as useSignerAuth,b as useWallet,c as useWalletOtpSigner};
1
+ import{g as b,h as c,i as d}from"../chunk-YH44WWYA.js";import{a}from"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import{a as e}from"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint,d as useCrossmintAuth,e as useSignerAuth,b as useWallet,c as useWalletOtpSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmintAuth = _chunk6PSAJIRLcjs.i;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmintAuth = _chunkL3XCOKYIcjs.i;
@@ -1 +1 @@
1
- import{i as a}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useCrossmintAuth};
1
+ import{i as a}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useCrossmintAuth};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3MSKBSMFcjs = require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunk3MSKBSMFcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSX42KTTBcjs = require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunkSX42KTTBcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint};
1
+ import{a}from"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk753F2TL5cjs = require('../chunk-753F2TL5.cjs');require('../chunk-CK4JCQY6.cjs');exports.useSignerAuth = _chunk753F2TL5cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKIQHDK7Ucjs = require('../chunk-KIQHDK7U.cjs');require('../chunk-CK4JCQY6.cjs');exports.useSignerAuth = _chunkKIQHDK7Ucjs.a;
@@ -12,6 +12,10 @@ interface SignerAuthState {
12
12
  phoneSignerDialogStep: DialogStep;
13
13
  setPhoneSignerDialogOpen: (open: boolean) => void;
14
14
  setPhoneSignerDialogStep: (step: DialogStep) => void;
15
+ /** The email address from the active auth flow (set by onAuthRequired callback). */
16
+ activeAuthEmail: string | undefined;
17
+ /** The phone number from the active auth flow (set by onAuthRequired callback). */
18
+ activeAuthPhone: string | undefined;
15
19
  sendEmailOtpRef: MutableRefObject<() => Promise<void>>;
16
20
  verifyOtpRef: MutableRefObject<(otp: string) => Promise<void>>;
17
21
  sendPhoneOtpRef: MutableRefObject<() => Promise<void>>;
@@ -12,6 +12,10 @@ interface SignerAuthState {
12
12
  phoneSignerDialogStep: DialogStep;
13
13
  setPhoneSignerDialogOpen: (open: boolean) => void;
14
14
  setPhoneSignerDialogStep: (step: DialogStep) => void;
15
+ /** The email address from the active auth flow (set by onAuthRequired callback). */
16
+ activeAuthEmail: string | undefined;
17
+ /** The phone number from the active auth flow (set by onAuthRequired callback). */
18
+ activeAuthPhone: string | undefined;
15
19
  sendEmailOtpRef: MutableRefObject<() => Promise<void>>;
16
20
  verifyOtpRef: MutableRefObject<(otp: string) => Promise<void>>;
17
21
  sendPhoneOtpRef: MutableRefObject<() => Promise<void>>;
@@ -1 +1 @@
1
- import{a}from"../chunk-6LPM65VC.js";import"../chunk-22GIA4MK.js";export{a as useSignerAuth};
1
+ import{a}from"../chunk-DZ47H26W.js";import"../chunk-22GIA4MK.js";export{a as useSignerAuth};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunk6PSAJIRLcjs.g;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkL3XCOKYIcjs.g;
@@ -1 +1 @@
1
- import{g as a}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
1
+ import{g as a}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWalletOtpSigner = _chunk6PSAJIRLcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWalletOtpSigner = _chunkL3XCOKYIcjs.h;
@@ -1 +1 @@
1
- import{h as a}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useWalletOtpSigner};
1
+ import{h as a}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as useWalletOtpSigner};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-YSXSE5ZY.cjs');var _chunkBZI46GB2cjs = require('./chunk-BZI46GB2.cjs');var _chunk6PSAJIRLcjs = require('./chunk-6PSAJIRL.cjs');var _chunk3MSKBSMFcjs = require('./chunk-3MSKBSMF.cjs');var _chunkHHKEEP4Ycjs = require('./chunk-HHKEEP4Y.cjs');var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunk753F2TL5cjs = require('./chunk-753F2TL5.cjs');var _chunk4UKWTU5Wcjs = require('./chunk-4UKWTU5W.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunk6PSAJIRLcjs.b; exports.CrossmintAuthBaseProvider = _chunk6PSAJIRLcjs.d; exports.CrossmintContext = _chunkHHKEEP4Ycjs.a; exports.CrossmintProvider = _chunkHHKEEP4Ycjs.c; exports.CrossmintWalletBaseContext = _chunk6PSAJIRLcjs.e; exports.CrossmintWalletBaseProvider = _chunk6PSAJIRLcjs.f; exports.CrossmintWalletUIBaseProvider = _chunk6PSAJIRLcjs.a; exports.EVMWallet = _chunkBZI46GB2cjs.a; exports.LoggerContext = _chunkHHKEEP4Ycjs.b; exports.SolanaWallet = _chunkBZI46GB2cjs.b; exports.StellarWallet = _chunkBZI46GB2cjs.c; exports.createLoggerContext = _chunkQBEM2WHMcjs.a; exports.initReactLogger = _chunk4UKWTU5Wcjs.a; exports.useCrossmint = _chunk3MSKBSMFcjs.a; exports.useCrossmintAuth = _chunk6PSAJIRLcjs.i; exports.useCrossmintAuthBase = _chunk6PSAJIRLcjs.c; exports.useLogger = _chunkQBEM2WHMcjs.b; exports.useSignerAuth = _chunk753F2TL5cjs.a; exports.useWallet = _chunk6PSAJIRLcjs.g; exports.useWalletOtpSigner = _chunk6PSAJIRLcjs.h;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-YSXSE5ZY.cjs');var _chunkBZI46GB2cjs = require('./chunk-BZI46GB2.cjs');var _chunkL3XCOKYIcjs = require('./chunk-L3XCOKYI.cjs');var _chunkSX42KTTBcjs = require('./chunk-SX42KTTB.cjs');var _chunkTTFQ3CM6cjs = require('./chunk-TTFQ3CM6.cjs');var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunkKIQHDK7Ucjs = require('./chunk-KIQHDK7U.cjs');var _chunk4UKWTU5Wcjs = require('./chunk-4UKWTU5W.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkL3XCOKYIcjs.b; exports.CrossmintAuthBaseProvider = _chunkL3XCOKYIcjs.d; exports.CrossmintContext = _chunkTTFQ3CM6cjs.a; exports.CrossmintProvider = _chunkTTFQ3CM6cjs.c; exports.CrossmintWalletBaseContext = _chunkL3XCOKYIcjs.e; exports.CrossmintWalletBaseProvider = _chunkL3XCOKYIcjs.f; exports.CrossmintWalletUIBaseProvider = _chunkL3XCOKYIcjs.a; exports.EVMWallet = _chunkBZI46GB2cjs.a; exports.LoggerContext = _chunkTTFQ3CM6cjs.b; exports.SolanaWallet = _chunkBZI46GB2cjs.b; exports.StellarWallet = _chunkBZI46GB2cjs.c; exports.createLoggerContext = _chunkQBEM2WHMcjs.a; exports.initReactLogger = _chunk4UKWTU5Wcjs.a; exports.useCrossmint = _chunkSX42KTTBcjs.a; exports.useCrossmintAuth = _chunkL3XCOKYIcjs.i; exports.useCrossmintAuthBase = _chunkL3XCOKYIcjs.c; exports.useLogger = _chunkQBEM2WHMcjs.b; exports.useSignerAuth = _chunkKIQHDK7Ucjs.a; exports.useWallet = _chunkL3XCOKYIcjs.g; exports.useWalletOtpSigner = _chunkL3XCOKYIcjs.h;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-B35TULQO.js";import{a as l,b as n,c as q}from"./chunk-HMSQ2OMO.js";import{a as x,b as a,c as b,d as c,e as d,f as g,g as h,h as i,i as j}from"./chunk-5LSHJHZV.js";import{a as t}from"./chunk-7PHHLYKM.js";import{a as f,b as m,c as p}from"./chunk-B53BI22B.js";import{a as r,b as e}from"./chunk-FF2S33DL.js";import{a as k}from"./chunk-6LPM65VC.js";import{a as o}from"./chunk-SUETDQ6M.js";import"./chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,f as CrossmintContext,p as CrossmintProvider,d as CrossmintWalletBaseContext,g as CrossmintWalletBaseProvider,x as CrossmintWalletUIBaseProvider,l as EVMWallet,m as LoggerContext,n as SolanaWallet,q as StellarWallet,r as createLoggerContext,o as initReactLogger,t as useCrossmint,j as useCrossmintAuth,b as useCrossmintAuthBase,e as useLogger,k as useSignerAuth,h as useWallet,i as useWalletOtpSigner};
1
+ import"./chunk-B35TULQO.js";import{a as l,b as n,c as q}from"./chunk-HMSQ2OMO.js";import{a as x,b as a,c as b,d as c,e as d,f as g,g as h,h as i,i as j}from"./chunk-YH44WWYA.js";import{a as t}from"./chunk-BPNHRGDJ.js";import{a as f,b as m,c as p}from"./chunk-ZOOUCKVQ.js";import{a as r,b as e}from"./chunk-FF2S33DL.js";import{a as k}from"./chunk-DZ47H26W.js";import{a as o}from"./chunk-SUETDQ6M.js";import"./chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,f as CrossmintContext,p as CrossmintProvider,d as CrossmintWalletBaseContext,g as CrossmintWalletBaseProvider,x as CrossmintWalletUIBaseProvider,l as EVMWallet,m as LoggerContext,n as SolanaWallet,q as StellarWallet,r as createLoggerContext,o as initReactLogger,t as useCrossmint,j as useCrossmintAuth,b as useCrossmintAuthBase,e as useLogger,k as useSignerAuth,h as useWallet,i as useWalletOtpSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunk6PSAJIRLcjs.b; exports.CrossmintAuthBaseProvider = _chunk6PSAJIRLcjs.d; exports.useCrossmintAuthBase = _chunk6PSAJIRLcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkL3XCOKYIcjs.b; exports.CrossmintAuthBaseProvider = _chunkL3XCOKYIcjs.d; exports.useCrossmintAuthBase = _chunkL3XCOKYIcjs.c;
@@ -1 +1 @@
1
- import{b as a,c as b,d as c}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,b as useCrossmintAuthBase};
1
+ import{b as a,c as b,d as c}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,b as useCrossmintAuthBase};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHHKEEP4Ycjs = require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintContext = _chunkHHKEEP4Ycjs.a; exports.CrossmintProvider = _chunkHHKEEP4Ycjs.c; exports.LoggerContext = _chunkHHKEEP4Ycjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTTFQ3CM6cjs = require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintContext = _chunkTTFQ3CM6cjs.a; exports.CrossmintProvider = _chunkTTFQ3CM6cjs.c; exports.LoggerContext = _chunkTTFQ3CM6cjs.b;
@@ -1 +1 @@
1
- import{a,b,c}from"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintContext,c as CrossmintProvider,b as LoggerContext};
1
+ import{a,b,c}from"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintContext,c as CrossmintProvider,b as LoggerContext};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletBaseContext = _chunk6PSAJIRLcjs.e; exports.CrossmintWalletBaseProvider = _chunk6PSAJIRLcjs.f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletBaseContext = _chunkL3XCOKYIcjs.e; exports.CrossmintWalletBaseProvider = _chunkL3XCOKYIcjs.f;
@@ -1 +1 @@
1
- import{e as a,f as b}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider};
1
+ import{e as a,f as b}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');require('../chunk-HHKEEP4Y.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletUIBaseProvider = _chunk6PSAJIRLcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');require('../chunk-TTFQ3CM6.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletUIBaseProvider = _chunkL3XCOKYIcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import"../chunk-B53BI22B.js";import"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletUIBaseProvider};
1
+ import{a}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import"../chunk-ZOOUCKVQ.js";import"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletUIBaseProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6PSAJIRLcjs = require('../chunk-6PSAJIRL.cjs');require('../chunk-3MSKBSMF.cjs');var _chunkHHKEEP4Ycjs = require('../chunk-HHKEEP4Y.cjs');var _chunkQBEM2WHMcjs = require('../chunk-QBEM2WHM.cjs');require('../chunk-753F2TL5.cjs');var _chunk4UKWTU5Wcjs = require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunk6PSAJIRLcjs.b; exports.CrossmintAuthBaseProvider = _chunk6PSAJIRLcjs.d; exports.CrossmintContext = _chunkHHKEEP4Ycjs.a; exports.CrossmintProvider = _chunkHHKEEP4Ycjs.c; exports.CrossmintWalletBaseContext = _chunk6PSAJIRLcjs.e; exports.CrossmintWalletBaseProvider = _chunk6PSAJIRLcjs.f; exports.CrossmintWalletUIBaseProvider = _chunk6PSAJIRLcjs.a; exports.LoggerContext = _chunkHHKEEP4Ycjs.b; exports.createLoggerContext = _chunkQBEM2WHMcjs.a; exports.initReactLogger = _chunk4UKWTU5Wcjs.a; exports.useCrossmintAuthBase = _chunk6PSAJIRLcjs.c; exports.useLogger = _chunkQBEM2WHMcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkL3XCOKYIcjs = require('../chunk-L3XCOKYI.cjs');require('../chunk-SX42KTTB.cjs');var _chunkTTFQ3CM6cjs = require('../chunk-TTFQ3CM6.cjs');var _chunkQBEM2WHMcjs = require('../chunk-QBEM2WHM.cjs');require('../chunk-KIQHDK7U.cjs');var _chunk4UKWTU5Wcjs = require('../chunk-4UKWTU5W.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkL3XCOKYIcjs.b; exports.CrossmintAuthBaseProvider = _chunkL3XCOKYIcjs.d; exports.CrossmintContext = _chunkTTFQ3CM6cjs.a; exports.CrossmintProvider = _chunkTTFQ3CM6cjs.c; exports.CrossmintWalletBaseContext = _chunkL3XCOKYIcjs.e; exports.CrossmintWalletBaseProvider = _chunkL3XCOKYIcjs.f; exports.CrossmintWalletUIBaseProvider = _chunkL3XCOKYIcjs.a; exports.LoggerContext = _chunkTTFQ3CM6cjs.b; exports.createLoggerContext = _chunkQBEM2WHMcjs.a; exports.initReactLogger = _chunk4UKWTU5Wcjs.a; exports.useCrossmintAuthBase = _chunkL3XCOKYIcjs.c; exports.useLogger = _chunkQBEM2WHMcjs.b;
@@ -1 +1 @@
1
- import{a as g,b as h,c as i,d as j,e as k,f as l}from"../chunk-5LSHJHZV.js";import"../chunk-7PHHLYKM.js";import{a as d,b as e,c as f}from"../chunk-B53BI22B.js";import{a as b,b as c}from"../chunk-FF2S33DL.js";import"../chunk-6LPM65VC.js";import{a}from"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{h as CrossmintAuthBaseContext,j as CrossmintAuthBaseProvider,d as CrossmintContext,f as CrossmintProvider,k as CrossmintWalletBaseContext,l as CrossmintWalletBaseProvider,g as CrossmintWalletUIBaseProvider,e as LoggerContext,b as createLoggerContext,a as initReactLogger,i as useCrossmintAuthBase,c as useLogger};
1
+ import{a as g,b as h,c as i,d as j,e as k,f as l}from"../chunk-YH44WWYA.js";import"../chunk-BPNHRGDJ.js";import{a as d,b as e,c as f}from"../chunk-ZOOUCKVQ.js";import{a as b,b as c}from"../chunk-FF2S33DL.js";import"../chunk-DZ47H26W.js";import{a}from"../chunk-SUETDQ6M.js";import"../chunk-22GIA4MK.js";export{h as CrossmintAuthBaseContext,j as CrossmintAuthBaseProvider,d as CrossmintContext,f as CrossmintProvider,k as CrossmintWalletBaseContext,l as CrossmintWalletBaseProvider,g as CrossmintWalletUIBaseProvider,e as LoggerContext,b as createLoggerContext,a as initReactLogger,i as useCrossmintAuthBase,c as useLogger};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-base",
3
- "version": "2.0.3",
3
+ "version": "2.0.5",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -20,13 +20,13 @@
20
20
  "dependencies": {
21
21
  "lodash.isequal": "4.5.0",
22
22
  "lodash.clonedeep": "4.5.0",
23
- "@crossmint/common-sdk-auth": "1.1.1",
24
23
  "@crossmint/common-sdk-base": "0.10.0",
25
- "@crossmint/client-sdk-auth": "1.3.1",
26
- "@crossmint/client-sdk-base": "2.1.0",
24
+ "@crossmint/client-sdk-auth": "1.3.2",
25
+ "@crossmint/client-sdk-base": "2.2.0",
27
26
  "@crossmint/client-sdk-window": "1.0.9",
28
27
  "@crossmint/client-signers": "0.1.2",
29
- "@crossmint/wallets-sdk": "1.0.3"
28
+ "@crossmint/wallets-sdk": "1.0.5",
29
+ "@crossmint/common-sdk-auth": "1.1.2"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/react": "19.1.10",
@@ -1 +0,0 @@
1
- import{a as z}from"./chunk-7PHHLYKM.js";import{b as ue}from"./chunk-B53BI22B.js";import{b as $}from"./chunk-FF2S33DL.js";import{a as de}from"./chunk-6LPM65VC.js";import{a as D,b as q,c as y}from"./chunk-22GIA4MK.js";import{useContext as Ue}from"react";import{createContext as Be,useCallback as k,useContext as Te,useEffect as L,useMemo as me,useState as _}from"react";import{CrossmintWallets as F,WalletNotAvailableError as Ee}from"@crossmint/wallets-sdk";import{useCallback as G,useContext as he}from"react";var Q=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email or phone signer wallet.`)};function Fe(){let i=he(N);if(i==null)throw new Error("useWalletOtpSigner must be used within CrossmintWalletProvider");let{otpSignerState:e}=i,g=G(()=>y(this,null,function*(){var n;return e.sendOtp==null&&Q("sendOtp")(),yield(n=e.sendOtp)==null?void 0:n.call(e)}),[e.sendOtp]),m=G(n=>y(this,null,function*(){var l;return e.verifyOtp==null&&Q("verifyOtp")(),yield(l=e.verifyOtp)==null?void 0:l.call(e,n)}),[e.verifyOtp]),u=G(n=>{var l;e.reject==null&&Q("reject")(),(l=e.reject)==null||l.call(e,n)},[e.reject]);return{needsAuth:e.needsAuth,sendOtp:g,verifyOtp:m,reject:u}}import{useContext as Re}from"react";import{createContext as Se,useCallback as J,useContext as ve,useEffect as Y,useMemo as we,useRef as We,useState as Z}from"react";import{CrossmintAuth as xe,getCookie as be}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as pe}from"@crossmint/common-sdk-auth";import{jsx as ke}from"react/jsx-runtime";var E=Se({crossmintAuth:void 0,logout:()=>y(void 0,null,function*(){}),status:"initializing",getUser:()=>{},login:()=>{}});function Ae(){let i=ve(E);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function Oe({children:i,onLoginSuccess:e,refreshRoute:g,logoutRoute:m,storageProvider:u}){let{crossmint:n}=z("CrossmintAuthBaseProvider must be used within CrossmintProvider"),[l,S]=Z(void 0),[a,P]=Z(void 0),[b,x]=Z(!1),s=We(null);Y(()=>{if(!s.current)try{s.current=xe.from(n,{callbacks:{onLogout:()=>{S(void 0),P(void 0)},onTokenRefresh:h=>{S(h.user),P(h.jwt)}},refreshRoute:g,logoutRoute:m,storageProvider:u})}catch(h){console.error("Failed to initialize CrossmintAuth:",h)}},[n,g,m,u]);let d=s.current,A=J(()=>{e==null||e()},[e]);Y(()=>{var h;if(a==null)if(u)(h=u.get)==null||h.call(u,pe).then(O=>{O!=null&&P(O)}).finally(()=>{x(!0)});else{try{let O=be(pe);P(O)}catch(O){console.error("Failed to get cookie:",O)}x(!0)}else x(!0)},[a,u]),Y(()=>{a!=null&&A()},[a,A]);let w=J(()=>y(this,null,function*(){return S(void 0),P(void 0),yield d==null?void 0:d.logout()}),[d]),c=J(()=>y(this,null,function*(){if(a==null){console.log("User not logged in");return}let h=yield d==null?void 0:d.getUser();return S(h),h}),[a,d]),M=J(()=>b?a!=null?"logged-in":"logged-out":"initializing",[a,b]),j=we(()=>({crossmintAuth:d,logout:w,jwt:a,user:l,status:M(),getUser:c,login:()=>{}}),[d,w,a,l,b,c,M]);return ke(E.Provider,{value:j,children:i})}function ut(){let i=Re(E);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}import Ie from"lodash.clonedeep";import{jsx as ce}from"react/jsx-runtime";var N=Be({wallet:void 0,status:"not-loaded",getWallet:()=>Promise.resolve(void 0),createWallet:()=>Promise.resolve(void 0),clientTEEConnection:void 0,otpSignerState:{needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null},createDeviceSigner:()=>Promise.reject(new Error("createDeviceSigner must be used within a CrossmintWalletBaseProvider")),createPasskeySigner:()=>Promise.reject(new Error("createPasskeySigner must be used within a CrossmintWalletBaseProvider"))});function Ot({children:i,createOnLogin:e,callbacks:g,clientTEEConnection:m,deviceSignerKeyStorage:u,initializeWebView:n,appearance:l,showOtpSignerPrompt:S,onAuthRequired:a,showPasskeyHelpers:P,renderUI:b}){var ae,le;let x=$(ue),{crossmint:s}=z("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[d,A]=_(void 0),[w,c]=_("not-loaded"),[M,j]=_({open:!1}),h=de(),{onAuthRequired:O}=h,[ee,ye]=_({needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null}),K=k(t=>()=>new Promise(r=>{if(!P){r();return}j({type:t,open:!0,primaryActionOnClick:()=>{j({open:!1}),r()},secondaryActionOnClick:()=>{j({open:!1}),r()}})}),[P]),R=me(()=>{var o;let t=g==null?void 0:g.onWalletCreationStart,r=g==null?void 0:g.onTransactionStart;return((o=e==null?void 0:e.recovery)==null?void 0:o.type)==="passkey"&&P&&(t=K("create-wallet"),r=K("transaction")),{onWalletCreationStart:t,onTransactionStart:r}},[g,(ae=e==null?void 0:e.recovery)==null?void 0:ae.type,P,K]),te=k((t,r,o,W,f,C)=>y(this,null,function*(){ye({needsAuth:o,sendOtp:W,verifyOtp:f,reject:C});let p=a!=null?a:O;return yield p==null?void 0:p(t,r,o,W,f,C)}),[a,O]),I=k(t=>y(this,null,function*(){(t.type==="email"||t.type==="phone")&&(yield n==null?void 0:n())}),[n]),U=k(t=>{var r,o,W,f,C,p;return{clientTEEConnection:m==null?void 0:m(),callbacks:{onWalletCreationStart:(o=(r=t==null?void 0:t.callbacks)==null?void 0:r.onWalletCreationStart)!=null?o:R==null?void 0:R.onWalletCreationStart,onTransactionStart:(f=(W=t==null?void 0:t.callbacks)==null?void 0:W.onTransactionStart)!=null?f:R==null?void 0:R.onTransactionStart,onAuthRequired:(p=(C=t==null?void 0:t.callbacks)==null?void 0:C.onAuthRequired)!=null?p:te},deviceSignerKeyStorage:u}},[m,R,u,te]),re=k(t=>y(this,null,function*(){let r=Ie(t);if(!(s.jwt==null||w==="in-progress")){if(d!=null)return d;try{c("in-progress");let o=F.from(s);yield I(r.recovery);let W=U(r.options),f;try{f=yield o.getWallet({chain:r.chain,alias:r.alias,options:W})}catch(C){if(!(C instanceof Ee))throw C}return f==null&&(f=yield o.createWallet({chain:r.chain,plugins:r.plugins,recovery:r.recovery,signers:r.signers,alias:r.alias,options:W})),A(f),c("loaded"),f}catch(o){x.error("react.wallet.getOrCreateWallet.error",{error:o}),A(void 0),c("error");return}}}),[s,s.jwt,w,d,I,U]),ne=k(t=>y(this,null,function*(){if((s==null?void 0:s.jwt)!=null)try{c("in-progress");let o=yield F.from(s).getWallet({chain:t.chain,alias:t.alias,options:U()});return o!=null?(yield I(o.recovery),A(o),c("loaded")):c("not-loaded"),o}catch(r){x.error("react.wallet.getWallet.error",{error:r}),c("error");return}}),[s,I,U]),oe=k(t=>y(this,null,function*(){if(!(s.jwt==null||w==="in-progress"))try{c("in-progress");let r=F.from(s);yield I(t.recovery);let o=yield r.createWallet(q(D({},t),{options:U(t.options)}));return A(o),c("loaded"),o}catch(r){x.error("react.wallet.createWallet.error",{error:r}),A(void 0),c("error");return}}),[s,w,I,U]),se=k(t=>{let r=F.from(s);if(u==null)throw new Error("A DeviceSignerKeyStorage must be provided to create a device signer");return r.createDeviceSigner(u,t)},[s,u]),ie=k(t=>y(this,null,function*(){return yield F.from(s).createPasskeySigner(t)}),[s]),v=Te(E),[H,X]=_(void 0);L(()=>{var r,o,W,f;if(e==null){X(void 0);return}if(((r=e.recovery)==null?void 0:r.type)==="email"&&e.recovery.email==null||((W=(o=e.signers)==null?void 0:o.some(C=>C.type==="email"&&C.email==null))!=null?W:!1)){if((v==null?void 0:v.user)==null)return;if(v.user.email==null){v.getUser();return}let C=v.user.email,p=D({},e);((f=p.recovery)==null?void 0:f.type)==="email"&&p.recovery.email==null&&(p.recovery=q(D({},p.recovery),{email:C})),p.signers!=null&&(p.signers=p.signers.map(V=>V.type==="email"&&V.email==null?q(D({},V),{email:C}):V)),X(p);return}X(e)},[e,v==null?void 0:v.user,(le=v==null?void 0:v.user)==null?void 0:le.email]),L(()=>{if(H!=null){let{recovery:t,signers:r}=H;if((t==null?void 0:t.type)==="external-wallet"&&t.address==null||r!=null&&r.some(o=>o.type==="external-wallet"&&o.address==null))return;re(H)}},[H,re,s.jwt]),L(()=>{s.jwt==null&&w!=="not-loaded"&&(c("not-loaded"),A(void 0))},[s.jwt,w]);let ge=me(()=>({wallet:d,status:w,getWallet:ne,createWallet:oe,clientTEEConnection:m,otpSignerState:ee,createDeviceSigner:se,createPasskeySigner:ie}),[ne,oe,d,w,m,ee,se,ie]),Pe=l!=null||S!=null||P!=null||b!=null;return ce(N.Provider,{value:ge,children:Pe?ce(fe,{appearance:l,showOtpSignerPrompt:S,renderUI:b,passkeyPromptState:M,signerAuth:h,children:i}):i})}function Ce(){let i=Ue(N);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}import{Fragment as je,jsxs as De}from"react/jsx-runtime";function fe({children:i,appearance:e,showOtpSignerPrompt:g,renderUI:m,passkeyPromptState:u,signerAuth:n}){var b,x;let{wallet:l}=Ce(),S=(b=l==null?void 0:l.signer)==null?void 0:b.type,a=(x=l==null?void 0:l.signer)==null?void 0:x.locator().split(":")[1],P={emailSignerProps:{email:S==="email"?a:void 0,open:n.emailSignerDialogOpen&&S==="email"&&a!=null,setOpen:n.setEmailSignerDialogOpen,step:n.emailSignerDialogStep,onSubmitOTP:n.emailsigners_handleOTPSubmit,onResendOTPCode:n.emailsigners_handleResendOTP,onSubmitEmail:n.emailsigners_handleSendEmailOTP,rejectRef:n.rejectRef,appearance:e},phoneSignerProps:{phone:S==="phone"?a:void 0,open:n.phoneSignerDialogOpen&&S==="phone"&&a!=null,setOpen:n.setPhoneSignerDialogOpen,step:n.phoneSignerDialogStep,onSubmitOTP:n.phonesigners_handleOTPSubmit,onResendOTPCode:n.phonesigners_handleResendOTP,onSubmitPhone:n.phonesigners_handleSendPhoneOTP,rejectRef:n.rejectRef,appearance:e},passkeyPromptProps:{state:u,appearance:e}};return De(je,{children:[i,m!=null&&m(P)]})}export{fe as a,E as b,Ae as c,Oe as d,N as e,Ot as f,Ce as g,Fe as h,ut as i};
@@ -1 +0,0 @@
1
- import{c as o}from"./chunk-22GIA4MK.js";import{useState as p,useRef as t,useCallback as n}from"react";var a=c=>()=>{throw new Error(`${c} is not available. Make sure you're using an email or phone signer wallet.`)};function q(){let[c,d]=p(!1),[b,g]=p("initial"),[y,h]=p(!1),[R,m]=p("initial"),s=t(a("sendEmailOtp")),P=t(a("verifyOtp")),l=t(a("sendPhoneOtp")),u=t(a("verifyPhoneOtp")),r=t(a("reject")),T=n(()=>o(this,null,function*(){try{yield s.current(),g("otp")}catch(e){console.error("Failed to send email OTP",e),r.current(new Error("Failed to send email OTP"))}}),[]),D=n(e=>o(this,null,function*(){try{yield P.current(e),d(!1),g("initial")}catch(i){console.error("Failed to verify OTP",i),r.current(new Error("Failed to verify OTP"))}}),[]),E=n(()=>o(this,null,function*(){try{yield s.current()}catch(e){console.error("Failed to resend email OTP",e),r.current(new Error("Failed to resend email OTP"))}}),[]),w=n(()=>o(this,null,function*(){try{yield l.current(),m("otp")}catch(e){console.error("Failed to send phone OTP",e),r.current(new Error("Failed to send phone OTP"))}}),[]),F=n(e=>o(this,null,function*(){try{yield u.current(e),h(!1),m("initial")}catch(i){console.error("Failed to verify phone OTP",i),r.current(new Error("Failed to verify phone OTP"))}}),[]),_=n(()=>o(this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend phone OTP",e),r.current(new Error("Failed to resend phone OTP"))}}),[]),j=n((e,i,O,S,f,A)=>{let v=i.split(":")[1];return e==="phone"&&v!=null?(h(O),l.current=S,u.current=f):e==="email"&&v!=null&&(d(O),s.current=S,P.current=f),r.current=A,Promise.resolve()},[]);return{emailSignerDialogOpen:c,emailSignerDialogStep:b,setEmailSignerDialogOpen:d,setEmailSignerDialogStep:g,phoneSignerDialogOpen:y,phoneSignerDialogStep:R,setPhoneSignerDialogOpen:h,setPhoneSignerDialogStep:m,sendEmailOtpRef:s,verifyOtpRef:P,sendPhoneOtpRef:l,verifyPhoneOtpRef:u,rejectRef:r,emailsigners_handleSendEmailOTP:T,emailsigners_handleOTPSubmit:D,emailsigners_handleResendOTP:E,phonesigners_handleSendPhoneOTP:w,phonesigners_handleOTPSubmit:F,phonesigners_handleResendOTP:_,onAuthRequired:j}}export{q as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk3MSKBSMFcjs = require('./chunk-3MSKBSMF.cjs');var _chunkHHKEEP4Ycjs = require('./chunk-HHKEEP4Y.cjs');var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunk753F2TL5cjs = require('./chunk-753F2TL5.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var G=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email or phone signer wallet.`)};function _e(){let i=_react.useContext.call(void 0, D);if(i==null)throw new Error("useWalletOtpSigner must be used within CrossmintWalletProvider");let{otpSignerState:e}=i,g=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var n;return e.sendOtp==null&&G("sendOtp")(),yield(n=e.sendOtp)==null?void 0:n.call(e)}),[e.sendOtp]),m=_react.useCallback.call(void 0, n=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var l;return e.verifyOtp==null&&G("verifyOtp")(),yield(l=e.verifyOtp)==null?void 0:l.call(e,n)}),[e.verifyOtp]),u=_react.useCallback.call(void 0, n=>{var l;e.reject==null&&G("reject")(),(l=e.reject)==null||l.call(e,n)},[e.reject]);return{needsAuth:e.needsAuth,sendOtp:g,verifyOtp:m,reject:u}}var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _jsxruntime = require('react/jsx-runtime');var T=_react.createContext.call(void 0, {crossmintAuth:void 0,logout:()=>_chunkCK4JCQY6cjs.c.call(void 0, void 0,null,function*(){}),status:"initializing",getUser:()=>{},login:()=>{}});function be(){let i=_react.useContext.call(void 0, T);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function Ae({children:i,onLoginSuccess:e,refreshRoute:g,logoutRoute:m,storageProvider:u}){let{crossmint:n}=_chunk3MSKBSMFcjs.a.call(void 0, "CrossmintAuthBaseProvider must be used within CrossmintProvider"),[l,S]=_react.useState.call(void 0, void 0),[a,P]=_react.useState.call(void 0, void 0),[b,x]=_react.useState.call(void 0, !1),s=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{if(!s.current)try{s.current=_clientsdkauth.CrossmintAuth.from(n,{callbacks:{onLogout:()=>{S(void 0),P(void 0)},onTokenRefresh:h=>{S(h.user),P(h.jwt)}},refreshRoute:g,logoutRoute:m,storageProvider:u})}catch(h){console.error("Failed to initialize CrossmintAuth:",h)}},[n,g,m,u]);let d=s.current,A=_react.useCallback.call(void 0, ()=>{e==null||e()},[e]);_react.useEffect.call(void 0, ()=>{var h;if(a==null)if(u)(h=u.get)==null||h.call(u,_commonsdkauth.SESSION_PREFIX).then(O=>{O!=null&&P(O)}).finally(()=>{x(!0)});else{try{let O=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);P(O)}catch(O){console.error("Failed to get cookie:",O)}x(!0)}else x(!0)},[a,u]),_react.useEffect.call(void 0, ()=>{a!=null&&A()},[a,A]);let w=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return S(void 0),P(void 0),yield d==null?void 0:d.logout()}),[d]),c=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(a==null){console.log("User not logged in");return}let h=yield d==null?void 0:d.getUser();return S(h),h}),[a,d]),F=_react.useCallback.call(void 0, ()=>b?a!=null?"logged-in":"logged-out":"initializing",[a,b]),U=_react.useMemo.call(void 0, ()=>({crossmintAuth:d,logout:w,jwt:a,user:l,status:F(),getUser:c,login:()=>{}}),[d,w,a,l,b,c,F]);return _jsxruntime.jsx.call(void 0, T.Provider,{value:U,children:i})}function lt(){let i=_react.useContext.call(void 0, T);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var _lodashclonedeep = require('lodash.clonedeep'); var _lodashclonedeep2 = _interopRequireDefault(_lodashclonedeep);var D=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getWallet:()=>Promise.resolve(void 0),createWallet:()=>Promise.resolve(void 0),clientTEEConnection:void 0,otpSignerState:{needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null},createDeviceSigner:()=>Promise.reject(new Error("createDeviceSigner must be used within a CrossmintWalletBaseProvider")),createPasskeySigner:()=>Promise.reject(new Error("createPasskeySigner must be used within a CrossmintWalletBaseProvider"))});function At({children:i,createOnLogin:e,callbacks:g,clientTEEConnection:m,deviceSignerKeyStorage:u,initializeWebView:n,appearance:l,showOtpSignerPrompt:S,onAuthRequired:a,showPasskeyHelpers:P,renderUI:b}){var ie,ae;let x=_chunkQBEM2WHMcjs.b.call(void 0, _chunkHHKEEP4Ycjs.b),{crossmint:s}=_chunk3MSKBSMFcjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[d,A]=_react.useState.call(void 0, void 0),[w,c]=_react.useState.call(void 0, "not-loaded"),[F,U]=_react.useState.call(void 0, {open:!1}),h=_chunk753F2TL5cjs.a.call(void 0, ),{onAuthRequired:O}=h,[L,Ce]=_react.useState.call(void 0, {needsAuth:!1,sendOtp:null,verifyOtp:null,reject:null}),J=_react.useCallback.call(void 0, t=>()=>new Promise(r=>{if(!P){r();return}U({type:t,open:!0,primaryActionOnClick:()=>{U({open:!1}),r()},secondaryActionOnClick:()=>{U({open:!1}),r()}})}),[P]),R=_react.useMemo.call(void 0, ()=>{var o;let t=g==null?void 0:g.onWalletCreationStart,r=g==null?void 0:g.onTransactionStart;return((o=e==null?void 0:e.recovery)==null?void 0:o.type)==="passkey"&&P&&(t=J("create-wallet"),r=J("transaction")),{onWalletCreationStart:t,onTransactionStart:r}},[g,(ie=e==null?void 0:e.recovery)==null?void 0:ie.type,P,J]),ee=_react.useCallback.call(void 0, (t,r,o,W,f,C)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){Ce({needsAuth:o,sendOtp:W,verifyOtp:f,reject:C});let p=a!=null?a:O;return yield p==null?void 0:p(t,r,o,W,f,C)}),[a,O]),E=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){(t.type==="email"||t.type==="phone")&&(yield n==null?void 0:n())}),[n]),I=_react.useCallback.call(void 0, t=>{var r,o,W,f,C,p;return{clientTEEConnection:m==null?void 0:m(),callbacks:{onWalletCreationStart:(o=(r=t==null?void 0:t.callbacks)==null?void 0:r.onWalletCreationStart)!=null?o:R==null?void 0:R.onWalletCreationStart,onTransactionStart:(f=(W=t==null?void 0:t.callbacks)==null?void 0:W.onTransactionStart)!=null?f:R==null?void 0:R.onTransactionStart,onAuthRequired:(p=(C=t==null?void 0:t.callbacks)==null?void 0:C.onAuthRequired)!=null?p:ee},deviceSignerKeyStorage:u}},[m,R,u,ee]),te=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let r=_lodashclonedeep2.default.call(void 0, t);if(!(s.jwt==null||w==="in-progress")){if(d!=null)return d;try{c("in-progress");let o=_walletssdk.CrossmintWallets.from(s);yield E(r.recovery);let W=I(r.options),f;try{f=yield o.getWallet({chain:r.chain,alias:r.alias,options:W})}catch(C){if(!(C instanceof _walletssdk.WalletNotAvailableError))throw C}return f==null&&(f=yield o.createWallet({chain:r.chain,plugins:r.plugins,recovery:r.recovery,signers:r.signers,alias:r.alias,options:W})),A(f),c("loaded"),f}catch(o){x.error("react.wallet.getOrCreateWallet.error",{error:o}),A(void 0),c("error");return}}}),[s,s.jwt,w,d,E,I]),re=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if((s==null?void 0:s.jwt)!=null)try{c("in-progress");let o=yield _walletssdk.CrossmintWallets.from(s).getWallet({chain:t.chain,alias:t.alias,options:I()});return o!=null?(yield E(o.recovery),A(o),c("loaded")):c("not-loaded"),o}catch(r){x.error("react.wallet.getWallet.error",{error:r}),c("error");return}}),[s,E,I]),ne=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(!(s.jwt==null||w==="in-progress"))try{c("in-progress");let r=_walletssdk.CrossmintWallets.from(s);yield E(t.recovery);let o=yield r.createWallet(_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},t),{options:I(t.options)}));return A(o),c("loaded"),o}catch(r){x.error("react.wallet.createWallet.error",{error:r}),A(void 0),c("error");return}}),[s,w,E,I]),oe=_react.useCallback.call(void 0, t=>{let r=_walletssdk.CrossmintWallets.from(s);if(u==null)throw new Error("A DeviceSignerKeyStorage must be provided to create a device signer");return r.createDeviceSigner(u,t)},[s,u]),se=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield _walletssdk.CrossmintWallets.from(s).createPasskeySigner(t)}),[s]),v=_react.useContext.call(void 0, T),[M,K]=_react.useState.call(void 0, void 0);_react.useEffect.call(void 0, ()=>{var r,o,W,f;if(e==null){K(void 0);return}if(((r=e.recovery)==null?void 0:r.type)==="email"&&e.recovery.email==null||((W=(o=e.signers)==null?void 0:o.some(C=>C.type==="email"&&C.email==null))!=null?W:!1)){if((v==null?void 0:v.user)==null)return;if(v.user.email==null){v.getUser();return}let C=v.user.email,p=_chunkCK4JCQY6cjs.a.call(void 0, {},e);((f=p.recovery)==null?void 0:f.type)==="email"&&p.recovery.email==null&&(p.recovery=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},p.recovery),{email:C})),p.signers!=null&&(p.signers=p.signers.map(H=>H.type==="email"&&H.email==null?_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},H),{email:C}):H)),K(p);return}K(e)},[e,v==null?void 0:v.user,(ae=v==null?void 0:v.user)==null?void 0:ae.email]),_react.useEffect.call(void 0, ()=>{if(M!=null){let{recovery:t,signers:r}=M;if((t==null?void 0:t.type)==="external-wallet"&&t.address==null||r!=null&&r.some(o=>o.type==="external-wallet"&&o.address==null))return;te(M)}},[M,te,s.jwt]),_react.useEffect.call(void 0, ()=>{s.jwt==null&&w!=="not-loaded"&&(c("not-loaded"),A(void 0))},[s.jwt,w]);let ye=_react.useMemo.call(void 0, ()=>({wallet:d,status:w,getWallet:re,createWallet:ne,clientTEEConnection:m,otpSignerState:L,createDeviceSigner:oe,createPasskeySigner:se}),[re,ne,d,w,m,L,oe,se]),ge=l!=null||S!=null||P!=null||b!=null;return _jsxruntime.jsx.call(void 0, D.Provider,{value:ye,children:ge?_jsxruntime.jsx.call(void 0, ce,{appearance:l,showOtpSignerPrompt:S,renderUI:b,passkeyPromptState:F,signerAuth:h,children:i}):i})}function fe(){let i=_react.useContext.call(void 0, D);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}function ce({children:i,appearance:e,showOtpSignerPrompt:g,renderUI:m,passkeyPromptState:u,signerAuth:n}){var b,x;let{wallet:l}=fe(),S=(b=l==null?void 0:l.signer)==null?void 0:b.type,a=(x=l==null?void 0:l.signer)==null?void 0:x.locator().split(":")[1],P={emailSignerProps:{email:S==="email"?a:void 0,open:n.emailSignerDialogOpen&&S==="email"&&a!=null,setOpen:n.setEmailSignerDialogOpen,step:n.emailSignerDialogStep,onSubmitOTP:n.emailsigners_handleOTPSubmit,onResendOTPCode:n.emailsigners_handleResendOTP,onSubmitEmail:n.emailsigners_handleSendEmailOTP,rejectRef:n.rejectRef,appearance:e},phoneSignerProps:{phone:S==="phone"?a:void 0,open:n.phoneSignerDialogOpen&&S==="phone"&&a!=null,setOpen:n.setPhoneSignerDialogOpen,step:n.phoneSignerDialogStep,onSubmitOTP:n.phonesigners_handleOTPSubmit,onResendOTPCode:n.phonesigners_handleResendOTP,onSubmitPhone:n.phonesigners_handleSendPhoneOTP,rejectRef:n.rejectRef,appearance:e},passkeyPromptProps:{state:u,appearance:e}};return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[i,m!=null&&m(P)]})}exports.a = ce; exports.b = T; exports.c = be; exports.d = Ae; exports.e = D; exports.f = At; exports.g = fe; exports.h = _e; exports.i = lt;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var a=c=>()=>{throw new Error(`${c} is not available. Make sure you're using an email or phone signer wallet.`)};function x(){let[c,d]=_react.useState.call(void 0, !1),[b,g]=_react.useState.call(void 0, "initial"),[y,h]=_react.useState.call(void 0, !1),[R,m]=_react.useState.call(void 0, "initial"),s=_react.useRef.call(void 0, a("sendEmailOtp")),P=_react.useRef.call(void 0, a("verifyOtp")),l=_react.useRef.call(void 0, a("sendPhoneOtp")),u=_react.useRef.call(void 0, a("verifyPhoneOtp")),r=_react.useRef.call(void 0, a("reject")),T=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield s.current(),g("otp")}catch(e){console.error("Failed to send email OTP",e),r.current(new Error("Failed to send email OTP"))}}),[]),D=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield P.current(e),d(!1),g("initial")}catch(i){console.error("Failed to verify OTP",i),r.current(new Error("Failed to verify OTP"))}}),[]),E=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield s.current()}catch(e){console.error("Failed to resend email OTP",e),r.current(new Error("Failed to resend email OTP"))}}),[]),w=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current(),m("otp")}catch(e){console.error("Failed to send phone OTP",e),r.current(new Error("Failed to send phone OTP"))}}),[]),F=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield u.current(e),h(!1),m("initial")}catch(i){console.error("Failed to verify phone OTP",i),r.current(new Error("Failed to verify phone OTP"))}}),[]),_=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend phone OTP",e),r.current(new Error("Failed to resend phone OTP"))}}),[]),j=_react.useCallback.call(void 0, (e,i,O,S,f,A)=>{let v=i.split(":")[1];return e==="phone"&&v!=null?(h(O),l.current=S,u.current=f):e==="email"&&v!=null&&(d(O),s.current=S,P.current=f),r.current=A,Promise.resolve()},[]);return{emailSignerDialogOpen:c,emailSignerDialogStep:b,setEmailSignerDialogOpen:d,setEmailSignerDialogStep:g,phoneSignerDialogOpen:y,phoneSignerDialogStep:R,setPhoneSignerDialogOpen:h,setPhoneSignerDialogStep:m,sendEmailOtpRef:s,verifyOtpRef:P,sendPhoneOtpRef:l,verifyPhoneOtpRef:u,rejectRef:r,emailsigners_handleSendEmailOTP:T,emailsigners_handleOTPSubmit:D,emailsigners_handleResendOTP:E,phonesigners_handleSendPhoneOTP:w,phonesigners_handleOTPSubmit:F,phonesigners_handleResendOTP:_,onAuthRequired:j}}exports.a = x;