@crossmint/client-sdk-react-base 0.4.3 → 0.4.4

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2BM3CYDOcjs = require('./chunk-2BM3CYDO.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var d=t=>()=>{throw new Error(`${t} is not available. Make sure you're using an email signer wallet.`)};function A({crossmintWallets:t,crossmintJwt:c,getHandshakeParent:e}){let[s,r]=_react.useState.call(void 0, {status:"not-loaded"}),m=_react.useRef.call(void 0, s.status);_react.useEffect.call(void 0, ()=>{m.current=s.status},[s.status]);let[p,n]=_react.useState.call(void 0, !1),o=_react.useRef.call(void 0, d("sendEmailWithOtp")),a=_react.useRef.call(void 0, d("verifyOtp")),l=_react.useRef.call(void 0, d("reject")),i=_react.useCallback.call(void 0, ()=>{n(!1),o.current=d("sendEmailWithOtp"),a.current=d("verifyOtp"),l.current=d("reject")},[]),g=_react.useCallback.call(void 0, v=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var x;if(m.current==="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(c==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{if(r({status:"in-progress"}),((x=v.signer)==null?void 0:x.type)==="email"){let S=v.signer;S.onAuthRequired=(F,R,I,V)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){n(F),o.current=R,a.current=I,l.current=V}),S._handshakeParent=e==null?void 0:e()}else i();let u=yield t.getOrCreateWallet(v);return r({status:"loaded",wallet:u}),{startedCreation:!0,wallet:u}}catch(u){return console.error("There was an error creating a wallet ",u),r(j(u)),{startedCreation:!0,reason:`There was an error creating a wallet ${u}`}}}),[c,t,e,i]),f=_react.useCallback.call(void 0, ()=>{r({status:"not-loaded"}),i()},[]);return{state:s,setState:r,getOrCreateWallet:g,clearWallet:f,needsAuth:p,sendEmailWithOtp:o.current,verifyOtp:a.current,reject:l.current}}function G(){let t=_react.useContext.call(void 0, y);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}var _jsxruntime = require('react/jsx-runtime');var y=_react.createContext.call(void 0, {status:"not-loaded",setState:()=>{},getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>null,needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null});function j(t){return{status:"error",error:t instanceof Error?t.message:String(t)}}function at({children:t,getHandshakeParent:c}){var f;let{crossmint:e}=_chunk2BM3CYDOcjs.b.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),s=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from(e),[e]),{state:r,setState:m,getOrCreateWallet:p,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:i}=A({crossmintWallets:s,crossmintJwt:(f=e.jwt)!=null?f:null,getHandshakeParent:c});_react.useEffect.call(void 0, ()=>{e.jwt==null&&r.status!=="not-loaded"&&n()},[e.jwt,r.status,n]);let g=_react.useMemo.call(void 0, ()=>_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},r),{setState:m,getOrCreateWallet:p,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:i}),[r,m,p,n,o,a,l,i]);return _jsxruntime.jsx.call(void 0, y.Provider,{value:g,children:t})}exports.a = d; exports.b = A; exports.c = y; exports.d = j; exports.e = at; exports.f = G;
@@ -0,0 +1 @@
1
+ import{b}from"./chunk-PCTUKVYB.js";import{a as O,b as P,c as w}from"./chunk-22GIA4MK.js";import{createContext as L,useEffect as M,useMemo as F}from"react";import{CrossmintWallets as T}from"@crossmint/wallets-sdk";import{useState as A,useCallback as y,useRef as C,useEffect as D}from"react";var d=t=>()=>{throw new Error(`${t} is not available. Make sure you're using an email signer wallet.`)};function j({crossmintWallets:t,crossmintJwt:c,getHandshakeParent:e}){let[s,r]=A({status:"not-loaded"}),m=C(s.status);D(()=>{m.current=s.status},[s.status]);let[p,n]=A(!1),o=C(d("sendEmailWithOtp")),a=C(d("verifyOtp")),l=C(d("reject")),i=y(()=>{n(!1),o.current=d("sendEmailWithOtp"),a.current=d("verifyOtp"),l.current=d("reject")},[]),v=y(h=>w(this,null,function*(){var S;if(m.current==="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(c==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{if(r({status:"in-progress"}),((S=h.signer)==null?void 0:S.type)==="email"){let E=h.signer;E.onAuthRequired=(R,I,V,N)=>w(this,null,function*(){n(R),o.current=I,a.current=V,l.current=N}),E._handshakeParent=e==null?void 0:e()}else i();let u=yield t.getOrCreateWallet(h);return r({status:"loaded",wallet:u}),{startedCreation:!0,wallet:u}}catch(u){return console.error("There was an error creating a wallet ",u),r(k(u)),{startedCreation:!0,reason:`There was an error creating a wallet ${u}`}}}),[c,t,e,i]),f=y(()=>{r({status:"not-loaded"}),i()},[]);return{state:s,setState:r,getOrCreateWallet:v,clearWallet:f,needsAuth:p,sendEmailWithOtp:o.current,verifyOtp:a.current,reject:l.current}}import{useContext as J}from"react";function Q(){let t=J(x);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{jsx as $}from"react/jsx-runtime";var x=L({status:"not-loaded",setState:()=>{},getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>null,needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null});function k(t){return{status:"error",error:t instanceof Error?t.message:String(t)}}function lt({children:t,getHandshakeParent:c}){var f;let{crossmint:e}=b("CrossmintWalletProvider must be used within CrossmintProvider"),s=F(()=>T.from(e),[e]),{state:r,setState:m,getOrCreateWallet:p,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:i}=j({crossmintWallets:s,crossmintJwt:(f=e.jwt)!=null?f:null,getHandshakeParent:c});M(()=>{e.jwt==null&&r.status!=="not-loaded"&&n()},[e.jwt,r.status,n]);let v=F(()=>P(O({},r),{setState:m,getOrCreateWallet:p,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:i}),[r,m,p,n,o,a,l,i]);return $(x.Provider,{value:v,children:t})}export{d as a,j as b,x as c,k as d,lt as e,Q as f};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDCAI3PONcjs = require('../chunk-DCAI3PON.cjs');var _chunk2BM3CYDOcjs = require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunk2BM3CYDOcjs.a; exports.throwNotAvailable = _chunkDCAI3PONcjs.a; exports.useCrossmint = _chunk2BM3CYDOcjs.b; exports.useWallet = _chunkDCAI3PONcjs.f; exports.useWalletState = _chunkDCAI3PONcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGKR2YIMIcjs = require('../chunk-GKR2YIMI.cjs');var _chunk2BM3CYDOcjs = require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunk2BM3CYDOcjs.a; exports.throwNotAvailable = _chunkGKR2YIMIcjs.a; exports.useCrossmint = _chunk2BM3CYDOcjs.b; exports.useWallet = _chunkGKR2YIMIcjs.f; exports.useWalletState = _chunkGKR2YIMIcjs.b;
@@ -1 +1 @@
1
- import{a as c,b as d,f as e}from"../chunk-YRXXG5UC.js";import{a,b}from"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintProvider,c as throwNotAvailable,b as useCrossmint,e as useWallet,d as useWalletState};
1
+ import{a as c,b as d,f as e}from"../chunk-J333TQZF.js";import{a,b}from"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintProvider,c as throwNotAvailable,b as useCrossmint,e as useWallet,d as useWalletState};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDCAI3PONcjs = require('../chunk-DCAI3PON.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkDCAI3PONcjs.f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGKR2YIMIcjs = require('../chunk-GKR2YIMI.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkGKR2YIMIcjs.f;
@@ -1 +1 @@
1
- import{f as a}from"../chunk-YRXXG5UC.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
1
+ import{f as a}from"../chunk-J333TQZF.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDCAI3PONcjs = require('../chunk-DCAI3PON.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.throwNotAvailable = _chunkDCAI3PONcjs.a; exports.useWalletState = _chunkDCAI3PONcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGKR2YIMIcjs = require('../chunk-GKR2YIMI.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.throwNotAvailable = _chunkGKR2YIMIcjs.a; exports.useWalletState = _chunkGKR2YIMIcjs.b;
@@ -1,5 +1,6 @@
1
- import * as react from 'react';
1
+ import * as _crossmint_wallets_sdk from '@crossmint/wallets-sdk';
2
2
  import { CrossmintWallets, Chain, WalletArgsFor } from '@crossmint/wallets-sdk';
3
+ import * as react from 'react';
3
4
  import { HandshakeParent } from '@crossmint/client-sdk-window';
4
5
  import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
5
6
  import { ValidWalletState } from '../providers/CrossmintWalletProvider.cjs';
@@ -16,8 +17,10 @@ declare function useWalletState({ crossmintWallets, crossmintJwt, getHandshakePa
16
17
  getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
17
18
  startedCreation: boolean;
18
19
  reason: string;
20
+ wallet?: undefined;
19
21
  } | {
20
22
  startedCreation: boolean;
23
+ wallet: _crossmint_wallets_sdk.Wallet<C>;
21
24
  reason?: undefined;
22
25
  }>;
23
26
  clearWallet: () => void;
@@ -1,5 +1,6 @@
1
- import * as react from 'react';
1
+ import * as _crossmint_wallets_sdk from '@crossmint/wallets-sdk';
2
2
  import { CrossmintWallets, Chain, WalletArgsFor } from '@crossmint/wallets-sdk';
3
+ import * as react from 'react';
3
4
  import { HandshakeParent } from '@crossmint/client-sdk-window';
4
5
  import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
5
6
  import { ValidWalletState } from '../providers/CrossmintWalletProvider.js';
@@ -16,8 +17,10 @@ declare function useWalletState({ crossmintWallets, crossmintJwt, getHandshakePa
16
17
  getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
17
18
  startedCreation: boolean;
18
19
  reason: string;
20
+ wallet?: undefined;
19
21
  } | {
20
22
  startedCreation: boolean;
23
+ wallet: _crossmint_wallets_sdk.Wallet<C>;
21
24
  reason?: undefined;
22
25
  }>;
23
26
  clearWallet: () => void;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-YRXXG5UC.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as throwNotAvailable,b as useWalletState};
1
+ import{a,b}from"../chunk-J333TQZF.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as throwNotAvailable,b as useWalletState};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDCAI3PONcjs = require('./chunk-DCAI3PON.cjs');var _chunk2BM3CYDOcjs = require('./chunk-2BM3CYDO.cjs');require('./chunk-YSXSE5ZY.cjs');var _chunkX5WJVECJcjs = require('./chunk-X5WJVECJ.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunk2BM3CYDOcjs.a; exports.CrossmintWalletProvider = _chunkDCAI3PONcjs.e; exports.EVMWallet = _chunkX5WJVECJcjs.a; exports.SolanaWallet = _chunkX5WJVECJcjs.b; exports.WalletContext = _chunkDCAI3PONcjs.c; exports.deriveErrorState = _chunkDCAI3PONcjs.d; exports.throwNotAvailable = _chunkDCAI3PONcjs.a; exports.useCrossmint = _chunk2BM3CYDOcjs.b; exports.useWallet = _chunkDCAI3PONcjs.f; exports.useWalletState = _chunkDCAI3PONcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGKR2YIMIcjs = require('./chunk-GKR2YIMI.cjs');var _chunk2BM3CYDOcjs = require('./chunk-2BM3CYDO.cjs');require('./chunk-YSXSE5ZY.cjs');var _chunkX5WJVECJcjs = require('./chunk-X5WJVECJ.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunk2BM3CYDOcjs.a; exports.CrossmintWalletProvider = _chunkGKR2YIMIcjs.e; exports.EVMWallet = _chunkX5WJVECJcjs.a; exports.SolanaWallet = _chunkX5WJVECJcjs.b; exports.WalletContext = _chunkGKR2YIMIcjs.c; exports.deriveErrorState = _chunkGKR2YIMIcjs.d; exports.throwNotAvailable = _chunkGKR2YIMIcjs.a; exports.useCrossmint = _chunk2BM3CYDOcjs.b; exports.useWallet = _chunkGKR2YIMIcjs.f; exports.useWalletState = _chunkGKR2YIMIcjs.b;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as e,b as f,c as m,d as p,e as t,f as x}from"./chunk-YRXXG5UC.js";import{a as o,b as r}from"./chunk-PCTUKVYB.js";import"./chunk-B35TULQO.js";import{a,b}from"./chunk-LPOXK2Q6.js";import"./chunk-22GIA4MK.js";export{o as CrossmintProvider,t as CrossmintWalletProvider,a as EVMWallet,b as SolanaWallet,m as WalletContext,p as deriveErrorState,e as throwNotAvailable,r as useCrossmint,x as useWallet,f as useWalletState};
1
+ import{a as e,b as f,c as m,d as p,e as t,f as x}from"./chunk-J333TQZF.js";import{a as o,b as r}from"./chunk-PCTUKVYB.js";import"./chunk-B35TULQO.js";import{a,b}from"./chunk-LPOXK2Q6.js";import"./chunk-22GIA4MK.js";export{o as CrossmintProvider,t as CrossmintWalletProvider,a as EVMWallet,b as SolanaWallet,m as WalletContext,p as deriveErrorState,e as throwNotAvailable,r as useCrossmint,x as useWallet,f as useWalletState};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDCAI3PONcjs = require('../chunk-DCAI3PON.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunkDCAI3PONcjs.e; exports.WalletContext = _chunkDCAI3PONcjs.c; exports.deriveErrorState = _chunkDCAI3PONcjs.d;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGKR2YIMIcjs = require('../chunk-GKR2YIMI.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunkGKR2YIMIcjs.e; exports.WalletContext = _chunkGKR2YIMIcjs.c; exports.deriveErrorState = _chunkGKR2YIMIcjs.d;
@@ -18,6 +18,7 @@ type WalletContextFunctions = {
18
18
  getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
19
19
  startedCreation: boolean;
20
20
  reason?: string;
21
+ wallet?: Wallet<C>;
21
22
  }>;
22
23
  setState: Dispatch<SetStateAction<ValidWalletState>>;
23
24
  clearWallet: () => void;
@@ -18,6 +18,7 @@ type WalletContextFunctions = {
18
18
  getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
19
19
  startedCreation: boolean;
20
20
  reason?: string;
21
+ wallet?: Wallet<C>;
21
22
  }>;
22
23
  setState: Dispatch<SetStateAction<ValidWalletState>>;
23
24
  clearWallet: () => void;
@@ -1 +1 @@
1
- import{c as a,d as b,e as c}from"../chunk-YRXXG5UC.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{c as CrossmintWalletProvider,a as WalletContext,b as deriveErrorState};
1
+ import{c as a,d as b,e as c}from"../chunk-J333TQZF.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{c as CrossmintWalletProvider,a as WalletContext,b as deriveErrorState};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDCAI3PONcjs = require('../chunk-DCAI3PON.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunkDCAI3PONcjs.e; exports.WalletContext = _chunkDCAI3PONcjs.c; exports.deriveErrorState = _chunkDCAI3PONcjs.d;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGKR2YIMIcjs = require('../chunk-GKR2YIMI.cjs');require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunkGKR2YIMIcjs.e; exports.WalletContext = _chunkGKR2YIMIcjs.c; exports.deriveErrorState = _chunkGKR2YIMIcjs.d;
@@ -1 +1 @@
1
- import{c as a,d as b,e as c}from"../chunk-YRXXG5UC.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{c as CrossmintWalletProvider,a as WalletContext,b as deriveErrorState};
1
+ import{c as a,d as b,e as c}from"../chunk-J333TQZF.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{c as CrossmintWalletProvider,a as WalletContext,b as deriveErrorState};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-base",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -21,8 +21,8 @@
21
21
  "lodash.isequal": "4.5.0",
22
22
  "@crossmint/common-sdk-base": "0.7.1",
23
23
  "@crossmint/client-sdk-base": "1.5.4",
24
- "@crossmint/client-sdk-window": "1.0.0",
25
24
  "@crossmint/client-signers": "0.0.16",
25
+ "@crossmint/client-sdk-window": "1.0.0",
26
26
  "@crossmint/wallets-sdk": "0.9.4"
27
27
  },
28
28
  "devDependencies": {
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2BM3CYDOcjs = require('./chunk-2BM3CYDO.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var i=t=>()=>{throw new Error(`${t} is not available. Make sure you're using an email signer wallet.`)};function A({crossmintWallets:t,crossmintJwt:u,getHandshakeParent:e}){let[s,r]=_react.useState.call(void 0, {status:"not-loaded"}),d=_react.useRef.call(void 0, s.status);_react.useEffect.call(void 0, ()=>{d.current=s.status},[s.status]);let[m,n]=_react.useState.call(void 0, !1),o=_react.useRef.call(void 0, i("sendEmailWithOtp")),a=_react.useRef.call(void 0, i("verifyOtp")),l=_react.useRef.call(void 0, i("reject")),c=_react.useCallback.call(void 0, ()=>{n(!1),o.current=i("sendEmailWithOtp"),a.current=i("verifyOtp"),l.current=i("reject")},[]),g=_react.useCallback.call(void 0, v=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var x;if(d.current==="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(u==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{if(r({status:"in-progress"}),((x=v.signer)==null?void 0:x.type)==="email"){let S=v.signer;S.onAuthRequired=(F,R,I,V)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){n(F),o.current=R,a.current=I,l.current=V}),S._handshakeParent=e==null?void 0:e()}else c();let f=yield t.getOrCreateWallet(v);r({status:"loaded",wallet:f})}catch(f){console.error("There was an error creating a wallet ",f),r(j(f))}return{startedCreation:!0}}),[u,t,e]),p=_react.useCallback.call(void 0, ()=>{r({status:"not-loaded"}),c()},[]);return{state:s,setState:r,getOrCreateWallet:g,clearWallet:p,needsAuth:m,sendEmailWithOtp:o.current,verifyOtp:a.current,reject:l.current}}function G(){let t=_react.useContext.call(void 0, w);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}var _jsxruntime = require('react/jsx-runtime');var w=_react.createContext.call(void 0, {status:"not-loaded",setState:()=>{},getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>null,needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null});function j(t){return{status:"error",error:t instanceof Error?t.message:String(t)}}function at({children:t,getHandshakeParent:u}){var p;let{crossmint:e}=_chunk2BM3CYDOcjs.b.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),s=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from(e),[e]),{state:r,setState:d,getOrCreateWallet:m,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:c}=A({crossmintWallets:s,crossmintJwt:(p=e.jwt)!=null?p:null,getHandshakeParent:u});_react.useEffect.call(void 0, ()=>{e.jwt==null&&r.status!=="not-loaded"&&n()},[e.jwt,r.status,n]);let g=_react.useMemo.call(void 0, ()=>_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},r),{setState:d,getOrCreateWallet:m,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:c}),[r,d,m,n,o,a,l,c]);return _jsxruntime.jsx.call(void 0, w.Provider,{value:g,children:t})}exports.a = i; exports.b = A; exports.c = w; exports.d = j; exports.e = at; exports.f = G;
@@ -1 +0,0 @@
1
- import{b}from"./chunk-PCTUKVYB.js";import{a as O,b as P,c as y}from"./chunk-22GIA4MK.js";import{createContext as L,useEffect as M,useMemo as F}from"react";import{CrossmintWallets as q}from"@crossmint/wallets-sdk";import{useState as A,useCallback as w,useRef as W,useEffect as D}from"react";var i=t=>()=>{throw new Error(`${t} is not available. Make sure you're using an email signer wallet.`)};function j({crossmintWallets:t,crossmintJwt:u,getHandshakeParent:e}){let[s,r]=A({status:"not-loaded"}),d=W(s.status);D(()=>{d.current=s.status},[s.status]);let[m,n]=A(!1),o=W(i("sendEmailWithOtp")),a=W(i("verifyOtp")),l=W(i("reject")),c=w(()=>{n(!1),o.current=i("sendEmailWithOtp"),a.current=i("verifyOtp"),l.current=i("reject")},[]),v=w(h=>y(this,null,function*(){var S;if(d.current==="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(u==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{if(r({status:"in-progress"}),((S=h.signer)==null?void 0:S.type)==="email"){let E=h.signer;E.onAuthRequired=(R,I,V,N)=>y(this,null,function*(){n(R),o.current=I,a.current=V,l.current=N}),E._handshakeParent=e==null?void 0:e()}else c();let f=yield t.getOrCreateWallet(h);r({status:"loaded",wallet:f})}catch(f){console.error("There was an error creating a wallet ",f),r(k(f))}return{startedCreation:!0}}),[u,t,e]),p=w(()=>{r({status:"not-loaded"}),c()},[]);return{state:s,setState:r,getOrCreateWallet:v,clearWallet:p,needsAuth:m,sendEmailWithOtp:o.current,verifyOtp:a.current,reject:l.current}}import{useContext as J}from"react";function Q(){let t=J(x);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{jsx as H}from"react/jsx-runtime";var x=L({status:"not-loaded",setState:()=>{},getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>null,needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null});function k(t){return{status:"error",error:t instanceof Error?t.message:String(t)}}function lt({children:t,getHandshakeParent:u}){var p;let{crossmint:e}=b("CrossmintWalletProvider must be used within CrossmintProvider"),s=F(()=>q.from(e),[e]),{state:r,setState:d,getOrCreateWallet:m,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:c}=j({crossmintWallets:s,crossmintJwt:(p=e.jwt)!=null?p:null,getHandshakeParent:u});M(()=>{e.jwt==null&&r.status!=="not-loaded"&&n()},[e.jwt,r.status,n]);let v=F(()=>P(O({},r),{setState:d,getOrCreateWallet:m,clearWallet:n,needsAuth:o,sendEmailWithOtp:a,verifyOtp:l,reject:c}),[r,d,m,n,o,a,l,c]);return H(x.Provider,{value:v,children:t})}export{i as a,j as b,x as c,k as d,lt as e,Q as f};