@crossmint/client-sdk-react-native-ui 0.13.26 → 1.0.0-beta.3

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 (75) hide show
  1. package/dist/{chunk-KZCRAJ3M.js → chunk-35S4QOAV.js} +1 -1
  2. package/dist/chunk-6GSLLO6U.mjs +1 -0
  3. package/dist/{chunk-BM3JBWNW.js → chunk-72O5ASXF.js} +1 -1
  4. package/dist/chunk-A2MEND3D.js +1 -0
  5. package/dist/chunk-ERFOVIOK.js +1 -0
  6. package/dist/chunk-F5O5W34O.mjs +1 -0
  7. package/dist/{chunk-KJ4KYGXG.mjs → chunk-G4TLU4WS.mjs} +1 -1
  8. package/dist/{chunk-EJSEWYXE.mjs → chunk-GDN76PZF.mjs} +1 -1
  9. package/dist/{chunk-ZI6CSNXG.mjs → chunk-LB75V56C.mjs} +1 -1
  10. package/dist/chunk-LBMNZZEX.js +1 -0
  11. package/dist/chunk-OGYBEE5A.js +1 -0
  12. package/dist/chunk-PNHVW6FM.mjs +1 -0
  13. package/dist/{chunk-LY6WTUDM.js → chunk-SMUSI4JP.js} +1 -1
  14. package/dist/chunk-SN7Y47U6.mjs +1 -0
  15. package/dist/{chunk-FDRSKJYH.mjs → chunk-UZDXAIEV.mjs} +1 -1
  16. package/dist/{chunk-JP3BSC6Y.mjs → chunk-V5Z2ZD5X.mjs} +1 -1
  17. package/dist/{chunk-QN3RQEL7.js → chunk-YCQDNTXX.js} +1 -1
  18. package/dist/{chunk-MW2OPOJA.js → chunk-ZWF7KB5X.js} +1 -1
  19. package/dist/components/embed/index.js +1 -1
  20. package/dist/components/embed/index.mjs +1 -1
  21. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
  22. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.mjs +1 -1
  23. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.js +1 -1
  24. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.mjs +1 -1
  25. package/dist/components/embed/v3/index.js +1 -1
  26. package/dist/components/embed/v3/index.mjs +1 -1
  27. package/dist/components/index.js +1 -1
  28. package/dist/components/index.mjs +1 -1
  29. package/dist/components/wallets/ExportPrivateKeyButton.js +1 -1
  30. package/dist/components/wallets/ExportPrivateKeyButton.mjs +1 -1
  31. package/dist/components/wallets/index.js +1 -1
  32. package/dist/components/wallets/index.mjs +1 -1
  33. package/dist/hooks/index.d.mts +2 -3
  34. package/dist/hooks/index.d.ts +2 -3
  35. package/dist/hooks/index.js +1 -1
  36. package/dist/hooks/index.mjs +1 -1
  37. package/dist/hooks/useAuth.d.mts +1 -2
  38. package/dist/hooks/useAuth.d.ts +1 -2
  39. package/dist/hooks/useAuth.js +1 -1
  40. package/dist/hooks/useAuth.mjs +1 -1
  41. package/dist/index.d.mts +3 -4
  42. package/dist/index.d.ts +3 -4
  43. package/dist/index.js +1 -1
  44. package/dist/index.mjs +1 -1
  45. package/dist/logger/init.js +1 -1
  46. package/dist/logger/init.mjs +1 -1
  47. package/dist/providers/CrossmintAuthProvider.js +1 -1
  48. package/dist/providers/CrossmintAuthProvider.mjs +1 -1
  49. package/dist/providers/CrossmintProvider.js +1 -1
  50. package/dist/providers/CrossmintProvider.mjs +1 -1
  51. package/dist/providers/CrossmintWalletProvider.d.mts +7 -0
  52. package/dist/providers/CrossmintWalletProvider.d.ts +7 -0
  53. package/dist/providers/CrossmintWalletProvider.js +1 -1
  54. package/dist/providers/CrossmintWalletProvider.mjs +1 -1
  55. package/dist/providers/index.d.mts +1 -0
  56. package/dist/providers/index.d.ts +1 -0
  57. package/dist/providers/index.js +1 -1
  58. package/dist/providers/index.mjs +1 -1
  59. package/dist/utils/createCrossmintApiClient.js +1 -1
  60. package/dist/utils/createCrossmintApiClient.mjs +1 -1
  61. package/package.json +16 -7
  62. package/dist/chunk-EF2YTIUF.mjs +0 -1
  63. package/dist/chunk-EF5KYLDO.js +0 -1
  64. package/dist/chunk-J477SX6P.mjs +0 -1
  65. package/dist/chunk-L34HCKFT.mjs +0 -1
  66. package/dist/chunk-LK3AO6AY.mjs +0 -1
  67. package/dist/chunk-MKCQJOIO.js +0 -1
  68. package/dist/chunk-SJTT7WAQ.js +0 -1
  69. package/dist/chunk-UA34B5QB.js +0 -1
  70. package/dist/chunk-UWG4HV23.mjs +0 -1
  71. package/dist/chunk-ZJKAPXBC.js +0 -1
  72. package/dist/hooks/useWalletEmailSigner.d.mts +0 -18
  73. package/dist/hooks/useWalletEmailSigner.d.ts +0 -18
  74. package/dist/hooks/useWalletEmailSigner.js +0 -1
  75. package/dist/hooks/useWalletEmailSigner.mjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBM3JBWNWjs = require('./chunk-BM3JBWNW.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkBM3JBWNWjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72O5ASXFjs = require('./chunk-72O5ASXF.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunk72O5ASXFjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
@@ -0,0 +1 @@
1
+ import{a as L}from"./chunk-GDN76PZF.mjs";import{a as T}from"./chunk-XNDIT72O.mjs";import{a as U}from"./chunk-3QSVHCEH.mjs";import{a as g,c as q,e as C}from"./chunk-PSSAAY7D.mjs";import{useCallback as S,useRef as w,useMemo as y,useEffect as $,useState as Q}from"react";import{Platform as X,View as Y}from"react-native";import{RNWebView as Z,WebViewParent as ee}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as N,signerInboundEvents as ne,signerOutboundEvents as re,SignerErrorCode as te}from"@crossmint/client-signers";import{validateAPIKey as ae}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as oe,useCrossmint as ie}from"@crossmint/client-sdk-react-base";import{useLogger as se}from"@crossmint/client-sdk-react-base";import{Fragment as le,jsx as h,jsxs as A}from"react/jsx-runtime";var V=null;try{V=q("@crossmint/expo-device-signer").NativeDeviceSignerKeyStorage}catch(p){}function ce({children:p,createOnLogin:G,appearance:K,headlessSigningFlow:D=!0,callbacks:z,deviceSignerKeyStorage:k}){let H=y(()=>k!=null?k:V!=null?new V:void 0,[]),{crossmint:_}=ie("CrossmintWalletProvider must be used within CrossmintProvider"),n=se(L),{apiKey:R,appId:E}=_,W=y(()=>{let e=ae(R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),x=y(()=>N[W.environment],[W.environment]),f=w(null),t=w(null),[O,F]=Q(!1),v=w(!1),s=w(!1),i=w(0),P=w(0),j=y(()=>E!=null?{crossmintAppId:E}:{},[E]),l=S(e=>C(this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();P.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:X.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);$(()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new ee(f,{incomingEvents:re,outgoingEvents:ne,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[te.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[O,n,l]);let B=S(()=>C(this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),J=S(e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:P.current>0?Date.now()-P.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let I=d.type.split(".")[1],M=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(fe){return u}}),m=`react-native.wallet.webview.console.${I}`,b={webview_args:M};switch(I){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:I,webview_args:M})}return}}catch(d){}r.handleMessage(e)},[n,l]);return A(oe,{createOnLogin:G,appearance:K,headlessSigningFlow:D,initializeWebView:()=>C(this,null,function*(){n.info("react-native.wallet.webview.init.start"),F(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:z,renderUI:D?void 0:({emailSignerProps:e,phoneSignerProps:r})=>A(le,{children:[h(T,g({},e)),h(U,g({},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},deviceSignerKeyStorage:H,children:[p,O&&h(Y,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:h(Z,{ref:f,source:{uri:x},globals:j,onLoadEnd:B,onMessage:J,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[N[W.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Ie(p){return h(ce,g({},p))}export{Ie as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYQEWHOQ7js = require('./chunk-YQEWHOQ7.js');var _chunkVACQTZRTjs = require('./chunk-VACQTZRT.js');var _chunkMW2OPOJAjs = require('./chunk-MW2OPOJA.js');var _chunk2D2RJCVXjs = require('./chunk-2D2RJCVX.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _react = require('react');var _reactnative = require('react-native');var _clientsdkbase = require('@crossmint/client-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function Q(t){var u;let[e,w]=_react.useState.call(void 0, null),[C,v]=_react.useState.call(void 0, 0),E=_react.useRef.call(void 0, (u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=_react.useRef.call(void 0, t);if(U(t,n.current)){let r=_chunkJ42HASCIjs.a.call(void 0, {},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),V=_chunkMW2OPOJAjs.a.call(void 0, i,{usageOrigin:"client"}),P=_clientsdkbase.crossmintEmbeddedCheckoutV3Service.call(void 0, {apiClient:V}),s=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{let r=s.current;if(!r||e)return;let o=new (0, _clientsdkrnwindow.WebViewParent)({current:r},{incomingEvents:_clientsdkbase.embeddedCheckoutV3IncomingEvents,outgoingEvents:_clientsdkbase.embeddedCheckoutV3OutgoingEvents});w(o)},[s.current,e]),_react.useEffect.call(void 0, ()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{_chunk2D2RJCVXjs.a.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return _jsxruntime.jsxs.call(void 0, _reactnative.View,{style:{flex:1},children:[_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:_chunkYQEWHOQ7js.c,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?_jsxruntime.jsx.call(void 0, _chunkVACQTZRTjs.a,{payer:n.current.payment.crypto.payer,webViewClient:e}):_jsxruntime.jsx.call(void 0, H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:_chunkJ42HASCIjs.b.call(void 0, _chunkJ42HASCIjs.a.call(void 0, {},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}exports.a = Q;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYQEWHOQ7js = require('./chunk-YQEWHOQ7.js');var _chunkVACQTZRTjs = require('./chunk-VACQTZRT.js');var _chunkZWF7KB5Xjs = require('./chunk-ZWF7KB5X.js');var _chunk2D2RJCVXjs = require('./chunk-2D2RJCVX.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _react = require('react');var _reactnative = require('react-native');var _clientsdkbase = require('@crossmint/client-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function Q(t){var u;let[e,w]=_react.useState.call(void 0, null),[C,v]=_react.useState.call(void 0, 0),E=_react.useRef.call(void 0, (u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=_react.useRef.call(void 0, t);if(U(t,n.current)){let r=_chunkJ42HASCIjs.a.call(void 0, {},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),V=_chunkZWF7KB5Xjs.a.call(void 0, i,{usageOrigin:"client"}),P=_clientsdkbase.crossmintEmbeddedCheckoutV3Service.call(void 0, {apiClient:V}),s=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{let r=s.current;if(!r||e)return;let o=new (0, _clientsdkrnwindow.WebViewParent)({current:r},{incomingEvents:_clientsdkbase.embeddedCheckoutV3IncomingEvents,outgoingEvents:_clientsdkbase.embeddedCheckoutV3OutgoingEvents});w(o)},[s.current,e]),_react.useEffect.call(void 0, ()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{_chunk2D2RJCVXjs.a.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return _jsxruntime.jsxs.call(void 0, _reactnative.View,{style:{flex:1},children:[_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:_chunkYQEWHOQ7js.c,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?_jsxruntime.jsx.call(void 0, _chunkVACQTZRTjs.a,{payer:n.current.payment.crypto.payer,webViewClient:e}):_jsxruntime.jsx.call(void 0, H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:_chunkJ42HASCIjs.b.call(void 0, _chunkJ42HASCIjs.a.call(void 0, {},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}exports.a = Q;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _clientsigners = require('@crossmint/client-signers');var _walletssdk = require('@crossmint/wallets-sdk');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function j({appearance:K}){let{wallet:r}=_clientsdkreactbase.useWallet.call(void 0, ),{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),a=_react.useRef.call(void 0, null),l=_react.useRef.call(void 0, null),[c,w]=_react.useState.call(void 0, "");_react.useEffect.call(void 0, ()=>{if(i!=null)try{let e=_commonsdkbase.validateAPIKey.call(void 0, i.apiKey);if(e.isValid){let t=_clientsigners.environmentUrlConfig[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(r.signer!=null&&_walletssdk.isExportableSigner.call(void 0, r.signer)){let t=new (0, _clientsdkrnwindow.WebViewParent)(a,{incomingEvents:_clientsigners.exportSignerOutboundEvents,outgoingEvents:_clientsigners.exportSignerInboundEvents});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),_reactnative.Alert.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=_react.useCallback.call(void 0, e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),_reactnative.Alert.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=_react.useCallback.call(void 0, e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||r.signer==null||!_walletssdk.isExportableSigner.call(void 0, r.signer)?null:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.webViewContainer,children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.loadingContainer,children:_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:n.loadingText,children:"Loading..."})})})})}var n=_reactnative.StyleSheet.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});exports.a = j;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSMUSI4JPjs = require('./chunk-SMUSI4JP.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var V=null;try{V=_chunkJ42HASCIjs.c.call(void 0, "@crossmint/expo-device-signer").NativeDeviceSignerKeyStorage}catch(p){}function ce({children:p,createOnLogin:G,appearance:K,headlessSigningFlow:D=!0,callbacks:z,deviceSignerKeyStorage:k}){let H=_react.useMemo.call(void 0, ()=>k!=null?k:V!=null?new V:void 0,[]),{crossmint:_}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_clientsdkreactbase.useLogger.call(void 0, _chunkSMUSI4JPjs.a),{apiKey:R,appId:E}=_,W=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),x=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[W.environment],[W.environment]),f=_react.useRef.call(void 0, null),t=_react.useRef.call(void 0, null),[O,F]=_react.useState.call(void 0, !1),v=_react.useRef.call(void 0, !1),s=_react.useRef.call(void 0, !1),i=_react.useRef.call(void 0, 0),P=_react.useRef.call(void 0, 0),j=_react.useMemo.call(void 0, ()=>E!=null?{crossmintAppId:E}:{},[E]),l=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();P.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:_reactnative.Platform.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);_react.useEffect.call(void 0, ()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[O,n,l]);let B=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),J=_react.useCallback.call(void 0, e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:P.current>0?Date.now()-P.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let I=d.type.split(".")[1],M=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(fe){return u}}),m=`react-native.wallet.webview.console.${I}`,b={webview_args:M};switch(I){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:I,webview_args:M})}return}}catch(d){}r.handleMessage(e)},[n,l]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:G,appearance:K,headlessSigningFlow:D,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){n.info("react-native.wallet.webview.init.start"),F(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:z,renderUI:D?void 0:({emailSignerProps:e,phoneSignerProps:r})=>_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkYJORUMPBjs.a,_chunkJ42HASCIjs.a.call(void 0, {},e)),_jsxruntime.jsx.call(void 0, _chunkMVVSGLQLjs.a,_chunkJ42HASCIjs.a.call(void 0, {},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},deviceSignerKeyStorage:H,children:[p,O&&_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:f,source:{uri:x},globals:j,onLoadEnd:B,onMessage:J,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[W.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Pe(p){return _jsxruntime.jsx.call(void 0, ce,_chunkJ42HASCIjs.a.call(void 0, {},p))}exports.a = Pe;
@@ -0,0 +1 @@
1
+ import{a as v}from"./chunk-ZCKUSOGC.mjs";import{d as S,e as c}from"./chunk-PSSAAY7D.mjs";import{createContext as I,useEffect as N,useMemo as L,useState as M,useCallback as W}from"react";import*as n from"expo-web-browser";import p from"expo-constants";import{Platform as T}from"react-native";import{CrossmintAuthBaseProvider as z,useCrossmintAuthBase as F}from"@crossmint/client-sdk-react-base";import{useCrossmint as b,useWallet as Y,useWalletOtpSigner as Z}from"@crossmint/client-sdk-react-base";import{useContext as k}from"react";function R(){let r=k(w);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}import{jsx as d}from"react/jsx-runtime";var B={google:null,twitter:null},G={crossmintAuth:void 0,login:()=>{},logout:()=>c(void 0,null,function*(){}),jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},w=I(G);function V({children:r}){let{setJwt:e}=b(),{jwt:t}=R();return N(()=>{e(t)},[e,t]),r}function _({children:r,appSchema:e}){let t=F(),[h,g]=M(B),[f,i]=M(!1),A=Array.isArray(e)?e[0]:e,P=p.executionEnvironment==="storeClient"||p.appOwnership==="expo"||!!p.expoVersion?"exp://127.0.0.1:8081":A,y=W(()=>c(this,null,function*(){try{let u=Object.keys(B).map(s=>c(this,null,function*(){var m;let l=yield(m=t.crossmintAuth)==null?void 0:m.getOAuthUrl(s,{appSchema:P});return{[s]:l}})),a=Object.assign({},...yield Promise.all(u));g(a)}catch(o){console.error(o)}}),[t.crossmintAuth,P]);N(()=>{t.user==null&&y()},[y,t.user]);let E=()=>t.status==="initializing"?"initializing":f?"in-progress":t.jwt!=null?"logged-in":"logged-out",j=o=>c(this,null,function*(){var u,a;try{i(!0);let s=(a=h[o])!=null?a:yield(u=t.crossmintAuth)==null?void 0:u.getOAuthUrl(o,{appSchema:P});yield n.warmUpAsync();let l=new URL(s);if(o==="google"&&l.searchParams.append("provider_prompt","select_account"),T.OS==="android")yield n.openBrowserAsync(l.toString());else{let m=yield n.openAuthSessionAsync(l.toString());m.type==="success"&&(yield x(m.url))}yield n.coolDownAsync()}catch(s){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",s),new Error(`Error during OAuth login: ${s}`)}finally{i(!1)}}),x=W(o=>c(this,null,function*(){var a;let u=o.includes("://")?D(o):o;if(u!=null)try{return i(!0),yield(a=t.crossmintAuth)==null?void 0:a.handleRefreshAuthMaterial(u)}catch(s){throw s}finally{i(!1)}return null}),[t.crossmintAuth]);return d(w.Provider,{value:{crossmintAuth:t.crossmintAuth,logout:t.logout,jwt:t.jwt,user:t.user,status:E(),getUser:t.getUser,login:()=>{},loginWithOAuth:j,createAuthSession:x},children:d(V,{children:r})})}function at(t){var h=t,{children:r}=h,e=S(h,["children"]);var i,A;let g=(A=e.appSchema)!=null?A:(i=p.expoConfig)==null?void 0:i.scheme,f=L(()=>{var C;return(C=e.storageProvider)!=null?C:new v},[e.storageProvider]);return d(z,{onLoginSuccess:e.onLoginSuccess,refreshRoute:e.refreshRoute,logoutRoute:e.logoutRoute,storageProvider:f,children:d(_,{appSchema:g,children:r})})}var D=r=>{let e=/[?&]oneTimeSecret=([^&#]+)/,t=r.match(e);return t?decodeURIComponent(t[1]):void 0};export{w as a,at as b,R as c,b as d,Y as e,Z as f};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-JP3BSC6Y.mjs";import{a as e}from"./chunk-PSSAAY7D.mjs";import{jsx as t}from"react/jsx-runtime";function i(d){return t(o,e({},d))}export{i as a};
1
+ import{a as o}from"./chunk-V5Z2ZD5X.mjs";import{a as e}from"./chunk-PSSAAY7D.mjs";import{jsx as t}from"react/jsx-runtime";function i(d){return t(o,e({},d))}export{i as a};
@@ -1 +1 @@
1
- import{a as m}from"./chunk-ZI6CSNXG.mjs";import{useMemo as v}from"react";import d from"expo-constants";import{CrossmintProvider as f,createLoggerContext as P}from"@crossmint/client-sdk-react-base";import{jsx as p}from"react/jsx-runtime";var l=P();function N({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=v(()=>m(o,r),[o,r]),c=(n=(t=(e=d.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=d.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return p(l.Provider,{value:g,children:p(f,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}export{l as a,N as b};
1
+ import{a as m}from"./chunk-LB75V56C.mjs";import{useMemo as v}from"react";import d from"expo-constants";import{CrossmintProvider as f,createLoggerContext as P}from"@crossmint/client-sdk-react-base";import{jsx as p}from"react/jsx-runtime";var l=P();function N({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=v(()=>m(o,r),[o,r]),c=(n=(t=(e=d.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=d.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return p(l.Provider,{value:g,children:p(f,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}export{l as a,N as b};
@@ -1 +1 @@
1
- import{a as r}from"./chunk-L34HCKFT.mjs";import{SdkLogger as C,ReactNativeDatadogSink as R,validateAPIKey as S}from"@crossmint/common-sdk-base";import{AppState as b}from"react-native";import D from"expo-constants";import*as e from"expo-device";function _(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=S(n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new C({packageName:r.name,packageVersion:r.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=D.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=D.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new R(d,N,o);return a.addSink(h),w(a),a}function w(n){b.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}export{_ as a};
1
+ import{a as r}from"./chunk-SN7Y47U6.mjs";import{SdkLogger as C,ReactNativeDatadogSink as R,validateAPIKey as S}from"@crossmint/common-sdk-base";import{AppState as b}from"react-native";import D from"expo-constants";import*as e from"expo-device";function _(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=S(n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new C({packageName:r.name,packageVersion:r.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=D.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=D.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new R(d,N,o);return a.addSink(h),w(a),a}function w(n){b.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}export{_ as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var o={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.3",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},optionalDependencies:{"@crossmint/expo-device-signer":"workspace:*"},peerDependencies:{"@crossmint/expo-device-signer":"0.1.0-beta.1","@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"},peerDependenciesMeta:{"@crossmint/expo-device-signer":{optional:!0}}};exports.a = o;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkSHTETN4Cjs = require('./chunk-SHTETN4C.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var n = _interopRequireWildcard(_expowebbrowser);var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function U(){let r=_react.useContext.call(void 0, w);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var _jsxruntime = require('react/jsx-runtime');var W={google:null,twitter:null},F={crossmintAuth:void 0,login:()=>{},logout:()=>_chunkJ42HASCIjs.e.call(void 0, void 0,null,function*(){}),jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},w= exports.a =_react.createContext.call(void 0, F);function G({children:r}){let{setJwt:e}=_clientsdkreactbase.useCrossmint.call(void 0, ),{jwt:t}=U();return _react.useEffect.call(void 0, ()=>{e(t)},[e,t]),r}function V({children:r,appSchema:e}){let t=_clientsdkreactbase.useCrossmintAuthBase.call(void 0, ),[h,g]=_react.useState.call(void 0, W),[f,i]=_react.useState.call(void 0, !1),A=Array.isArray(e)?e[0]:e,P=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":A,y=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){try{let u=Object.keys(W).map(s=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var m;let l=yield(m=t.crossmintAuth)==null?void 0:m.getOAuthUrl(s,{appSchema:P});return{[s]:l}})),a=Object.assign({},...yield Promise.all(u));g(a)}catch(o){console.error(o)}}),[t.crossmintAuth,P]);_react.useEffect.call(void 0, ()=>{t.user==null&&y()},[y,t.user]);let N=()=>t.status==="initializing"?"initializing":f?"in-progress":t.jwt!=null?"logged-in":"logged-out",E=o=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var u,a;try{i(!0);let s=(a=h[o])!=null?a:yield(u=t.crossmintAuth)==null?void 0:u.getOAuthUrl(o,{appSchema:P});yield n.warmUpAsync();let l=new URL(s);if(o==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield n.openBrowserAsync(l.toString());else{let m=yield n.openAuthSessionAsync(l.toString());m.type==="success"&&(yield x(m.url))}yield n.coolDownAsync()}catch(s){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",s),new Error(`Error during OAuth login: ${s}`)}finally{i(!1)}}),x=_react.useCallback.call(void 0, o=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var a;let u=o.includes("://")?_(o):o;if(u!=null)try{return i(!0),yield(a=t.crossmintAuth)==null?void 0:a.handleRefreshAuthMaterial(u)}catch(s){throw s}finally{i(!1)}return null}),[t.crossmintAuth]);return _jsxruntime.jsx.call(void 0, w.Provider,{value:{crossmintAuth:t.crossmintAuth,logout:t.logout,jwt:t.jwt,user:t.user,status:N(),getUser:t.getUser,login:()=>{},loginWithOAuth:E,createAuthSession:x},children:_jsxruntime.jsx.call(void 0, G,{children:r})})}function ut(t){var h=t,{children:r}=h,e=_chunkJ42HASCIjs.d.call(void 0, h,["children"]);var i,A;let g=(A=e.appSchema)!=null?A:(i=_expoconstants2.default.expoConfig)==null?void 0:i.scheme,f=_react.useMemo.call(void 0, ()=>{var C;return(C=e.storageProvider)!=null?C:new _chunkSHTETN4Cjs.a},[e.storageProvider]);return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintAuthBaseProvider,{onLoginSuccess:e.onLoginSuccess,refreshRoute:e.refreshRoute,logoutRoute:e.logoutRoute,storageProvider:f,children:_jsxruntime.jsx.call(void 0, V,{appSchema:g,children:r})})}var _=r=>{let e=/[?&]oneTimeSecret=([^&#]+)/,t=r.match(e);return t?decodeURIComponent(t[1]):void 0};exports.a = w; exports.b = ut; exports.c = U; exports.d = _clientsdkreactbase.useCrossmint; exports.e = _clientsdkreactbase.useWallet; exports.f = _clientsdkreactbase.useWalletOtpSigner;
@@ -0,0 +1 @@
1
+ import{e as p}from"./chunk-PSSAAY7D.mjs";import{useState as v,useCallback as s,useRef as u,useEffect as y}from"react";import{View as g,Text as x,StyleSheet as V,Alert as f}from"react-native";import{useWallet as h,useCrossmint as C}from"@crossmint/client-sdk-react-base";import{environmentUrlConfig as W,exportSignerInboundEvents as P,exportSignerOutboundEvents as S}from"@crossmint/client-signers";import{isExportableSigner as b}from"@crossmint/wallets-sdk";import{validateAPIKey as F}from"@crossmint/common-sdk-base";import{WebViewParent as I,RNWebView as k}from"@crossmint/client-sdk-rn-window";import{jsx as o}from"react/jsx-runtime";function z({appearance:K}){let{wallet:r}=h(),{crossmint:i}=C(),a=u(null),l=u(null),[c,w]=v("");y(()=>{if(i!=null)try{let e=F(i.apiKey);if(e.isValid){let t=W[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=s(e=>p(this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(r.signer!=null&&b(r.signer)){let t=new I(a,{incomingEvents:S,outgoingEvents:P});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),f.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=s(e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),f.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=s(e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||r.signer==null||!b(r.signer)?null:o(g,{style:n.webViewContainer,children:o(k,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>o(g,{style:n.loadingContainer,children:o(x,{style:n.loadingText,children:"Loading..."})})})})}var n=V.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});export{z as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkQN3RQEL7js = require('./chunk-QN3RQEL7.js');var _react = require('react');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var l=_clientsdkreactbase.createLoggerContext.call(void 0, );function I({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=_react.useMemo.call(void 0, ()=>_chunkQN3RQEL7js.a.call(void 0, o,r),[o,r]),c=(n=(t=(e=_expoconstants2.default.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=_expoconstants2.default.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return _jsxruntime.jsx.call(void 0, l.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}exports.a = l; exports.b = I;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkYCQDNTXXjs = require('./chunk-YCQDNTXX.js');var _react = require('react');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var l=_clientsdkreactbase.createLoggerContext.call(void 0, );function I({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=_react.useMemo.call(void 0, ()=>_chunkYCQDNTXXjs.a.call(void 0, o,r),[o,r]),c=(n=(t=(e=_expoconstants2.default.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=_expoconstants2.default.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return _jsxruntime.jsx.call(void 0, l.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}exports.a = l; exports.b = I;
@@ -0,0 +1 @@
1
+ var o={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.3",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},optionalDependencies:{"@crossmint/expo-device-signer":"workspace:*"},peerDependencies:{"@crossmint/expo-device-signer":"0.1.0-beta.1","@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"},peerDependenciesMeta:{"@crossmint/expo-device-signer":{optional:!0}}};export{o as a};
@@ -1 +1 @@
1
- import{a as n}from"./chunk-L34HCKFT.mjs";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function C(i,t){return new e(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:n.version},apiKeyExpectations:t}})}export{C as a};
1
+ import{a as n}from"./chunk-SN7Y47U6.mjs";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function C(i,t){return new e(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:n.version},apiKeyExpectations:t}})}export{C as a};
@@ -1 +1 @@
1
- import{c as h}from"./chunk-PCJMDUSI.mjs";import{a as y}from"./chunk-FX23A4BR.mjs";import{a as f}from"./chunk-FDRSKJYH.mjs";import{a as p}from"./chunk-FFQ6EQCL.mjs";import{a as d,b as m}from"./chunk-PSSAAY7D.mjs";import{useCrossmint as S}from"@crossmint/client-sdk-react-base";import{useEffect as b,useRef as l,useState as g}from"react";import{View as W}from"react-native";import{crossmintEmbeddedCheckoutV3Service as I}from"@crossmint/client-sdk-base";import{RNWebView as A,WebViewParent as M}from"@crossmint/client-sdk-rn-window";import{embeddedCheckoutV3IncomingEvents as R,embeddedCheckoutV3OutgoingEvents as O}from"@crossmint/client-sdk-base";import{jsx as c,jsxs as L}from"react/jsx-runtime";function Y(t){var u;let[e,w]=g(null),[C,v]=g(0),E=l((u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=l(t);if(U(t,n.current)){let r=d({},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=S(),V=f(i,{usageOrigin:"client"}),P=I({apiClient:V}),s=l(null);b(()=>{let r=s.current;if(!r||e)return;let o=new M({current:r},{incomingEvents:R,outgoingEvents:O});w(o)},[s.current,e]),b(()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{p.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return L(W,{style:{flex:1},children:[c(A,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:h,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?c(y,{payer:n.current.payment.crypto.payer,webViewClient:e}):c(H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:m(d({},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}export{Y as a};
1
+ import{c as h}from"./chunk-PCJMDUSI.mjs";import{a as y}from"./chunk-FX23A4BR.mjs";import{a as f}from"./chunk-UZDXAIEV.mjs";import{a as p}from"./chunk-FFQ6EQCL.mjs";import{a as d,b as m}from"./chunk-PSSAAY7D.mjs";import{useCrossmint as S}from"@crossmint/client-sdk-react-base";import{useEffect as b,useRef as l,useState as g}from"react";import{View as W}from"react-native";import{crossmintEmbeddedCheckoutV3Service as I}from"@crossmint/client-sdk-base";import{RNWebView as A,WebViewParent as M}from"@crossmint/client-sdk-rn-window";import{embeddedCheckoutV3IncomingEvents as R,embeddedCheckoutV3OutgoingEvents as O}from"@crossmint/client-sdk-base";import{jsx as c,jsxs as L}from"react/jsx-runtime";function Y(t){var u;let[e,w]=g(null),[C,v]=g(0),E=l((u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=l(t);if(U(t,n.current)){let r=d({},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=S(),V=f(i,{usageOrigin:"client"}),P=I({apiClient:V}),s=l(null);b(()=>{let r=s.current;if(!r||e)return;let o=new M({current:r},{incomingEvents:R,outgoingEvents:O});w(o)},[s.current,e]),b(()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{p.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return L(W,{style:{flex:1},children:[c(A,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:h,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?c(y,{payer:n.current.payment.crypto.payer,webViewClient:e}):c(H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:m(d({},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}export{Y as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkZJKAPXBCjs = require('./chunk-ZJKAPXBC.js');var _commonsdkbase = require('@crossmint/common-sdk-base');var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _expodevice = require('expo-device'); var e = _interopRequireWildcard(_expodevice);function P(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=_commonsdkbase.validateAPIKey.call(void 0, n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new (0, _commonsdkbase.SdkLogger)({packageName:_chunkZJKAPXBCjs.a.name,packageVersion:_chunkZJKAPXBCjs.a.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=_expoconstants2.default.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=_expoconstants2.default.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new (0, _commonsdkbase.ReactNativeDatadogSink)(d,N,o);return a.addSink(h),w(a),a}function w(n){_reactnative.AppState.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}exports.a = P;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkLBMNZZEXjs = require('./chunk-LBMNZZEX.js');var _commonsdkbase = require('@crossmint/common-sdk-base');var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _expodevice = require('expo-device'); var e = _interopRequireWildcard(_expodevice);function P(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=_commonsdkbase.validateAPIKey.call(void 0, n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new (0, _commonsdkbase.SdkLogger)({packageName:_chunkLBMNZZEXjs.a.name,packageVersion:_chunkLBMNZZEXjs.a.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=_expoconstants2.default.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=_expoconstants2.default.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new (0, _commonsdkbase.ReactNativeDatadogSink)(d,N,o);return a.addSink(h),w(a),a}function w(n){_reactnative.AppState.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}exports.a = P;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZJKAPXBCjs = require('./chunk-ZJKAPXBC.js');var _commonsdkbase = require('@crossmint/common-sdk-base');function a(i,t){return new (0, _commonsdkbase.CrossmintApiClient)(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:_chunkZJKAPXBCjs.a.version},apiKeyExpectations:t}})}exports.a = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLBMNZZEXjs = require('./chunk-LBMNZZEX.js');var _commonsdkbase = require('@crossmint/common-sdk-base');function a(i,t){return new (0, _commonsdkbase.CrossmintApiClient)(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:_chunkLBMNZZEXjs.a.version},apiKeyExpectations:t}})}exports.a = a;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkKZCRAJ3Mjs = require('../../chunk-KZCRAJ3M.js');require('../../chunk-BM3JBWNW.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-MW2OPOJA.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-ZJKAPXBC.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkKZCRAJ3Mjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunk35S4QOAVjs = require('../../chunk-35S4QOAV.js');require('../../chunk-72O5ASXF.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-ZWF7KB5X.js');require('../../chunk-LBMNZZEX.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk35S4QOAVjs.a;
@@ -1 +1 @@
1
- import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-KJ4KYGXG.mjs";import"../../chunk-JP3BSC6Y.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-FDRSKJYH.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-L34HCKFT.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-G4TLU4WS.mjs";import"../../chunk-V5Z2ZD5X.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-UZDXAIEV.mjs";import"../../chunk-SN7Y47U6.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKZCRAJ3Mjs = require('../../../chunk-KZCRAJ3M.js');require('../../../chunk-BM3JBWNW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-MW2OPOJA.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-ZJKAPXBC.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkKZCRAJ3Mjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk35S4QOAVjs = require('../../../chunk-35S4QOAV.js');require('../../../chunk-72O5ASXF.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-ZWF7KB5X.js');require('../../../chunk-LBMNZZEX.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk35S4QOAVjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-KJ4KYGXG.mjs";import"../../../chunk-JP3BSC6Y.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-FDRSKJYH.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-L34HCKFT.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import{a}from"../../../chunk-G4TLU4WS.mjs";import"../../../chunk-V5Z2ZD5X.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-UZDXAIEV.mjs";import"../../../chunk-SN7Y47U6.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBM3JBWNWjs = require('../../../chunk-BM3JBWNW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-MW2OPOJA.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-ZJKAPXBC.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkBM3JBWNWjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72O5ASXFjs = require('../../../chunk-72O5ASXF.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-ZWF7KB5X.js');require('../../../chunk-LBMNZZEX.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunk72O5ASXFjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-JP3BSC6Y.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-FDRSKJYH.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-L34HCKFT.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
1
+ import{a}from"../../../chunk-V5Z2ZD5X.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-UZDXAIEV.mjs";import"../../../chunk-SN7Y47U6.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunkKZCRAJ3Mjs = require('../../../chunk-KZCRAJ3M.js');require('../../../chunk-BM3JBWNW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-MW2OPOJA.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-ZJKAPXBC.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkKZCRAJ3Mjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunk35S4QOAVjs = require('../../../chunk-35S4QOAV.js');require('../../../chunk-72O5ASXF.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-ZWF7KB5X.js');require('../../../chunk-LBMNZZEX.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk35S4QOAVjs.a;
@@ -1 +1 @@
1
- import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-KJ4KYGXG.mjs";import"../../../chunk-JP3BSC6Y.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-FDRSKJYH.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-L34HCKFT.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-G4TLU4WS.mjs";import"../../../chunk-V5Z2ZD5X.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-UZDXAIEV.mjs";import"../../../chunk-SN7Y47U6.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('../chunk-UA34B5QB.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunkKZCRAJ3Mjs = require('../chunk-KZCRAJ3M.js');require('../chunk-BM3JBWNW.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-MW2OPOJA.js');require('../chunk-I4D3YJW2.js');var _chunkYJORUMPBjs = require('../chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-2D2RJCVX.js');require('../chunk-ZJKAPXBC.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkKZCRAJ3Mjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunk35S4QOAVjs = require('../chunk-35S4QOAV.js');require('../chunk-72O5ASXF.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-I4D3YJW2.js');var _chunkA2MEND3Djs = require('../chunk-A2MEND3D.js');var _chunkYJORUMPBjs = require('../chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-ZWF7KB5X.js');require('../chunk-LBMNZZEX.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk35S4QOAVjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
@@ -1 +1 @@
1
- import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import{a as d}from"../chunk-EF2YTIUF.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-KJ4KYGXG.mjs";import"../chunk-JP3BSC6Y.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-FDRSKJYH.mjs";import"../chunk-J7Q2R6UH.mjs";import{a}from"../chunk-XNDIT72O.mjs";import{a as b}from"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-L34HCKFT.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
1
+ import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-G4TLU4WS.mjs";import"../chunk-V5Z2ZD5X.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-J7Q2R6UH.mjs";import{a as d}from"../chunk-PNHVW6FM.mjs";import{a}from"../chunk-XNDIT72O.mjs";import{a as b}from"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-UZDXAIEV.mjs";import"../chunk-SN7Y47U6.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUA34B5QBjs = require('../../chunk-UA34B5QB.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkA2MEND3Djs = require('../../chunk-A2MEND3D.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-EF2YTIUF.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
1
+ import{a}from"../../chunk-PNHVW6FM.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('../../chunk-UA34B5QB.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-AJMHVVST.js');var _chunkA2MEND3Djs = require('../../chunk-A2MEND3D.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a;
@@ -1 +1 @@
1
- import"../../chunk-5CLFJLE4.mjs";import{a}from"../../chunk-EF2YTIUF.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
1
+ import"../../chunk-5CLFJLE4.mjs";import{a}from"../../chunk-PNHVW6FM.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
@@ -1,7 +1,6 @@
1
- export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
- export { EmailSignerFunctions, useWalletEmailSigner } from './useWalletEmailSigner.mjs';
1
+ export { OtpSignerFunctions, useCrossmint, useWallet, useWalletOtpSigner } from '@crossmint/client-sdk-react-base';
3
2
  export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './useCrossmintCheckout.mjs';
4
- export { useAuth, useCrossmintAuth } from './useAuth.mjs';
3
+ export { useCrossmintAuth } from './useAuth.mjs';
5
4
  import 'react/jsx-runtime';
6
5
  import 'react';
7
6
  import '@crossmint/client-sdk-base';
@@ -1,7 +1,6 @@
1
- export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
- export { EmailSignerFunctions, useWalletEmailSigner } from './useWalletEmailSigner.js';
1
+ export { OtpSignerFunctions, useCrossmint, useWallet, useWalletOtpSigner } from '@crossmint/client-sdk-react-base';
3
2
  export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './useCrossmintCheckout.js';
4
- export { useAuth, useCrossmintAuth } from './useAuth.js';
3
+ export { useCrossmintAuth } from './useAuth.js';
5
4
  import 'react/jsx-runtime';
6
5
  import 'react';
7
6
  import '@crossmint/client-sdk-base';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEF5KYLDOjs = require('../chunk-EF5KYLDO.js');require('../chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');var _chunkMKCQJOIOjs = require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.useAuth = _chunkEF5KYLDOjs.d; exports.useCrossmint = _chunkEF5KYLDOjs.e; exports.useCrossmintAuth = _chunkEF5KYLDOjs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkEF5KYLDOjs.f; exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOGYBEE5Ajs = require('../chunk-OGYBEE5A.js');require('../chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.useCrossmint = _chunkOGYBEE5Ajs.d; exports.useCrossmintAuth = _chunkOGYBEE5Ajs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkOGYBEE5Ajs.e; exports.useWalletOtpSigner = _chunkOGYBEE5Ajs.f;
@@ -1 +1 @@
1
- import{c as d,d as e,e as f,f as g}from"../chunk-LK3AO6AY.mjs";import"../chunk-ZCKUSOGC.mjs";import{a as b,b as c}from"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import{a}from"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintCheckoutProvider,e as useAuth,f as useCrossmint,d as useCrossmintAuth,c as useCrossmintCheckout,g as useWallet,a as useWalletEmailSigner};
1
+ import{c,d,e,f}from"../chunk-F5O5W34O.mjs";import"../chunk-ZCKUSOGC.mjs";import{a,b}from"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintCheckoutProvider,d as useCrossmint,c as useCrossmintAuth,b as useCrossmintCheckout,e as useWallet,f as useWalletOtpSigner};
@@ -6,6 +6,5 @@ interface RNCrossmintAuthContext extends CrossmintAuthBaseContextType {
6
6
  createAuthSession: (urlOrOneTimeSecret: string) => Promise<AuthMaterialWithUser | null>;
7
7
  }
8
8
  declare function useCrossmintAuth(): RNCrossmintAuthContext;
9
- declare const useAuth: typeof useCrossmintAuth;
10
9
 
11
- export { useAuth, useCrossmintAuth };
10
+ export { useCrossmintAuth };
@@ -6,6 +6,5 @@ interface RNCrossmintAuthContext extends CrossmintAuthBaseContextType {
6
6
  createAuthSession: (urlOrOneTimeSecret: string) => Promise<AuthMaterialWithUser | null>;
7
7
  }
8
8
  declare function useCrossmintAuth(): RNCrossmintAuthContext;
9
- declare const useAuth: typeof useCrossmintAuth;
10
9
 
11
- export { useAuth, useCrossmintAuth };
10
+ export { useCrossmintAuth };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEF5KYLDOjs = require('../chunk-EF5KYLDO.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.useAuth = _chunkEF5KYLDOjs.d; exports.useCrossmintAuth = _chunkEF5KYLDOjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOGYBEE5Ajs = require('../chunk-OGYBEE5A.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.useCrossmintAuth = _chunkOGYBEE5Ajs.c;
@@ -1 +1 @@
1
- import{c as a,d as b}from"../chunk-LK3AO6AY.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{b as useAuth,a as useCrossmintAuth};
1
+ import{c as a}from"../chunk-F5O5W34O.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as useCrossmintAuth};
package/dist/index.d.mts CHANGED
@@ -1,7 +1,6 @@
1
- export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
- export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.mjs';
1
+ export { OtpSignerFunctions, useCrossmint, useWallet, useWalletOtpSigner } from '@crossmint/client-sdk-react-base';
3
2
  export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './hooks/useCrossmintCheckout.mjs';
4
- export { useAuth, useCrossmintAuth } from './hooks/useAuth.mjs';
3
+ export { useCrossmintAuth } from './hooks/useAuth.mjs';
5
4
  export { CrossmintProvider, CrossmintProviderProps } from './providers/CrossmintProvider.mjs';
6
5
  export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.mjs';
7
6
  export { CrossmintWalletProvider, CrossmintWalletProviderProps } from './providers/CrossmintWalletProvider.mjs';
@@ -11,7 +10,7 @@ export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.mjs'
11
10
  export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './components/wallets/ExportPrivateKeyButton.mjs';
12
11
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
13
12
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
14
- export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
13
+ export { Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Transfers, Wallet } from '@crossmint/wallets-sdk';
15
14
  import 'react/jsx-runtime';
16
15
  import 'react';
17
16
  import '@crossmint/client-sdk-react-base/dist/providers/LoggerProvider';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
- export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.js';
1
+ export { OtpSignerFunctions, useCrossmint, useWallet, useWalletOtpSigner } from '@crossmint/client-sdk-react-base';
3
2
  export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './hooks/useCrossmintCheckout.js';
4
- export { useAuth, useCrossmintAuth } from './hooks/useAuth.js';
3
+ export { useCrossmintAuth } from './hooks/useAuth.js';
5
4
  export { CrossmintProvider, CrossmintProviderProps } from './providers/CrossmintProvider.js';
6
5
  export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
7
6
  export { CrossmintWalletProvider, CrossmintWalletProviderProps } from './providers/CrossmintWalletProvider.js';
@@ -11,7 +10,7 @@ export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.js';
11
10
  export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './components/wallets/ExportPrivateKeyButton.js';
12
11
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
13
12
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
14
- export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
13
+ export { Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Transfers, Wallet } from '@crossmint/wallets-sdk';
15
14
  import 'react/jsx-runtime';
16
15
  import 'react';
17
16
  import '@crossmint/client-sdk-react-base/dist/providers/LoggerProvider';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkSJTT7WAQjs = require('./chunk-SJTT7WAQ.js');var _chunkLY6WTUDMjs = require('./chunk-LY6WTUDM.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('./chunk-UA34B5QB.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkKZCRAJ3Mjs = require('./chunk-KZCRAJ3M.js');require('./chunk-BM3JBWNW.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-MW2OPOJA.js');require('./chunk-I4D3YJW2.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');require('./chunk-F7VXWATP.js');require('./chunk-DC5HCBPK.js');require('./chunk-EI5LOD4Y.js');var _chunkEF5KYLDOjs = require('./chunk-EF5KYLDO.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');var _chunkMKCQJOIOjs = require('./chunk-MKCQJOIO.js');require('./chunk-QN3RQEL7.js');require('./chunk-ZJKAPXBC.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunkKZCRAJ3Mjs.a; exports.CrossmintProvider = _chunkLY6WTUDMjs.b; exports.CrossmintWalletProvider = _chunkSJTT7WAQjs.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.StellarWallet = _walletssdk.StellarWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkEF5KYLDOjs.d; exports.useCrossmint = _chunkEF5KYLDOjs.e; exports.useCrossmintAuth = _chunkEF5KYLDOjs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkEF5KYLDOjs.f; exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkERFOVIOKjs = require('./chunk-ERFOVIOK.js');var _chunkSMUSI4JPjs = require('./chunk-SMUSI4JP.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunk35S4QOAVjs = require('./chunk-35S4QOAV.js');require('./chunk-72O5ASXF.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-I4D3YJW2.js');var _chunkA2MEND3Djs = require('./chunk-A2MEND3D.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');require('./chunk-F7VXWATP.js');require('./chunk-DC5HCBPK.js');require('./chunk-EI5LOD4Y.js');require('./chunk-ZWF7KB5X.js');require('./chunk-YCQDNTXX.js');require('./chunk-LBMNZZEX.js');var _chunkOGYBEE5Ajs = require('./chunk-OGYBEE5A.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunk35S4QOAVjs.a; exports.CrossmintProvider = _chunkSMUSI4JPjs.b; exports.CrossmintWalletProvider = _chunkERFOVIOKjs.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.StellarWallet = _walletssdk.StellarWallet; exports.Wallet = _walletssdk.Wallet; exports.useCrossmint = _chunkOGYBEE5Ajs.d; exports.useCrossmintAuth = _chunkOGYBEE5Ajs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkOGYBEE5Ajs.e; exports.useWalletOtpSigner = _chunkOGYBEE5Ajs.f;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"./chunk-I3QSTPTV.mjs";import{a as y}from"./chunk-UWG4HV23.mjs";import{b as s}from"./chunk-EJSEWYXE.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import{a as x}from"./chunk-EF2YTIUF.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as c}from"./chunk-KJ4KYGXG.mjs";import"./chunk-JP3BSC6Y.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-FDRSKJYH.mjs";import"./chunk-J7Q2R6UH.mjs";import{a as i}from"./chunk-XNDIT72O.mjs";import{a as m}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import{b as o,c as a,d as n,e as l,f as p}from"./chunk-LK3AO6AY.mjs";import"./chunk-ZCKUSOGC.mjs";import{a as e,b as r}from"./chunk-IUDQDPIN.mjs";import"./chunk-FFQ6EQCL.mjs";import{a as t}from"./chunk-J477SX6P.mjs";import"./chunk-ZI6CSNXG.mjs";import"./chunk-L34HCKFT.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as u,SolanaWallet as C,StellarWallet as k,Wallet as A}from"@crossmint/wallets-sdk";export{o as CrossmintAuthProvider,e as CrossmintCheckoutProvider,c as CrossmintEmbeddedCheckout,s as CrossmintProvider,y as CrossmintWalletProvider,u as EVMWallet,i as EmailSignersDialog,x as ExportPrivateKeyButton,m as PhoneSignersDialog,C as SolanaWallet,k as StellarWallet,A as Wallet,n as useAuth,l as useCrossmint,a as useCrossmintAuth,r as useCrossmintCheckout,p as useWallet,t as useWalletEmailSigner};
1
+ import"./chunk-I3QSTPTV.mjs";import{a as i}from"./chunk-6GSLLO6U.mjs";import{b as l}from"./chunk-GDN76PZF.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as y}from"./chunk-G4TLU4WS.mjs";import"./chunk-V5Z2ZD5X.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-J7Q2R6UH.mjs";import{a as f}from"./chunk-PNHVW6FM.mjs";import{a as p}from"./chunk-XNDIT72O.mjs";import{a as m}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import"./chunk-UZDXAIEV.mjs";import"./chunk-LB75V56C.mjs";import"./chunk-SN7Y47U6.mjs";import{b as r,c as o,d as a,e as n,f as s}from"./chunk-F5O5W34O.mjs";import"./chunk-ZCKUSOGC.mjs";import{a as e,b as t}from"./chunk-IUDQDPIN.mjs";import"./chunk-FFQ6EQCL.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as u,SolanaWallet as v,StellarWallet as C,Wallet as k}from"@crossmint/wallets-sdk";export{r as CrossmintAuthProvider,e as CrossmintCheckoutProvider,y as CrossmintEmbeddedCheckout,l as CrossmintProvider,i as CrossmintWalletProvider,u as EVMWallet,p as EmailSignersDialog,f as ExportPrivateKeyButton,m as PhoneSignersDialog,v as SolanaWallet,C as StellarWallet,k as Wallet,a as useCrossmint,o as useCrossmintAuth,t as useCrossmintCheckout,n as useWallet,s as useWalletOtpSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQN3RQEL7js = require('../chunk-QN3RQEL7.js');require('../chunk-ZJKAPXBC.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunkQN3RQEL7js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYCQDNTXXjs = require('../chunk-YCQDNTXX.js');require('../chunk-LBMNZZEX.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunkYCQDNTXXjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-ZI6CSNXG.mjs";import"../chunk-L34HCKFT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
1
+ import{a}from"../chunk-LB75V56C.mjs";import"../chunk-SN7Y47U6.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEF5KYLDOjs = require('../chunk-EF5KYLDO.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.AuthContext = _chunkEF5KYLDOjs.a; exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOGYBEE5Ajs = require('../chunk-OGYBEE5A.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.AuthContext = _chunkOGYBEE5Ajs.a; exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-LK3AO6AY.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{a as AuthContext,b as CrossmintAuthProvider};
1
+ import{a,b}from"../chunk-F5O5W34O.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as AuthContext,b as CrossmintAuthProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLY6WTUDMjs = require('../chunk-LY6WTUDM.js');require('../chunk-QN3RQEL7.js');require('../chunk-ZJKAPXBC.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkLY6WTUDMjs.b; exports.LoggerContext = _chunkLY6WTUDMjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSMUSI4JPjs = require('../chunk-SMUSI4JP.js');require('../chunk-YCQDNTXX.js');require('../chunk-LBMNZZEX.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkSMUSI4JPjs.b; exports.LoggerContext = _chunkSMUSI4JPjs.a;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-EJSEWYXE.mjs";import"../chunk-ZI6CSNXG.mjs";import"../chunk-L34HCKFT.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
1
+ import{a,b}from"../chunk-GDN76PZF.mjs";import"../chunk-LB75V56C.mjs";import"../chunk-SN7Y47U6.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
  import { UIConfig } from '@crossmint/common-sdk-base';
4
4
  import { CreateOnLogin } from '@crossmint/client-sdk-react-base';
5
+ import { DeviceSignerKeyStorage } from '@crossmint/wallets-sdk';
5
6
 
6
7
  interface CrossmintWalletProviderProps {
7
8
  /** Wallet configuration for automatic creation on user login. Defines the chain and signer type for the wallet. */
@@ -17,6 +18,12 @@ interface CrossmintWalletProviderProps {
17
18
  /** Called when a transaction signing flow begins. */
18
19
  onTransactionStart?: () => Promise<void>;
19
20
  };
21
+ /**
22
+ * Override the device signer key storage implementation. Defaults to `NativeDeviceSignerKeyStorage`
23
+ * (Secure Enclave on iOS, Android Keystore on Android) when `@crossmint/expo-device-signer` is installed.
24
+ * Useful for testing or environments where the native module is unavailable.
25
+ */
26
+ deviceSignerKeyStorage?: DeviceSignerKeyStorage;
20
27
  /** @internal */
21
28
  children: ReactNode;
22
29
  }
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
  import { UIConfig } from '@crossmint/common-sdk-base';
4
4
  import { CreateOnLogin } from '@crossmint/client-sdk-react-base';
5
+ import { DeviceSignerKeyStorage } from '@crossmint/wallets-sdk';
5
6
 
6
7
  interface CrossmintWalletProviderProps {
7
8
  /** Wallet configuration for automatic creation on user login. Defines the chain and signer type for the wallet. */
@@ -17,6 +18,12 @@ interface CrossmintWalletProviderProps {
17
18
  /** Called when a transaction signing flow begins. */
18
19
  onTransactionStart?: () => Promise<void>;
19
20
  };
21
+ /**
22
+ * Override the device signer key storage implementation. Defaults to `NativeDeviceSignerKeyStorage`
23
+ * (Secure Enclave on iOS, Android Keystore on Android) when `@crossmint/expo-device-signer` is installed.
24
+ * Useful for testing or environments where the native module is unavailable.
25
+ */
26
+ deviceSignerKeyStorage?: DeviceSignerKeyStorage;
20
27
  /** @internal */
21
28
  children: ReactNode;
22
29
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSJTT7WAQjs = require('../chunk-SJTT7WAQ.js');require('../chunk-LY6WTUDM.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-QN3RQEL7.js');require('../chunk-ZJKAPXBC.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkSJTT7WAQjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkERFOVIOKjs = require('../chunk-ERFOVIOK.js');require('../chunk-SMUSI4JP.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-YCQDNTXX.js');require('../chunk-LBMNZZEX.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkERFOVIOKjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-UWG4HV23.mjs";import"../chunk-EJSEWYXE.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-ZI6CSNXG.mjs";import"../chunk-L34HCKFT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
1
+ import{a}from"../chunk-6GSLLO6U.mjs";import"../chunk-GDN76PZF.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-LB75V56C.mjs";import"../chunk-SN7Y47U6.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
@@ -8,3 +8,4 @@ import '@crossmint/common-sdk-base';
8
8
  import '../types/auth.mjs';
9
9
  import '@crossmint/client-sdk-react-base';
10
10
  import '@crossmint/common-sdk-auth';
11
+ import '@crossmint/wallets-sdk';
@@ -8,3 +8,4 @@ import '@crossmint/common-sdk-base';
8
8
  import '../types/auth.js';
9
9
  import '@crossmint/client-sdk-react-base';
10
10
  import '@crossmint/common-sdk-auth';
11
+ import '@crossmint/wallets-sdk';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkSJTT7WAQjs = require('../chunk-SJTT7WAQ.js');var _chunkLY6WTUDMjs = require('../chunk-LY6WTUDM.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');var _chunkEF5KYLDOjs = require('../chunk-EF5KYLDO.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-QN3RQEL7.js');require('../chunk-ZJKAPXBC.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintProvider = _chunkLY6WTUDMjs.b; exports.CrossmintWalletProvider = _chunkSJTT7WAQjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkERFOVIOKjs = require('../chunk-ERFOVIOK.js');var _chunkSMUSI4JPjs = require('../chunk-SMUSI4JP.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-YCQDNTXX.js');require('../chunk-LBMNZZEX.js');var _chunkOGYBEE5Ajs = require('../chunk-OGYBEE5A.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b; exports.CrossmintProvider = _chunkSMUSI4JPjs.b; exports.CrossmintWalletProvider = _chunkERFOVIOKjs.a;
@@ -1 +1 @@
1
- import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-UWG4HV23.mjs";import{b}from"../chunk-EJSEWYXE.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import{b as a}from"../chunk-LK3AO6AY.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-ZI6CSNXG.mjs";import"../chunk-L34HCKFT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
1
+ import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-6GSLLO6U.mjs";import{b}from"../chunk-GDN76PZF.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-LB75V56C.mjs";import"../chunk-SN7Y47U6.mjs";import{b as a}from"../chunk-F5O5W34O.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMW2OPOJAjs = require('../chunk-MW2OPOJA.js');require('../chunk-ZJKAPXBC.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunkMW2OPOJAjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZWF7KB5Xjs = require('../chunk-ZWF7KB5X.js');require('../chunk-LBMNZZEX.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunkZWF7KB5Xjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-FDRSKJYH.mjs";import"../chunk-L34HCKFT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as createCrossmintApiClient};
1
+ import{a}from"../chunk-UZDXAIEV.mjs";import"../chunk-SN7Y47U6.mjs";import"../chunk-PSSAAY7D.mjs";export{a as createCrossmintApiClient};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-native-ui",
3
- "version": "0.13.26",
3
+ "version": "1.0.0-beta.3",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -22,14 +22,14 @@
22
22
  "mitt": "3.0.1",
23
23
  "react-native-svg": "15.14.0",
24
24
  "zod": "3.22.4",
25
- "@crossmint/client-sdk-auth": "1.2.51",
26
- "@crossmint/client-sdk-base": "2.1.0",
27
- "@crossmint/client-sdk-react-base": "1.0.7",
25
+ "@crossmint/client-sdk-auth": "1.3.0-beta.1",
26
+ "@crossmint/client-sdk-base": "2.0.3-beta.1",
27
+ "@crossmint/client-sdk-react-base": "2.0.0-beta.3",
28
28
  "@crossmint/client-sdk-rn-window": "0.3.15",
29
29
  "@crossmint/client-signers": "0.1.2",
30
- "@crossmint/common-sdk-auth": "1.0.73",
31
- "@crossmint/common-sdk-base": "0.9.20",
32
- "@crossmint/wallets-sdk": "0.21.0"
30
+ "@crossmint/common-sdk-auth": "1.1.0-beta.1",
31
+ "@crossmint/common-sdk-base": "0.10.0-beta.1",
32
+ "@crossmint/wallets-sdk": "1.0.0-beta.3"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@expo/config-plugins": "^9.0.17",
@@ -40,7 +40,11 @@
40
40
  "expo-secure-store": "~15.0.7",
41
41
  "expo-web-browser": "~15.0.8"
42
42
  },
43
+ "optionalDependencies": {
44
+ "@crossmint/expo-device-signer": "0.1.0-beta.1"
45
+ },
43
46
  "peerDependencies": {
47
+ "@crossmint/expo-device-signer": "0.1.0-beta.1",
44
48
  "@expo/config-plugins": ">=9.0.0",
45
49
  "@solana/web3.js": "^1.98.1",
46
50
  "expo-constants": ">=17 <19",
@@ -51,6 +55,11 @@
51
55
  "react-native": ">=0.74.3",
52
56
  "react-native-webview": ">=13.15.0 <14"
53
57
  },
58
+ "peerDependenciesMeta": {
59
+ "@crossmint/expo-device-signer": {
60
+ "optional": true
61
+ }
62
+ },
54
63
  "scripts": {
55
64
  "build": "cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",
56
65
  "dev": "cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch",
@@ -1 +0,0 @@
1
- import{e as p}from"./chunk-PSSAAY7D.mjs";import{useState as v,useCallback as s,useRef as u,useEffect as y}from"react";import{View as g,Text as x,StyleSheet as V,Alert as f}from"react-native";import{useWallet as h,useCrossmint as C}from"@crossmint/client-sdk-react-base";import{environmentUrlConfig as W,exportSignerInboundEvents as P,exportSignerOutboundEvents as S}from"@crossmint/client-signers";import{isExportableSigner as b}from"@crossmint/wallets-sdk";import{validateAPIKey as F}from"@crossmint/common-sdk-base";import{WebViewParent as I,RNWebView as k}from"@crossmint/client-sdk-rn-window";import{jsx as o}from"react/jsx-runtime";function z({appearance:K}){let{wallet:r}=h(),{crossmint:i}=C(),a=u(null),l=u(null),[c,w]=v("");y(()=>{if(i!=null)try{let e=F(i.apiKey);if(e.isValid){let t=W[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=s(e=>p(this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(b(r.signer)){let t=new I(a,{incomingEvents:S,outgoingEvents:P});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),f.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=s(e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),f.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=s(e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||!b(r.signer)?null:o(g,{style:n.webViewContainer,children:o(k,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>o(g,{style:n.loadingContainer,children:o(x,{style:n.loadingText,children:"Loading..."})})})})}var n=V.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});export{z as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkSHTETN4Cjs = require('./chunk-SHTETN4C.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var u = _interopRequireWildcard(_expowebbrowser);var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function k(){let r=_react.useContext.call(void 0, w);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var U=k;var _jsxruntime = require('react/jsx-runtime');var B={google:null,twitter:null},G={crossmintAuth:void 0,login:()=>{},logout:()=>_chunkJ42HASCIjs.e.call(void 0, void 0,null,function*(){}),jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},w= exports.a =_react.createContext.call(void 0, G);function V({children:r}){let{experimental_setCustomAuth:e,experimental_customAuth:t}=_clientsdkreactbase.useCrossmint.call(void 0, ),{user:o,jwt:i}=U();return _react.useEffect.call(void 0, ()=>{i==null&&(t==null?void 0:t.jwt)!=null&&e(void 0),i!=null&&e({jwt:i,email:o==null?void 0:o.email})},[e,i,o]),r}function _({children:r,appSchema:e}){let t=_clientsdkreactbase.useCrossmintAuthBase.call(void 0, ),[o,i]=_react.useState.call(void 0, B),[f,a]=_react.useState.call(void 0, !1),p=Array.isArray(e)?e[0]:e,P=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":p,x=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){try{let c=Object.keys(B).map(n=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var A;let m=yield(A=t.crossmintAuth)==null?void 0:A.getOAuthUrl(n,{appSchema:P});return{[n]:m}})),h=Object.assign({},...yield Promise.all(c));i(h)}catch(s){console.error(s)}}),[t.crossmintAuth,P]);_react.useEffect.call(void 0, ()=>{t.user==null&&x()},[x,t.user]);let N=()=>t.status==="initializing"?"initializing":f?"in-progress":t.jwt!=null?"logged-in":"logged-out",E=s=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var c,h;try{a(!0);let n=(h=o[s])!=null?h:yield(c=t.crossmintAuth)==null?void 0:c.getOAuthUrl(s,{appSchema:P});yield u.warmUpAsync();let m=new URL(n);if(s==="google"&&m.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield u.openBrowserAsync(m.toString());else{let A=yield u.openAuthSessionAsync(m.toString());A.type==="success"&&(yield y(A.url))}yield u.coolDownAsync()}catch(n){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",n),new Error(`Error during OAuth login: ${n}`)}finally{a(!1)}}),y=_react.useCallback.call(void 0, s=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var h;let c=s.includes("://")?D(s):s;if(c!=null)try{return a(!0),yield(h=t.crossmintAuth)==null?void 0:h.handleRefreshAuthMaterial(c)}catch(n){throw n}finally{a(!1)}return null}),[t.crossmintAuth]);return _jsxruntime.jsx.call(void 0, w.Provider,{value:{crossmintAuth:t.crossmintAuth,logout:t.logout,jwt:t.jwt,user:t.user,status:N(),getUser:t.getUser,login:()=>{},loginWithOAuth:E,createAuthSession:y},children:_jsxruntime.jsx.call(void 0, V,{children:r})})}function at(t){var o=t,{children:r}=o,e=_chunkJ42HASCIjs.d.call(void 0, o,["children"]);var a,p;let i=(p=e.appSchema)!=null?p:(a=_expoconstants2.default.expoConfig)==null?void 0:a.scheme,f=_react.useMemo.call(void 0, ()=>{var C;return(C=e.storageProvider)!=null?C:new _chunkSHTETN4Cjs.a},[e.storageProvider]);return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintAuthBaseProvider,{onLoginSuccess:e.onLoginSuccess,refreshRoute:e.refreshRoute,logoutRoute:e.logoutRoute,storageProvider:f,children:_jsxruntime.jsx.call(void 0, _,{appSchema:i,children:r})})}var D=r=>{let e=/[?&]oneTimeSecret=([^&#]+)/,t=r.match(e);return t?decodeURIComponent(t[1]):void 0};exports.a = w; exports.b = at; exports.c = k; exports.d = U; exports.e = _clientsdkreactbase.useCrossmint; exports.f = _clientsdkreactbase.useWallet;
@@ -1 +0,0 @@
1
- import{e as n}from"./chunk-PSSAAY7D.mjs";import{useCallback as o,useContext as u}from"react";import{CrossmintWalletBaseContext as p}from"@crossmint/client-sdk-react-base";var s=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email signer wallet.`)};function h(){let i=u(p);if(i==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");let{emailSignerState:t}=i,l=o(()=>n(this,null,function*(){var e;return t.sendEmailWithOtp||s("sendEmailWithOtp")(),yield(e=t.sendEmailWithOtp)==null?void 0:e.call(t)}),[t.sendEmailWithOtp]),a=o(e=>n(this,null,function*(){var r;return t.verifyOtp||s("verifyOtp")(),yield(r=t.verifyOtp)==null?void 0:r.call(t,e)}),[t.verifyOtp]),c=o(e=>{var r;t.reject||s("reject")(),(r=t.reject)==null||r.call(t,e)},[t.reject]);return{needsAuth:t.needsAuth,sendEmailWithOtp:l,verifyOtp:a,reject:c}}export{h as a};
@@ -1 +0,0 @@
1
- var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.26",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},peerDependencies:{"@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"}};export{c as a};
@@ -1 +0,0 @@
1
- import{a as S}from"./chunk-ZCKUSOGC.mjs";import{d as v,e as l}from"./chunk-PSSAAY7D.mjs";import{createContext as L,useEffect as N,useMemo as T,useState as b,useCallback as B}from"react";import*as u from"expo-web-browser";import d from"expo-constants";import{Platform as z}from"react-native";import{CrossmintAuthBaseProvider as F,useCrossmintAuthBase as G}from"@crossmint/client-sdk-react-base";import{useCrossmint as M,useWallet as Z}from"@crossmint/client-sdk-react-base";import{useContext as k}from"react";function I(){let r=k(w);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var R=I;import{jsx as g}from"react/jsx-runtime";var W={google:null,twitter:null},V={crossmintAuth:void 0,login:()=>{},logout:()=>l(void 0,null,function*(){}),jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},w=L(V);function _({children:r}){let{experimental_setCustomAuth:e,experimental_customAuth:t}=M(),{user:o,jwt:i}=R();return N(()=>{i==null&&(t==null?void 0:t.jwt)!=null&&e(void 0),i!=null&&e({jwt:i,email:o==null?void 0:o.email})},[e,i,o]),r}function D({children:r,appSchema:e}){let t=G(),[o,i]=b(W),[f,a]=b(!1),p=Array.isArray(e)?e[0]:e,P=d.executionEnvironment==="storeClient"||d.appOwnership==="expo"||!!d.expoVersion?"exp://127.0.0.1:8081":p,x=B(()=>l(this,null,function*(){try{let c=Object.keys(W).map(n=>l(this,null,function*(){var A;let m=yield(A=t.crossmintAuth)==null?void 0:A.getOAuthUrl(n,{appSchema:P});return{[n]:m}})),h=Object.assign({},...yield Promise.all(c));i(h)}catch(s){console.error(s)}}),[t.crossmintAuth,P]);N(()=>{t.user==null&&x()},[x,t.user]);let E=()=>t.status==="initializing"?"initializing":f?"in-progress":t.jwt!=null?"logged-in":"logged-out",j=s=>l(this,null,function*(){var c,h;try{a(!0);let n=(h=o[s])!=null?h:yield(c=t.crossmintAuth)==null?void 0:c.getOAuthUrl(s,{appSchema:P});yield u.warmUpAsync();let m=new URL(n);if(s==="google"&&m.searchParams.append("provider_prompt","select_account"),z.OS==="android")yield u.openBrowserAsync(m.toString());else{let A=yield u.openAuthSessionAsync(m.toString());A.type==="success"&&(yield y(A.url))}yield u.coolDownAsync()}catch(n){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",n),new Error(`Error during OAuth login: ${n}`)}finally{a(!1)}}),y=B(s=>l(this,null,function*(){var h;let c=s.includes("://")?$(s):s;if(c!=null)try{return a(!0),yield(h=t.crossmintAuth)==null?void 0:h.handleRefreshAuthMaterial(c)}catch(n){throw n}finally{a(!1)}return null}),[t.crossmintAuth]);return g(w.Provider,{value:{crossmintAuth:t.crossmintAuth,logout:t.logout,jwt:t.jwt,user:t.user,status:E(),getUser:t.getUser,login:()=>{},loginWithOAuth:j,createAuthSession:y},children:g(_,{children:r})})}function ct(t){var o=t,{children:r}=o,e=v(o,["children"]);var a,p;let i=(p=e.appSchema)!=null?p:(a=d.expoConfig)==null?void 0:a.scheme,f=T(()=>{var C;return(C=e.storageProvider)!=null?C:new S},[e.storageProvider]);return g(F,{onLoginSuccess:e.onLoginSuccess,refreshRoute:e.refreshRoute,logoutRoute:e.logoutRoute,storageProvider:f,children:g(D,{appSchema:i,children:r})})}var $=r=>{let e=/[?&]oneTimeSecret=([^&#]+)/,t=r.match(e);return t?decodeURIComponent(t[1]):void 0};export{w as a,ct as b,I as c,R as d,M as e,Z as f};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var s=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email signer wallet.`)};function f(){let i=_react.useContext.call(void 0, _clientsdkreactbase.CrossmintWalletBaseContext);if(i==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");let{emailSignerState:t}=i,l=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var e;return t.sendEmailWithOtp||s("sendEmailWithOtp")(),yield(e=t.sendEmailWithOtp)==null?void 0:e.call(t)}),[t.sendEmailWithOtp]),a=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var r;return t.verifyOtp||s("verifyOtp")(),yield(r=t.verifyOtp)==null?void 0:r.call(t,e)}),[t.verifyOtp]),c=_react.useCallback.call(void 0, e=>{var r;t.reject||s("reject")(),(r=t.reject)==null||r.call(t,e)},[t.reject]);return{needsAuth:t.needsAuth,sendEmailWithOtp:l,verifyOtp:a,reject:c}}exports.a = f;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLY6WTUDMjs = require('./chunk-LY6WTUDM.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function ae({children:C,createOnLogin:A,appearance:G,headlessSigningFlow:V=!0,callbacks:N}){let{crossmint:z}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_clientsdkreactbase.useLogger.call(void 0, _chunkLY6WTUDMjs.a),{apiKey:R,appId:k}=z,P=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),H=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[P.environment],[P.environment]),f=_react.useRef.call(void 0, null),t=_react.useRef.call(void 0, null),[O,x]=_react.useState.call(void 0, !1),v=_react.useRef.call(void 0, !1),s=_react.useRef.call(void 0, !1),i=_react.useRef.call(void 0, 0),y=_react.useRef.call(void 0, 0),_=_react.useMemo.call(void 0, ()=>k!=null?{crossmintAppId:k}:{},[k]),l=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();y.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:_reactnative.Platform.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);_react.useEffect.call(void 0, ()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[O,n,l]);let F=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),j=_react.useCallback.call(void 0, e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:y.current>0?Date.now()-y.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let E=d.type.split(".")[1],M=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(le){return u}}),m=`react-native.wallet.webview.console.${E}`,b={webview_args:M};switch(E){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:E,webview_args:M})}return}}catch(d){}r.handleMessage(e)},[n,l]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:A,appearance:G,headlessSigningFlow:V,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){n.info("react-native.wallet.webview.init.start"),x(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:N,renderUI:V?void 0:({emailSignerProps:e,phoneSignerProps:r})=>_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkYJORUMPBjs.a,_chunkJ42HASCIjs.a.call(void 0, {},e)),_jsxruntime.jsx.call(void 0, _chunkMVVSGLQLjs.a,_chunkJ42HASCIjs.a.call(void 0, {},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},children:[C,O&&_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:f,source:{uri:H},globals:_,onLoadEnd:F,onMessage:j,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[P.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function ke(C){return _jsxruntime.jsx.call(void 0, ae,_chunkJ42HASCIjs.a.call(void 0, {},C))}exports.a = ke;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _clientsigners = require('@crossmint/client-signers');var _walletssdk = require('@crossmint/wallets-sdk');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function j({appearance:K}){let{wallet:r}=_clientsdkreactbase.useWallet.call(void 0, ),{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),a=_react.useRef.call(void 0, null),l=_react.useRef.call(void 0, null),[c,w]=_react.useState.call(void 0, "");_react.useEffect.call(void 0, ()=>{if(i!=null)try{let e=_commonsdkbase.validateAPIKey.call(void 0, i.apiKey);if(e.isValid){let t=_clientsigners.environmentUrlConfig[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(_walletssdk.isExportableSigner.call(void 0, r.signer)){let t=new (0, _clientsdkrnwindow.WebViewParent)(a,{incomingEvents:_clientsigners.exportSignerOutboundEvents,outgoingEvents:_clientsigners.exportSignerInboundEvents});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),_reactnative.Alert.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=_react.useCallback.call(void 0, e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),_reactnative.Alert.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=_react.useCallback.call(void 0, e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||!_walletssdk.isExportableSigner.call(void 0, r.signer)?null:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.webViewContainer,children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.loadingContainer,children:_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:n.loadingText,children:"Loading..."})})})})}var n=_reactnative.StyleSheet.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});exports.a = j;
@@ -1 +0,0 @@
1
- import{a as L}from"./chunk-EJSEWYXE.mjs";import{a as D}from"./chunk-XNDIT72O.mjs";import{a as S}from"./chunk-3QSVHCEH.mjs";import{a as p,e as g}from"./chunk-PSSAAY7D.mjs";import{useCallback as W,useRef as w,useMemo as I,useEffect as K,useState as B}from"react";import{Platform as J,View as $}from"react-native";import{RNWebView as q,WebViewParent as Q}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as T,signerInboundEvents as X,signerOutboundEvents as Y,SignerErrorCode as Z}from"@crossmint/client-signers";import{validateAPIKey as ee}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as ne,useCrossmint as re}from"@crossmint/client-sdk-react-base";import{useLogger as te}from"@crossmint/client-sdk-react-base";import{Fragment as oe,jsx as h,jsxs as U}from"react/jsx-runtime";function ae({children:C,createOnLogin:A,appearance:G,headlessSigningFlow:V=!0,callbacks:N}){let{crossmint:z}=re("CrossmintWalletProvider must be used within CrossmintProvider"),n=te(L),{apiKey:R,appId:k}=z,P=I(()=>{let e=ee(R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),H=I(()=>T[P.environment],[P.environment]),f=w(null),t=w(null),[O,x]=B(!1),v=w(!1),s=w(!1),i=w(0),y=w(0),_=I(()=>k!=null?{crossmintAppId:k}:{},[k]),l=W(e=>g(this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();y.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:J.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);K(()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new Q(f,{incomingEvents:Y,outgoingEvents:X,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[Z.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[O,n,l]);let F=W(()=>g(this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),j=W(e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:y.current>0?Date.now()-y.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let E=d.type.split(".")[1],M=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(le){return u}}),m=`react-native.wallet.webview.console.${E}`,b={webview_args:M};switch(E){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:E,webview_args:M})}return}}catch(d){}r.handleMessage(e)},[n,l]);return U(ne,{createOnLogin:A,appearance:G,headlessSigningFlow:V,initializeWebView:()=>g(this,null,function*(){n.info("react-native.wallet.webview.init.start"),x(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:N,renderUI:V?void 0:({emailSignerProps:e,phoneSignerProps:r})=>U(oe,{children:[h(D,p({},e)),h(S,p({},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},children:[C,O&&h($,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:h(q,{ref:f,source:{uri:H},globals:_,onLoadEnd:F,onMessage:j,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[T[P.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Pe(C){return h(ae,p({},C))}export{Pe as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.26",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},peerDependencies:{"@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"}};exports.a = c;
@@ -1,18 +0,0 @@
1
- type EmailSignerFunctions = {
2
- /** Whether the email signer currently requires authentication (OTP verification). */
3
- needsAuth: boolean;
4
- /** Sends a one-time password to the user's email address. */
5
- sendEmailWithOtp: () => Promise<void>;
6
- /** Verifies the one-time password entered by the user. */
7
- verifyOtp: (otp: string) => Promise<void>;
8
- /** Rejects the current authentication request with an error. */
9
- reject: (error: Error) => void;
10
- };
11
- /**
12
- * Hook for managing email-based signer authentication flows.
13
- * Provides OTP send/verify functions for wallets using an email signer.
14
- * Must be used within a {@link CrossmintWalletProvider}.
15
- */
16
- declare function useWalletEmailSigner(): EmailSignerFunctions;
17
-
18
- export { type EmailSignerFunctions, useWalletEmailSigner };
@@ -1,18 +0,0 @@
1
- type EmailSignerFunctions = {
2
- /** Whether the email signer currently requires authentication (OTP verification). */
3
- needsAuth: boolean;
4
- /** Sends a one-time password to the user's email address. */
5
- sendEmailWithOtp: () => Promise<void>;
6
- /** Verifies the one-time password entered by the user. */
7
- verifyOtp: (otp: string) => Promise<void>;
8
- /** Rejects the current authentication request with an error. */
9
- reject: (error: Error) => void;
10
- };
11
- /**
12
- * Hook for managing email-based signer authentication flows.
13
- * Provides OTP send/verify functions for wallets using an email signer.
14
- * Must be used within a {@link CrossmintWalletProvider}.
15
- */
16
- declare function useWalletEmailSigner(): EmailSignerFunctions;
17
-
18
- export { type EmailSignerFunctions, useWalletEmailSigner };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMKCQJOIOjs = require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
@@ -1 +0,0 @@
1
- import{a}from"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{a as useWalletEmailSigner};