@crossmint/client-sdk-react-base 0.4.5 → 0.5.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.
Files changed (49) hide show
  1. package/dist/chunk-52LO7HJH.js +1 -0
  2. package/dist/chunk-7ABHEMG7.cjs +1 -0
  3. package/dist/chunk-ASDKIUEF.cjs +1 -0
  4. package/dist/chunk-MU3KJSVJ.cjs +1 -0
  5. package/dist/chunk-P4RTBQI6.js +0 -0
  6. package/dist/chunk-UCKZ26BS.cjs +1 -0
  7. package/dist/chunk-WFQQXWAB.js +1 -0
  8. package/dist/chunk-YXCGXXG7.js +1 -0
  9. package/dist/hooks/index.cjs +1 -1
  10. package/dist/hooks/index.d.cts +6 -5
  11. package/dist/hooks/index.d.ts +6 -5
  12. package/dist/hooks/index.js +1 -1
  13. package/dist/hooks/useCrossmint.cjs +1 -1
  14. package/dist/hooks/useCrossmint.d.cts +5 -12
  15. package/dist/hooks/useCrossmint.d.ts +5 -12
  16. package/dist/hooks/useCrossmint.js +1 -1
  17. package/dist/hooks/useWallet.cjs +1 -1
  18. package/dist/hooks/useWallet.d.cts +5 -3
  19. package/dist/hooks/useWallet.d.ts +5 -3
  20. package/dist/hooks/useWallet.js +1 -1
  21. package/dist/index.cjs +1 -1
  22. package/dist/index.d.cts +3 -3
  23. package/dist/index.d.ts +3 -3
  24. package/dist/index.js +1 -1
  25. package/dist/providers/CrossmintProvider.cjs +1 -0
  26. package/dist/providers/CrossmintProvider.d.cts +18 -0
  27. package/dist/providers/CrossmintProvider.d.ts +18 -0
  28. package/dist/providers/CrossmintProvider.js +1 -0
  29. package/dist/providers/CrossmintWalletBaseProvider.cjs +1 -0
  30. package/dist/providers/CrossmintWalletBaseProvider.d.cts +30 -0
  31. package/dist/providers/CrossmintWalletBaseProvider.d.ts +30 -0
  32. package/dist/providers/CrossmintWalletBaseProvider.js +1 -0
  33. package/dist/providers/index.cjs +1 -1
  34. package/dist/providers/index.d.cts +4 -1
  35. package/dist/providers/index.d.ts +4 -1
  36. package/dist/providers/index.js +1 -1
  37. package/package.json +4 -4
  38. package/dist/chunk-2BM3CYDO.cjs +0 -1
  39. package/dist/chunk-GKR2YIMI.cjs +0 -1
  40. package/dist/chunk-J333TQZF.js +0 -1
  41. package/dist/chunk-PCTUKVYB.js +0 -1
  42. package/dist/hooks/useWalletState.cjs +0 -1
  43. package/dist/hooks/useWalletState.d.cts +0 -33
  44. package/dist/hooks/useWalletState.d.ts +0 -33
  45. package/dist/hooks/useWalletState.js +0 -1
  46. package/dist/providers/CrossmintWalletProvider.cjs +0 -1
  47. package/dist/providers/CrossmintWalletProvider.d.cts +0 -55
  48. package/dist/providers/CrossmintWalletProvider.d.ts +0 -55
  49. package/dist/providers/CrossmintWalletProvider.js +0 -1
