@crossmint/client-sdk-react-native-ui 0.13.25 → 1.0.0-beta.2

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-25EKKN3X.js +1 -0
  2. package/dist/{chunk-6TDBUOQE.js → chunk-2I3S32DJ.js} +1 -1
  3. package/dist/{chunk-PQ2BJPQR.mjs → chunk-2PYH2ARU.mjs} +1 -1
  4. package/dist/{chunk-BJ4RVJCD.mjs → chunk-3MRNET5P.mjs} +1 -1
  5. package/dist/{chunk-BFSRTQYZ.js → chunk-6S2FUAUM.js} +1 -1
  6. package/dist/chunk-A2MEND3D.js +1 -0
  7. package/dist/chunk-F5O5W34O.mjs +1 -0
  8. package/dist/{chunk-2P3TENLG.mjs → chunk-MSMMOMYT.mjs} +1 -1
  9. package/dist/chunk-OGYBEE5A.js +1 -0
  10. package/dist/{chunk-PQB7WIHM.mjs → chunk-OMJSXGCP.mjs} +1 -1
  11. package/dist/chunk-PNHVW6FM.mjs +1 -0
  12. package/dist/chunk-RT4T7XAD.mjs +1 -0
  13. package/dist/chunk-TRKLIWST.js +1 -0
  14. package/dist/chunk-U2DIEEZH.mjs +1 -0
  15. package/dist/{chunk-6VB24RAY.js → chunk-VVMTHE5M.js} +1 -1
  16. package/dist/{chunk-U6RLI4GK.mjs → chunk-WGI454UE.mjs} +1 -1
  17. package/dist/{chunk-UPIRXOVH.js → chunk-XM7I5GOV.js} +1 -1
  18. package/dist/{chunk-54N76NB5.js → chunk-ZI76TANW.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-KJVQ4KFY.mjs +0 -1
  66. package/dist/chunk-LK3AO6AY.mjs +0 -1
  67. package/dist/chunk-MKCQJOIO.js +0 -1
  68. package/dist/chunk-NAWX5EA2.mjs +0 -1
  69. package/dist/chunk-SWS4LNSV.js +0 -1
  70. package/dist/chunk-UA34B5QB.js +0 -1
  71. package/dist/chunk-X7RV3TA3.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
@@ -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.2",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.0.2-beta.0","@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;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSWS4LNSVjs = require('./chunk-SWS4LNSV.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:_chunkSWS4LNSVjs.a.version},apiKeyExpectations:t}})}exports.a = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk25EKKN3Xjs = require('./chunk-25EKKN3X.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:_chunk25EKKN3Xjs.a.version},apiKeyExpectations:t}})}exports.a = a;
@@ -1 +1 @@
1
- import{a as o}from"./chunk-PQB7WIHM.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-OMJSXGCP.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 r}from"./chunk-NAWX5EA2.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-RT4T7XAD.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 +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 _chunkSWS4LNSVjs = require('./chunk-SWS4LNSV.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:_chunkSWS4LNSVjs.a.name,packageVersion:_chunkSWS4LNSVjs.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 _chunk25EKKN3Xjs = require('./chunk-25EKKN3X.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:_chunk25EKKN3Xjs.a.name,packageVersion:_chunk25EKKN3Xjs.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;
@@ -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
+ 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 n}from"./chunk-NAWX5EA2.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-RT4T7XAD.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};
@@ -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;
@@ -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-2P3TENLG.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-MSMMOMYT.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};
@@ -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};
@@ -0,0 +1 @@
1
+ var o={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.2",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.0.2-beta.0","@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};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXM7I5GOVjs = require('./chunk-XM7I5GOV.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, _chunkXM7I5GOVjs.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 L}from"./chunk-WGI454UE.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 _chunk54N76NB5js = require('./chunk-54N76NB5.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunk54N76NB5js.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZI76TANWjs = require('./chunk-ZI76TANW.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkZI76TANWjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
@@ -1 +1 @@
1
- import{a as m}from"./chunk-BJ4RVJCD.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-3MRNET5P.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
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkBFSRTQYZjs = require('./chunk-BFSRTQYZ.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, ()=>_chunkBFSRTQYZjs.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 _chunk6S2FUAUMjs = require('./chunk-6S2FUAUM.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, ()=>_chunk6S2FUAUMjs.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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYQEWHOQ7js = require('./chunk-YQEWHOQ7.js');var _chunkVACQTZRTjs = require('./chunk-VACQTZRT.js');var _chunk6TDBUOQEjs = require('./chunk-6TDBUOQE.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=_chunk6TDBUOQEjs.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 _chunk2I3S32DJjs = require('./chunk-2I3S32DJ.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=_chunk2I3S32DJjs.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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunk6VB24RAYjs = require('../../chunk-6VB24RAY.js');require('../../chunk-54N76NB5.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-6TDBUOQE.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-SWS4LNSV.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk6VB24RAYjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkVVMTHE5Mjs = require('../../chunk-VVMTHE5M.js');require('../../chunk-ZI76TANW.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-2I3S32DJ.js');require('../../chunk-25EKKN3X.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVMTHE5Mjs.a;
@@ -1 +1 @@
1
- import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-PQ2BJPQR.mjs";import"../../chunk-PQB7WIHM.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-2P3TENLG.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-NAWX5EA2.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-2PYH2ARU.mjs";import"../../chunk-OMJSXGCP.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-MSMMOMYT.mjs";import"../../chunk-RT4T7XAD.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 _chunk6VB24RAYjs = require('../../../chunk-6VB24RAY.js');require('../../../chunk-54N76NB5.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-6TDBUOQE.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-SWS4LNSV.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk6VB24RAYjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVVMTHE5Mjs = require('../../../chunk-VVMTHE5M.js');require('../../../chunk-ZI76TANW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2I3S32DJ.js');require('../../../chunk-25EKKN3X.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVMTHE5Mjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-PQ2BJPQR.mjs";import"../../../chunk-PQB7WIHM.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-2P3TENLG.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-NAWX5EA2.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import{a}from"../../../chunk-2PYH2ARU.mjs";import"../../../chunk-OMJSXGCP.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-MSMMOMYT.mjs";import"../../../chunk-RT4T7XAD.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 _chunk54N76NB5js = require('../../../chunk-54N76NB5.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-6TDBUOQE.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-SWS4LNSV.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunk54N76NB5js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZI76TANWjs = require('../../../chunk-ZI76TANW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2I3S32DJ.js');require('../../../chunk-25EKKN3X.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkZI76TANWjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-PQB7WIHM.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-2P3TENLG.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-NAWX5EA2.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
1
+ import{a}from"../../../chunk-OMJSXGCP.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-MSMMOMYT.mjs";import"../../../chunk-RT4T7XAD.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 _chunk6VB24RAYjs = require('../../../chunk-6VB24RAY.js');require('../../../chunk-54N76NB5.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-6TDBUOQE.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-SWS4LNSV.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk6VB24RAYjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunkVVMTHE5Mjs = require('../../../chunk-VVMTHE5M.js');require('../../../chunk-ZI76TANW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2I3S32DJ.js');require('../../../chunk-25EKKN3X.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVMTHE5Mjs.a;
@@ -1 +1 @@
1
- import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-PQ2BJPQR.mjs";import"../../../chunk-PQB7WIHM.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-2P3TENLG.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-NAWX5EA2.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-2PYH2ARU.mjs";import"../../../chunk-OMJSXGCP.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-MSMMOMYT.mjs";import"../../../chunk-RT4T7XAD.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 _chunk6VB24RAYjs = require('../chunk-6VB24RAY.js');require('../chunk-54N76NB5.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-6TDBUOQE.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-SWS4LNSV.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk6VB24RAYjs.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 _chunkVVMTHE5Mjs = require('../chunk-VVMTHE5M.js');require('../chunk-ZI76TANW.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-2I3S32DJ.js');require('../chunk-25EKKN3X.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVMTHE5Mjs.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-PQ2BJPQR.mjs";import"../chunk-PQB7WIHM.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-2P3TENLG.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-NAWX5EA2.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-2PYH2ARU.mjs";import"../chunk-OMJSXGCP.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-MSMMOMYT.mjs";import"../chunk-RT4T7XAD.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 _chunkX7RV3TA3js = require('./chunk-X7RV3TA3.js');var _chunkUPIRXOVHjs = require('./chunk-UPIRXOVH.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('./chunk-UA34B5QB.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunk6VB24RAYjs = require('./chunk-6VB24RAY.js');require('./chunk-54N76NB5.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-6TDBUOQE.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-BFSRTQYZ.js');require('./chunk-SWS4LNSV.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunk6VB24RAYjs.a; exports.CrossmintProvider = _chunkUPIRXOVHjs.b; exports.CrossmintWalletProvider = _chunkX7RV3TA3js.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 _chunkTRKLIWSTjs = require('./chunk-TRKLIWST.js');var _chunkXM7I5GOVjs = require('./chunk-XM7I5GOV.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkVVMTHE5Mjs = require('./chunk-VVMTHE5M.js');require('./chunk-ZI76TANW.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-2I3S32DJ.js');require('./chunk-6S2FUAUM.js');require('./chunk-25EKKN3X.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 = _chunkVVMTHE5Mjs.a; exports.CrossmintProvider = _chunkXM7I5GOVjs.b; exports.CrossmintWalletProvider = _chunkTRKLIWSTjs.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-KJVQ4KFY.mjs";import{b as s}from"./chunk-U6RLI4GK.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-PQ2BJPQR.mjs";import"./chunk-PQB7WIHM.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-2P3TENLG.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-BJ4RVJCD.mjs";import"./chunk-NAWX5EA2.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-U2DIEEZH.mjs";import{b as l}from"./chunk-WGI454UE.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as y}from"./chunk-2PYH2ARU.mjs";import"./chunk-OMJSXGCP.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-MSMMOMYT.mjs";import"./chunk-3MRNET5P.mjs";import"./chunk-RT4T7XAD.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 _chunkBFSRTQYZjs = require('../chunk-BFSRTQYZ.js');require('../chunk-SWS4LNSV.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunkBFSRTQYZjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6S2FUAUMjs = require('../chunk-6S2FUAUM.js');require('../chunk-25EKKN3X.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunk6S2FUAUMjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-BJ4RVJCD.mjs";import"../chunk-NAWX5EA2.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
1
+ import{a}from"../chunk-3MRNET5P.mjs";import"../chunk-RT4T7XAD.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 _chunkUPIRXOVHjs = require('../chunk-UPIRXOVH.js');require('../chunk-BFSRTQYZ.js');require('../chunk-SWS4LNSV.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkUPIRXOVHjs.b; exports.LoggerContext = _chunkUPIRXOVHjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXM7I5GOVjs = require('../chunk-XM7I5GOV.js');require('../chunk-6S2FUAUM.js');require('../chunk-25EKKN3X.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkXM7I5GOVjs.b; exports.LoggerContext = _chunkXM7I5GOVjs.a;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-U6RLI4GK.mjs";import"../chunk-BJ4RVJCD.mjs";import"../chunk-NAWX5EA2.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
1
+ import{a,b}from"../chunk-WGI454UE.mjs";import"../chunk-3MRNET5P.mjs";import"../chunk-RT4T7XAD.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 _chunkX7RV3TA3js = require('../chunk-X7RV3TA3.js');require('../chunk-UPIRXOVH.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-BFSRTQYZ.js');require('../chunk-SWS4LNSV.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkX7RV3TA3js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTRKLIWSTjs = require('../chunk-TRKLIWST.js');require('../chunk-XM7I5GOV.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-6S2FUAUM.js');require('../chunk-25EKKN3X.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkTRKLIWSTjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-KJVQ4KFY.mjs";import"../chunk-U6RLI4GK.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-BJ4RVJCD.mjs";import"../chunk-NAWX5EA2.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
1
+ import{a}from"../chunk-U2DIEEZH.mjs";import"../chunk-WGI454UE.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-3MRNET5P.mjs";import"../chunk-RT4T7XAD.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 _chunkX7RV3TA3js = require('../chunk-X7RV3TA3.js');var _chunkUPIRXOVHjs = require('../chunk-UPIRXOVH.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-BFSRTQYZ.js');require('../chunk-SWS4LNSV.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintProvider = _chunkUPIRXOVHjs.b; exports.CrossmintWalletProvider = _chunkX7RV3TA3js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkTRKLIWSTjs = require('../chunk-TRKLIWST.js');var _chunkXM7I5GOVjs = require('../chunk-XM7I5GOV.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-6S2FUAUM.js');require('../chunk-25EKKN3X.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 = _chunkXM7I5GOVjs.b; exports.CrossmintWalletProvider = _chunkTRKLIWSTjs.a;
@@ -1 +1 @@
1
- import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-KJVQ4KFY.mjs";import{b}from"../chunk-U6RLI4GK.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-BJ4RVJCD.mjs";import"../chunk-NAWX5EA2.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-U2DIEEZH.mjs";import{b}from"../chunk-WGI454UE.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-3MRNET5P.mjs";import"../chunk-RT4T7XAD.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 _chunk6TDBUOQEjs = require('../chunk-6TDBUOQE.js');require('../chunk-SWS4LNSV.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunk6TDBUOQEjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2I3S32DJjs = require('../chunk-2I3S32DJ.js');require('../chunk-25EKKN3X.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunk2I3S32DJjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-2P3TENLG.mjs";import"../chunk-NAWX5EA2.mjs";import"../chunk-PSSAAY7D.mjs";export{a as createCrossmintApiClient};
1
+ import{a}from"../chunk-MSMMOMYT.mjs";import"../chunk-RT4T7XAD.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.25",
3
+ "version": "1.0.0-beta.2",
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-base": "2.0.2",
26
- "@crossmint/client-sdk-react-base": "1.0.6",
25
+ "@crossmint/client-sdk-auth": "1.3.0-beta.0",
26
+ "@crossmint/client-sdk-base": "2.0.3-beta.0",
27
+ "@crossmint/client-sdk-react-base": "2.0.0-beta.2",
27
28
  "@crossmint/client-sdk-rn-window": "0.3.15",
28
29
  "@crossmint/client-signers": "0.1.2",
29
- "@crossmint/common-sdk-auth": "1.0.72",
30
- "@crossmint/common-sdk-base": "0.9.20",
31
- "@crossmint/wallets-sdk": "0.20.2",
32
- "@crossmint/client-sdk-auth": "1.2.50"
30
+ "@crossmint/common-sdk-auth": "1.1.0-beta.0",
31
+ "@crossmint/common-sdk-base": "0.10.0-beta.0",
32
+ "@crossmint/wallets-sdk": "1.0.0-beta.2"
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.0.2-beta.0"
45
+ },
43
46
  "peerDependencies": {
47
+ "@crossmint/expo-device-signer": "0.0.2-beta.0",
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
- import{a as L}from"./chunk-U6RLI4GK.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
- 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
- var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.25",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
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.25",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 +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
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUPIRXOVHjs = require('./chunk-UPIRXOVH.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, _chunkUPIRXOVHjs.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,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};