@crossmint/client-sdk-react-native-ui 0.4.3 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-FT6LXRZM.js +1 -0
- package/dist/chunk-GGMWFDW5.js +1 -0
- package/dist/chunk-KEXMZELI.cjs +1 -0
- package/dist/chunk-RSCTH4RO.cjs +1 -0
- package/dist/chunk-T3Q4KTE4.js +1 -0
- package/dist/chunk-VIA5NAWD.cjs +1 -0
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useCrossmintAuth.cjs +1 -1
- package/dist/hooks/useCrossmintAuth.d.cts +2 -2
- package/dist/hooks/useCrossmintAuth.d.ts +2 -2
- package/dist/hooks/useCrossmintAuth.js +1 -1
- package/dist/hooks/useWallet.cjs +1 -1
- package/dist/hooks/useWallet.js +1 -1
- package/dist/hooks/useWalletsAuth.cjs +1 -0
- package/dist/hooks/useWalletsAuth.d.cts +8 -0
- package/dist/hooks/useWalletsAuth.d.ts +8 -0
- package/dist/hooks/useWalletsAuth.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/providers/CrossmintAuthProvider.cjs +1 -1
- package/dist/providers/CrossmintAuthProvider.d.cts +2 -2
- package/dist/providers/CrossmintAuthProvider.d.ts +2 -2
- package/dist/providers/CrossmintAuthProvider.js +1 -1
- package/dist/providers/CrossmintRecoveryKeyProvider.cjs +1 -1
- package/dist/providers/CrossmintRecoveryKeyProvider.d.cts +4 -5
- package/dist/providers/CrossmintRecoveryKeyProvider.d.ts +4 -5
- package/dist/providers/CrossmintRecoveryKeyProvider.js +1 -1
- package/dist/providers/CrossmintWalletProvider.cjs +1 -1
- package/dist/providers/CrossmintWalletProvider.js +1 -1
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.js +1 -1
- package/package.json +7 -7
- package/dist/chunk-5AFOALYE.js +0 -1
- package/dist/chunk-CGB5MYRJ.js +0 -1
- package/dist/chunk-HRTGZDTV.cjs +0 -1
- package/dist/chunk-K7HBZCC4.cjs +0 -1
- package/dist/chunk-NP3T43SL.js +0 -1
- package/dist/chunk-XPXBKZWS.cjs +0 -1
- /package/dist/{chunk-3WHZJ64K.cjs → chunk-KWIO2XXJ.cjs} +0 -0
- /package/dist/{chunk-JNYZIWPY.js → chunk-KZMAEKSM.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,c as m}from"./chunk-GGMWFDW5.js";import{a as l}from"./chunk-KZMAEKSM.js";import{a as i}from"./chunk-TKB736C5.js";import{useContext as v,useMemo as y}from"react";import{CrossmintWalletProvider as p,WalletContext as d}from"@crossmint/client-sdk-react-base";import{Fragment as W,jsx as t}from"react/jsx-runtime";var C=["experimental_needsAuth","experimental_createRecoveryKeySigner","experimental_sendEmailWithOtp","experimental_verifyOtp"];function u({children:n}){let r=v(d),o=v(c);if(r==null)throw new Error("BaseWalletContext not found. Ensure CrossmintWalletProvider structure is correct.");let s=y(()=>{let e=i({},r);if(o!=null)Object.assign(e,o);else for(let a of C)Object.defineProperty(e,a,{get(){throw new Error(`Cannot access '${a}'. Ensure 'experimental_enableRecoveryKeys={true}' is set on CrossmintWalletProvider.`)},enumerable:!0,configurable:!0});return e},[r,o]);return t(l.Provider,{value:s,children:n})}function h({children:n,experimental_enableRecoveryKeys:r=!1,experimental_secureEndpointUrl:o}){return t(p,{children:t(({children:e})=>r?t(m,{experimental_secureEndpointUrl:o,children:e}):t(W,{children:e}),{children:t(u,{children:n})})})}export{h as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as M}from"./chunk-T3Q4KTE4.js";import{b as p}from"./chunk-TKB736C5.js";import B,{useCallback as y,useContext as U,useEffect as O,useRef as R,useState as x,useMemo as _}from"react";import m from"bs58";import{PublicKey as z}from"@solana/web3.js";import{RNWebView as G}from"@crossmint/client-sdk-rn-window";import{WebViewParent as H}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as Q,signerOutboundEvents as X}from"@crossmint/client-signers";import{View as Y}from"react-native";import{validateApiKeyAndGetCrossmintBaseUrl as Z}from"@crossmint/common-sdk-base";import{WalletContext as ee}from"@crossmint/client-sdk-react-base";import{jsx as D,jsxs as te}from"react/jsx-runtime";var q=B.createContext(null);function fe(){let w=U(q);if(w==null)throw new Error("useCrossmintRecoveryKey must be used within a CrossmintRecoveryKeyProvider");return w}var b={timeoutMs:1e4,intervalMs:5e3},re="https://crossmint-signer-frames.onrender.com";function he({children:w,experimental_secureEndpointUrl:N=re}){let{crossmint:{apiKey:o,jwt:s,appId:E}}=M(),{getOrCreateWallet:f}=U(ee),P=R(null),u=R(null),[c,v]=x(!1),[C,A]=x(null),[l,i]=x(!1),K=R(l),F=_(()=>E!=null?`window.crossmintAppId = '${E}';`:"",[E]);O(()=>{P.current!=null&&u.current==null&&(u.current=new H(P,{incomingEvents:X,outgoingEvents:Q}))},[]),O(()=>{s==null?(i(!1),A(null)):c&&I()},[s,c]),O(()=>{K.current=l},[l]);let h=y(t=>{let n=u.current;if(n==null||s==null||o==null)throw new Error("Cannot build signer: Missing prerequisites (parent, jwt, apiKey).");return{type:"solana-keypair",address:t,signer:{signMessage:e=>p(this,null,function*(){if(l)throw new Error("Authentication required. Please complete the OTP verification process before signing.");try{let r=yield n.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:s,apiKey:o},data:{bytes:m.encode(e),keyType:"ed25519",encoding:"base58"}},options:b});if(r==null||r.status==="error"||r.signature==null)throw console.error("Failed signMessage response:",r),new Error("Failed to sign message");return m.decode(r.signature)}catch(r){throw console.error("Error during signMessage:",r),r}}),signTransaction:e=>p(this,null,function*(){if(K.current)throw new Error("Authentication required. Please complete the OTP verification process before signing.");try{let r=e.message.serialize(),a=yield n.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:s,apiKey:o},data:{bytes:m.encode(r),keyType:"ed25519",encoding:"base58"}},options:b});if(a==null||a.status==="error"||a.signature==null)throw new Error("Failed to sign transaction: No signature returned");return e.addSignature(new z(t),m.decode(a.signature)),e}catch(r){throw console.error("Error during signTransaction:",r),r}})}}},[s,o,l]),I=y(()=>p(this,null,function*(){let t=u.current;if(t==null||!c||s==null||o==null){console.warn("[checkSignerExists] Prerequisites not met (WebView, JWT, API Key). Status:",{isWebViewReady:c,hasJwt:s!=null,hasApiKey:o!=null}),i(!1);return}try{let n=yield t.sendAction({event:"request:get-public-key",responseEvent:"response:get-public-key",data:{authData:{jwt:s,apiKey:o},data:{chainLayer:"solana"}},options:{timeoutMs:5e3}});if((n==null?void 0:n.status)==="success"&&n.publicKey){let e=h(n.publicKey);i(!1),yield f({type:"solana-smart-wallet",args:{adminSigner:e}})}else i(!0)}catch(n){console.error("[checkSignerExists] Error checking for signer:",n),i(!0)}}),[c,s,o,h,f]),$=y(()=>p(this,null,function*(){let t=u.current;if(t!=null)try{yield t.handshakeWithChild(),v(!0)}catch(n){console.error("[RN] handshakeWithChild error:",n),v(!1)}}),[]),J=y(t=>{let n=u.current;if(n!=null){try{let e=JSON.parse(t.nativeEvent.data);if(e&&typeof e.type=="string"&&e.type.startsWith("console.")){let r=e.type.split(".")[1],a=(e.data||[]).map(d=>{try{return d==="[Function]"||d==="[Circular Reference]"||d==="[Unserializable Object]"?d:JSON.parse(d)}catch(k){return d}}),g=`[WebView:${r.toUpperCase()}]`;switch(r){case"log":console.log(g,...a);break;case"error":console.error(g,...a);break;case"warn":console.warn(g,...a);break;case"info":console.info(g,...a);break;default:console.log(`[WebView Unknown:${r}]`,...a)}return}}catch(e){}n.handleMessage(t)}},[]),T=y(t=>p(this,null,function*(){if(!c||s==null||o==null)return console.warn("[createRecoveryKeySigner] Prerequisites not met (WebView ready, JWT, API Key). Cannot proceed."),i(!1),null;if(A(t),u.current==null)return console.error("[createRecoveryKeySigner] WebView parent disappeared unexpectedly."),i(!1),null;try{let e=Z(o),r=yield fetch(`${e}/api/unstable/wallets/ncs/irrelevant/public-key`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`,"x-api-key":o},body:JSON.stringify({authId:`email:${t}`,signingAlgorithm:"EDDSA_ED25519"})});if(!r.ok){let W=yield r.text();throw new Error(`Failed to fetch public key: ${r.status} ${W}`)}let a=yield r.json();if(!a.publicKey)throw new Error("Fetched data does not contain a public key.");let g=a.publicKey,d=Uint8Array.from(atob(g),W=>W.charCodeAt(0)),k=m.encode(d),j=h(k);return yield f({type:"solana-smart-wallet",args:{adminSigner:j}}),i(!0),null}catch(e){return console.error("[createRecoveryKeySigner] Error during public key fetch or processing:",e),i(!0),null}}),[c,s,o,h,f]),S=y(()=>p(this,null,function*(){let t=u.current;if(t==null||!c)throw new Error("[sendEmailWithOtp] WebViewParent not ready or handshake incomplete.");if(s==null||o==null)throw new Error("[sendEmailWithOtp] Missing authentication credentials (JWT or API Key).");if(!l)throw new Error("OTP email request is not applicable in the current state.");let n=`email:${C}`;try{let e=yield t.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:s,apiKey:o},data:{authId:n,chainLayer:"solana"}},options:b});if((e==null?void 0:e.status)==="success"&&e.address){i(!1);return}if((e==null?void 0:e.status)==="error")throw console.error("[sendEmailWithOtp] Failed to send OTP:",e),new Error(e.error||"Failed to initiate OTP process.");console.log("[sendEmailWithOtp] OTP process likely initiated. Waiting for verification.")}catch(e){throw console.error("[sendEmailWithOtp] Error sending create-signer request:",e),e}}),[c,s,o,C,l,h,f]),V=y(t=>p(this,null,function*(){let n=u.current;if(n==null||!c)throw new Error("[verifyOtp] WebViewParent not ready or handshake incomplete.");if(s==null||o==null)throw new Error("[verifyOtp] Missing authentication credentials (JWT or API Key).");if(!l)throw new Error("Not currently awaiting OTP validation.");try{let e=yield n.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:s,apiKey:o},data:{chainLayer:"solana",encryptedOtp:t}},options:b});if((e==null?void 0:e.status)==="success"&&e.address){console.log("[verifyOtp] OTP validation successful. Signer address:",e.address),i(!1);return}else{console.error("[verifyOtp] Failed to validate OTP:",e),i(!0);let r=e&&e.status==="error"?e.error:"Failed to validate encrypted OTP";throw new Error(r)}}catch(e){throw console.error("[verifyOtp] Error sending OTP validation request:",e),i(!0),e}}),[c,s,o,l]),L=_(()=>({experimental_needsAuth:l,experimental_createRecoveryKeySigner:T,experimental_sendEmailWithOtp:S,experimental_verifyOtp:V}),[l,T,S,V]);return te(q.Provider,{value:L,children:[w,D(Y,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:D(G,{ref:P,source:{uri:N},onLoadEnd:$,onMessage:J,onError:t=>{console.error("WebView onError:",t.nativeEvent),v(!1),i(!1)},onHttpError:t=>{console.error("WebView onHttpError:",t.nativeEvent),v(!1),i(!1)},style:{width:1,height:1},injectedGlobals:F})})]})}export{q as a,fe as b,he as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkVIA5NAWDcjs = require('./chunk-VIA5NAWD.cjs');var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _web3js = require('@solana/web3.js');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _reactnative = require('react-native');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var q=_react2.default.createContext(null);function ge(){let w=_react.useContext.call(void 0, q);if(w==null)throw new Error("useCrossmintRecoveryKey must be used within a CrossmintRecoveryKeyProvider");return w}var b={timeoutMs:1e4,intervalMs:5e3},re="https://crossmint-signer-frames.onrender.com";function fe({children:w,experimental_secureEndpointUrl:N=re}){let{crossmint:{apiKey:o,jwt:s,appId:E}}=_chunkVIA5NAWDcjs.e.call(void 0, ),{getOrCreateWallet:f}=_react.useContext.call(void 0, _clientsdkreactbase.WalletContext),P=_react.useRef.call(void 0, null),u=_react.useRef.call(void 0, null),[c,v]=_react.useState.call(void 0, !1),[C,A]=_react.useState.call(void 0, null),[l,i]=_react.useState.call(void 0, !1),K=_react.useRef.call(void 0, l),F=_react.useMemo.call(void 0, ()=>E!=null?`window.crossmintAppId = '${E}';`:"",[E]);_react.useEffect.call(void 0, ()=>{P.current!=null&&u.current==null&&(u.current=new (0, _clientsdkrnwindow.WebViewParent)(P,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]),_react.useEffect.call(void 0, ()=>{s==null?(i(!1),A(null)):c&&I()},[s,c]),_react.useEffect.call(void 0, ()=>{K.current=l},[l]);let h=_react.useCallback.call(void 0, t=>{let n=u.current;if(n==null||s==null||o==null)throw new Error("Cannot build signer: Missing prerequisites (parent, jwt, apiKey).");return{type:"solana-keypair",address:t,signer:{signMessage:e=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){if(l)throw new Error("Authentication required. Please complete the OTP verification process before signing.");try{let r=yield n.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:s,apiKey:o},data:{bytes:_bs582.default.encode(e),keyType:"ed25519",encoding:"base58"}},options:b});if(r==null||r.status==="error"||r.signature==null)throw console.error("Failed signMessage response:",r),new Error("Failed to sign message");return _bs582.default.decode(r.signature)}catch(r){throw console.error("Error during signMessage:",r),r}}),signTransaction:e=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){if(K.current)throw new Error("Authentication required. Please complete the OTP verification process before signing.");try{let r=e.message.serialize(),a=yield n.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:s,apiKey:o},data:{bytes:_bs582.default.encode(r),keyType:"ed25519",encoding:"base58"}},options:b});if(a==null||a.status==="error"||a.signature==null)throw new Error("Failed to sign transaction: No signature returned");return e.addSignature(new (0, _web3js.PublicKey)(t),_bs582.default.decode(a.signature)),e}catch(r){throw console.error("Error during signTransaction:",r),r}})}}},[s,o,l]),I=_react.useCallback.call(void 0, ()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let t=u.current;if(t==null||!c||s==null||o==null){console.warn("[checkSignerExists] Prerequisites not met (WebView, JWT, API Key). Status:",{isWebViewReady:c,hasJwt:s!=null,hasApiKey:o!=null}),i(!1);return}try{let n=yield t.sendAction({event:"request:get-public-key",responseEvent:"response:get-public-key",data:{authData:{jwt:s,apiKey:o},data:{chainLayer:"solana"}},options:{timeoutMs:5e3}});if((n==null?void 0:n.status)==="success"&&n.publicKey){let e=h(n.publicKey);i(!1),yield f({type:"solana-smart-wallet",args:{adminSigner:e}})}else i(!0)}catch(n){console.error("[checkSignerExists] Error checking for signer:",n),i(!0)}}),[c,s,o,h,f]),$=_react.useCallback.call(void 0, ()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let t=u.current;if(t!=null)try{yield t.handshakeWithChild(),v(!0)}catch(n){console.error("[RN] handshakeWithChild error:",n),v(!1)}}),[]),J=_react.useCallback.call(void 0, t=>{let n=u.current;if(n!=null){try{let e=JSON.parse(t.nativeEvent.data);if(e&&typeof e.type=="string"&&e.type.startsWith("console.")){let r=e.type.split(".")[1],a=(e.data||[]).map(d=>{try{return d==="[Function]"||d==="[Circular Reference]"||d==="[Unserializable Object]"?d:JSON.parse(d)}catch(k){return d}}),g=`[WebView:${r.toUpperCase()}]`;switch(r){case"log":console.log(g,...a);break;case"error":console.error(g,...a);break;case"warn":console.warn(g,...a);break;case"info":console.info(g,...a);break;default:console.log(`[WebView Unknown:${r}]`,...a)}return}}catch(e){}n.handleMessage(t)}},[]),T=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){if(!c||s==null||o==null)return console.warn("[createRecoveryKeySigner] Prerequisites not met (WebView ready, JWT, API Key). Cannot proceed."),i(!1),null;if(A(t),u.current==null)return console.error("[createRecoveryKeySigner] WebView parent disappeared unexpectedly."),i(!1),null;try{let e=_commonsdkbase.validateApiKeyAndGetCrossmintBaseUrl.call(void 0, o),r=yield fetch(`${e}/api/unstable/wallets/ncs/irrelevant/public-key`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`,"x-api-key":o},body:JSON.stringify({authId:`email:${t}`,signingAlgorithm:"EDDSA_ED25519"})});if(!r.ok){let W=yield r.text();throw new Error(`Failed to fetch public key: ${r.status} ${W}`)}let a=yield r.json();if(!a.publicKey)throw new Error("Fetched data does not contain a public key.");let g=a.publicKey,d=Uint8Array.from(atob(g),W=>W.charCodeAt(0)),k=_bs582.default.encode(d),j=h(k);return yield f({type:"solana-smart-wallet",args:{adminSigner:j}}),i(!0),null}catch(e){return console.error("[createRecoveryKeySigner] Error during public key fetch or processing:",e),i(!0),null}}),[c,s,o,h,f]),S=_react.useCallback.call(void 0, ()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let t=u.current;if(t==null||!c)throw new Error("[sendEmailWithOtp] WebViewParent not ready or handshake incomplete.");if(s==null||o==null)throw new Error("[sendEmailWithOtp] Missing authentication credentials (JWT or API Key).");if(!l)throw new Error("OTP email request is not applicable in the current state.");let n=`email:${C}`;try{let e=yield t.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:s,apiKey:o},data:{authId:n,chainLayer:"solana"}},options:b});if((e==null?void 0:e.status)==="success"&&e.address){i(!1);return}if((e==null?void 0:e.status)==="error")throw console.error("[sendEmailWithOtp] Failed to send OTP:",e),new Error(e.error||"Failed to initiate OTP process.");console.log("[sendEmailWithOtp] OTP process likely initiated. Waiting for verification.")}catch(e){throw console.error("[sendEmailWithOtp] Error sending create-signer request:",e),e}}),[c,s,o,C,l,h,f]),V=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let n=u.current;if(n==null||!c)throw new Error("[verifyOtp] WebViewParent not ready or handshake incomplete.");if(s==null||o==null)throw new Error("[verifyOtp] Missing authentication credentials (JWT or API Key).");if(!l)throw new Error("Not currently awaiting OTP validation.");try{let e=yield n.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:s,apiKey:o},data:{chainLayer:"solana",encryptedOtp:t}},options:b});if((e==null?void 0:e.status)==="success"&&e.address){console.log("[verifyOtp] OTP validation successful. Signer address:",e.address),i(!1);return}else{console.error("[verifyOtp] Failed to validate OTP:",e),i(!0);let r=e&&e.status==="error"?e.error:"Failed to validate encrypted OTP";throw new Error(r)}}catch(e){throw console.error("[verifyOtp] Error sending OTP validation request:",e),i(!0),e}}),[c,s,o,l]),L=_react.useMemo.call(void 0, ()=>({experimental_needsAuth:l,experimental_createRecoveryKeySigner:T,experimental_sendEmailWithOtp:S,experimental_verifyOtp:V}),[l,T,S,V]);return _jsxruntime.jsxs.call(void 0, q.Provider,{value:L,children:[w,_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:P,source:{uri:N},onLoadEnd:$,onMessage:J,onError:t=>{console.error("WebView onError:",t.nativeEvent),v(!1),i(!1)},onHttpError:t=>{console.error("WebView onHttpError:",t.nativeEvent),v(!1),i(!1)},style:{width:1,height:1},injectedGlobals:F})})]})}exports.a = q; exports.b = ge; exports.c = fe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKEXMZELIcjs = require('./chunk-KEXMZELI.cjs');var _chunkKWIO2XXJcjs = require('./chunk-KWIO2XXJ.cjs');var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var C=["experimental_needsAuth","experimental_createRecoveryKeySigner","experimental_sendEmailWithOtp","experimental_verifyOtp"];function u({children:n}){let r=_react.useContext.call(void 0, _clientsdkreactbase.WalletContext),o=_react.useContext.call(void 0, _chunkKEXMZELIcjs.a);if(r==null)throw new Error("BaseWalletContext not found. Ensure CrossmintWalletProvider structure is correct.");let s=_react.useMemo.call(void 0, ()=>{let e=_chunkO5AL6DBJcjs.a.call(void 0, {},r);if(o!=null)Object.assign(e,o);else for(let a of C)Object.defineProperty(e,a,{get(){throw new Error(`Cannot access '${a}'. Ensure 'experimental_enableRecoveryKeys={true}' is set on CrossmintWalletProvider.`)},enumerable:!0,configurable:!0});return e},[r,o]);return _jsxruntime.jsx.call(void 0, _chunkKWIO2XXJcjs.a.Provider,{value:s,children:n})}function b({children:n,experimental_enableRecoveryKeys:r=!1,experimental_secureEndpointUrl:o}){return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintWalletProvider,{children:_jsxruntime.jsx.call(void 0, ({children:e})=>r?_jsxruntime.jsx.call(void 0, _chunkKEXMZELIcjs.c,{experimental_secureEndpointUrl:o,children:e}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:e}),{children:_jsxruntime.jsx.call(void 0, u,{children:n})})})}exports.a = b;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as j}from"./chunk-ZRIYUAKZ.js";import{b as c}from"./chunk-TKB736C5.js";import{createContext as X,useEffect as C,useMemo as z,useRef as q,useState as g,useCallback as P}from"react";import*as i from"expo-web-browser";import{CrossmintAuth as L}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as Q}from"@crossmint/common-sdk-auth";import{useCrossmint as B}from"@crossmint/client-sdk-react-base";import{useContext as T}from"react";function nt(){let o=T(A);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function st(){let o=T(A);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}import{Platform as Y}from"react-native";import v from"expo-constants";import{jsx as tt}from"react/jsx-runtime";var k={google:null,twitter:null},Z={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},A=X(Z);function Ut({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:f}){let[w,y]=g(void 0),{crossmint:n,setJwt:d}=B("CrossmintAuthProvider must be used within CrossmintProvider"),[D,F]=g(k),U=q(null),a=z(()=>p!=null?p:new j,[p]),[K,S]=g(!1),[N,x]=g(!1),_=Array.isArray(f)?f[0]:f,b=v.executionEnvironment==="storeClient"||v.appOwnership==="expo"||!!v.expoVersion?"exp://127.0.0.1:8081":_,e=z(()=>{if(!U.current){let t={callbacks:{onLogout:()=>{d(void 0),y(void 0)},onTokenRefresh:r=>{d(r.jwt),y(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};U.current=L.from(n,t)}return U.current},[a]),M=P(()=>{u==null||u()},[u]);C(()=>{n.jwt==null?a==null||a.get(Q).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[n.jwt,d,a]),C(()=>{n.jwt!=null&&M()},[n.jwt,M]);let G=()=>{e.logout()},R=P(()=>c(this,null,function*(){try{let r=Object.keys(k).map(l=>c(this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:b});return{[l]:m}})),s=Object.assign({},...yield Promise.all(r));F(s)}catch(t){console.error(t)}}),[e]);C(()=>{w==null&&R()},[R,w]);let J=()=>K?N?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",V=()=>c(this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();y(t)}),H=t=>c(this,null,function*(){var r;try{x(!0);let s=(r=D[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:b});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),Y.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=P(t=>c(this,null,function*(){let r=t.includes("://")?$(t):t;if(r!=null)try{return x(!0),yield e.handleRefreshAuthMaterial(r)}catch(s){throw s}finally{x(!1)}return null}),[e]);return tt(A.Provider,{value:{crossmintAuth:e,logout:G,jwt:n.jwt,user:w,status:J(),getUser:V,loginWithOAuth:H,createAuthSession:E},children:o})}var $=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};export{A as a,Ut as b,nt as c,st as d,B as e};
|
|
@@ -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 _chunkBZACBNUHcjs = require('./chunk-BZACBNUH.cjs');var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var i = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function ot(){let o=_react.useContext.call(void 0, A);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function nt(){let o=_react.useContext.call(void 0, A);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var z={google:null,twitter:null},Y={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},A= exports.a =_react.createContext.call(void 0, Y);function yt({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:f}){let[w,y]=_react.useState.call(void 0, void 0),{crossmint:n,setJwt:d}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[k,D]=_react.useState.call(void 0, z),U=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>p!=null?p:new _chunkBZACBNUHcjs.a,[p]),[F,S]=_react.useState.call(void 0, !1),[K,x]=_react.useState.call(void 0, !1),N=Array.isArray(f)?f[0]:f,b=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":N,e=_react.useMemo.call(void 0, ()=>{if(!U.current){let t={callbacks:{onLogout:()=>{d(void 0),y(void 0)},onTokenRefresh:r=>{d(r.jwt),y(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};U.current=_clientsdkauth.CrossmintAuth.from(n,t)}return U.current},[a]),M=_react.useCallback.call(void 0, ()=>{u==null||u()},[u]);_react.useEffect.call(void 0, ()=>{n.jwt==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[n.jwt,d,a]),_react.useEffect.call(void 0, ()=>{n.jwt!=null&&M()},[n.jwt,M]);let _=()=>{e.logout()},R=_react.useCallback.call(void 0, ()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{let r=Object.keys(z).map(l=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:b});return{[l]:m}})),s=Object.assign({},...yield Promise.all(r));D(s)}catch(t){console.error(t)}}),[e]);_react.useEffect.call(void 0, ()=>{w==null&&R()},[R,w]);let G=()=>F?K?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",J=()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();y(t)}),V=t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){var r;try{x(!0);let s=(r=k[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:b});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let r=t.includes("://")?Z(t):t;if(r!=null)try{return x(!0),yield e.handleRefreshAuthMaterial(r)}catch(s){throw s}finally{x(!1)}return null}),[e]);return _jsxruntime.jsx.call(void 0, A.Provider,{value:{crossmintAuth:e,logout:_,jwt:n.jwt,user:w,status:G(),getUser:J,loginWithOAuth:V,createAuthSession:E},children:o})}var Z=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};exports.a = A; exports.b = yt; exports.c = ot; exports.d = nt; exports.e = _clientsdkreactbase.useCrossmint;
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVIA5NAWDcjs = require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');var _chunkKWIO2XXJcjs = require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');exports.WalletContext = _chunkKWIO2XXJcjs.a; exports.useAuth = _chunkVIA5NAWDcjs.d; exports.useCrossmint = _chunkVIA5NAWDcjs.e; exports.useCrossmintAuth = _chunkVIA5NAWDcjs.c; exports.useWallet = _chunkKWIO2XXJcjs.b;
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b,e}from"../chunk-
|
|
1
|
+
import{c as a,d as b,e}from"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import{a as c,b as d}from"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";export{c as WalletContext,b as useAuth,e as useCrossmint,a as useCrossmintAuth,d as useWallet};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVIA5NAWDcjs = require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');exports.useAuth = _chunkVIA5NAWDcjs.d; exports.useCrossmintAuth = _chunkVIA5NAWDcjs.c;
|
|
@@ -9,7 +9,7 @@ declare function useCrossmintAuth(): {
|
|
|
9
9
|
status: "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
10
10
|
getUser: () => void;
|
|
11
11
|
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
12
|
-
createAuthSession: (urlOrOneTimeSecret: string) => Promise<
|
|
12
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<_crossmint_common_sdk_auth.AuthMaterialWithUser | null>;
|
|
13
13
|
};
|
|
14
14
|
declare function useAuth(): {
|
|
15
15
|
crossmintAuth?: _crossmint_client_sdk_auth.CrossmintAuth;
|
|
@@ -19,7 +19,7 @@ declare function useAuth(): {
|
|
|
19
19
|
status: "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
20
20
|
getUser: () => void;
|
|
21
21
|
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
22
|
-
createAuthSession: (urlOrOneTimeSecret: string) => Promise<
|
|
22
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<_crossmint_common_sdk_auth.AuthMaterialWithUser | null>;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export { useAuth, useCrossmintAuth };
|
|
@@ -9,7 +9,7 @@ declare function useCrossmintAuth(): {
|
|
|
9
9
|
status: "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
10
10
|
getUser: () => void;
|
|
11
11
|
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
12
|
-
createAuthSession: (urlOrOneTimeSecret: string) => Promise<
|
|
12
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<_crossmint_common_sdk_auth.AuthMaterialWithUser | null>;
|
|
13
13
|
};
|
|
14
14
|
declare function useAuth(): {
|
|
15
15
|
crossmintAuth?: _crossmint_client_sdk_auth.CrossmintAuth;
|
|
@@ -19,7 +19,7 @@ declare function useAuth(): {
|
|
|
19
19
|
status: "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
20
20
|
getUser: () => void;
|
|
21
21
|
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
22
|
-
createAuthSession: (urlOrOneTimeSecret: string) => Promise<
|
|
22
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<_crossmint_common_sdk_auth.AuthMaterialWithUser | null>;
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
export { useAuth, useCrossmintAuth };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b}from"../chunk-
|
|
1
|
+
import{c as a,d as b}from"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";export{b as useAuth,a as useCrossmintAuth};
|
package/dist/hooks/useWallet.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKWIO2XXJcjs = require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');exports.WalletContext = _chunkKWIO2XXJcjs.a; exports.useWallet = _chunkKWIO2XXJcjs.b;
|
package/dist/hooks/useWallet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";export{a as WalletContext,b as useWallet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKEXMZELIcjs = require('../chunk-KEXMZELI.cjs');require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');var _react = require('react');function a(){let e=_react.useContext.call(void 0, _chunkKEXMZELIcjs.a);if(e==null)throw new Error("useWalletsAuth must be used within a CrossmintWalletProvider with experimental_enableRecoveryKeys enabled.");return{experimental_needsAuth:e.experimental_needsAuth,experimental_createRecoveryKeySigner:e.experimental_createRecoveryKeySigner,experimental_sendEmailWithOtp:e.experimental_sendEmailWithOtp,experimental_verifyOtp:e.experimental_verifyOtp}}exports.useWalletsAuth = a;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CrossmintRecoveryKeyContextState } from '../providers/CrossmintRecoveryKeyProvider.cjs';
|
|
2
|
+
import 'react/jsx-runtime';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '@solana/web3.js';
|
|
5
|
+
|
|
6
|
+
declare function useWalletsAuth(): CrossmintRecoveryKeyContextState;
|
|
7
|
+
|
|
8
|
+
export { useWalletsAuth };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CrossmintRecoveryKeyContextState } from '../providers/CrossmintRecoveryKeyProvider.js';
|
|
2
|
+
import 'react/jsx-runtime';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '@solana/web3.js';
|
|
5
|
+
|
|
6
|
+
declare function useWalletsAuth(): CrossmintRecoveryKeyContextState;
|
|
7
|
+
|
|
8
|
+
export { useWalletsAuth };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as t}from"../chunk-GGMWFDW5.js";import"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";import{useContext as r}from"react";function l(){let e=r(t);if(e==null)throw new Error("useWalletsAuth must be used within a CrossmintWalletProvider with experimental_enableRecoveryKeys enabled.");return{experimental_needsAuth:e.experimental_needsAuth,experimental_createRecoveryKeySigner:e.experimental_createRecoveryKeySigner,experimental_sendEmailWithOtp:e.experimental_sendEmailWithOtp,experimental_verifyOtp:e.experimental_verifyOtp}}export{l as useWalletsAuth};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var _chunkRSCTH4ROcjs = require('./chunk-RSCTH4RO.cjs');require('./chunk-KEXMZELI.cjs');var _chunkVIA5NAWDcjs = require('./chunk-VIA5NAWD.cjs');require('./chunk-BZACBNUH.cjs');var _chunkKWIO2XXJcjs = require('./chunk-KWIO2XXJ.cjs');var _chunk4L2OHRE5cjs = require('./chunk-4L2OHRE5.cjs');require('./chunk-O5AL6DBJ.cjs');exports.CrossmintAuthProvider = _chunkVIA5NAWDcjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkRSCTH4ROcjs.a; exports.WalletContext = _chunkKWIO2XXJcjs.a; exports.useAuth = _chunkVIA5NAWDcjs.d; exports.useCrossmint = _chunkVIA5NAWDcjs.e; exports.useCrossmintAuth = _chunkVIA5NAWDcjs.c; exports.useWallet = _chunkKWIO2XXJcjs.b;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-C62HRWJA.js";import{a as l}from"./chunk-
|
|
1
|
+
import"./chunk-C62HRWJA.js";import{a as l}from"./chunk-FT6LXRZM.js";import"./chunk-GGMWFDW5.js";import{b as t,c as e,d as r,e as a}from"./chunk-T3Q4KTE4.js";import"./chunk-ZRIYUAKZ.js";import{a as o,b as s}from"./chunk-KZMAEKSM.js";import{a as m}from"./chunk-I52CP62R.js";import"./chunk-TKB736C5.js";export{t as CrossmintAuthProvider,m as CrossmintProvider,l as CrossmintWalletProvider,o as WalletContext,r as useAuth,a as useCrossmint,e as useCrossmintAuth,s as useWallet};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVIA5NAWDcjs = require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');exports.AuthContext = _chunkVIA5NAWDcjs.a; exports.CrossmintAuthProvider = _chunkVIA5NAWDcjs.b;
|
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as react from 'react';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
import { StorageProvider, CrossmintAuth } from '@crossmint/client-sdk-auth';
|
|
5
|
-
import { SDKExternalUser, OAuthProvider } from '@crossmint/common-sdk-auth';
|
|
5
|
+
import { SDKExternalUser, OAuthProvider, AuthMaterialWithUser } from '@crossmint/common-sdk-auth';
|
|
6
6
|
|
|
7
7
|
type AuthStatus = "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
8
8
|
type CrossmintAuthProviderProps = {
|
|
@@ -23,7 +23,7 @@ type AuthContextType = {
|
|
|
23
23
|
status: AuthStatus;
|
|
24
24
|
getUser: () => void;
|
|
25
25
|
loginWithOAuth: (provider: OAuthProvider) => Promise<void>;
|
|
26
|
-
createAuthSession: (urlOrOneTimeSecret: string) => Promise<
|
|
26
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<AuthMaterialWithUser | null>;
|
|
27
27
|
};
|
|
28
28
|
declare const AuthContext: react.Context<AuthContextType>;
|
|
29
29
|
declare function CrossmintAuthProvider({ children, onLoginSuccess, refreshRoute, logoutRoute, customStorageProvider, appSchema, }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
|
|
@@ -2,7 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as react from 'react';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
import { StorageProvider, CrossmintAuth } from '@crossmint/client-sdk-auth';
|
|
5
|
-
import { SDKExternalUser, OAuthProvider } from '@crossmint/common-sdk-auth';
|
|
5
|
+
import { SDKExternalUser, OAuthProvider, AuthMaterialWithUser } from '@crossmint/common-sdk-auth';
|
|
6
6
|
|
|
7
7
|
type AuthStatus = "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
8
8
|
type CrossmintAuthProviderProps = {
|
|
@@ -23,7 +23,7 @@ type AuthContextType = {
|
|
|
23
23
|
status: AuthStatus;
|
|
24
24
|
getUser: () => void;
|
|
25
25
|
loginWithOAuth: (provider: OAuthProvider) => Promise<void>;
|
|
26
|
-
createAuthSession: (urlOrOneTimeSecret: string) => Promise<
|
|
26
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<AuthMaterialWithUser | null>;
|
|
27
27
|
};
|
|
28
28
|
declare const AuthContext: react.Context<AuthContextType>;
|
|
29
29
|
declare function CrossmintAuthProvider({ children, onLoginSuccess, refreshRoute, logoutRoute, customStorageProvider, appSchema, }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";export{a as AuthContext,b as CrossmintAuthProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKEXMZELIcjs = require('../chunk-KEXMZELI.cjs');require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintRecoveryKeyContext = _chunkKEXMZELIcjs.a; exports.CrossmintRecoveryKeyProvider = _chunkKEXMZELIcjs.c; exports.useCrossmintRecoveryKey = _chunkKEXMZELIcjs.b;
|
|
@@ -10,12 +10,11 @@ interface RecoverySigner {
|
|
|
10
10
|
signTransaction: (transaction: VersionedTransaction) => Promise<VersionedTransaction>;
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
type RecoveryKeyStatus = "not-loaded" | "frame-loaded" | "awaiting-otp-validation" | "loaded";
|
|
14
13
|
interface CrossmintRecoveryKeyContextState {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
experimental_needsAuth: boolean;
|
|
15
|
+
experimental_createRecoveryKeySigner: (email: string) => Promise<RecoverySigner | null>;
|
|
16
|
+
experimental_sendEmailWithOtp: (email: string) => Promise<void>;
|
|
17
|
+
experimental_verifyOtp: (otp: string) => Promise<RecoverySigner | undefined>;
|
|
19
18
|
}
|
|
20
19
|
declare const CrossmintRecoveryKeyContext: react__default.Context<CrossmintRecoveryKeyContextState | null>;
|
|
21
20
|
declare function useCrossmintRecoveryKey(): CrossmintRecoveryKeyContextState;
|
|
@@ -10,12 +10,11 @@ interface RecoverySigner {
|
|
|
10
10
|
signTransaction: (transaction: VersionedTransaction) => Promise<VersionedTransaction>;
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
type RecoveryKeyStatus = "not-loaded" | "frame-loaded" | "awaiting-otp-validation" | "loaded";
|
|
14
13
|
interface CrossmintRecoveryKeyContextState {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
experimental_needsAuth: boolean;
|
|
15
|
+
experimental_createRecoveryKeySigner: (email: string) => Promise<RecoverySigner | null>;
|
|
16
|
+
experimental_sendEmailWithOtp: (email: string) => Promise<void>;
|
|
17
|
+
experimental_verifyOtp: (otp: string) => Promise<RecoverySigner | undefined>;
|
|
19
18
|
}
|
|
20
19
|
declare const CrossmintRecoveryKeyContext: react__default.Context<CrossmintRecoveryKeyContextState | null>;
|
|
21
20
|
declare function useCrossmintRecoveryKey(): CrossmintRecoveryKeyContextState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c}from"../chunk-
|
|
1
|
+
import{a,b,c}from"../chunk-GGMWFDW5.js";import"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";export{a as CrossmintRecoveryKeyContext,c as CrossmintRecoveryKeyProvider,b as useCrossmintRecoveryKey};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRSCTH4ROcjs = require('../chunk-RSCTH4RO.cjs');require('../chunk-KEXMZELI.cjs');require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-KWIO2XXJ.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintWalletProvider = _chunkRSCTH4ROcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-FT6LXRZM.js";import"../chunk-GGMWFDW5.js";import"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-KZMAEKSM.js";import"../chunk-TKB736C5.js";export{a as CrossmintWalletProvider};
|
package/dist/providers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunkRSCTH4ROcjs = require('../chunk-RSCTH4RO.cjs');require('../chunk-KEXMZELI.cjs');var _chunkVIA5NAWDcjs = require('../chunk-VIA5NAWD.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-KWIO2XXJ.cjs');var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintAuthProvider = _chunkVIA5NAWDcjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkRSCTH4ROcjs.a;
|
package/dist/providers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-C62HRWJA.js";import{a as c}from"../chunk-
|
|
1
|
+
import"../chunk-C62HRWJA.js";import{a as c}from"../chunk-FT6LXRZM.js";import"../chunk-GGMWFDW5.js";import{b as a}from"../chunk-T3Q4KTE4.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-KZMAEKSM.js";import{a as b}from"../chunk-I52CP62R.js";import"../chunk-TKB736C5.js";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-native-ui",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -24,14 +24,14 @@
|
|
|
24
24
|
"expo-secure-store": "14.0.1",
|
|
25
25
|
"expo-web-browser": "~14.0.2",
|
|
26
26
|
"react-native-webview": "13.12.5",
|
|
27
|
-
"@crossmint/client-sdk-auth": "1.2.
|
|
28
|
-
"@crossmint/client-sdk-base": "
|
|
29
|
-
"@crossmint/client-sdk-
|
|
30
|
-
"@crossmint/client-signers": "0.0.8",
|
|
31
|
-
"@crossmint/common-sdk-auth": "1.0.27",
|
|
27
|
+
"@crossmint/client-sdk-auth": "1.2.5",
|
|
28
|
+
"@crossmint/client-sdk-react-base": "0.2.10",
|
|
29
|
+
"@crossmint/client-sdk-base": "1.4.19",
|
|
32
30
|
"@crossmint/client-sdk-rn-window": "0.2.2",
|
|
31
|
+
"@crossmint/client-signers": "0.0.8",
|
|
32
|
+
"@crossmint/common-sdk-auth": "1.0.28",
|
|
33
33
|
"@crossmint/common-sdk-base": "0.4.0",
|
|
34
|
-
"@crossmint/wallets-sdk": "0.7.
|
|
34
|
+
"@crossmint/wallets-sdk": "0.7.5"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/react": "19.0.12"
|
package/dist/chunk-5AFOALYE.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{e as S}from"./chunk-NP3T43SL.js";import{b as u}from"./chunk-TKB736C5.js";import I,{useCallback as d,useContext as N,useEffect as D,useRef as V,useState as E,useMemo as W}from"react";import v from"bs58";import{PublicKey as L}from"@solana/web3.js";import{RNWebView as q}from"@crossmint/client-sdk-rn-window";import{WebViewParent as F}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as j,signerOutboundEvents as J}from"@crossmint/client-signers";import{View as $}from"react-native";import{jsx as _,jsxs as G}from"react/jsx-runtime";var k=I.createContext(null);function oe(){let y=N(k);if(y==null)throw new Error("useCrossmintRecoveryKey must be used within a CrossmintRecoveryKeyProvider");return y}var h={timeoutMs:1e4,intervalMs:5e3},z="https://crossmint-signer-frames.onrender.com";function ae({children:y,experimental_secureEndpointUrl:M=z}){let{crossmint:{apiKey:o,jwt:a,appId:f}}=S(),b=V(null),i=V(null),[P,R]=E(null),[p,g]=E(!1),[x,c]=E("not-loaded"),T=W(()=>f!=null?`window.crossmintAppId = '${f}';`:"",[f]);D(()=>{b.current!=null&&i.current==null&&(i.current=new F(b,{incomingEvents:J,outgoingEvents:j}))},[]);let A=d(()=>u(this,null,function*(){if(i.current!=null)try{yield i.current.handshakeWithChild(),g(!0),c("frame-loaded")}catch(t){console.error("[RN] handshakeWithChild error:",t),g(!1),c("not-loaded")}}),[]),O=d(t=>{let s=i.current;if(s!=null){try{let n=JSON.parse(t.nativeEvent.data);if(n&&typeof n.type=="string"&&n.type.startsWith("console.")){let e=n.type.split(".")[1],r=(n.data||[]).map(l=>{try{return l==="[Function]"||l==="[Circular Reference]"||l==="[Unserializable Object]"?l:JSON.parse(l)}catch(H){return l}}),w=`[WebView:${e.toUpperCase()}]`;switch(e){case"log":console.log(w,...r);break;case"error":console.error(w,...r);break;case"warn":console.warn(w,...r);break;case"info":console.info(w,...r);break;default:console.log(`[WebView Unknown:${e}]`,...r)}return}}catch(n){}s.handleMessage(t)}},[]),m=d(t=>{let s=i.current;if(s==null||a==null||o==null)throw new Error("Cannot build signer: Missing prerequisites (parent, jwt, apiKey).");return{type:"solana-keypair",address:t,signer:{signMessage:n=>u(this,null,function*(){try{let e=yield s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:a,apiKey:o},data:{bytes:v.encode(n),keyType:"ed25519",encoding:"base58"}},options:h});if(e==null||e.status==="error"||e.signature==null)throw new Error("Failed to sign message");return v.decode(e.signature)}catch(e){throw e}}),signTransaction:n=>u(this,null,function*(){try{let e=n.message.serialize(),r=yield s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:a,apiKey:o},data:{bytes:v.encode(e),keyType:"ed25519",encoding:"base58"}},options:h});if(r==null||r.status==="error"||r.signature==null)throw new Error("Failed to sign transaction: No signature returned");return n.addSignature(new L(t),v.decode(r.signature)),n}catch(e){throw e}})}}},[a,o]),C=d(t=>u(this,null,function*(){let s=i.current;if(s==null||!p){let e="WebViewParent not ready or handshake incomplete.";throw new Error(e)}if(a==null||o==null){let e="Missing authentication credentials (JWT or API Key).";throw new Error(e)}let n=t.startsWith("email:")?t:`email:${t}`;try{let e=yield s.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:a,apiKey:o},data:{authId:n,chainLayer:"solana"}},options:h});if((e==null?void 0:e.status)==="success"&&e.address){let r=m(e.address);return R(r),c("loaded"),r}return c("awaiting-otp-validation"),null}catch(e){throw c("not-loaded"),e}}),[p,a,o,m]),K=d(t=>u(this,null,function*(){R(null);let s=i.current;if(s==null||!p){let n="WebViewParent not ready or handshake incomplete.";throw new Error(n)}if(a==null||o==null){let n="Missing authentication credentials (JWT or API Key).";throw new Error(n)}try{let n=yield s.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:a,apiKey:o},data:{chainLayer:"solana",encryptedOtp:t}},options:h});if(n==null||n.status==="error"||n.address==null)throw new Error("Failed to validate encrypted OTP");let e=m(n.address);return R(e),c("loaded"),n.address}catch(n){return c("not-loaded"),null}}),[p,a,o,m]),U=W(()=>({experimental_recoveryKeyStatus:x,experimental_recoverySigner:P,experimental_createRecoveryKeySigner:C,experimental_validateEmailOtp:K}),[x,P,C,K]);return G(k.Provider,{value:U,children:[y,_($,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:_(q,{ref:b,source:{uri:M},onLoadEnd:A,onMessage:O,onError:()=>g(!1),onHttpError:()=>g(!1),style:{width:1,height:1},injectedGlobals:T})})]})}export{k as a,oe as b,ae as c};
|
package/dist/chunk-CGB5MYRJ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as c,c as m}from"./chunk-5AFOALYE.js";import{a as i}from"./chunk-JNYZIWPY.js";import{a as l}from"./chunk-TKB736C5.js";import{useContext as v,useMemo as y}from"react";import{CrossmintWalletProvider as d,WalletContext as C}from"@crossmint/client-sdk-react-base";import{jsx as o}from"react/jsx-runtime";var p=["experimental_recoveryKeyStatus","experimental_recoverySigner","experimental_createRecoveryKeySigner","experimental_validateEmailOtp"];function u({children:n}){let e=v(C),t=v(c);if(e==null)throw new Error("BaseWalletContext not found. Ensure CrossmintWalletProvider structure is correct.");let r=y(()=>{let s=l({},e);if(t!=null)Object.assign(s,t);else for(let a of p)Object.defineProperty(s,a,{get(){throw new Error(`Cannot access '${a}'. Ensure 'useRecoveryKey={true}' is set on CrossmintWalletProvider.`)},enumerable:!0,configurable:!0});return s},[e,t]);return o(i.Provider,{value:r,children:n})}function S({children:n,experimental_enableRecoveryKeys:e=!1,experimental_secureEndpointUrl:t}){let r=o(d,{children:o(u,{children:n})});return e?o(m,{experimental_secureEndpointUrl:t,children:r}):r}export{S as a};
|
package/dist/chunk-HRTGZDTV.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkK7HBZCC4cjs = require('./chunk-K7HBZCC4.cjs');var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _react = require('react'); var _react2 = _interopRequireDefault(_react);var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _web3js = require('@solana/web3.js');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _reactnative = require('react-native');var _jsxruntime = require('react/jsx-runtime');var k=_react2.default.createContext(null);function se(){let y=_react.useContext.call(void 0, k);if(y==null)throw new Error("useCrossmintRecoveryKey must be used within a CrossmintRecoveryKeyProvider");return y}var h={timeoutMs:1e4,intervalMs:5e3},z="https://crossmint-signer-frames.onrender.com";function oe({children:y,experimental_secureEndpointUrl:M=z}){let{crossmint:{apiKey:o,jwt:a,appId:f}}=_chunkK7HBZCC4cjs.e.call(void 0, ),b=_react.useRef.call(void 0, null),i=_react.useRef.call(void 0, null),[P,R]=_react.useState.call(void 0, null),[p,g]=_react.useState.call(void 0, !1),[x,c]=_react.useState.call(void 0, "not-loaded"),T=_react.useMemo.call(void 0, ()=>f!=null?`window.crossmintAppId = '${f}';`:"",[f]);_react.useEffect.call(void 0, ()=>{b.current!=null&&i.current==null&&(i.current=new (0, _clientsdkrnwindow.WebViewParent)(b,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let A=_react.useCallback.call(void 0, ()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){if(i.current!=null)try{yield i.current.handshakeWithChild(),g(!0),c("frame-loaded")}catch(t){console.error("[RN] handshakeWithChild error:",t),g(!1),c("not-loaded")}}),[]),O=_react.useCallback.call(void 0, t=>{let s=i.current;if(s!=null){try{let n=JSON.parse(t.nativeEvent.data);if(n&&typeof n.type=="string"&&n.type.startsWith("console.")){let e=n.type.split(".")[1],r=(n.data||[]).map(l=>{try{return l==="[Function]"||l==="[Circular Reference]"||l==="[Unserializable Object]"?l:JSON.parse(l)}catch(H){return l}}),w=`[WebView:${e.toUpperCase()}]`;switch(e){case"log":console.log(w,...r);break;case"error":console.error(w,...r);break;case"warn":console.warn(w,...r);break;case"info":console.info(w,...r);break;default:console.log(`[WebView Unknown:${e}]`,...r)}return}}catch(n){}s.handleMessage(t)}},[]),m=_react.useCallback.call(void 0, t=>{let s=i.current;if(s==null||a==null||o==null)throw new Error("Cannot build signer: Missing prerequisites (parent, jwt, apiKey).");return{type:"solana-keypair",address:t,signer:{signMessage:n=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{let e=yield s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:a,apiKey:o},data:{bytes:_bs582.default.encode(n),keyType:"ed25519",encoding:"base58"}},options:h});if(e==null||e.status==="error"||e.signature==null)throw new Error("Failed to sign message");return _bs582.default.decode(e.signature)}catch(e){throw e}}),signTransaction:n=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{let e=n.message.serialize(),r=yield s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:a,apiKey:o},data:{bytes:_bs582.default.encode(e),keyType:"ed25519",encoding:"base58"}},options:h});if(r==null||r.status==="error"||r.signature==null)throw new Error("Failed to sign transaction: No signature returned");return n.addSignature(new (0, _web3js.PublicKey)(t),_bs582.default.decode(r.signature)),n}catch(e){throw e}})}}},[a,o]),C=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let s=i.current;if(s==null||!p){let e="WebViewParent not ready or handshake incomplete.";throw new Error(e)}if(a==null||o==null){let e="Missing authentication credentials (JWT or API Key).";throw new Error(e)}let n=t.startsWith("email:")?t:`email:${t}`;try{let e=yield s.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:a,apiKey:o},data:{authId:n,chainLayer:"solana"}},options:h});if((e==null?void 0:e.status)==="success"&&e.address){let r=m(e.address);return R(r),c("loaded"),r}return c("awaiting-otp-validation"),null}catch(e){throw c("not-loaded"),e}}),[p,a,o,m]),K=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){R(null);let s=i.current;if(s==null||!p){let n="WebViewParent not ready or handshake incomplete.";throw new Error(n)}if(a==null||o==null){let n="Missing authentication credentials (JWT or API Key).";throw new Error(n)}try{let n=yield s.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:a,apiKey:o},data:{chainLayer:"solana",encryptedOtp:t}},options:h});if(n==null||n.status==="error"||n.address==null)throw new Error("Failed to validate encrypted OTP");let e=m(n.address);return R(e),c("loaded"),n.address}catch(n){return c("not-loaded"),null}}),[p,a,o,m]),U=_react.useMemo.call(void 0, ()=>({experimental_recoveryKeyStatus:x,experimental_recoverySigner:P,experimental_createRecoveryKeySigner:C,experimental_validateEmailOtp:K}),[x,P,C,K]);return _jsxruntime.jsxs.call(void 0, k.Provider,{value:U,children:[y,_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:b,source:{uri:M},onLoadEnd:A,onMessage:O,onError:()=>g(!1),onHttpError:()=>g(!1),style:{width:1,height:1},injectedGlobals:T})})]})}exports.a = k; exports.b = se; exports.c = oe;
|
package/dist/chunk-K7HBZCC4.cjs
DELETED
|
@@ -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 _chunkBZACBNUHcjs = require('./chunk-BZACBNUH.cjs');var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var i = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function ot(){let o=_react.useContext.call(void 0, g);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function nt(){let o=_react.useContext.call(void 0, g);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var z={google:null,twitter:null},Y={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},g= exports.a =_react.createContext.call(void 0, Y);function yt({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:f}){let[w,y]=_react.useState.call(void 0, void 0),{crossmint:n,setJwt:d}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[k,D]=_react.useState.call(void 0, z),x=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>p!=null?p:new _chunkBZACBNUHcjs.a,[p]),[F,S]=_react.useState.call(void 0, !1),[K,C]=_react.useState.call(void 0, !1),N=Array.isArray(f)?f[0]:f,b=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":N,e=_react.useMemo.call(void 0, ()=>{if(!x.current){let t={callbacks:{onLogout:()=>{d(void 0),y(void 0)},onTokenRefresh:r=>{d(r.jwt),y(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};x.current=_clientsdkauth.CrossmintAuth.from(n,t)}return x.current},[a]),R=_react.useCallback.call(void 0, ()=>{u==null||u()},[u]);_react.useEffect.call(void 0, ()=>{n.jwt==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[n.jwt,d,a]),_react.useEffect.call(void 0, ()=>{n.jwt!=null&&R()},[n.jwt,R]);let _=()=>{e.logout()},M=_react.useCallback.call(void 0, ()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{let r=Object.keys(z).map(l=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:b});return{[l]:m}})),s=Object.assign({},...yield Promise.all(r));D(s)}catch(t){console.error(t)}}),[e]);_react.useEffect.call(void 0, ()=>{w==null&&M()},[M,w]);let G=()=>F?K?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",J=()=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();y(t)}),V=t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){var r;try{C(!0);let s=(r=k[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:b});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let r=t.includes("://")?Z(t):t;if(r!=null)try{return C(!0),yield e.handleRefreshAuthMaterial(r)}catch(s){throw s}finally{C(!1)}}),[e]);return _jsxruntime.jsx.call(void 0, g.Provider,{value:{crossmintAuth:e,logout:_,jwt:n.jwt,user:w,status:G(),getUser:J,loginWithOAuth:V,createAuthSession:E},children:o})}var Z=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};exports.a = g; exports.b = yt; exports.c = ot; exports.d = nt; exports.e = _clientsdkreactbase.useCrossmint;
|
package/dist/chunk-NP3T43SL.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as j}from"./chunk-ZRIYUAKZ.js";import{b as c}from"./chunk-TKB736C5.js";import{createContext as X,useEffect as U,useMemo as z,useRef as q,useState as A,useCallback as P}from"react";import*as i from"expo-web-browser";import{CrossmintAuth as L}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as Q}from"@crossmint/common-sdk-auth";import{useCrossmint as B}from"@crossmint/client-sdk-react-base";import{useContext as T}from"react";function nt(){let o=T(g);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function st(){let o=T(g);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}import{Platform as Y}from"react-native";import v from"expo-constants";import{jsx as tt}from"react/jsx-runtime";var k={google:null,twitter:null},Z={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},g=X(Z);function xt({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:f}){let[w,y]=A(void 0),{crossmint:n,setJwt:d}=B("CrossmintAuthProvider must be used within CrossmintProvider"),[D,F]=A(k),x=q(null),a=z(()=>p!=null?p:new j,[p]),[K,S]=A(!1),[N,C]=A(!1),_=Array.isArray(f)?f[0]:f,b=v.executionEnvironment==="storeClient"||v.appOwnership==="expo"||!!v.expoVersion?"exp://127.0.0.1:8081":_,e=z(()=>{if(!x.current){let t={callbacks:{onLogout:()=>{d(void 0),y(void 0)},onTokenRefresh:r=>{d(r.jwt),y(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};x.current=L.from(n,t)}return x.current},[a]),R=P(()=>{u==null||u()},[u]);U(()=>{n.jwt==null?a==null||a.get(Q).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[n.jwt,d,a]),U(()=>{n.jwt!=null&&R()},[n.jwt,R]);let G=()=>{e.logout()},M=P(()=>c(this,null,function*(){try{let r=Object.keys(k).map(l=>c(this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:b});return{[l]:m}})),s=Object.assign({},...yield Promise.all(r));F(s)}catch(t){console.error(t)}}),[e]);U(()=>{w==null&&M()},[M,w]);let J=()=>K?N?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",V=()=>c(this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();y(t)}),H=t=>c(this,null,function*(){var r;try{C(!0);let s=(r=D[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:b});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),Y.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=P(t=>c(this,null,function*(){let r=t.includes("://")?$(t):t;if(r!=null)try{return C(!0),yield e.handleRefreshAuthMaterial(r)}catch(s){throw s}finally{C(!1)}}),[e]);return tt(g.Provider,{value:{crossmintAuth:e,logout:G,jwt:n.jwt,user:w,status:J(),getUser:V,loginWithOAuth:H,createAuthSession:E},children:o})}var $=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};export{g as a,xt as b,nt as c,st as d,B as e};
|
package/dist/chunk-XPXBKZWS.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHRTGZDTVcjs = require('./chunk-HRTGZDTV.cjs');var _chunk3WHZJ64Kcjs = require('./chunk-3WHZJ64K.cjs');var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var p=["experimental_recoveryKeyStatus","experimental_recoverySigner","experimental_createRecoveryKeySigner","experimental_validateEmailOtp"];function u({children:n}){let e=_react.useContext.call(void 0, _clientsdkreactbase.WalletContext),t=_react.useContext.call(void 0, _chunkHRTGZDTVcjs.a);if(e==null)throw new Error("BaseWalletContext not found. Ensure CrossmintWalletProvider structure is correct.");let r=_react.useMemo.call(void 0, ()=>{let s=_chunkO5AL6DBJcjs.a.call(void 0, {},e);if(t!=null)Object.assign(s,t);else for(let a of p)Object.defineProperty(s,a,{get(){throw new Error(`Cannot access '${a}'. Ensure 'useRecoveryKey={true}' is set on CrossmintWalletProvider.`)},enumerable:!0,configurable:!0});return s},[e,t]);return _jsxruntime.jsx.call(void 0, _chunk3WHZJ64Kcjs.a.Provider,{value:r,children:n})}function K({children:n,experimental_enableRecoveryKeys:e=!1,experimental_secureEndpointUrl:t}){let r=_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintWalletProvider,{children:_jsxruntime.jsx.call(void 0, u,{children:n})});return e?_jsxruntime.jsx.call(void 0, _chunkHRTGZDTVcjs.c,{experimental_secureEndpointUrl:t,children:r}):r}exports.a = K;
|
|
File without changes
|
|
File without changes
|