@@ -0,0 +1 @@
1
+ import{createContext as w,useCallback as s,useMemo as j,useRef as v,useState as _}from"react";import{createCrossmint as y}from"@crossmint/common-sdk-base";import R from"lodash.isequal";import{jsx as h}from"react/jsx-runtime";var g=w(null);function A({children:C,apiKey:u,appId:c,extensionId:m,overrideBaseUrl:l}){let[f,p]=_(0),e=v(new Proxy(y({apiKey:u,overrideBaseUrl:l,appId:c,extensionId:m}),{set(t,o,i){return o==="jwt"&&t.jwt!==i&&p(d=>d+1),Reflect.set(t,o,i)}})),n=s(t=>{t!==e.current.jwt&&(e.current.jwt=t)},[]),r=s(t=>{e.current.jwt!=(t==null?void 0:t.jwt)&&(e.current.jwt=t==null?void 0:t.jwt),R(t,e.current.experimental_customAuth)||(e.current.experimental_customAuth=t)},[]),x=j(()=>({get crossmint(){return e.current},experimental_setCustomAuth:r,experimental_customAuth:e.current.experimental_customAuth,setJwt:n}),[r,n,f]);return h(g.Provider,{value:x,children:C})}export{g as a,A as b};
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMU3KJSVJcjs = require('./chunk-MU3KJSVJ.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');function J(){let s=_react.useContext.call(void 0, c);if(!s)throw new Error("useWallet must be used within CrossmintWalletProvider");return s}var _jsxruntime = require('react/jsx-runtime');var c=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,_getEmailSignerIframe:void 0});function te({children:s,createOnLogin:u,callbacks:n,onAuthRequired:C,_getEmailSignerIframe:o}){let{crossmint:h,experimental_customAuth:t}=_chunkMU3KJSVJcjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[l,f]=_react.useState.call(void 0, void 0),[r,a]=_react.useState.call(void 0, "not-loaded"),d=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var w,y,g,P,x,v,E,S,B;if(!((t==null?void 0:t.jwt)==null||r==="in-progress")){if(l!=null)return l;try{a("in-progress");let p=_walletssdk.CrossmintWallets.from(h),m=(y=(w=e.options)==null?void 0:w.experimental_callbacks)==null?void 0:y.onWalletCreationStart,W=(P=(g=e.options)==null?void 0:g.experimental_callbacks)==null?void 0:P.onTransactionStart;if(((x=e==null?void 0:e.signer)==null?void 0:x.type)==="email"){let i=(v=e.signer.email)!=null?v:t==null?void 0:t.email,N=(E=e.signer.onAuthRequired)!=null?E:C;if(i==null)throw new Error("Email not found in customAuth or signer. Please set email in customAuth or signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{email:i,onAuthRequired:N,_handshakeParent:o==null?void 0:o()})}if(((S=e==null?void 0:e.signer)==null?void 0:S.type)==="external-wallet"){let i=((B=e.signer)==null?void 0:B.address)!=null?e.signer:t.externalWalletSigner;if(i==null)throw new Error("External wallet config not found in customAuth or signer. Please set it in customAuth or signer.");e.signer=i}let O=yield p.getOrCreateWallet({chain:e.chain,signer:e.signer,options:{experimental_callbacks:{onWalletCreationStart:m!=null?m:n==null?void 0:n.onWalletCreationStart,onTransactionStart:W!=null?W:n==null?void 0:n.onTransactionStart}}});return f(O),a("loaded"),O}catch(p){console.error("Failed to create wallet:",p),f(void 0),a("error");return}}}),[h,t]);_react.useEffect.call(void 0, ()=>{u!=null&&d(u)},[u,d]),_react.useEffect.call(void 0, ()=>{(t==null?void 0:t.jwt)==null&&r!=="not-loaded"&&(a("not-loaded"),f(void 0))},[t==null?void 0:t.jwt,r]);let j=_react.useMemo.call(void 0, ()=>({wallet:l,status:r,getOrCreateWallet:d,onAuthRequired:C,_getEmailSignerIframe:o}),[d,l,r,C,o]);return _jsxruntime.jsx.call(void 0, c.Provider,{value:j,children:s})}exports.a = c; exports.b = te; exports.c = J;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUCKZ26BScjs = require('./chunk-UCKZ26BS.cjs');var _react = require('react');function i(r){let o=_react.useContext.call(void 0, _chunkUCKZ26BScjs.a);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}exports.a = i;
File without changes
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _react = require('react');var _commonsdkbase = require('@crossmint/common-sdk-base');var _lodashisequal = require('lodash.isequal'); var _lodashisequal2 = _interopRequireDefault(_lodashisequal);var _jsxruntime = require('react/jsx-runtime');var g=_react.createContext.call(void 0, null);function q({children:C,apiKey:u,appId:c,extensionId:m,overrideBaseUrl:l}){let[f,p]=_react.useState.call(void 0, 0),e=_react.useRef.call(void 0, new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:u,overrideBaseUrl:l,appId:c,extensionId:m}),{set(t,o,i){return o==="jwt"&&t.jwt!==i&&p(d=>d+1),Reflect.set(t,o,i)}})),n=_react.useCallback.call(void 0, t=>{t!==e.current.jwt&&(e.current.jwt=t)},[]),r=_react.useCallback.call(void 0, t=>{e.current.jwt!=(t==null?void 0:t.jwt)&&(e.current.jwt=t==null?void 0:t.jwt),_lodashisequal2.default.call(void 0, t,e.current.experimental_customAuth)||(e.current.experimental_customAuth=t)},[]),x=_react.useMemo.call(void 0, ()=>({get crossmint(){return e.current},experimental_setCustomAuth:r,experimental_customAuth:e.current.experimental_customAuth,setJwt:n}),[r,n,f]);return _jsxruntime.jsx.call(void 0, g.Provider,{value:x,children:C})}exports.a = g; exports.b = q;
@@ -0,0 +1 @@
1
+ import{a as t}from"./chunk-52LO7HJH.js";import{useContext as u}from"react";function c(r){let o=u(t);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}export{c as a};
@@ -0,0 +1 @@
1
+ import{a as F}from"./chunk-WFQQXWAB.js";import{a as R,b as q,c as A}from"./chunk-22GIA4MK.js";import{createContext as M,useCallback as V,useEffect as H,useMemo as z,useState as j}from"react";import{CrossmintWallets as D}from"@crossmint/wallets-sdk";import{useContext as L}from"react";function K(){let s=L(c);if(!s)throw new Error("useWallet must be used within CrossmintWalletProvider");return s}import{jsx as G}from"react/jsx-runtime";var c=M({wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,_getEmailSignerIframe:void 0});function ne({children:s,createOnLogin:u,callbacks:n,onAuthRequired:C,_getEmailSignerIframe:o}){let{crossmint:h,experimental_customAuth:t}=F("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[l,f]=j(void 0),[r,a]=j("not-loaded"),d=V(e=>A(this,null,function*(){var w,y,g,P,x,v,E,S,B;if(!((t==null?void 0:t.jwt)==null||r==="in-progress")){if(l!=null)return l;try{a("in-progress");let p=D.from(h),m=(y=(w=e.options)==null?void 0:w.experimental_callbacks)==null?void 0:y.onWalletCreationStart,W=(P=(g=e.options)==null?void 0:g.experimental_callbacks)==null?void 0:P.onTransactionStart;if(((x=e==null?void 0:e.signer)==null?void 0:x.type)==="email"){let i=(v=e.signer.email)!=null?v:t==null?void 0:t.email,k=(E=e.signer.onAuthRequired)!=null?E:C;if(i==null)throw new Error("Email not found in customAuth or signer. Please set email in customAuth or signer.");e.signer=q(R({},e.signer),{email:i,onAuthRequired:k,_handshakeParent:o==null?void 0:o()})}if(((S=e==null?void 0:e.signer)==null?void 0:S.type)==="external-wallet"){let i=((B=e.signer)==null?void 0:B.address)!=null?e.signer:t.externalWalletSigner;if(i==null)throw new Error("External wallet config not found in customAuth or signer. Please set it in customAuth or signer.");e.signer=i}let O=yield p.getOrCreateWallet({chain:e.chain,signer:e.signer,options:{experimental_callbacks:{onWalletCreationStart:m!=null?m:n==null?void 0:n.onWalletCreationStart,onTransactionStart:W!=null?W:n==null?void 0:n.onTransactionStart}}});return f(O),a("loaded"),O}catch(p){console.error("Failed to create wallet:",p),f(void 0),a("error");return}}}),[h,t]);H(()=>{u!=null&&d(u)},[u,d]),H(()=>{(t==null?void 0:t.jwt)==null&&r!=="not-loaded"&&(a("not-loaded"),f(void 0))},[t==null?void 0:t.jwt,r]);let N=z(()=>({wallet:l,status:r,getOrCreateWallet:d,onAuthRequired:C,_getEmailSignerIframe:o}),[d,l,r,C,o]);return G(c.Provider,{value:N,children:s})}export{c as a,ne as b,K as c};
@@ -1 +1 @@
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
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkASDKIUEFcjs = require('../chunk-ASDKIUEF.cjs');var _chunkMU3KJSVJcjs = require('../chunk-MU3KJSVJ.cjs');require('../chunk-UCKZ26BS.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunkMU3KJSVJcjs.a; exports.useWallet = _chunkASDKIUEFcjs.c;
@@ -1,10 +1,11 @@
1
- export { CrossmintContext, CrossmintProvider, useCrossmint } from './useCrossmint.cjs';
1
+ export { useCrossmint } from './useCrossmint.cjs';
2
2
  export { useWallet } from './useWallet.cjs';
3
- export { throwNotAvailable, useWalletState } from './useWalletState.cjs';
3
+ import '../providers/CrossmintWalletBaseProvider.cjs';
4
+ import '../providers/CrossmintProvider.cjs';
5
+ import '../types/wallet.cjs';
6
+ import '@crossmint/wallets-sdk';
4
7
  import 'react/jsx-runtime';
5
8
  import 'react';
6
- import '@crossmint/common-sdk-base';
7
- import '@crossmint/wallets-sdk';
8
- import '../providers/CrossmintWalletProvider.cjs';
9
9
  import '@crossmint/client-sdk-window';
10
10
  import '@crossmint/client-signers';
11
+ import '@crossmint/common-sdk-base';
@@ -1,10 +1,11 @@
1
- export { CrossmintContext, CrossmintProvider, useCrossmint } from './useCrossmint.js';
1
+ export { useCrossmint } from './useCrossmint.js';
2
2
  export { useWallet } from './useWallet.js';
3
- export { throwNotAvailable, useWalletState } from './useWalletState.js';
3
+ import '../providers/CrossmintWalletBaseProvider.js';
4
+ import '../providers/CrossmintProvider.js';
5
+ import '../types/wallet.js';
6
+ import '@crossmint/wallets-sdk';
4
7
  import 'react/jsx-runtime';
5
8
  import 'react';
6
- import '@crossmint/common-sdk-base';
7
- import '@crossmint/wallets-sdk';
8
- import '../providers/CrossmintWalletProvider.js';
9
9
  import '@crossmint/client-sdk-window';
10
10
  import '@crossmint/client-signers';
11
+ import '@crossmint/common-sdk-base';
@@ -1 +1 @@
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
+ import{c as b}from"../chunk-YXCGXXG7.js";import{a}from"../chunk-WFQQXWAB.js";import"../chunk-52LO7HJH.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint,b as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2BM3CYDOcjs = require('../chunk-2BM3CYDO.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunk2BM3CYDOcjs.a; exports.useCrossmint = _chunk2BM3CYDOcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMU3KJSVJcjs = require('../chunk-MU3KJSVJ.cjs');require('../chunk-UCKZ26BS.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunkMU3KJSVJcjs.a;
@@ -1,15 +1,8 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode } from 'react';
3
- import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
1
+ import { CrossmintContext } from '../providers/CrossmintProvider.cjs';
2
+ import 'react/jsx-runtime';
3
+ import 'react';
4
+ import '@crossmint/common-sdk-base';
4
5
 
5
- interface CrossmintContext {
6
- crossmint: Crossmint;
7
- setJwt: (jwt: string | undefined) => void;
8
- experimental_setCustomAuth: (experimental_customAuth: CustomAuth | undefined) => void;
9
- }
10
- declare function CrossmintProvider({ children, apiKey, appId, overrideBaseUrl, }: CrossmintConfig & {
11
- children: ReactNode;
12
- }): react_jsx_runtime.JSX.Element;
13
6
  declare function useCrossmint(missingContextMessage?: string): CrossmintContext;
14
7
 
15
- export { type CrossmintContext, CrossmintProvider, useCrossmint };
8
+ export { useCrossmint };
@@ -1,15 +1,8 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ReactNode } from 'react';
3
- import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
1
+ import { CrossmintContext } from '../providers/CrossmintProvider.js';
2
+ import 'react/jsx-runtime';
3
+ import 'react';
4
+ import '@crossmint/common-sdk-base';
4
5
 
5
- interface CrossmintContext {
6
- crossmint: Crossmint;
7
- setJwt: (jwt: string | undefined) => void;
8
- experimental_setCustomAuth: (experimental_customAuth: CustomAuth | undefined) => void;
9
- }
10
- declare function CrossmintProvider({ children, apiKey, appId, overrideBaseUrl, }: CrossmintConfig & {
11
- children: ReactNode;
12
- }): react_jsx_runtime.JSX.Element;
13
6
  declare function useCrossmint(missingContextMessage?: string): CrossmintContext;
14
7
 
15
- export { type CrossmintContext, CrossmintProvider, useCrossmint };
8
+ export { useCrossmint };
@@ -1 +1 @@
1
- import{a,b}from"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintProvider,b as useCrossmint};
1
+ import{a}from"../chunk-WFQQXWAB.js";import"../chunk-52LO7HJH.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint};
@@ -1 +1 @@
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
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkASDKIUEFcjs = require('../chunk-ASDKIUEF.cjs');require('../chunk-MU3KJSVJ.cjs');require('../chunk-UCKZ26BS.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkASDKIUEFcjs.c;
@@ -1,10 +1,12 @@
1
- import * as _crossmint_wallets_sdk from '@crossmint/wallets-sdk';
2
- import { WalletContext } from '../providers/CrossmintWalletProvider.cjs';
1
+ import { CrossmintWalletBaseContext } from '../providers/CrossmintWalletBaseProvider.cjs';
3
2
  import 'react/jsx-runtime';
4
3
  import 'react';
4
+ import '@crossmint/wallets-sdk';
5
5
  import '@crossmint/client-sdk-window';
6
6
  import '@crossmint/client-signers';
7
+ import '../types/wallet.cjs';
8
+ import '@crossmint/common-sdk-base';
7
9
 
8
- declare function useWallet(): WalletContext<_crossmint_wallets_sdk.Chain>;
10
+ declare function useWallet(): CrossmintWalletBaseContext;
9
11
 
10
12
  export { useWallet };
@@ -1,10 +1,12 @@
1
- import * as _crossmint_wallets_sdk from '@crossmint/wallets-sdk';
2
- import { WalletContext } from '../providers/CrossmintWalletProvider.js';
1
+ import { CrossmintWalletBaseContext } from '../providers/CrossmintWalletBaseProvider.js';
3
2
  import 'react/jsx-runtime';
4
3
  import 'react';
4
+ import '@crossmint/wallets-sdk';
5
5
  import '@crossmint/client-sdk-window';
6
6
  import '@crossmint/client-signers';
7
+ import '../types/wallet.js';
8
+ import '@crossmint/common-sdk-base';
7
9
 
8
- declare function useWallet(): WalletContext<_crossmint_wallets_sdk.Chain>;
10
+ declare function useWallet(): CrossmintWalletBaseContext;
9
11
 
10
12
  export { useWallet };
@@ -1 +1 @@
1
- import{f as a}from"../chunk-J333TQZF.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
1
+ import{c as a}from"../chunk-YXCGXXG7.js";import"../chunk-WFQQXWAB.js";import"../chunk-52LO7HJH.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
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;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-7ABHEMG7.cjs');var _chunkASDKIUEFcjs = require('./chunk-ASDKIUEF.cjs');var _chunkMU3KJSVJcjs = require('./chunk-MU3KJSVJ.cjs');var _chunkUCKZ26BScjs = require('./chunk-UCKZ26BS.cjs');require('./chunk-YSXSE5ZY.cjs');var _chunkX5WJVECJcjs = require('./chunk-X5WJVECJ.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintContext = _chunkUCKZ26BScjs.a; exports.CrossmintProvider = _chunkUCKZ26BScjs.b; exports.CrossmintWalletBaseContext = _chunkASDKIUEFcjs.a; exports.CrossmintWalletBaseProvider = _chunkASDKIUEFcjs.b; exports.EVMWallet = _chunkX5WJVECJcjs.a; exports.SolanaWallet = _chunkX5WJVECJcjs.b; exports.useCrossmint = _chunkMU3KJSVJcjs.a; exports.useWallet = _chunkASDKIUEFcjs.c;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
- export { CrossmintContext, CrossmintProvider, useCrossmint } from './hooks/useCrossmint.cjs';
1
+ export { useCrossmint } from './hooks/useCrossmint.cjs';
2
2
  export { useWallet } from './hooks/useWallet.cjs';
3
- export { throwNotAvailable, useWalletState } from './hooks/useWalletState.cjs';
4
- export { CrossmintWalletProvider, CrossmintWalletProviderProps, ValidWalletState, WalletContext, deriveErrorState } from './providers/CrossmintWalletProvider.cjs';
3
+ export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from './providers/CrossmintWalletBaseProvider.cjs';
4
+ export { CrossmintContext, CrossmintProvider } from './providers/CrossmintProvider.cjs';
5
5
  export { BaseCrossmintWalletProviderProps, CreateOnLogin } from './types/wallet.cjs';
6
6
  export { Balances, Chain, DelegatedSigner, EVMWallet, EvmExternalWalletSignerConfig, SolanaExternalWalletSignerConfig, SolanaWallet, Wallet } from '@crossmint/wallets-sdk';
7
7
  import 'react/jsx-runtime';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { CrossmintContext, CrossmintProvider, useCrossmint } from './hooks/useCrossmint.js';
1
+ export { useCrossmint } from './hooks/useCrossmint.js';
2
2
  export { useWallet } from './hooks/useWallet.js';
3
- export { throwNotAvailable, useWalletState } from './hooks/useWalletState.js';
4
- export { CrossmintWalletProvider, CrossmintWalletProviderProps, ValidWalletState, WalletContext, deriveErrorState } from './providers/CrossmintWalletProvider.js';
3
+ export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from './providers/CrossmintWalletBaseProvider.js';
4
+ export { CrossmintContext, CrossmintProvider } from './providers/CrossmintProvider.js';
5
5
  export { BaseCrossmintWalletProviderProps, CreateOnLogin } from './types/wallet.js';
6
6
  export { Balances, Chain, DelegatedSigner, EVMWallet, EvmExternalWalletSignerConfig, SolanaExternalWalletSignerConfig, SolanaWallet, Wallet } from '@crossmint/wallets-sdk';
7
7
  import 'react/jsx-runtime';
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-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
+ import"./chunk-P4RTBQI6.js";import{a as f,b as m,c as p}from"./chunk-YXCGXXG7.js";import{a as e}from"./chunk-WFQQXWAB.js";import{a as o,b as r}from"./chunk-52LO7HJH.js";import"./chunk-B35TULQO.js";import{a as t,b as x}from"./chunk-LPOXK2Q6.js";import"./chunk-22GIA4MK.js";export{o as CrossmintContext,r as CrossmintProvider,f as CrossmintWalletBaseContext,m as CrossmintWalletBaseProvider,t as EVMWallet,x as SolanaWallet,e as useCrossmint,p as useWallet};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUCKZ26BScjs = require('../chunk-UCKZ26BS.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintContext = _chunkUCKZ26BScjs.a; exports.CrossmintProvider = _chunkUCKZ26BScjs.b;
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
5
+
6
+ interface CrossmintContext {
7
+ crossmint: Crossmint;
8
+ experimental_setCustomAuth: (customAuthParams?: CustomAuth) => void;
9
+ experimental_customAuth?: CustomAuth;
10
+ /** @deprecated Use experimental_setCustomAuth instead.*/
11
+ setJwt: (jwt: string | undefined) => void;
12
+ }
13
+ declare const CrossmintContext: react.Context<CrossmintContext | null>;
14
+ declare function CrossmintProvider({ children, apiKey, appId, extensionId, overrideBaseUrl, }: CrossmintConfig & {
15
+ children: ReactNode;
16
+ }): react_jsx_runtime.JSX.Element;
17
+
18
+ export { CrossmintContext, CrossmintProvider };
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
5
+
6
+ interface CrossmintContext {
7
+ crossmint: Crossmint;
8
+ experimental_setCustomAuth: (customAuthParams?: CustomAuth) => void;
9
+ experimental_customAuth?: CustomAuth;
10
+ /** @deprecated Use experimental_setCustomAuth instead.*/
11
+ setJwt: (jwt: string | undefined) => void;
12
+ }
13
+ declare const CrossmintContext: react.Context<CrossmintContext | null>;
14
+ declare function CrossmintProvider({ children, apiKey, appId, extensionId, overrideBaseUrl, }: CrossmintConfig & {
15
+ children: ReactNode;
16
+ }): react_jsx_runtime.JSX.Element;
17
+
18
+ export { CrossmintContext, CrossmintProvider };
@@ -0,0 +1 @@
1
+ import{a,b}from"../chunk-52LO7HJH.js";import"../chunk-22GIA4MK.js";export{a as CrossmintContext,b as CrossmintProvider};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkASDKIUEFcjs = require('../chunk-ASDKIUEF.cjs');require('../chunk-MU3KJSVJ.cjs');require('../chunk-UCKZ26BS.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletBaseContext = _chunkASDKIUEFcjs.a; exports.CrossmintWalletBaseProvider = _chunkASDKIUEFcjs.b;
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { Wallet, Chain, WalletArgsFor, EmailSignerConfig } from '@crossmint/wallets-sdk';
5
+ import { HandshakeParent } from '@crossmint/client-sdk-window';
6
+ import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
7
+ import { CreateOnLogin } from '../types/wallet.cjs';
8
+ import '@crossmint/common-sdk-base';
9
+
10
+ type CrossmintWalletBaseContext = {
11
+ wallet: Wallet<Chain> | undefined;
12
+ status: "not-loaded" | "in-progress" | "loaded" | "error";
13
+ getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<Wallet<Chain> | undefined>;
14
+ onAuthRequired?: EmailSignerConfig["onAuthRequired"];
15
+ _getEmailSignerIframe?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
16
+ };
17
+ declare const CrossmintWalletBaseContext: react.Context<CrossmintWalletBaseContext>;
18
+ interface CrossmintWalletBaseProviderProps {
19
+ children: ReactNode;
20
+ createOnLogin?: CreateOnLogin;
21
+ callbacks?: {
22
+ onWalletCreationStart?: () => Promise<void>;
23
+ onTransactionStart?: () => Promise<void>;
24
+ };
25
+ onAuthRequired?: EmailSignerConfig["onAuthRequired"];
26
+ _getEmailSignerIframe?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
27
+ }
28
+ declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, _getEmailSignerIframe, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
29
+
30
+ export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, type CrossmintWalletBaseProviderProps };
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { Wallet, Chain, WalletArgsFor, EmailSignerConfig } from '@crossmint/wallets-sdk';
5
+ import { HandshakeParent } from '@crossmint/client-sdk-window';
6
+ import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
7
+ import { CreateOnLogin } from '../types/wallet.js';
8
+ import '@crossmint/common-sdk-base';
9
+
10
+ type CrossmintWalletBaseContext = {
11
+ wallet: Wallet<Chain> | undefined;
12
+ status: "not-loaded" | "in-progress" | "loaded" | "error";
13
+ getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<Wallet<Chain> | undefined>;
14
+ onAuthRequired?: EmailSignerConfig["onAuthRequired"];
15
+ _getEmailSignerIframe?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
16
+ };
17
+ declare const CrossmintWalletBaseContext: react.Context<CrossmintWalletBaseContext>;
18
+ interface CrossmintWalletBaseProviderProps {
19
+ children: ReactNode;
20
+ createOnLogin?: CreateOnLogin;
21
+ callbacks?: {
22
+ onWalletCreationStart?: () => Promise<void>;
23
+ onTransactionStart?: () => Promise<void>;
24
+ };
25
+ onAuthRequired?: EmailSignerConfig["onAuthRequired"];
26
+ _getEmailSignerIframe?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
27
+ }
28
+ declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, _getEmailSignerIframe, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
29
+
30
+ export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, type CrossmintWalletBaseProviderProps };
@@ -0,0 +1 @@
1
+ import{a,b}from"../chunk-YXCGXXG7.js";import"../chunk-WFQQXWAB.js";import"../chunk-52LO7HJH.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider};
@@ -1 +1 @@
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
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-7ABHEMG7.cjs');var _chunkASDKIUEFcjs = require('../chunk-ASDKIUEF.cjs');require('../chunk-MU3KJSVJ.cjs');var _chunkUCKZ26BScjs = require('../chunk-UCKZ26BS.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintContext = _chunkUCKZ26BScjs.a; exports.CrossmintProvider = _chunkUCKZ26BScjs.b; exports.CrossmintWalletBaseContext = _chunkASDKIUEFcjs.a; exports.CrossmintWalletBaseProvider = _chunkASDKIUEFcjs.b;
@@ -1,6 +1,9 @@
1
- export { CrossmintWalletProvider, CrossmintWalletProviderProps, ValidWalletState, WalletContext, deriveErrorState } from './CrossmintWalletProvider.cjs';
1
+ export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from './CrossmintWalletBaseProvider.cjs';
2
+ export { CrossmintContext, CrossmintProvider } from './CrossmintProvider.cjs';
2
3
  import 'react/jsx-runtime';
3
4
  import 'react';
4
5
  import '@crossmint/wallets-sdk';
5
6
  import '@crossmint/client-sdk-window';
6
7
  import '@crossmint/client-signers';
8
+ import '../types/wallet.cjs';
9
+ import '@crossmint/common-sdk-base';
@@ -1,6 +1,9 @@
1
- export { CrossmintWalletProvider, CrossmintWalletProviderProps, ValidWalletState, WalletContext, deriveErrorState } from './CrossmintWalletProvider.js';
1
+ export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from './CrossmintWalletBaseProvider.js';
2
+ export { CrossmintContext, CrossmintProvider } from './CrossmintProvider.js';
2
3
  import 'react/jsx-runtime';
3
4
  import 'react';
4
5
  import '@crossmint/wallets-sdk';
5
6
  import '@crossmint/client-sdk-window';
6
7
  import '@crossmint/client-signers';
8
+ import '../types/wallet.js';
9
+ import '@crossmint/common-sdk-base';
@@ -1 +1 @@
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
+ import"../chunk-P4RTBQI6.js";import{a as c,b as d}from"../chunk-YXCGXXG7.js";import"../chunk-WFQQXWAB.js";import{a,b}from"../chunk-52LO7HJH.js";import"../chunk-22GIA4MK.js";export{a as CrossmintContext,b as CrossmintProvider,c as CrossmintWalletBaseContext,d as CrossmintWalletBaseProvider};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-base",
3
- "version": "0.4.5",
3
+ "version": "0.5.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -19,11 +19,11 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "lodash.isequal": "4.5.0",
22
- "@crossmint/common-sdk-base": "0.7.1",
23
- "@crossmint/client-sdk-base": "1.5.4",
22
+ "@crossmint/common-sdk-base": "0.8.0",
23
+ "@crossmint/client-sdk-base": "1.5.6",
24
24
  "@crossmint/client-sdk-window": "1.0.0",
25
25
  "@crossmint/client-signers": "0.0.16",
26
- "@crossmint/wallets-sdk": "0.9.5"
26
+ "@crossmint/wallets-sdk": "0.10.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/react": "19.0.12",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _react = require('react');var _commonsdkbase = require('@crossmint/common-sdk-base');var _lodashisequal = require('lodash.isequal'); var _lodashisequal2 = _interopRequireDefault(_lodashisequal);var _jsxruntime = require('react/jsx-runtime');var c=_react.createContext.call(void 0, null);function N({children:n,apiKey:e,appId:m,overrideBaseUrl:f}){let[d,w]=_react.useState.call(void 0, 0),r=_react.useRef.call(void 0, new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:e,overrideBaseUrl:f,appId:m}),{set(t,i,u){return i==="jwt"&&t.jwt!==u&&w(v=>v+1),Reflect.set(t,i,u)}})),o=_react.useCallback.call(void 0, t=>{t!==r.current.jwt&&(r.current.jwt=t)},[]),s=_react.useCallback.call(void 0, t=>{_lodashisequal2.default.call(void 0, t,r.current.experimental_customAuth)||(r.current.experimental_customAuth=t,r.current.jwt=t==null?void 0:t.jwt)},[]),l=_react.useMemo.call(void 0, ()=>({get crossmint(){return r.current},setJwt:o,experimental_setCustomAuth:s}),[o,s,d]);return _jsxruntime.jsx.call(void 0, c.Provider,{value:l,children:n})}function k(n){let e=_react.useContext.call(void 0, c);if(e==null)throw new Error(n!=null?n:"useCrossmint must be used within a CrossmintProvider");return e}exports.a = N; exports.b = k;
@@ -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 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;
@@ -1 +0,0 @@
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 +0,0 @@
1
- import{createContext as p,useCallback as C,useContext as h,useMemo as j,useRef as x,useState as y}from"react";import{createCrossmint as P}from"@crossmint/common-sdk-base";import R from"lodash.isequal";import{jsx as a}from"react/jsx-runtime";var c=p(null);function k({children:n,apiKey:e,appId:m,overrideBaseUrl:f}){let[d,w]=y(0),r=x(new Proxy(P({apiKey:e,overrideBaseUrl:f,appId:m}),{set(t,i,u){return i==="jwt"&&t.jwt!==u&&w(v=>v+1),Reflect.set(t,i,u)}})),o=C(t=>{t!==r.current.jwt&&(r.current.jwt=t)},[]),s=C(t=>{R(t,r.current.experimental_customAuth)||(r.current.experimental_customAuth=t,r.current.jwt=t==null?void 0:t.jwt)},[]),l=j(()=>({get crossmint(){return r.current},setJwt:o,experimental_setCustomAuth:s}),[o,s,d]);return a(c.Provider,{value:l,children:n})}function q(n){let e=h(c);if(e==null)throw new Error(n!=null?n:"useCrossmint must be used within a CrossmintProvider");return e}export{k as a,q as b};
@@ -1 +0,0 @@
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,33 +0,0 @@
1
- import * as _crossmint_wallets_sdk from '@crossmint/wallets-sdk';
2
- import { CrossmintWallets, Chain, WalletArgsFor } from '@crossmint/wallets-sdk';
3
- import * as react from 'react';
4
- import { HandshakeParent } from '@crossmint/client-sdk-window';
5
- import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
6
- import { ValidWalletState } from '../providers/CrossmintWalletProvider.cjs';
7
- import 'react/jsx-runtime';
8
-
9
- declare const throwNotAvailable: (functionName: string) => () => never;
10
- declare function useWalletState({ crossmintWallets, crossmintJwt, getHandshakeParent, }: {
11
- crossmintWallets: CrossmintWallets;
12
- crossmintJwt: string | null;
13
- getHandshakeParent?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
14
- }): {
15
- state: ValidWalletState;
16
- setState: react.Dispatch<react.SetStateAction<ValidWalletState>>;
17
- getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
18
- startedCreation: boolean;
19
- reason: string;
20
- wallet?: undefined;
21
- } | {
22
- startedCreation: boolean;
23
- wallet: _crossmint_wallets_sdk.Wallet<C>;
24
- reason?: undefined;
25
- }>;
26
- clearWallet: () => void;
27
- needsAuth: boolean;
28
- sendEmailWithOtp: () => Promise<void>;
29
- verifyOtp: (otp: string) => Promise<void>;
30
- reject: (error: Error) => void;
31
- };
32
-
33
- export { throwNotAvailable, useWalletState };
@@ -1,33 +0,0 @@
1
- import * as _crossmint_wallets_sdk from '@crossmint/wallets-sdk';
2
- import { CrossmintWallets, Chain, WalletArgsFor } from '@crossmint/wallets-sdk';
3
- import * as react from 'react';
4
- import { HandshakeParent } from '@crossmint/client-sdk-window';
5
- import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
6
- import { ValidWalletState } from '../providers/CrossmintWalletProvider.js';
7
- import 'react/jsx-runtime';
8
-
9
- declare const throwNotAvailable: (functionName: string) => () => never;
10
- declare function useWalletState({ crossmintWallets, crossmintJwt, getHandshakeParent, }: {
11
- crossmintWallets: CrossmintWallets;
12
- crossmintJwt: string | null;
13
- getHandshakeParent?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
14
- }): {
15
- state: ValidWalletState;
16
- setState: react.Dispatch<react.SetStateAction<ValidWalletState>>;
17
- getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
18
- startedCreation: boolean;
19
- reason: string;
20
- wallet?: undefined;
21
- } | {
22
- startedCreation: boolean;
23
- wallet: _crossmint_wallets_sdk.Wallet<C>;
24
- reason?: undefined;
25
- }>;
26
- clearWallet: () => void;
27
- needsAuth: boolean;
28
- sendEmailWithOtp: () => Promise<void>;
29
- verifyOtp: (otp: string) => Promise<void>;
30
- reject: (error: Error) => void;
31
- };
32
-
33
- export { throwNotAvailable, useWalletState };
@@ -1 +0,0 @@
1
- import{a,b}from"../chunk-J333TQZF.js";import"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as throwNotAvailable,b as useWalletState};
@@ -1 +0,0 @@
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,55 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
- import { Dispatch, SetStateAction, ReactNode } from 'react';
4
- import { Chain, WalletArgsFor, Wallet } from '@crossmint/wallets-sdk';
5
- import { HandshakeParent } from '@crossmint/client-sdk-window';
6
- import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
7
-
8
- type ValidWalletState = {
9
- status: "not-loaded" | "in-progress";
10
- } | {
11
- status: "loaded";
12
- wallet: Wallet<Chain>;
13
- } | {
14
- status: "error";
15
- error: string;
16
- };
17
- type WalletContextFunctions = {
18
- getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
19
- startedCreation: boolean;
20
- reason?: string;
21
- wallet?: Wallet<C>;
22
- }>;
23
- setState: Dispatch<SetStateAction<ValidWalletState>>;
24
- clearWallet: () => void;
25
- needsAuth: boolean;
26
- sendEmailWithOtp: (() => Promise<void>) | null;
27
- verifyOtp: ((otp: string) => Promise<void>) | null;
28
- reject: ((error: Error) => void) | null;
29
- };
30
- type LoadedWalletState<C extends Chain> = {
31
- status: "loaded";
32
- wallet: Wallet<C>;
33
- error?: undefined;
34
- };
35
- type WalletContext<C extends Chain = Chain> = ({
36
- status: "not-loaded" | "in-progress";
37
- wallet?: undefined;
38
- error?: undefined;
39
- } & WalletContextFunctions) | ({
40
- status: "error";
41
- wallet?: undefined;
42
- error: string;
43
- } & WalletContextFunctions) | (LoadedWalletState<C> & WalletContextFunctions);
44
- declare const WalletContext: react.Context<WalletContext<Chain>>;
45
- declare function deriveErrorState(error: unknown): {
46
- status: "error";
47
- error: string;
48
- };
49
- interface CrossmintWalletProviderProps {
50
- children: ReactNode;
51
- getHandshakeParent?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
52
- }
53
- declare function CrossmintWalletProvider({ children, getHandshakeParent }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
54
-
55
- export { CrossmintWalletProvider, type CrossmintWalletProviderProps, type ValidWalletState, WalletContext, deriveErrorState };
@@ -1,55 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
- import { Dispatch, SetStateAction, ReactNode } from 'react';
4
- import { Chain, WalletArgsFor, Wallet } from '@crossmint/wallets-sdk';
5
- import { HandshakeParent } from '@crossmint/client-sdk-window';
6
- import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
7
-
8
- type ValidWalletState = {
9
- status: "not-loaded" | "in-progress";
10
- } | {
11
- status: "loaded";
12
- wallet: Wallet<Chain>;
13
- } | {
14
- status: "error";
15
- error: string;
16
- };
17
- type WalletContextFunctions = {
18
- getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<{
19
- startedCreation: boolean;
20
- reason?: string;
21
- wallet?: Wallet<C>;
22
- }>;
23
- setState: Dispatch<SetStateAction<ValidWalletState>>;
24
- clearWallet: () => void;
25
- needsAuth: boolean;
26
- sendEmailWithOtp: (() => Promise<void>) | null;
27
- verifyOtp: ((otp: string) => Promise<void>) | null;
28
- reject: ((error: Error) => void) | null;
29
- };
30
- type LoadedWalletState<C extends Chain> = {
31
- status: "loaded";
32
- wallet: Wallet<C>;
33
- error?: undefined;
34
- };
35
- type WalletContext<C extends Chain = Chain> = ({
36
- status: "not-loaded" | "in-progress";
37
- wallet?: undefined;
38
- error?: undefined;
39
- } & WalletContextFunctions) | ({
40
- status: "error";
41
- wallet?: undefined;
42
- error: string;
43
- } & WalletContextFunctions) | (LoadedWalletState<C> & WalletContextFunctions);
44
- declare const WalletContext: react.Context<WalletContext<Chain>>;
45
- declare function deriveErrorState(error: unknown): {
46
- status: "error";
47
- error: string;
48
- };
49
- interface CrossmintWalletProviderProps {
50
- children: ReactNode;
51
- getHandshakeParent?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
52
- }
53
- declare function CrossmintWalletProvider({ children, getHandshakeParent }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
54
-
55
- export { CrossmintWalletProvider, type CrossmintWalletProviderProps, type ValidWalletState, WalletContext, deriveErrorState };
@@ -1 +0,0 @@
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};