@crossmint/client-sdk-react-base 0.4.2 → 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}); 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;
@@ -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};
@@ -0,0 +1 @@
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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCKKR277Mcjs = require('../chunk-CKKR277M.cjs');var _chunkX7RPG7J4cjs = require('../chunk-X7RPG7J4.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunkX7RPG7J4cjs.a; exports.throwNotAvailable = _chunkCKKR277Mcjs.a; exports.useCrossmint = _chunkX7RPG7J4cjs.b; exports.useWallet = _chunkCKKR277Mcjs.f; exports.useWalletState = _chunkCKKR277Mcjs.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-IAY6YAYB.js";import{a,b}from"../chunk-74YCQ6T7.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 _chunkX7RPG7J4cjs = require('../chunk-X7RPG7J4.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunkX7RPG7J4cjs.a; exports.useCrossmint = _chunkX7RPG7J4cjs.b;
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,11 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { Crossmint, User, CrossmintConfig } from '@crossmint/common-sdk-base';
3
+ import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
4
4
 
5
5
  interface CrossmintContext {
6
6
  crossmint: Crossmint;
7
7
  setJwt: (jwt: string | undefined) => void;
8
- experimental_setAuth: (user: User | undefined) => void;
8
+ experimental_setCustomAuth: (experimental_customAuth: CustomAuth | undefined) => void;
9
9
  }
10
10
  declare function CrossmintProvider({ children, apiKey, appId, overrideBaseUrl, }: CrossmintConfig & {
11
11
  children: ReactNode;
@@ -1,11 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { Crossmint, User, CrossmintConfig } from '@crossmint/common-sdk-base';
3
+ import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
4
4
 
5
5
  interface CrossmintContext {
6
6
  crossmint: Crossmint;
7
7
  setJwt: (jwt: string | undefined) => void;
8
- experimental_setAuth: (user: User | undefined) => void;
8
+ experimental_setCustomAuth: (experimental_customAuth: CustomAuth | undefined) => void;
9
9
  }
10
10
  declare function CrossmintProvider({ children, apiKey, appId, overrideBaseUrl, }: CrossmintConfig & {
11
11
  children: ReactNode;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-74YCQ6T7.js";import"../chunk-22GIA4MK.js";export{a as CrossmintProvider,b as useCrossmint};
1
+ import{a,b}from"../chunk-PCTUKVYB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintProvider,b as useCrossmint};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCKKR277Mcjs = require('../chunk-CKKR277M.cjs');require('../chunk-X7RPG7J4.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkCKKR277Mcjs.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-IAY6YAYB.js";import"../chunk-74YCQ6T7.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 _chunkCKKR277Mcjs = require('../chunk-CKKR277M.cjs');require('../chunk-X7RPG7J4.cjs');require('../chunk-CK4JCQY6.cjs');exports.throwNotAvailable = _chunkCKKR277Mcjs.a; exports.useWalletState = _chunkCKKR277Mcjs.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-IAY6YAYB.js";import"../chunk-74YCQ6T7.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 _chunkCKKR277Mcjs = require('./chunk-CKKR277M.cjs');var _chunkX7RPG7J4cjs = require('./chunk-X7RPG7J4.cjs');require('./chunk-YSXSE5ZY.cjs');var _chunkX5WJVECJcjs = require('./chunk-X5WJVECJ.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunkX7RPG7J4cjs.a; exports.CrossmintWalletProvider = _chunkCKKR277Mcjs.e; exports.EVMWallet = _chunkX5WJVECJcjs.a; exports.SolanaWallet = _chunkX5WJVECJcjs.b; exports.WalletContext = _chunkCKKR277Mcjs.c; exports.deriveErrorState = _chunkCKKR277Mcjs.d; exports.throwNotAvailable = _chunkCKKR277Mcjs.a; exports.useCrossmint = _chunkX7RPG7J4cjs.b; exports.useWallet = _chunkCKKR277Mcjs.f; exports.useWalletState = _chunkCKKR277Mcjs.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-IAY6YAYB.js";import{a as o,b as r}from"./chunk-74YCQ6T7.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 _chunkCKKR277Mcjs = require('../chunk-CKKR277M.cjs');require('../chunk-X7RPG7J4.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunkCKKR277Mcjs.e; exports.WalletContext = _chunkCKKR277Mcjs.c; exports.deriveErrorState = _chunkCKKR277Mcjs.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-IAY6YAYB.js";import"../chunk-74YCQ6T7.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 _chunkCKKR277Mcjs = require('../chunk-CKKR277M.cjs');require('../chunk-X7RPG7J4.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunkCKKR277Mcjs.e; exports.WalletContext = _chunkCKKR277Mcjs.c; exports.deriveErrorState = _chunkCKKR277Mcjs.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-IAY6YAYB.js";import"../chunk-74YCQ6T7.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.2",
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",
@@ -19,11 +19,11 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "lodash.isequal": "4.5.0",
22
- "@crossmint/common-sdk-base": "0.7.0",
22
+ "@crossmint/common-sdk-base": "0.7.1",
23
+ "@crossmint/client-sdk-base": "1.5.4",
23
24
  "@crossmint/client-signers": "0.0.16",
24
25
  "@crossmint/client-sdk-window": "1.0.0",
25
- "@crossmint/client-sdk-base": "1.5.3",
26
- "@crossmint/wallets-sdk": "0.9.3"
26
+ "@crossmint/wallets-sdk": "0.9.4"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/react": "19.0.12",
@@ -1 +0,0 @@
1
- import{createContext as v,useCallback as c,useContext as x,useMemo as a,useRef as h,useState as j}from"react";import{createCrossmint as y}from"@crossmint/common-sdk-base";import P from"lodash.isequal";import{jsx as R}from"react/jsx-runtime";var m=v(null);function N({children:e,apiKey:n,appId:C,overrideBaseUrl:f}){let[d,l]=j(0),r=h(new Proxy(y({apiKey:n,overrideBaseUrl:f,appId:C}),{set(t,i,u){return i==="jwt"&&t.jwt!==u&&l(p=>p+1),Reflect.set(t,i,u)}})),o=c(t=>{t!==r.current.jwt&&(r.current.jwt=t)},[]),s=c(t=>{t!=null&&!P(t,r.current.user)&&(r.current.user=t,r.current.jwt=t.jwt)},[]),w=a(()=>({get crossmint(){return r.current},setJwt:o,experimental_setAuth:s}),[o,s,d]);return R(m.Provider,{value:w,children:e})}function _(e){let n=x(m);if(n==null)throw new Error(e!=null?e:"useCrossmint must be used within a CrossmintProvider");return n}export{N as a,_ as b};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX7RPG7J4cjs = require('./chunk-X7RPG7J4.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var l=t=>()=>{throw new Error(`${t} is not available. Make sure you're using an email signer wallet.`)};function A({crossmintWallets:t,crossmintJwt:i,getHandshakeParent:e}){let[n,r]=_react.useState.call(void 0, {status:"not-loaded"}),u=_react.useRef.call(void 0, n.status);_react.useEffect.call(void 0, ()=>{u.current=n.status},[n.status]);let[m,d]=_react.useState.call(void 0, !1),s=_react.useRef.call(void 0, l("sendEmailWithOtp")),o=_react.useRef.call(void 0, l("verifyOtp")),a=_react.useRef.call(void 0, l("reject")),c=_react.useCallback.call(void 0, ()=>{d(!1),s.current=l("sendEmailWithOtp"),o.current=l("verifyOtp"),a.current=l("reject")},[]),g=_react.useCallback.call(void 0, v=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var S;if(u.current==="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(i==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{if(r({status:"in-progress"}),((S=v.signer)==null?void 0:S.type)==="email"){let w=v.signer;w.onAuthRequired=(R,j,I,V)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){d(R),s.current=j,o.current=I,a.current=V}),w._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(k(f))}return{startedCreation:!0}}),[i,t,e]),p=_react.useCallback.call(void 0, ()=>{r({status:"not-loaded"}),c()},[]);return{state:n,setState:r,getOrCreateWallet:g,clearWallet:p,needsAuth:m,sendEmailWithOtp:s.current,verifyOtp:o.current,reject:a.current}}function B(){let t=_react.useContext.call(void 0, x);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}var _jsxruntime = require('react/jsx-runtime');var x=_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 k(t){return{status:"error",error:t instanceof Error?t.message:String(t)}}function ot({children:t,getHandshakeParent:i}){var p;let{crossmint:e}=_chunkX7RPG7J4cjs.b.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from(e),[e]),{state:r,setState:u,getOrCreateWallet:m,clearWallet:d,needsAuth:s,sendEmailWithOtp:o,verifyOtp:a,reject:c}=A({crossmintWallets:n,crossmintJwt:(p=e.jwt)!=null?p:null,getHandshakeParent:i}),g=_react.useMemo.call(void 0, ()=>_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},r),{setState:u,getOrCreateWallet:m,clearWallet:d,needsAuth:s,sendEmailWithOtp:o,verifyOtp:a,reject:c}),[r,u,m,d,s,o,a,c]);return _jsxruntime.jsx.call(void 0, x.Provider,{value:g,children:t})}exports.a = l; exports.b = A; exports.c = x; exports.d = k; exports.e = ot; exports.f = B;
@@ -1 +0,0 @@
1
- import{b}from"./chunk-74YCQ6T7.js";import{a as O,b as P,c as y}from"./chunk-22GIA4MK.js";import{createContext as L,useMemo as R}from"react";import{CrossmintWallets as M}from"@crossmint/wallets-sdk";import{useState as A,useCallback as x,useRef as W,useEffect as D}from"react";var l=t=>()=>{throw new Error(`${t} is not available. Make sure you're using an email signer wallet.`)};function k({crossmintWallets:t,crossmintJwt:i,getHandshakeParent:e}){let[n,r]=A({status:"not-loaded"}),u=W(n.status);D(()=>{u.current=n.status},[n.status]);let[m,d]=A(!1),s=W(l("sendEmailWithOtp")),o=W(l("verifyOtp")),a=W(l("reject")),c=x(()=>{d(!1),s.current=l("sendEmailWithOtp"),o.current=l("verifyOtp"),a.current=l("reject")},[]),v=x(h=>y(this,null,function*(){var w;if(u.current==="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(i==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{if(r({status:"in-progress"}),((w=h.signer)==null?void 0:w.type)==="email"){let E=h.signer;E.onAuthRequired=(j,I,V,N)=>y(this,null,function*(){d(j),s.current=I,o.current=V,a.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(F(f))}return{startedCreation:!0}}),[i,t,e]),p=x(()=>{r({status:"not-loaded"}),c()},[]);return{state:n,setState:r,getOrCreateWallet:v,clearWallet:p,needsAuth:m,sendEmailWithOtp:s.current,verifyOtp:o.current,reject:a.current}}import{useContext as J}from"react";function G(){let t=J(S);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{jsx as q}from"react/jsx-runtime";var S=L({status:"not-loaded",setState:()=>{},getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>null,needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null});function F(t){return{status:"error",error:t instanceof Error?t.message:String(t)}}function at({children:t,getHandshakeParent:i}){var p;let{crossmint:e}=b("CrossmintWalletProvider must be used within CrossmintProvider"),n=R(()=>M.from(e),[e]),{state:r,setState:u,getOrCreateWallet:m,clearWallet:d,needsAuth:s,sendEmailWithOtp:o,verifyOtp:a,reject:c}=k({crossmintWallets:n,crossmintJwt:(p=e.jwt)!=null?p:null,getHandshakeParent:i}),v=R(()=>P(O({},r),{setState:u,getOrCreateWallet:m,clearWallet:d,needsAuth:s,sendEmailWithOtp:o,verifyOtp:a,reject:c}),[r,u,m,d,s,o,a,c]);return q(S.Provider,{value:v,children:t})}export{l as a,k as b,S as c,F as d,at as e,G as f};
@@ -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 m=_react.createContext.call(void 0, null);function J({children:e,apiKey:n,appId:C,overrideBaseUrl:f}){let[d,l]=_react.useState.call(void 0, 0),r=_react.useRef.call(void 0, new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:n,overrideBaseUrl:f,appId:C}),{set(t,i,u){return i==="jwt"&&t.jwt!==u&&l(p=>p+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=>{t!=null&&!_lodashisequal2.default.call(void 0, t,r.current.user)&&(r.current.user=t,r.current.jwt=t.jwt)},[]),w=_react.useMemo.call(void 0, ()=>({get crossmint(){return r.current},setJwt:o,experimental_setAuth:s}),[o,s,d]);return _jsxruntime.jsx.call(void 0, m.Provider,{value:w,children:e})}function N(e){let n=_react.useContext.call(void 0, m);if(n==null)throw new Error(e!=null?e:"useCrossmint must be used within a CrossmintProvider");return n}exports.a = J; exports.b = N;