@crossmint/client-sdk-react-native-ui 0.3.9 → 0.4.0
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-3WHZJ64K.cjs +1 -0
- package/dist/chunk-72R3QH5S.cjs +1 -0
- package/dist/chunk-7ZYN2HKW.js +1 -0
- package/dist/{chunk-ZPIV7DVZ.cjs → chunk-BZACBNUH.cjs} +1 -1
- package/dist/chunk-C62HRWJA.js +0 -0
- package/dist/chunk-JNYZIWPY.js +1 -0
- package/dist/chunk-K7HBZCC4.cjs +1 -0
- package/dist/chunk-NP3T43SL.js +1 -0
- package/dist/chunk-O5AL6DBJ.cjs +1 -0
- package/dist/chunk-R5T73KY6.cjs +1 -0
- package/dist/chunk-TKB736C5.js +1 -0
- package/dist/chunk-ZR6BLDCD.cjs +1 -0
- package/dist/{chunk-BWWCPHLC.js → chunk-ZRIYUAKZ.js} +1 -1
- package/dist/chunk-ZYB4SS5E.js +1 -0
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +7 -2
- package/dist/hooks/index.d.ts +7 -2
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useCrossmintAuth.cjs +1 -1
- package/dist/hooks/useCrossmintAuth.d.cts +11 -2
- package/dist/hooks/useCrossmintAuth.d.ts +11 -2
- package/dist/hooks/useCrossmintAuth.js +1 -1
- package/dist/hooks/useWallet.cjs +1 -0
- package/dist/hooks/useWallet.d.cts +11 -0
- package/dist/hooks/useWallet.d.ts +11 -0
- package/dist/hooks/useWallet.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +7 -3
- package/dist/index.d.ts +7 -3
- package/dist/index.js +1 -1
- package/dist/providers/CrossmintAuthProvider.cjs +1 -1
- package/dist/providers/CrossmintAuthProvider.js +1 -1
- package/dist/providers/CrossmintProvider.cjs +1 -1
- package/dist/providers/CrossmintProvider.js +1 -1
- package/dist/providers/CrossmintRecoveryKeyProvider.cjs +1 -0
- package/dist/providers/CrossmintRecoveryKeyProvider.d.cts +27 -0
- package/dist/providers/CrossmintRecoveryKeyProvider.d.ts +27 -0
- package/dist/providers/CrossmintRecoveryKeyProvider.js +1 -0
- package/dist/providers/CrossmintWalletProvider.cjs +1 -0
- package/dist/providers/CrossmintWalletProvider.d.cts +12 -0
- package/dist/providers/CrossmintWalletProvider.d.ts +12 -0
- package/dist/providers/CrossmintWalletProvider.js +1 -0
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.d.cts +3 -1
- package/dist/providers/index.d.ts +3 -1
- package/dist/providers/index.js +1 -1
- package/dist/testUtils.cjs +1 -1
- package/dist/testUtils.js +1 -1
- package/dist/utils/SecureStorage.cjs +1 -1
- package/dist/utils/SecureStorage.js +1 -1
- package/package.json +11 -6
- package/dist/chunk-6R7OYJL5.cjs +0 -1
- package/dist/chunk-DUTPQ56Q.js +0 -1
- package/dist/chunk-F4CFKR3L.cjs +0 -1
- package/dist/chunk-V27SSYBK.js +0 -1
- package/dist/chunk-YDT26OWH.js +0 -1
- package/dist/chunk-YF74MXQI.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _react = require('react');var r=_react.createContext.call(void 0, null);function a(){let t=_react.useContext.call(void 0, r);if(t==null)throw new Error("useWallet must be used within the CrossmintWalletProvider");return t}exports.a = r; exports.b = a;
|
|
@@ -0,0 +1 @@
|
|
|
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 _RNWebView = require('@crossmint/client-sdk-rn-window/src/rn-webview/RNWebView');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 S=_react2.default.createContext(null);function re(){let p=_react.useContext.call(void 0, S);if(p==null)throw new Error("useCrossmintRecoveryKey must be used within a CrossmintRecoveryKeyProvider");return p}var h={timeoutMs:1e4,intervalMs:5e3},J="https://crossmint-signer-frames.onrender.com";function te({children:p,experimental_secureEndpointUrl:M=J}){let{crossmint:{apiKey:s,jwt:o,appId:v}}=_chunkK7HBZCC4cjs.e.call(void 0, ),f=_react.useRef.call(void 0, null),i=_react.useRef.call(void 0, null),[E,b]=_react.useState.call(void 0, null),[a,y]=_react.useState.call(void 0, !1),k=_react.useMemo.call(void 0, ()=>v!=null?`window.crossmintAppId = '${v}';`:"",[v]);_react.useEffect.call(void 0, ()=>{f.current!=null&&i.current==null&&(i.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{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(),y(!0)}catch(t){console.error("[RN] handshakeWithChild error:",t),y(!1)}}),[]),T=_react.useCallback.call(void 0, t=>{let r=i.current;if(r!=null){try{let e=JSON.parse(t.nativeEvent.data);if(e&&typeof e.type=="string"&&e.type.startsWith("console.")){let n=e.type.split(".")[1],u=(e.data||[]).map(c=>{try{return c==="[Function]"||c==="[Circular Reference]"||c==="[Unserializable Object]"?c:JSON.parse(c)}catch(z){return c}}),w=`[WebView:${n.toUpperCase()}]`;switch(n){case"log":console.log(w,...u);break;case"error":console.error(w,...u);break;case"warn":console.warn(w,...u);break;case"info":console.info(w,...u);break;default:console.log(`[WebView Unknown:${n}]`,...u)}return}}catch(e){}r.handleMessage(t)}},[]),g=_react.useCallback.call(void 0, t=>{let r=i.current;if(r==null||o==null||s==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*(){try{let n=yield r.sendAction({event:"request:sign-message",responseEvent:"response:sign-message",data:{authData:{jwt:o,apiKey:s},data:{message:_bs582.default.encode(e),chainLayer:"solana",encoding:"base58"}},options:h});if(n==null||n.status==="error"||n.signature==null)throw new Error("Failed to sign message");return _bs582.default.decode(n.signature)}catch(n){throw n}}),signTransaction:e=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{let n=yield r.sendAction({event:"request:sign-transaction",responseEvent:"response:sign-transaction",data:{authData:{jwt:o,apiKey:s},data:{transaction:_bs582.default.encode(e.serialize()),chainLayer:"solana",encoding:"base58"}},options:h});if(n==null||n.status==="error"||n.signature==null)throw new Error("Failed to sign transaction: No signature returned");return e.addSignature(new (0, _web3js.PublicKey)(t),_bs582.default.decode(n.signature)),e}catch(n){throw n}})}}},[o,s]),R=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){let r=i.current;if(r==null||!a){let e="WebViewParent not ready or handshake incomplete.";throw new Error(e)}if(o==null||s==null){let e="Missing authentication credentials (JWT or API Key).";throw new Error(e)}try{let e=yield r.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:o,apiKey:s},data:{authId:t,chainLayer:"solana"}},options:h});if((e==null?void 0:e.status)==="success"&&e.address){let n=g(e.address);b(n)}}catch(e){throw e}}),[a,o,s,g]),P=_react.useCallback.call(void 0, t=>_chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){b(null);let r=i.current;if(r==null||!a){let e="WebViewParent not ready or handshake incomplete.";throw new Error(e)}if(o==null||s==null){let e="Missing authentication credentials (JWT or API Key).";throw new Error(e)}try{let e=yield r.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:o,apiKey:s},data:{chainLayer:"solana",encryptedOtp:t}},options:h});if(e==null||e.status==="error"||e.address==null)throw new Error("Failed to validate encrypted OTP");let n=g(e.address);return b(n),e.address}catch(e){return null}}),[a,o,s,g]),_=_react.useMemo.call(void 0, ()=>({isWebViewReady:a,recoverySigner:E,experimental_createRecoveryKeySigner:R,experimental_validateEmailOtp:P}),[a,E,R,P]);return _jsxruntime.jsxs.call(void 0, S.Provider,{value:_,children:[p,_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:_jsxruntime.jsx.call(void 0, _RNWebView.RNWebView,{ref:f,source:{uri:M},onLoadEnd:A,onMessage:T,onError:()=>y(!1),onHttpError:()=>y(!1),style:{width:1,height:1},injectedGlobals:k})})]})}exports.a = S; exports.b = re; exports.c = te;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as C}from"./chunk-NP3T43SL.js";import{b as l}from"./chunk-TKB736C5.js";import O,{useCallback as d,useContext as U,useEffect as I,useRef as V,useState as W,useMemo as x}from"react";import m from"bs58";import{PublicKey as N}from"@solana/web3.js";import{RNWebView as L}from"@crossmint/client-sdk-rn-window/src/rn-webview/RNWebView";import{WebViewParent as D}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as q,signerOutboundEvents as F}from"@crossmint/client-signers";import{View as j}from"react-native";import{jsx as K,jsxs as $}from"react/jsx-runtime";var S=O.createContext(null);function te(){let p=U(S);if(p==null)throw new Error("useCrossmintRecoveryKey must be used within a CrossmintRecoveryKeyProvider");return p}var h={timeoutMs:1e4,intervalMs:5e3},J="https://crossmint-signer-frames.onrender.com";function se({children:p,experimental_secureEndpointUrl:M=J}){let{crossmint:{apiKey:s,jwt:o,appId:v}}=C(),f=V(null),i=V(null),[E,b]=W(null),[a,y]=W(!1),k=x(()=>v!=null?`window.crossmintAppId = '${v}';`:"",[v]);I(()=>{f.current!=null&&i.current==null&&(i.current=new D(f,{incomingEvents:F,outgoingEvents:q}))},[]);let A=d(()=>l(this,null,function*(){if(i.current!=null)try{yield i.current.handshakeWithChild(),y(!0)}catch(t){console.error("[RN] handshakeWithChild error:",t),y(!1)}}),[]),T=d(t=>{let r=i.current;if(r!=null){try{let e=JSON.parse(t.nativeEvent.data);if(e&&typeof e.type=="string"&&e.type.startsWith("console.")){let n=e.type.split(".")[1],u=(e.data||[]).map(c=>{try{return c==="[Function]"||c==="[Circular Reference]"||c==="[Unserializable Object]"?c:JSON.parse(c)}catch(z){return c}}),w=`[WebView:${n.toUpperCase()}]`;switch(n){case"log":console.log(w,...u);break;case"error":console.error(w,...u);break;case"warn":console.warn(w,...u);break;case"info":console.info(w,...u);break;default:console.log(`[WebView Unknown:${n}]`,...u)}return}}catch(e){}r.handleMessage(t)}},[]),g=d(t=>{let r=i.current;if(r==null||o==null||s==null)throw new Error("Cannot build signer: Missing prerequisites (parent, jwt, apiKey).");return{type:"solana-keypair",address:t,signer:{signMessage:e=>l(this,null,function*(){try{let n=yield r.sendAction({event:"request:sign-message",responseEvent:"response:sign-message",data:{authData:{jwt:o,apiKey:s},data:{message:m.encode(e),chainLayer:"solana",encoding:"base58"}},options:h});if(n==null||n.status==="error"||n.signature==null)throw new Error("Failed to sign message");return m.decode(n.signature)}catch(n){throw n}}),signTransaction:e=>l(this,null,function*(){try{let n=yield r.sendAction({event:"request:sign-transaction",responseEvent:"response:sign-transaction",data:{authData:{jwt:o,apiKey:s},data:{transaction:m.encode(e.serialize()),chainLayer:"solana",encoding:"base58"}},options:h});if(n==null||n.status==="error"||n.signature==null)throw new Error("Failed to sign transaction: No signature returned");return e.addSignature(new N(t),m.decode(n.signature)),e}catch(n){throw n}})}}},[o,s]),R=d(t=>l(this,null,function*(){let r=i.current;if(r==null||!a){let e="WebViewParent not ready or handshake incomplete.";throw new Error(e)}if(o==null||s==null){let e="Missing authentication credentials (JWT or API Key).";throw new Error(e)}try{let e=yield r.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:o,apiKey:s},data:{authId:t,chainLayer:"solana"}},options:h});if((e==null?void 0:e.status)==="success"&&e.address){let n=g(e.address);b(n)}}catch(e){throw e}}),[a,o,s,g]),P=d(t=>l(this,null,function*(){b(null);let r=i.current;if(r==null||!a){let e="WebViewParent not ready or handshake incomplete.";throw new Error(e)}if(o==null||s==null){let e="Missing authentication credentials (JWT or API Key).";throw new Error(e)}try{let e=yield r.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:o,apiKey:s},data:{chainLayer:"solana",encryptedOtp:t}},options:h});if(e==null||e.status==="error"||e.address==null)throw new Error("Failed to validate encrypted OTP");let n=g(e.address);return b(n),e.address}catch(e){return null}}),[a,o,s,g]),_=x(()=>({isWebViewReady:a,recoverySigner:E,experimental_createRecoveryKeySigner:R,experimental_validateEmailOtp:P}),[a,E,R,P]);return $(S.Provider,{value:_,children:[p,K(j,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:K(L,{ref:f,source:{uri:M},onLoadEnd:A,onMessage:T,onError:()=>y(!1),onHttpError:()=>y(!1),style:{width:1,height:1},injectedGlobals:k})})]})}export{S as a,te as b,se as c};
|
|
@@ -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; } }var
|
|
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; } }var _chunkO5AL6DBJcjs = require('./chunk-O5AL6DBJ.cjs');var _exposecurestore = require('expo-secure-store'); var e = _interopRequireWildcard(_exposecurestore);var i=class{get(t){return _chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{let r=yield e.getItemAsync(t);if(!r)return;try{let o=JSON.parse(r);if(o.expiresAt&&new Date(o.expiresAt)<new Date){yield this.remove(t);return}return o.value}catch(o){return r}}catch(r){console.error("Error reading from SecureStore:",r);return}})}set(t,r,o){return _chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{if(o){let s=JSON.stringify({value:r,expiresAt:o});yield e.setItemAsync(t,s)}else yield e.setItemAsync(t,r)}catch(s){console.error("Error writing to SecureStore:",s)}})}remove(t){return _chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{yield e.deleteItemAsync(t)}catch(r){console.error("Error removing from SecureStore:",r)}})}isAvailable(){return _chunkO5AL6DBJcjs.b.call(void 0, this,null,function*(){try{return yield e.isAvailableAsync()}catch(t){return!1}})}};exports.a = i;
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createContext as e,useContext as o}from"react";var r=e(null);function s(){let t=o(r);if(t==null)throw new Error("useWallet must be used within the CrossmintWalletProvider");return t}export{r as a,s as b};
|
|
@@ -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, 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;
|
|
@@ -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 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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var m=Object.defineProperty;var h=Object.getOwnPropertySymbols;var n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;var i=(c,b,a)=>b in c?m(c,b,{enumerable:!0,configurable:!0,writable:!0,value:a}):c[b]=a,p= exports.a =(c,b)=>{for(var a in b||(b={}))n.call(b,a)&&i(c,a,b[a]);if(h)for(var a of h(b))o.call(b,a)&&i(c,a,b[a]);return c};var q=(c,b,a)=>new Promise((j,g)=>{var k=d=>{try{e(a.next(d))}catch(f){g(f)}},l=d=>{try{e(a.throw(d))}catch(f){g(f)}},e=d=>d.done?j(d.value):Promise.resolve(d.value).then(k,l);e((a=a.apply(c,b)).next())});exports.a = p; exports.b = q;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72R3QH5Scjs = require('./chunk-72R3QH5S.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=["isWebViewReady","recoverySigner","experimental_createRecoveryKeySigner","experimental_validateEmailOtp"];function u({children:n}){let e=_react.useContext.call(void 0, _clientsdkreactbase.WalletContext),t=_react.useContext.call(void 0, _chunk72R3QH5Scjs.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, _chunk72R3QH5Scjs.c,{experimental_secureEndpointUrl:t,children:r}):r}exports.a = K;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var m=Object.defineProperty;var h=Object.getOwnPropertySymbols;var n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;var i=(c,b,a)=>b in c?m(c,b,{enumerable:!0,configurable:!0,writable:!0,value:a}):c[b]=a,p=(c,b)=>{for(var a in b||(b={}))n.call(b,a)&&i(c,a,b[a]);if(h)for(var a of h(b))o.call(b,a)&&i(c,a,b[a]);return c};var q=(c,b,a)=>new Promise((j,g)=>{var k=d=>{try{e(a.next(d))}catch(f){g(f)}},l=d=>{try{e(a.throw(d))}catch(f){g(f)}},e=d=>d.done?j(d.value):Promise.resolve(d.value).then(k,l);e((a=a.apply(c,b)).next())});export{p as a,q as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{b as n}from"./chunk-TKB736C5.js";import*as e from"expo-secure-store";var i=class{get(t){return n(this,null,function*(){try{let r=yield e.getItemAsync(t);if(!r)return;try{let o=JSON.parse(r);if(o.expiresAt&&new Date(o.expiresAt)<new Date){yield this.remove(t);return}return o.value}catch(o){return r}}catch(r){console.error("Error reading from SecureStore:",r);return}})}set(t,r,o){return n(this,null,function*(){try{if(o){let s=JSON.stringify({value:r,expiresAt:o});yield e.setItemAsync(t,s)}else yield e.setItemAsync(t,r)}catch(s){console.error("Error writing to SecureStore:",s)}})}remove(t){return n(this,null,function*(){try{yield e.deleteItemAsync(t)}catch(r){console.error("Error removing from SecureStore:",r)}})}isAvailable(){return n(this,null,function*(){try{return yield e.isAvailableAsync()}catch(t){return!1}})}};export{i as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,c as m}from"./chunk-7ZYN2HKW.js";import{a as l}from"./chunk-JNYZIWPY.js";import{a as i}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=["isWebViewReady","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=i({},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(l.Provider,{value:r,children:n})}function b({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{b as a};
|
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 _chunkK7HBZCC4cjs = require('../chunk-K7HBZCC4.cjs');require('../chunk-BZACBNUH.cjs');var _chunk3WHZJ64Kcjs = require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.WalletContext = _chunk3WHZJ64Kcjs.a; exports.useAuth = _chunkK7HBZCC4cjs.d; exports.useCrossmint = _chunkK7HBZCC4cjs.e; exports.useCrossmintAuth = _chunkK7HBZCC4cjs.c; exports.useWallet = _chunk3WHZJ64Kcjs.b;
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export { useCrossmint
|
|
2
|
-
export { useCrossmintAuth } from './useCrossmintAuth.cjs';
|
|
1
|
+
export { useCrossmint } from '@crossmint/client-sdk-react-base';
|
|
2
|
+
export { useAuth, useCrossmintAuth } from './useCrossmintAuth.cjs';
|
|
3
|
+
export { ReactNativeWalletContextState, WalletContext, useWallet } from './useWallet.cjs';
|
|
3
4
|
import '@crossmint/common-sdk-auth';
|
|
4
5
|
import '@crossmint/client-sdk-auth';
|
|
6
|
+
import 'react';
|
|
7
|
+
import '../providers/CrossmintRecoveryKeyProvider.cjs';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
9
|
+
import '@solana/web3.js';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export { useCrossmint
|
|
2
|
-
export { useCrossmintAuth } from './useCrossmintAuth.js';
|
|
1
|
+
export { useCrossmint } from '@crossmint/client-sdk-react-base';
|
|
2
|
+
export { useAuth, useCrossmintAuth } from './useCrossmintAuth.js';
|
|
3
|
+
export { ReactNativeWalletContextState, WalletContext, useWallet } from './useWallet.js';
|
|
3
4
|
import '@crossmint/common-sdk-auth';
|
|
4
5
|
import '@crossmint/client-sdk-auth';
|
|
6
|
+
import 'react';
|
|
7
|
+
import '../providers/CrossmintRecoveryKeyProvider.js';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
9
|
+
import '@solana/web3.js';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b,e
|
|
1
|
+
import{c as a,d as b,e}from"../chunk-NP3T43SL.js";import"../chunk-ZRIYUAKZ.js";import{a as c,b as d}from"../chunk-JNYZIWPY.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 _chunkK7HBZCC4cjs = require('../chunk-K7HBZCC4.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.useAuth = _chunkK7HBZCC4cjs.d; exports.useCrossmintAuth = _chunkK7HBZCC4cjs.c;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import '@crossmint/client-sdk-react-base';
|
|
2
1
|
import * as _crossmint_common_sdk_auth from '@crossmint/common-sdk-auth';
|
|
3
2
|
import * as _crossmint_client_sdk_auth from '@crossmint/client-sdk-auth';
|
|
4
3
|
|
|
@@ -12,5 +11,15 @@ declare function useCrossmintAuth(): {
|
|
|
12
11
|
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
13
12
|
createAuthSession: (urlOrOneTimeSecret: string) => Promise<void>;
|
|
14
13
|
};
|
|
14
|
+
declare function useAuth(): {
|
|
15
|
+
crossmintAuth?: _crossmint_client_sdk_auth.CrossmintAuth;
|
|
16
|
+
logout: () => void;
|
|
17
|
+
jwt?: string;
|
|
18
|
+
user?: _crossmint_common_sdk_auth.SDKExternalUser;
|
|
19
|
+
status: "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
20
|
+
getUser: () => void;
|
|
21
|
+
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
22
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<void>;
|
|
23
|
+
};
|
|
15
24
|
|
|
16
|
-
export { useCrossmintAuth };
|
|
25
|
+
export { useAuth, useCrossmintAuth };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import '@crossmint/client-sdk-react-base';
|
|
2
1
|
import * as _crossmint_common_sdk_auth from '@crossmint/common-sdk-auth';
|
|
3
2
|
import * as _crossmint_client_sdk_auth from '@crossmint/client-sdk-auth';
|
|
4
3
|
|
|
@@ -12,5 +11,15 @@ declare function useCrossmintAuth(): {
|
|
|
12
11
|
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
13
12
|
createAuthSession: (urlOrOneTimeSecret: string) => Promise<void>;
|
|
14
13
|
};
|
|
14
|
+
declare function useAuth(): {
|
|
15
|
+
crossmintAuth?: _crossmint_client_sdk_auth.CrossmintAuth;
|
|
16
|
+
logout: () => void;
|
|
17
|
+
jwt?: string;
|
|
18
|
+
user?: _crossmint_common_sdk_auth.SDKExternalUser;
|
|
19
|
+
status: "logged-in" | "logged-out" | "in-progress" | "initializing";
|
|
20
|
+
getUser: () => void;
|
|
21
|
+
loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
|
|
22
|
+
createAuthSession: (urlOrOneTimeSecret: string) => Promise<void>;
|
|
23
|
+
};
|
|
15
24
|
|
|
16
|
-
export { useCrossmintAuth };
|
|
25
|
+
export { useAuth, useCrossmintAuth };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a}from"../chunk-
|
|
1
|
+
import{c as a,d as b}from"../chunk-NP3T43SL.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-JNYZIWPY.js";import"../chunk-TKB736C5.js";export{b as useAuth,a as useCrossmintAuth};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3WHZJ64Kcjs = require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.WalletContext = _chunk3WHZJ64Kcjs.a; exports.useWallet = _chunk3WHZJ64Kcjs.b;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { CrossmintRecoveryKeyContextState } from '../providers/CrossmintRecoveryKeyProvider.cjs';
|
|
3
|
+
import { WalletContext as WalletContext$1 } from '@crossmint/client-sdk-react-base';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import '@solana/web3.js';
|
|
6
|
+
|
|
7
|
+
type ReactNativeWalletContextState = WalletContext$1 & CrossmintRecoveryKeyContextState;
|
|
8
|
+
declare const WalletContext: react.Context<ReactNativeWalletContextState | null>;
|
|
9
|
+
declare function useWallet(): ReactNativeWalletContextState;
|
|
10
|
+
|
|
11
|
+
export { type ReactNativeWalletContextState, WalletContext, useWallet };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { CrossmintRecoveryKeyContextState } from '../providers/CrossmintRecoveryKeyProvider.js';
|
|
3
|
+
import { WalletContext as WalletContext$1 } from '@crossmint/client-sdk-react-base';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import '@solana/web3.js';
|
|
6
|
+
|
|
7
|
+
type ReactNativeWalletContextState = WalletContext$1 & CrossmintRecoveryKeyContextState;
|
|
8
|
+
declare const WalletContext: react.Context<ReactNativeWalletContextState | null>;
|
|
9
|
+
declare function useWallet(): ReactNativeWalletContextState;
|
|
10
|
+
|
|
11
|
+
export { type ReactNativeWalletContextState, WalletContext, useWallet };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b}from"../chunk-JNYZIWPY.js";import"../chunk-TKB736C5.js";export{a as WalletContext,b as useWallet};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var _chunkR5T73KY6cjs = require('./chunk-R5T73KY6.cjs');var _chunk4L2OHRE5cjs = require('./chunk-4L2OHRE5.cjs');require('./chunk-72R3QH5S.cjs');var _chunkK7HBZCC4cjs = require('./chunk-K7HBZCC4.cjs');require('./chunk-BZACBNUH.cjs');var _chunk3WHZJ64Kcjs = require('./chunk-3WHZJ64K.cjs');require('./chunk-O5AL6DBJ.cjs');exports.CrossmintAuthProvider = _chunkK7HBZCC4cjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkR5T73KY6cjs.a; exports.WalletContext = _chunk3WHZJ64Kcjs.a; exports.useAuth = _chunkK7HBZCC4cjs.d; exports.useCrossmint = _chunkK7HBZCC4cjs.e; exports.useCrossmintAuth = _chunkK7HBZCC4cjs.c; exports.useWallet = _chunk3WHZJ64Kcjs.b;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { useCrossmintAuth } from './hooks/useCrossmintAuth.cjs';
|
|
1
|
+
export { useCrossmint } from '@crossmint/client-sdk-react-base';
|
|
2
|
+
export { useAuth, useCrossmintAuth } from './hooks/useCrossmintAuth.cjs';
|
|
3
|
+
export { ReactNativeWalletContextState, WalletContext, useWallet } from './hooks/useWallet.cjs';
|
|
3
4
|
export { CrossmintProvider } from './providers/CrossmintProvider.cjs';
|
|
4
5
|
export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.cjs';
|
|
6
|
+
export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.cjs';
|
|
5
7
|
export { DelegatedSigner, EVMSmartWallet, SolanaSmartWallet, WalletBalance } from '@crossmint/wallets-sdk';
|
|
6
8
|
export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
|
|
7
9
|
export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
8
10
|
import '@crossmint/client-sdk-auth';
|
|
9
|
-
import 'react/jsx-runtime';
|
|
10
11
|
import 'react';
|
|
12
|
+
import './providers/CrossmintRecoveryKeyProvider.cjs';
|
|
13
|
+
import 'react/jsx-runtime';
|
|
14
|
+
import '@solana/web3.js';
|
|
11
15
|
import '@crossmint/common-sdk-base';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { useCrossmintAuth } from './hooks/useCrossmintAuth.js';
|
|
1
|
+
export { useCrossmint } from '@crossmint/client-sdk-react-base';
|
|
2
|
+
export { useAuth, useCrossmintAuth } from './hooks/useCrossmintAuth.js';
|
|
3
|
+
export { ReactNativeWalletContextState, WalletContext, useWallet } from './hooks/useWallet.js';
|
|
3
4
|
export { CrossmintProvider } from './providers/CrossmintProvider.js';
|
|
4
5
|
export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
|
|
6
|
+
export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js';
|
|
5
7
|
export { DelegatedSigner, EVMSmartWallet, SolanaSmartWallet, WalletBalance } from '@crossmint/wallets-sdk';
|
|
6
8
|
export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
|
|
7
9
|
export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
8
10
|
import '@crossmint/client-sdk-auth';
|
|
9
|
-
import 'react/jsx-runtime';
|
|
10
11
|
import 'react';
|
|
12
|
+
import './providers/CrossmintRecoveryKeyProvider.js';
|
|
13
|
+
import 'react/jsx-runtime';
|
|
14
|
+
import '@solana/web3.js';
|
|
11
15
|
import '@crossmint/common-sdk-base';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
1
|
+
import"./chunk-C62HRWJA.js";import{a as l}from"./chunk-ZYB4SS5E.js";import{a as m}from"./chunk-I52CP62R.js";import"./chunk-7ZYN2HKW.js";import{b as t,c as e,d as r,e as a}from"./chunk-NP3T43SL.js";import"./chunk-ZRIYUAKZ.js";import{a as o,b as s}from"./chunk-JNYZIWPY.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 _chunkK7HBZCC4cjs = require('../chunk-K7HBZCC4.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.AuthContext = _chunkK7HBZCC4cjs.a; exports.CrossmintAuthProvider = _chunkK7HBZCC4cjs.b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-NP3T43SL.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-JNYZIWPY.js";import"../chunk-TKB736C5.js";export{a as AuthContext,b as CrossmintAuthProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintProvider = _chunk4L2OHRE5cjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-I52CP62R.js";import"../chunk-
|
|
1
|
+
import{a}from"../chunk-I52CP62R.js";import"../chunk-TKB736C5.js";export{a as CrossmintProvider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72R3QH5Scjs = require('../chunk-72R3QH5S.cjs');require('../chunk-K7HBZCC4.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintRecoveryKeyContext = _chunk72R3QH5Scjs.a; exports.CrossmintRecoveryKeyProvider = _chunk72R3QH5Scjs.c; exports.useCrossmintRecoveryKey = _chunk72R3QH5Scjs.b;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import react__default, { ReactNode } from 'react';
|
|
3
|
+
import { VersionedTransaction } from '@solana/web3.js';
|
|
4
|
+
|
|
5
|
+
interface RecoverySigner {
|
|
6
|
+
type: "solana-keypair";
|
|
7
|
+
address: string;
|
|
8
|
+
signer: {
|
|
9
|
+
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
10
|
+
signTransaction: (transaction: VersionedTransaction) => Promise<VersionedTransaction>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
interface CrossmintRecoveryKeyContextState {
|
|
14
|
+
isWebViewReady: boolean;
|
|
15
|
+
recoverySigner: RecoverySigner | null;
|
|
16
|
+
experimental_createRecoveryKeySigner: (authId: string) => Promise<void>;
|
|
17
|
+
experimental_validateEmailOtp: (encryptedOtp: string) => Promise<string | null>;
|
|
18
|
+
}
|
|
19
|
+
declare const CrossmintRecoveryKeyContext: react__default.Context<CrossmintRecoveryKeyContextState | null>;
|
|
20
|
+
declare function useCrossmintRecoveryKey(): CrossmintRecoveryKeyContextState;
|
|
21
|
+
interface CrossmintRecoveryKeyProviderProps {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
experimental_secureEndpointUrl?: string;
|
|
24
|
+
}
|
|
25
|
+
declare function CrossmintRecoveryKeyProvider({ children, experimental_secureEndpointUrl, }: CrossmintRecoveryKeyProviderProps): react_jsx_runtime.JSX.Element;
|
|
26
|
+
|
|
27
|
+
export { CrossmintRecoveryKeyContext, type CrossmintRecoveryKeyContextState, CrossmintRecoveryKeyProvider, type CrossmintRecoveryKeyProviderProps, type RecoverySigner, useCrossmintRecoveryKey };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import react__default, { ReactNode } from 'react';
|
|
3
|
+
import { VersionedTransaction } from '@solana/web3.js';
|
|
4
|
+
|
|
5
|
+
interface RecoverySigner {
|
|
6
|
+
type: "solana-keypair";
|
|
7
|
+
address: string;
|
|
8
|
+
signer: {
|
|
9
|
+
signMessage: (message: Uint8Array) => Promise<Uint8Array>;
|
|
10
|
+
signTransaction: (transaction: VersionedTransaction) => Promise<VersionedTransaction>;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
interface CrossmintRecoveryKeyContextState {
|
|
14
|
+
isWebViewReady: boolean;
|
|
15
|
+
recoverySigner: RecoverySigner | null;
|
|
16
|
+
experimental_createRecoveryKeySigner: (authId: string) => Promise<void>;
|
|
17
|
+
experimental_validateEmailOtp: (encryptedOtp: string) => Promise<string | null>;
|
|
18
|
+
}
|
|
19
|
+
declare const CrossmintRecoveryKeyContext: react__default.Context<CrossmintRecoveryKeyContextState | null>;
|
|
20
|
+
declare function useCrossmintRecoveryKey(): CrossmintRecoveryKeyContextState;
|
|
21
|
+
interface CrossmintRecoveryKeyProviderProps {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
experimental_secureEndpointUrl?: string;
|
|
24
|
+
}
|
|
25
|
+
declare function CrossmintRecoveryKeyProvider({ children, experimental_secureEndpointUrl, }: CrossmintRecoveryKeyProviderProps): react_jsx_runtime.JSX.Element;
|
|
26
|
+
|
|
27
|
+
export { CrossmintRecoveryKeyContext, type CrossmintRecoveryKeyContextState, CrossmintRecoveryKeyProvider, type CrossmintRecoveryKeyProviderProps, type RecoverySigner, useCrossmintRecoveryKey };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c}from"../chunk-7ZYN2HKW.js";import"../chunk-NP3T43SL.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-JNYZIWPY.js";import"../chunk-TKB736C5.js";export{a as CrossmintRecoveryKeyContext,c as CrossmintRecoveryKeyProvider,b as useCrossmintRecoveryKey};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR5T73KY6cjs = require('../chunk-R5T73KY6.cjs');require('../chunk-72R3QH5S.cjs');require('../chunk-K7HBZCC4.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintWalletProvider = _chunkR5T73KY6cjs.a;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { CrossmintRecoveryKeyProviderProps } from './CrossmintRecoveryKeyProvider.cjs';
|
|
4
|
+
import '@solana/web3.js';
|
|
5
|
+
|
|
6
|
+
interface CrossmintWalletProviderProps extends Omit<CrossmintRecoveryKeyProviderProps, "children"> {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
experimental_enableRecoveryKeys?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare function CrossmintWalletProvider({ children, experimental_enableRecoveryKeys, experimental_secureEndpointUrl, }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
|
|
12
|
+
export { CrossmintWalletProvider, type CrossmintWalletProviderProps };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { CrossmintRecoveryKeyProviderProps } from './CrossmintRecoveryKeyProvider.js';
|
|
4
|
+
import '@solana/web3.js';
|
|
5
|
+
|
|
6
|
+
interface CrossmintWalletProviderProps extends Omit<CrossmintRecoveryKeyProviderProps, "children"> {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
experimental_enableRecoveryKeys?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare function CrossmintWalletProvider({ children, experimental_enableRecoveryKeys, experimental_secureEndpointUrl, }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
|
|
11
|
+
|
|
12
|
+
export { CrossmintWalletProvider, type CrossmintWalletProviderProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"../chunk-ZYB4SS5E.js";import"../chunk-7ZYN2HKW.js";import"../chunk-NP3T43SL.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-JNYZIWPY.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});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunkR5T73KY6cjs = require('../chunk-R5T73KY6.cjs');var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-72R3QH5S.cjs');var _chunkK7HBZCC4cjs = require('../chunk-K7HBZCC4.cjs');require('../chunk-BZACBNUH.cjs');require('../chunk-3WHZJ64K.cjs');require('../chunk-O5AL6DBJ.cjs');exports.CrossmintAuthProvider = _chunkK7HBZCC4cjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkR5T73KY6cjs.a;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { CrossmintProvider } from './CrossmintProvider.cjs';
|
|
2
2
|
export { CrossmintAuthProvider } from './CrossmintAuthProvider.cjs';
|
|
3
|
-
export { CrossmintWalletProvider } from '
|
|
3
|
+
export { CrossmintWalletProvider } from './CrossmintWalletProvider.cjs';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '@crossmint/common-sdk-base';
|
|
7
7
|
import '@crossmint/client-sdk-auth';
|
|
8
8
|
import '@crossmint/common-sdk-auth';
|
|
9
|
+
import './CrossmintRecoveryKeyProvider.cjs';
|
|
10
|
+
import '@solana/web3.js';
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { CrossmintProvider } from './CrossmintProvider.js';
|
|
2
2
|
export { CrossmintAuthProvider } from './CrossmintAuthProvider.js';
|
|
3
|
-
export { CrossmintWalletProvider } from '
|
|
3
|
+
export { CrossmintWalletProvider } from './CrossmintWalletProvider.js';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '@crossmint/common-sdk-base';
|
|
7
7
|
import '@crossmint/client-sdk-auth';
|
|
8
8
|
import '@crossmint/common-sdk-auth';
|
|
9
|
+
import './CrossmintRecoveryKeyProvider.js';
|
|
10
|
+
import '@solana/web3.js';
|
package/dist/providers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as c}from"../chunk-
|
|
1
|
+
import"../chunk-C62HRWJA.js";import{a as c}from"../chunk-ZYB4SS5E.js";import{a as b}from"../chunk-I52CP62R.js";import"../chunk-7ZYN2HKW.js";import{b as a}from"../chunk-NP3T43SL.js";import"../chunk-ZRIYUAKZ.js";import"../chunk-JNYZIWPY.js";import"../chunk-TKB736C5.js";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
|
package/dist/testUtils.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-O5AL6DBJ.cjs');var _="sk_development_12341234",e= exports.MOCK_APP_ID ="com.app.id";exports.MOCK_API_KEY = _; exports.MOCK_APP_ID = e;
|
package/dist/testUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-
|
|
1
|
+
import"./chunk-TKB736C5.js";var e="sk_development_12341234",p="com.app.id";export{e as MOCK_API_KEY,p as MOCK_APP_ID};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBZACBNUHcjs = require('../chunk-BZACBNUH.cjs');require('../chunk-O5AL6DBJ.cjs');exports.SecureStorage = _chunkBZACBNUHcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ZRIYUAKZ.js";import"../chunk-TKB736C5.js";export{a as SecureStorage};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-native-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -18,15 +18,20 @@
|
|
|
18
18
|
"LICENSE"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
+
"@solana/web3.js": "1.98.0",
|
|
22
|
+
"bs58": "^5.0.0",
|
|
21
23
|
"expo-constants": "~17.0.8",
|
|
22
24
|
"expo-secure-store": "14.0.1",
|
|
23
25
|
"expo-web-browser": "~14.0.2",
|
|
24
|
-
"
|
|
25
|
-
"@crossmint/client-sdk-
|
|
26
|
-
"@crossmint/client-sdk-
|
|
27
|
-
"@crossmint/
|
|
26
|
+
"react-native-webview": "13.12.5",
|
|
27
|
+
"@crossmint/client-sdk-auth": "1.2.3",
|
|
28
|
+
"@crossmint/client-sdk-base": "1.4.18",
|
|
29
|
+
"@crossmint/client-sdk-react-base": "0.2.8",
|
|
30
|
+
"@crossmint/client-sdk-rn-window": "0.2.1",
|
|
31
|
+
"@crossmint/common-sdk-auth": "1.0.26",
|
|
32
|
+
"@crossmint/client-signers": "0.0.7",
|
|
28
33
|
"@crossmint/common-sdk-base": "0.4.0",
|
|
29
|
-
"@crossmint/wallets-sdk": "0.7.
|
|
34
|
+
"@crossmint/wallets-sdk": "0.7.3"
|
|
30
35
|
},
|
|
31
36
|
"devDependencies": {
|
|
32
37
|
"@types/react": "19.0.12"
|
package/dist/chunk-6R7OYJL5.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var k=(f,g,b)=>new Promise((h,e)=>{var i=a=>{try{c(b.next(a))}catch(d){e(d)}},j=a=>{try{c(b.throw(a))}catch(d){e(d)}},c=a=>a.done?h(a.value):Promise.resolve(a.value).then(i,j);c((b=b.apply(f,g)).next())});exports.a = k;
|
package/dist/chunk-DUTPQ56Q.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var k=(f,g,b)=>new Promise((h,e)=>{var i=a=>{try{c(b.next(a))}catch(d){e(d)}},j=a=>{try{c(b.throw(a))}catch(d){e(d)}},c=a=>a.done?h(a.value):Promise.resolve(a.value).then(i,j);c((b=b.apply(f,g)).next())});export{k as a};
|
package/dist/chunk-F4CFKR3L.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 _chunkZPIV7DVZcjs = require('./chunk-ZPIV7DVZ.cjs');var _chunk6R7OYJL5cjs = require('./chunk-6R7OYJL5.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var s = _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 i=_react.useContext.call(void 0, C);if(!i)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var B={google:null,twitter:null},Y={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},C= exports.a =_react.createContext.call(void 0, Y);function wt({children:i,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:A}){let[f,w]=_react.useState.call(void 0, void 0),{crossmint:o,setJwt:d}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[z,k]=_react.useState.call(void 0, B),y=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>p!=null?p:new _chunkZPIV7DVZcjs.a,[p]),[D,S]=_react.useState.call(void 0, !1),[F,U]=_react.useState.call(void 0, !1),K=Array.isArray(A)?A[0]:A,R=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":K,e=_react.useMemo.call(void 0, ()=>{if(!y.current){let t={callbacks:{onLogout:()=>{d(void 0),w(void 0)},onTokenRefresh:r=>{d(r.jwt),w(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};y.current=_clientsdkauth.CrossmintAuth.from(o,t)}return y.current},[a]),b=_react.useCallback.call(void 0, ()=>{u==null||u()},[u]);_react.useEffect.call(void 0, ()=>{o.jwt==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[o.jwt,d,a]),_react.useEffect.call(void 0, ()=>{o.jwt!=null&&b()},[o.jwt,b]);let N=()=>{e.logout()},M=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){try{let r=Object.keys(B).map(l=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:R});return{[l]:m}})),n=Object.assign({},...yield Promise.all(r));k(n)}catch(t){console.error(t)}}),[e]);_react.useEffect.call(void 0, ()=>{f==null&&M()},[M,f]);let _=()=>D?F?"in-progress":o.jwt!=null?"logged-in":"logged-out":"initializing",G=()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){if(o.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();w(t)}),J=t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var r;try{U(!0);let n=(r=z[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:R});yield s.warmUpAsync();let l=new URL(n);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield s.openBrowserAsync(l.toString());else{let m=yield s.openAuthSessionAsync(l.toString());m.type==="success"&&(yield j(m.url))}yield s.coolDownAsync()}catch(n){console.error("[CrossmintAuthProvider] Error during OAuth login:",n)}}),j=_react.useCallback.call(void 0, t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let r=t.includes("://")?Z(t):t;if(r!=null)try{return U(!0),yield e.handleRefreshAuthMaterial(r)}catch(n){throw n}finally{U(!1)}}),[e]);return _jsxruntime.jsx.call(void 0, C.Provider,{value:{crossmintAuth:e,logout:N,jwt:o.jwt,user:f,status:_(),getUser:G,loginWithOAuth:J,createAuthSession:j},children:i})}var Z=i=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=i.match(u);return h?decodeURIComponent(h[1]):void 0};exports.a = C; exports.b = wt; exports.c = ot; exports.d = _clientsdkreactbase.useCrossmint; exports.e = _clientsdkreactbase.useWallet;
|
package/dist/chunk-V27SSYBK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as E}from"./chunk-BWWCPHLC.js";import{a as c}from"./chunk-DUTPQ56Q.js";import{createContext as X,useEffect as P,useMemo as B,useRef as q,useState as g,useCallback as x}from"react";import*as s 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 T,useWallet as ct}from"@crossmint/client-sdk-react-base";import{useContext as H}from"react";function nt(){let i=H(C);if(!i)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}import{Platform as Y}from"react-native";import v from"expo-constants";import{jsx as tt}from"react/jsx-runtime";var z={google:null,twitter:null},Z={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},C=X(Z);function yt({children:i,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:A}){let[f,w]=g(void 0),{crossmint:o,setJwt:d}=T("CrossmintAuthProvider must be used within CrossmintProvider"),[k,D]=g(z),y=q(null),a=B(()=>p!=null?p:new E,[p]),[F,S]=g(!1),[K,U]=g(!1),N=Array.isArray(A)?A[0]:A,R=v.executionEnvironment==="storeClient"||v.appOwnership==="expo"||!!v.expoVersion?"exp://127.0.0.1:8081":N,e=B(()=>{if(!y.current){let t={callbacks:{onLogout:()=>{d(void 0),w(void 0)},onTokenRefresh:r=>{d(r.jwt),w(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};y.current=L.from(o,t)}return y.current},[a]),b=x(()=>{u==null||u()},[u]);P(()=>{o.jwt==null?a==null||a.get(Q).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[o.jwt,d,a]),P(()=>{o.jwt!=null&&b()},[o.jwt,b]);let _=()=>{e.logout()},M=x(()=>c(this,null,function*(){try{let r=Object.keys(z).map(l=>c(this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:R});return{[l]:m}})),n=Object.assign({},...yield Promise.all(r));D(n)}catch(t){console.error(t)}}),[e]);P(()=>{f==null&&M()},[M,f]);let G=()=>F?K?"in-progress":o.jwt!=null?"logged-in":"logged-out":"initializing",J=()=>c(this,null,function*(){if(o.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();w(t)}),V=t=>c(this,null,function*(){var r;try{U(!0);let n=(r=k[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:R});yield s.warmUpAsync();let l=new URL(n);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),Y.OS==="android")yield s.openBrowserAsync(l.toString());else{let m=yield s.openAuthSessionAsync(l.toString());m.type==="success"&&(yield j(m.url))}yield s.coolDownAsync()}catch(n){console.error("[CrossmintAuthProvider] Error during OAuth login:",n)}}),j=x(t=>c(this,null,function*(){let r=t.includes("://")?$(t):t;if(r!=null)try{return U(!0),yield e.handleRefreshAuthMaterial(r)}catch(n){throw n}finally{U(!1)}}),[e]);return tt(C.Provider,{value:{crossmintAuth:e,logout:_,jwt:o.jwt,user:f,status:G(),getUser:J,loginWithOAuth:V,createAuthSession:j},children:i})}var $=i=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=i.match(u);return h?decodeURIComponent(h[1]):void 0};export{C as a,yt as b,nt as c,T as d,ct as e};
|
package/dist/chunk-YDT26OWH.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{CrossmintWalletProvider as n}from"@crossmint/client-sdk-react-base";export{n as a};
|
package/dist/chunk-YF74MXQI.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');exports.a = _clientsdkreactbase.CrossmintWalletProvider;
|