@frak-labs/react-sdk 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +28 -64
- package/dist/index.d.ts +28 -64
- package/dist/index.js +1 -1
- package/package.json +17 -16
- package/src/hook/helper/useReferralInteraction.test.ts +358 -0
- package/src/hook/helper/useReferralInteraction.ts +78 -0
- package/src/hook/index.ts +10 -0
- package/src/hook/useDisplayModal.test.ts +275 -0
- package/src/hook/useDisplayModal.ts +68 -0
- package/src/hook/useFrakClient.test.ts +119 -0
- package/src/hook/useFrakClient.ts +11 -0
- package/src/hook/useFrakConfig.test.ts +184 -0
- package/src/hook/useFrakConfig.ts +22 -0
- package/src/hook/useGetMerchantInformation.ts +56 -0
- package/src/hook/useOpenSso.test.ts +202 -0
- package/src/hook/useOpenSso.ts +51 -0
- package/src/hook/usePrepareSso.test.ts +197 -0
- package/src/hook/usePrepareSso.ts +55 -0
- package/src/hook/useSendTransaction.test.ts +218 -0
- package/src/hook/useSendTransaction.ts +62 -0
- package/src/hook/useSiweAuthenticate.test.ts +258 -0
- package/src/hook/useSiweAuthenticate.ts +66 -0
- package/src/hook/useWalletStatus.test.ts +112 -0
- package/src/hook/useWalletStatus.ts +55 -0
- package/src/hook/utils/useFrakContext.test.ts +157 -0
- package/src/hook/utils/useFrakContext.ts +42 -0
- package/src/hook/utils/useMounted.test.ts +70 -0
- package/src/hook/utils/useMounted.ts +12 -0
- package/src/hook/utils/useWindowLocation.test.ts +54 -0
- package/src/hook/utils/useWindowLocation.ts +40 -0
- package/src/index.ts +25 -0
- package/src/provider/FrakConfigProvider.test.ts +246 -0
- package/src/provider/FrakConfigProvider.ts +54 -0
- package/src/provider/FrakIFrameClientProvider.test.tsx +209 -0
- package/src/provider/FrakIFrameClientProvider.ts +86 -0
- package/src/provider/index.ts +7 -0
package/README.md
CHANGED
|
@@ -6,3 +6,28 @@ Checkout our documentation for more information's about the usage:
|
|
|
6
6
|
- [React client usage](https://docs.frak.id/wallet-sdk/getting-started/react)
|
|
7
7
|
- [Core client usage](https://docs.frak.id/wallet-sdk/getting-started/javascript)
|
|
8
8
|
- [CDN / Browser usage](https://docs.frak.id/wallet-sdk/getting-started/cdn)
|
|
9
|
+
|
|
10
|
+
## Hooks
|
|
11
|
+
|
|
12
|
+
| Hook | Purpose |
|
|
13
|
+
|------|---------|
|
|
14
|
+
| `useWalletStatus` | Watch wallet connection state and account information |
|
|
15
|
+
| `useDisplayModal` | Trigger SDK modal display for user interactions |
|
|
16
|
+
| `useSiweAuthenticate` | SIWE (Sign-In with Ethereum) authentication flow |
|
|
17
|
+
| `useOpenSso` | Open SSO authentication flow |
|
|
18
|
+
| `usePrepareSso` | Prepare SSO data before opening authentication |
|
|
19
|
+
| `useSendTransactionAction` | Send blockchain transaction actions |
|
|
20
|
+
| `useGetMerchantInformation` | Query merchant info and available rewards |
|
|
21
|
+
| `useReferralInteraction` | Auto-submit referral interactions |
|
|
22
|
+
| `useFrakClient` | Access the FrakClient instance |
|
|
23
|
+
| `useFrakConfig` | Access SDK configuration |
|
|
24
|
+
|
|
25
|
+
## Providers
|
|
26
|
+
|
|
27
|
+
Wrap your application root with these providers:
|
|
28
|
+
|
|
29
|
+
- **`FrakConfigProvider`** — SDK configuration context. Required at app root.
|
|
30
|
+
- **`FrakIFrameClientProvider`** — Iframe client context for SDK communication.
|
|
31
|
+
|
|
32
|
+
Both providers export TypeScript types: `FrakConfigProviderProps`, `FrakIFrameClientProps`.
|
|
33
|
+
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
let e=require(`@frak-labs/core-sdk/actions`),t=require(`@frak-labs/frame-connector`),n=require(`@tanstack/react-query`),r=require(`react`),i=require(`@frak-labs/core-sdk`);const a=(0,r.createContext)(void 0);function o(e){let{children:t,config:n}=e;return(0,r.createElement)(a.Provider,{value:{...n,walletUrl:n.walletUrl??`https://wallet.frak.id`,domain:n.domain??(typeof window<`u`?window?.location?.host:void 0)??`not-found`}},t)}const s=(0,r.createContext)(void 0);function c({style:e,children:t}){let n=g(),[a,o]=(0,r.useState)(void 0);return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(`iframe`,{...i.baseIframeProps,src:`${n.walletUrl}/listener`,style:e??i.baseIframeProps.style,ref:e=>{!e||a||o((0,i.createIFrameFrakClient)({iframe:e,config:n}))}}),(0,r.createElement)(s.Provider,{value:a},t))}function l(){return(0,r.useContext)(s)}function u(){let i=(0,n.useQueryClient)(),a=l(),o=(0,r.useCallback)(e=>{i.setQueryData([`frak-sdk`,`wallet-status-listener`],e)},[i]);return(0,n.useQuery)({gcTime:0,staleTime:0,queryKey:[`frak-sdk`,`wallet-status-listener`],queryFn:async()=>{if(!a)throw new t.ClientNotFound;return(0,e.watchWalletStatus)(a,o)},enabled:!!a})}function d(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t(!0)},[]),e}function f(){let e=d(),[t,n]=(0,r.useState)(e?window.location:void 0);return(0,r.useEffect)(()=>{if(!e)return;function r(){n(window.location)}return t||r(),window.addEventListener(`popstate`,r),()=>{window.removeEventListener(`popstate`,r)}},[e,t]),{location:t,href:(0,r.useMemo)(()=>t?.href,[t?.href])}}function p(){let{location:e}=f();return{frakContext:(0,r.useMemo)(()=>e?.href?i.FrakContextManager.parse({url:e.href}):null,[e?.href]),updateContext:(0,r.useCallback)(t=>{console.log(`Updating context`,{newContext:t}),i.FrakContextManager.replaceUrl({url:e?.href,context:t})},[e?.href])}}function m({
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@frak-labs/core-sdk/actions`),t=require(`@frak-labs/frame-connector`),n=require(`@tanstack/react-query`),r=require(`react`),i=require(`@frak-labs/core-sdk`);const a=(0,r.createContext)(void 0);function o(e){let{children:t,config:n}=e;return(0,r.createElement)(a.Provider,{value:{...n,walletUrl:n.walletUrl??`https://wallet.frak.id`,domain:n.domain??(typeof window<`u`?window?.location?.host:void 0)??`not-found`}},t)}const s=(0,r.createContext)(void 0);function c({style:e,children:t}){let n=g(),[a,o]=(0,r.useState)(void 0);return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(`iframe`,{...i.baseIframeProps,src:`${n.walletUrl}/listener`,style:e??i.baseIframeProps.style,ref:e=>{!e||a||o((0,i.createIFrameFrakClient)({iframe:e,config:n}))}}),(0,r.createElement)(s.Provider,{value:a},t))}function l(){return(0,r.useContext)(s)}function u(){let i=(0,n.useQueryClient)(),a=l(),o=(0,r.useCallback)(e=>{i.setQueryData([`frak-sdk`,`wallet-status-listener`],e)},[i]);return(0,n.useQuery)({gcTime:0,staleTime:0,queryKey:[`frak-sdk`,`wallet-status-listener`],queryFn:async()=>{if(!a)throw new t.ClientNotFound;return(0,e.watchWalletStatus)(a,o)},enabled:!!a})}function d(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t(!0)},[]),e}function f(){let e=d(),[t,n]=(0,r.useState)(e?window.location:void 0);return(0,r.useEffect)(()=>{if(!e)return;function r(){n(window.location)}return t||r(),window.addEventListener(`popstate`,r),()=>{window.removeEventListener(`popstate`,r)}},[e,t]),{location:t,href:(0,r.useMemo)(()=>t?.href,[t?.href])}}function p(){let{location:e}=f();return{frakContext:(0,r.useMemo)(()=>e?.href?i.FrakContextManager.parse({url:e.href}):null,[e?.href]),updateContext:(0,r.useCallback)(t=>{console.log(`Updating context`,{newContext:t}),i.FrakContextManager.replaceUrl({url:e?.href,context:t})},[e?.href])}}function m({modalConfig:i,options:a}={}){let o=l(),{frakContext:s}=p(),{data:c}=u(),{data:d,error:f,status:m}=(0,n.useQuery)({gcTime:0,staleTime:0,queryKey:[`frak-sdk`,`auto-referral-interaction`,s?.r??`no-referrer`,c?.key??`no-wallet-status`],queryFn:()=>{if(!o)throw new t.ClientNotFound;return(0,e.processReferral)(o,{walletStatus:c,frakContext:s,modalConfig:i,options:a})},enabled:!!c});return(0,r.useMemo)(()=>m===`pending`?`processing`:m===`error`?f:d||`idle`,[d,m,f])}function h({mutations:r}={}){let i=l();return(0,n.useMutation)({...r,mutationKey:[`frak-sdk`,`display-modal`],mutationFn:async n=>{if(!i)throw new t.ClientNotFound;return(0,e.displayModal)(i,n)}})}function g(){let e=(0,r.useContext)(a);if(!e)throw new t.FrakRpcError(t.RpcErrorCodes.configError,`Frak config not found`);return e}function _({query:r}={}){let i=l();return(0,n.useQuery)({...r,queryKey:[`frak-sdk`,`get-merchant-information`],queryFn:async()=>{if(!i)throw new t.ClientNotFound;return(0,e.getMerchantInformation)(i)}})}function v({mutations:r}={}){let i=l();return(0,n.useMutation)({...r,mutationKey:[`frak-sdk`,`open-sso`],mutationFn:async n=>{if(!i)throw new t.ClientNotFound;return(0,e.openSso)(i,n)}})}function y(r){let i=l();return(0,n.useQuery)({queryKey:[`frak-sdk`,`prepare-sso`,r],queryFn:async()=>{if(!i)throw new t.ClientNotFound;return(0,e.prepareSso)(i,r)}})}function b({mutations:r}={}){let i=l();return(0,n.useMutation)({...r,mutationKey:[`frak-sdk`,`send-transaction`],mutationFn:async n=>{if(!i)throw new t.ClientNotFound;return(0,e.sendTransaction)(i,n)}})}function x({mutations:r}={}){let i=l();return(0,n.useMutation)({...r,mutationKey:[`frak-sdk`,`siwe-authenticate`,i?.config.domain??`no-domain`],mutationFn:async n=>{if(!i)throw new t.ClientNotFound;return(0,e.siweAuthenticate)(i,n)}})}exports.FrakConfigContext=a,exports.FrakConfigProvider=o,exports.FrakIFrameClientContext=s,exports.FrakIFrameClientProvider=c,exports.useDisplayModal=h,exports.useFrakClient=l,exports.useFrakConfig=g,exports.useGetMerchantInformation=_,exports.useOpenSso=v,exports.usePrepareSso=y,exports.useReferralInteraction=m,exports.useSendTransactionAction=b,exports.useSiweAuthenticate=x,exports.useWalletStatus=u;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import * as _frak_labs_core_sdk0 from "@frak-labs/core-sdk";
|
|
2
|
-
import { DisplayEmbeddedWalletParamsType, DisplayModalParamsType, FrakClient, FrakWalletSdkConfig,
|
|
2
|
+
import { DisplayEmbeddedWalletParamsType, DisplayModalParamsType, FrakClient, FrakWalletSdkConfig, GetMerchantInformationReturnType, ModalRpcStepsResultType, ModalStepTypes, OpenSsoParamsType, OpenSsoReturnType, PrepareSsoParamsType, SendTransactionReturnType, SiweAuthenticateReturnType, WalletStatusReturnType } from "@frak-labs/core-sdk";
|
|
3
3
|
import { ProcessReferralOptions, SendTransactionParams, SiweAuthenticateModalParams } from "@frak-labs/core-sdk/actions";
|
|
4
|
-
import { Hex } from "viem";
|
|
5
4
|
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
6
5
|
import { UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
|
7
6
|
import { FrakRpcError } from "@frak-labs/frame-connector";
|
|
8
|
-
import * as
|
|
7
|
+
import * as react from "react";
|
|
9
8
|
import { CSSProperties, PropsWithChildren, ReactNode } from "react";
|
|
10
9
|
|
|
11
10
|
//#region src/hook/helper/useReferralInteraction.d.ts
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* Helper hook to automatically submit a referral interaction when detected
|
|
15
13
|
*
|
|
16
14
|
* @group hooks
|
|
17
15
|
*
|
|
18
16
|
* @param args
|
|
19
|
-
* @param args.productId - The product id to interact with (if not specified will be recomputed from the current domain)
|
|
20
17
|
* @param args.modalConfig - The modal configuration to display if the user is not logged in
|
|
21
18
|
* @param args.options - Some options for the referral interaction
|
|
22
19
|
*
|
|
@@ -27,31 +24,29 @@ import { CSSProperties, PropsWithChildren, ReactNode } from "react";
|
|
|
27
24
|
* @see {@link @frak-labs/core-sdk!actions.processReferral | `processReferral()`} for more details on the automatic referral handling process
|
|
28
25
|
*/
|
|
29
26
|
declare function useReferralInteraction({
|
|
30
|
-
productId,
|
|
31
27
|
modalConfig,
|
|
32
28
|
options
|
|
33
29
|
}?: {
|
|
34
|
-
productId?: Hex;
|
|
35
30
|
modalConfig?: DisplayEmbeddedWalletParamsType;
|
|
36
31
|
options?: ProcessReferralOptions;
|
|
37
|
-
}): Error | ("processing" | "no-referrer" | "idle" | "success" | "no-wallet" | "
|
|
32
|
+
}): Error | ("processing" | "no-referrer" | "idle" | "success" | "no-wallet" | "error" | "self-referral");
|
|
38
33
|
//#endregion
|
|
39
34
|
//#region src/hook/useDisplayModal.d.ts
|
|
40
35
|
/** @ignore */
|
|
41
|
-
type MutationOptions$
|
|
36
|
+
type MutationOptions$3<T extends ModalStepTypes[]> = Omit<UseMutationOptions<ModalRpcStepsResultType<T>, FrakRpcError, DisplayModalParamsType<T>>, "mutationFn" | "mutationKey">;
|
|
42
37
|
/** @inline */
|
|
43
38
|
interface UseDisplayModalParams<T extends ModalStepTypes[] = ModalStepTypes[]> {
|
|
44
39
|
/**
|
|
45
40
|
* Optional mutation options, see {@link @tanstack/react-query!useMutation | `useMutation()`} for more infos
|
|
46
41
|
*/
|
|
47
|
-
mutations?: MutationOptions$
|
|
42
|
+
mutations?: MutationOptions$3<T>;
|
|
48
43
|
}
|
|
49
44
|
/**
|
|
50
45
|
* Hook that return a mutation helping to display a modal to the user
|
|
51
46
|
*
|
|
52
47
|
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.displayModal | `displayModal()`} action
|
|
53
48
|
*
|
|
54
|
-
* @param args
|
|
49
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
55
50
|
*
|
|
56
51
|
* @typeParam T
|
|
57
52
|
* The modal steps types to display (the result will correspond to the steps types asked in params)
|
|
@@ -91,52 +86,52 @@ declare function useFrakClient(): _frak_labs_core_sdk0.FrakClient | undefined;
|
|
|
91
86
|
*/
|
|
92
87
|
declare function useFrakConfig(): _frak_labs_core_sdk0.FrakWalletSdkConfig;
|
|
93
88
|
//#endregion
|
|
94
|
-
//#region src/hook/
|
|
89
|
+
//#region src/hook/useGetMerchantInformation.d.ts
|
|
95
90
|
/** @ignore */
|
|
96
|
-
type QueryOptions = Omit<UseQueryOptions<
|
|
91
|
+
type QueryOptions = Omit<UseQueryOptions<GetMerchantInformationReturnType, FrakRpcError, GetMerchantInformationReturnType>, "queryKey" | "queryFn">;
|
|
97
92
|
/** @inline */
|
|
98
|
-
interface
|
|
93
|
+
interface UseGetMerchantInformationParams {
|
|
99
94
|
/**
|
|
100
95
|
* Optional query options, see {@link @tanstack/react-query!useQuery | `useQuery()`} for more infos
|
|
101
96
|
*/
|
|
102
97
|
query?: QueryOptions;
|
|
103
98
|
}
|
|
104
99
|
/**
|
|
105
|
-
* Hook that return a query helping to get the current
|
|
100
|
+
* Hook that return a query helping to get the current merchant information
|
|
106
101
|
*
|
|
107
|
-
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.
|
|
102
|
+
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.getMerchantInformation | `getMerchantInformation()`} action
|
|
108
103
|
*
|
|
109
|
-
* @param args
|
|
104
|
+
* @param args - Optional config object with `query` for customizing the underlying {@link @tanstack/react-query!useQuery | `useQuery()`}
|
|
110
105
|
*
|
|
111
106
|
* @group hooks
|
|
112
107
|
*
|
|
113
108
|
* @returns
|
|
114
|
-
* The query hook wrapping the `
|
|
115
|
-
* The `data` result is a {@link @frak-labs/core-sdk!index.
|
|
109
|
+
* The query hook wrapping the `getMerchantInformation()` action
|
|
110
|
+
* The `data` result is a {@link @frak-labs/core-sdk!index.GetMerchantInformationReturnType | `GetMerchantInformationReturnType`}
|
|
116
111
|
*
|
|
117
|
-
* @see {@link @frak-labs/core-sdk!actions.
|
|
112
|
+
* @see {@link @frak-labs/core-sdk!actions.getMerchantInformation | `getMerchantInformation()`} for more info about the underlying action
|
|
118
113
|
* @see {@link @tanstack/react-query!useQuery | `useQuery()`} for more info about the useQuery options and response
|
|
119
114
|
*/
|
|
120
|
-
declare function
|
|
115
|
+
declare function useGetMerchantInformation({
|
|
121
116
|
query
|
|
122
|
-
}?:
|
|
117
|
+
}?: UseGetMerchantInformationParams): _tanstack_react_query0.UseQueryResult<GetMerchantInformationReturnType, FrakRpcError<undefined>>;
|
|
123
118
|
//#endregion
|
|
124
119
|
//#region src/hook/useOpenSso.d.ts
|
|
125
120
|
/** @ignore */
|
|
126
|
-
type MutationOptions$
|
|
121
|
+
type MutationOptions$2 = Omit<UseMutationOptions<OpenSsoReturnType, FrakRpcError, OpenSsoParamsType>, "mutationFn" | "mutationKey">;
|
|
127
122
|
/** @inline */
|
|
128
123
|
interface UseOpenSsoParams {
|
|
129
124
|
/**
|
|
130
125
|
* Optional mutation options, see {@link @tanstack/react-query!useMutation | `useMutation()`} for more infos
|
|
131
126
|
*/
|
|
132
|
-
mutations?: MutationOptions$
|
|
127
|
+
mutations?: MutationOptions$2;
|
|
133
128
|
}
|
|
134
129
|
/**
|
|
135
130
|
* Hook that return a mutation helping to open the SSO page
|
|
136
131
|
*
|
|
137
132
|
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.openSso | `openSso()`} action
|
|
138
133
|
*
|
|
139
|
-
* @param args
|
|
134
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
140
135
|
*
|
|
141
136
|
* @group hooks
|
|
142
137
|
*
|
|
@@ -191,37 +186,6 @@ declare function useOpenSso({
|
|
|
191
186
|
*/
|
|
192
187
|
declare function usePrepareSso(params: PrepareSsoParamsType): _tanstack_react_query0.UseQueryResult<_frak_labs_core_sdk0.PrepareSsoReturnType, Error>;
|
|
193
188
|
//#endregion
|
|
194
|
-
//#region src/hook/useSendInteraction.d.ts
|
|
195
|
-
/** @ignore */
|
|
196
|
-
type MutationOptions$2 = Omit<UseMutationOptions<SendInteractionReturnType, FrakRpcError, SendInteractionParamsType>, "mutationFn" | "mutationKey">;
|
|
197
|
-
/** @inline */
|
|
198
|
-
interface UseSendInteractionParams {
|
|
199
|
-
/**
|
|
200
|
-
* Optional mutation options, see {@link @tanstack/react-query!useMutation | `useMutation()`} for more infos
|
|
201
|
-
*/
|
|
202
|
-
mutations?: MutationOptions$2;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Hook that return a mutation helping to send a user interaction
|
|
206
|
-
*
|
|
207
|
-
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.sendInteraction | `sendInteraction()`} action
|
|
208
|
-
*
|
|
209
|
-
* @param args
|
|
210
|
-
*
|
|
211
|
-
* @group hooks
|
|
212
|
-
*
|
|
213
|
-
* @returns
|
|
214
|
-
* The mutation hook wrapping the `sendInteraction()` action
|
|
215
|
-
* The `mutate` and `mutateAsync` argument is of type {@link @frak-labs/core-sdk!index.SendInteractionParamsType | `SendInteractionParamsType`}
|
|
216
|
-
* The `data` result is a {@link @frak-labs/core-sdk!index.SendInteractionReturnType | `SendInteractionReturnType`}
|
|
217
|
-
*
|
|
218
|
-
* @see {@link @frak-labs/core-sdk!actions.sendInteraction | `sendInteraction()`} for more info about the underlying action
|
|
219
|
-
* @see {@link @tanstack/react-query!useMutation | `useMutation()`} for more info about the mutation options and response
|
|
220
|
-
*/
|
|
221
|
-
declare function useSendInteraction({
|
|
222
|
-
mutations
|
|
223
|
-
}?: UseSendInteractionParams): _tanstack_react_query0.UseMutationResult<SendInteractionReturnType, FrakRpcError<undefined>, SendInteractionParamsType, unknown>;
|
|
224
|
-
//#endregion
|
|
225
189
|
//#region src/hook/useSendTransaction.d.ts
|
|
226
190
|
/** @ignore */
|
|
227
191
|
type MutationOptions$1 = Omit<UseMutationOptions<SendTransactionReturnType, FrakRpcError, SendTransactionParams>, "mutationFn" | "mutationKey">;
|
|
@@ -237,7 +201,7 @@ interface UseSendTransactionParams {
|
|
|
237
201
|
*
|
|
238
202
|
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.sendTransaction | `sendTransaction()`} action
|
|
239
203
|
*
|
|
240
|
-
* @param args
|
|
204
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
241
205
|
*
|
|
242
206
|
* @group hooks
|
|
243
207
|
*
|
|
@@ -266,9 +230,9 @@ interface UseSiweAuthenticateParams {
|
|
|
266
230
|
/**
|
|
267
231
|
* Hook that return a mutation helping to send perform a SIWE authentication
|
|
268
232
|
*
|
|
269
|
-
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.
|
|
233
|
+
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.siweAuthenticate | `siweAuthenticate()`} action
|
|
270
234
|
*
|
|
271
|
-
* @param args
|
|
235
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
272
236
|
*
|
|
273
237
|
* @group hooks
|
|
274
238
|
*
|
|
@@ -306,7 +270,7 @@ declare function useWalletStatus(): _tanstack_react_query0.UseQueryResult<Wallet
|
|
|
306
270
|
* The context that will keep the Frak Wallet SDK configuration
|
|
307
271
|
* @ignore
|
|
308
272
|
*/
|
|
309
|
-
declare const FrakConfigContext:
|
|
273
|
+
declare const FrakConfigContext: react.Context<FrakWalletSdkConfig | undefined>;
|
|
310
274
|
/**
|
|
311
275
|
* Props to instantiate the Frak Wallet SDK configuration provider
|
|
312
276
|
*
|
|
@@ -328,14 +292,14 @@ type FrakConfigProviderProps = {
|
|
|
328
292
|
*
|
|
329
293
|
* @param parameters
|
|
330
294
|
*/
|
|
331
|
-
declare function FrakConfigProvider(parameters: PropsWithChildren<FrakConfigProviderProps>):
|
|
295
|
+
declare function FrakConfigProvider(parameters: PropsWithChildren<FrakConfigProviderProps>): react.FunctionComponentElement<react.ProviderProps<FrakWalletSdkConfig | undefined>>;
|
|
332
296
|
//#endregion
|
|
333
297
|
//#region src/provider/FrakIFrameClientProvider.d.ts
|
|
334
298
|
/**
|
|
335
299
|
* The context that will keep the Frak Wallet SDK client
|
|
336
300
|
* @ignore
|
|
337
301
|
*/
|
|
338
|
-
declare const FrakIFrameClientContext:
|
|
302
|
+
declare const FrakIFrameClientContext: react.Context<FrakClient | undefined>;
|
|
339
303
|
/**
|
|
340
304
|
* Props to instantiate the Frak Wallet SDK configuration provider
|
|
341
305
|
*
|
|
@@ -363,6 +327,6 @@ declare function FrakIFrameClientProvider({
|
|
|
363
327
|
}: {
|
|
364
328
|
style?: CSSProperties;
|
|
365
329
|
children?: ReactNode;
|
|
366
|
-
}):
|
|
330
|
+
}): react.FunctionComponentElement<react.FragmentProps>;
|
|
367
331
|
//#endregion
|
|
368
|
-
export { FrakConfigContext, FrakConfigProvider, type FrakConfigProviderProps, FrakIFrameClientContext, type FrakIFrameClientProps, FrakIFrameClientProvider, useDisplayModal, useFrakClient, useFrakConfig,
|
|
332
|
+
export { FrakConfigContext, FrakConfigProvider, type FrakConfigProviderProps, FrakIFrameClientContext, type FrakIFrameClientProps, FrakIFrameClientProvider, useDisplayModal, useFrakClient, useFrakConfig, useGetMerchantInformation, useOpenSso, usePrepareSso, useReferralInteraction, useSendTransactionAction, useSiweAuthenticate, useWalletStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,21 +2,18 @@ import { ProcessReferralOptions, SendTransactionParams, SiweAuthenticateModalPar
|
|
|
2
2
|
import { FrakRpcError } from "@frak-labs/frame-connector";
|
|
3
3
|
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
4
4
|
import { UseMutationOptions, UseQueryOptions } from "@tanstack/react-query";
|
|
5
|
-
import * as
|
|
5
|
+
import * as react from "react";
|
|
6
6
|
import { CSSProperties, PropsWithChildren, ReactNode } from "react";
|
|
7
7
|
import * as _frak_labs_core_sdk0 from "@frak-labs/core-sdk";
|
|
8
|
-
import { DisplayEmbeddedWalletParamsType, DisplayModalParamsType, FrakClient, FrakWalletSdkConfig,
|
|
9
|
-
import { Hex } from "viem";
|
|
8
|
+
import { DisplayEmbeddedWalletParamsType, DisplayModalParamsType, FrakClient, FrakWalletSdkConfig, GetMerchantInformationReturnType, ModalRpcStepsResultType, ModalStepTypes, OpenSsoParamsType, OpenSsoReturnType, PrepareSsoParamsType, SendTransactionReturnType, SiweAuthenticateReturnType, WalletStatusReturnType } from "@frak-labs/core-sdk";
|
|
10
9
|
|
|
11
10
|
//#region src/hook/helper/useReferralInteraction.d.ts
|
|
12
|
-
|
|
13
11
|
/**
|
|
14
12
|
* Helper hook to automatically submit a referral interaction when detected
|
|
15
13
|
*
|
|
16
14
|
* @group hooks
|
|
17
15
|
*
|
|
18
16
|
* @param args
|
|
19
|
-
* @param args.productId - The product id to interact with (if not specified will be recomputed from the current domain)
|
|
20
17
|
* @param args.modalConfig - The modal configuration to display if the user is not logged in
|
|
21
18
|
* @param args.options - Some options for the referral interaction
|
|
22
19
|
*
|
|
@@ -27,31 +24,29 @@ import { Hex } from "viem";
|
|
|
27
24
|
* @see {@link @frak-labs/core-sdk!actions.processReferral | `processReferral()`} for more details on the automatic referral handling process
|
|
28
25
|
*/
|
|
29
26
|
declare function useReferralInteraction({
|
|
30
|
-
productId,
|
|
31
27
|
modalConfig,
|
|
32
28
|
options
|
|
33
29
|
}?: {
|
|
34
|
-
productId?: Hex;
|
|
35
30
|
modalConfig?: DisplayEmbeddedWalletParamsType;
|
|
36
31
|
options?: ProcessReferralOptions;
|
|
37
|
-
}): Error | ("processing" | "no-referrer" | "idle" | "success" | "no-wallet" | "
|
|
32
|
+
}): Error | ("processing" | "no-referrer" | "idle" | "success" | "no-wallet" | "error" | "self-referral");
|
|
38
33
|
//#endregion
|
|
39
34
|
//#region src/hook/useDisplayModal.d.ts
|
|
40
35
|
/** @ignore */
|
|
41
|
-
type MutationOptions$
|
|
36
|
+
type MutationOptions$3<T extends ModalStepTypes[]> = Omit<UseMutationOptions<ModalRpcStepsResultType<T>, FrakRpcError, DisplayModalParamsType<T>>, "mutationFn" | "mutationKey">;
|
|
42
37
|
/** @inline */
|
|
43
38
|
interface UseDisplayModalParams<T extends ModalStepTypes[] = ModalStepTypes[]> {
|
|
44
39
|
/**
|
|
45
40
|
* Optional mutation options, see {@link @tanstack/react-query!useMutation | `useMutation()`} for more infos
|
|
46
41
|
*/
|
|
47
|
-
mutations?: MutationOptions$
|
|
42
|
+
mutations?: MutationOptions$3<T>;
|
|
48
43
|
}
|
|
49
44
|
/**
|
|
50
45
|
* Hook that return a mutation helping to display a modal to the user
|
|
51
46
|
*
|
|
52
47
|
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.displayModal | `displayModal()`} action
|
|
53
48
|
*
|
|
54
|
-
* @param args
|
|
49
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
55
50
|
*
|
|
56
51
|
* @typeParam T
|
|
57
52
|
* The modal steps types to display (the result will correspond to the steps types asked in params)
|
|
@@ -91,52 +86,52 @@ declare function useFrakClient(): _frak_labs_core_sdk0.FrakClient | undefined;
|
|
|
91
86
|
*/
|
|
92
87
|
declare function useFrakConfig(): _frak_labs_core_sdk0.FrakWalletSdkConfig;
|
|
93
88
|
//#endregion
|
|
94
|
-
//#region src/hook/
|
|
89
|
+
//#region src/hook/useGetMerchantInformation.d.ts
|
|
95
90
|
/** @ignore */
|
|
96
|
-
type QueryOptions = Omit<UseQueryOptions<
|
|
91
|
+
type QueryOptions = Omit<UseQueryOptions<GetMerchantInformationReturnType, FrakRpcError, GetMerchantInformationReturnType>, "queryKey" | "queryFn">;
|
|
97
92
|
/** @inline */
|
|
98
|
-
interface
|
|
93
|
+
interface UseGetMerchantInformationParams {
|
|
99
94
|
/**
|
|
100
95
|
* Optional query options, see {@link @tanstack/react-query!useQuery | `useQuery()`} for more infos
|
|
101
96
|
*/
|
|
102
97
|
query?: QueryOptions;
|
|
103
98
|
}
|
|
104
99
|
/**
|
|
105
|
-
* Hook that return a query helping to get the current
|
|
100
|
+
* Hook that return a query helping to get the current merchant information
|
|
106
101
|
*
|
|
107
|
-
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.
|
|
102
|
+
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.getMerchantInformation | `getMerchantInformation()`} action
|
|
108
103
|
*
|
|
109
|
-
* @param args
|
|
104
|
+
* @param args - Optional config object with `query` for customizing the underlying {@link @tanstack/react-query!useQuery | `useQuery()`}
|
|
110
105
|
*
|
|
111
106
|
* @group hooks
|
|
112
107
|
*
|
|
113
108
|
* @returns
|
|
114
|
-
* The query hook wrapping the `
|
|
115
|
-
* The `data` result is a {@link @frak-labs/core-sdk!index.
|
|
109
|
+
* The query hook wrapping the `getMerchantInformation()` action
|
|
110
|
+
* The `data` result is a {@link @frak-labs/core-sdk!index.GetMerchantInformationReturnType | `GetMerchantInformationReturnType`}
|
|
116
111
|
*
|
|
117
|
-
* @see {@link @frak-labs/core-sdk!actions.
|
|
112
|
+
* @see {@link @frak-labs/core-sdk!actions.getMerchantInformation | `getMerchantInformation()`} for more info about the underlying action
|
|
118
113
|
* @see {@link @tanstack/react-query!useQuery | `useQuery()`} for more info about the useQuery options and response
|
|
119
114
|
*/
|
|
120
|
-
declare function
|
|
115
|
+
declare function useGetMerchantInformation({
|
|
121
116
|
query
|
|
122
|
-
}?:
|
|
117
|
+
}?: UseGetMerchantInformationParams): _tanstack_react_query0.UseQueryResult<GetMerchantInformationReturnType, FrakRpcError<undefined>>;
|
|
123
118
|
//#endregion
|
|
124
119
|
//#region src/hook/useOpenSso.d.ts
|
|
125
120
|
/** @ignore */
|
|
126
|
-
type MutationOptions$
|
|
121
|
+
type MutationOptions$2 = Omit<UseMutationOptions<OpenSsoReturnType, FrakRpcError, OpenSsoParamsType>, "mutationFn" | "mutationKey">;
|
|
127
122
|
/** @inline */
|
|
128
123
|
interface UseOpenSsoParams {
|
|
129
124
|
/**
|
|
130
125
|
* Optional mutation options, see {@link @tanstack/react-query!useMutation | `useMutation()`} for more infos
|
|
131
126
|
*/
|
|
132
|
-
mutations?: MutationOptions$
|
|
127
|
+
mutations?: MutationOptions$2;
|
|
133
128
|
}
|
|
134
129
|
/**
|
|
135
130
|
* Hook that return a mutation helping to open the SSO page
|
|
136
131
|
*
|
|
137
132
|
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.openSso | `openSso()`} action
|
|
138
133
|
*
|
|
139
|
-
* @param args
|
|
134
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
140
135
|
*
|
|
141
136
|
* @group hooks
|
|
142
137
|
*
|
|
@@ -191,37 +186,6 @@ declare function useOpenSso({
|
|
|
191
186
|
*/
|
|
192
187
|
declare function usePrepareSso(params: PrepareSsoParamsType): _tanstack_react_query0.UseQueryResult<_frak_labs_core_sdk0.PrepareSsoReturnType, Error>;
|
|
193
188
|
//#endregion
|
|
194
|
-
//#region src/hook/useSendInteraction.d.ts
|
|
195
|
-
/** @ignore */
|
|
196
|
-
type MutationOptions$2 = Omit<UseMutationOptions<SendInteractionReturnType, FrakRpcError, SendInteractionParamsType>, "mutationFn" | "mutationKey">;
|
|
197
|
-
/** @inline */
|
|
198
|
-
interface UseSendInteractionParams {
|
|
199
|
-
/**
|
|
200
|
-
* Optional mutation options, see {@link @tanstack/react-query!useMutation | `useMutation()`} for more infos
|
|
201
|
-
*/
|
|
202
|
-
mutations?: MutationOptions$2;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Hook that return a mutation helping to send a user interaction
|
|
206
|
-
*
|
|
207
|
-
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.sendInteraction | `sendInteraction()`} action
|
|
208
|
-
*
|
|
209
|
-
* @param args
|
|
210
|
-
*
|
|
211
|
-
* @group hooks
|
|
212
|
-
*
|
|
213
|
-
* @returns
|
|
214
|
-
* The mutation hook wrapping the `sendInteraction()` action
|
|
215
|
-
* The `mutate` and `mutateAsync` argument is of type {@link @frak-labs/core-sdk!index.SendInteractionParamsType | `SendInteractionParamsType`}
|
|
216
|
-
* The `data` result is a {@link @frak-labs/core-sdk!index.SendInteractionReturnType | `SendInteractionReturnType`}
|
|
217
|
-
*
|
|
218
|
-
* @see {@link @frak-labs/core-sdk!actions.sendInteraction | `sendInteraction()`} for more info about the underlying action
|
|
219
|
-
* @see {@link @tanstack/react-query!useMutation | `useMutation()`} for more info about the mutation options and response
|
|
220
|
-
*/
|
|
221
|
-
declare function useSendInteraction({
|
|
222
|
-
mutations
|
|
223
|
-
}?: UseSendInteractionParams): _tanstack_react_query0.UseMutationResult<SendInteractionReturnType, FrakRpcError<undefined>, SendInteractionParamsType, unknown>;
|
|
224
|
-
//#endregion
|
|
225
189
|
//#region src/hook/useSendTransaction.d.ts
|
|
226
190
|
/** @ignore */
|
|
227
191
|
type MutationOptions$1 = Omit<UseMutationOptions<SendTransactionReturnType, FrakRpcError, SendTransactionParams>, "mutationFn" | "mutationKey">;
|
|
@@ -237,7 +201,7 @@ interface UseSendTransactionParams {
|
|
|
237
201
|
*
|
|
238
202
|
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.sendTransaction | `sendTransaction()`} action
|
|
239
203
|
*
|
|
240
|
-
* @param args
|
|
204
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
241
205
|
*
|
|
242
206
|
* @group hooks
|
|
243
207
|
*
|
|
@@ -266,9 +230,9 @@ interface UseSiweAuthenticateParams {
|
|
|
266
230
|
/**
|
|
267
231
|
* Hook that return a mutation helping to send perform a SIWE authentication
|
|
268
232
|
*
|
|
269
|
-
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.
|
|
233
|
+
* It's a {@link @tanstack/react-query!home | `tanstack`} wrapper around the {@link @frak-labs/core-sdk!actions.siweAuthenticate | `siweAuthenticate()`} action
|
|
270
234
|
*
|
|
271
|
-
* @param args
|
|
235
|
+
* @param args - Optional config object with `mutations` for customizing the underlying {@link @tanstack/react-query!useMutation | `useMutation()`}
|
|
272
236
|
*
|
|
273
237
|
* @group hooks
|
|
274
238
|
*
|
|
@@ -306,7 +270,7 @@ declare function useWalletStatus(): _tanstack_react_query0.UseQueryResult<Wallet
|
|
|
306
270
|
* The context that will keep the Frak Wallet SDK configuration
|
|
307
271
|
* @ignore
|
|
308
272
|
*/
|
|
309
|
-
declare const FrakConfigContext:
|
|
273
|
+
declare const FrakConfigContext: react.Context<FrakWalletSdkConfig | undefined>;
|
|
310
274
|
/**
|
|
311
275
|
* Props to instantiate the Frak Wallet SDK configuration provider
|
|
312
276
|
*
|
|
@@ -328,14 +292,14 @@ type FrakConfigProviderProps = {
|
|
|
328
292
|
*
|
|
329
293
|
* @param parameters
|
|
330
294
|
*/
|
|
331
|
-
declare function FrakConfigProvider(parameters: PropsWithChildren<FrakConfigProviderProps>):
|
|
295
|
+
declare function FrakConfigProvider(parameters: PropsWithChildren<FrakConfigProviderProps>): react.FunctionComponentElement<react.ProviderProps<FrakWalletSdkConfig | undefined>>;
|
|
332
296
|
//#endregion
|
|
333
297
|
//#region src/provider/FrakIFrameClientProvider.d.ts
|
|
334
298
|
/**
|
|
335
299
|
* The context that will keep the Frak Wallet SDK client
|
|
336
300
|
* @ignore
|
|
337
301
|
*/
|
|
338
|
-
declare const FrakIFrameClientContext:
|
|
302
|
+
declare const FrakIFrameClientContext: react.Context<FrakClient | undefined>;
|
|
339
303
|
/**
|
|
340
304
|
* Props to instantiate the Frak Wallet SDK configuration provider
|
|
341
305
|
*
|
|
@@ -363,6 +327,6 @@ declare function FrakIFrameClientProvider({
|
|
|
363
327
|
}: {
|
|
364
328
|
style?: CSSProperties;
|
|
365
329
|
children?: ReactNode;
|
|
366
|
-
}):
|
|
330
|
+
}): react.FunctionComponentElement<react.FragmentProps>;
|
|
367
331
|
//#endregion
|
|
368
|
-
export { FrakConfigContext, FrakConfigProvider, type FrakConfigProviderProps, FrakIFrameClientContext, type FrakIFrameClientProps, FrakIFrameClientProvider, useDisplayModal, useFrakClient, useFrakConfig,
|
|
332
|
+
export { FrakConfigContext, FrakConfigProvider, type FrakConfigProviderProps, FrakIFrameClientContext, type FrakIFrameClientProps, FrakIFrameClientProvider, useDisplayModal, useFrakClient, useFrakConfig, useGetMerchantInformation, useOpenSso, usePrepareSso, useReferralInteraction, useSendTransactionAction, useSiweAuthenticate, useWalletStatus };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{displayModal as e,
|
|
1
|
+
import{displayModal as e,getMerchantInformation as t,openSso as n,prepareSso as r,processReferral as i,sendTransaction as a,siweAuthenticate as o,watchWalletStatus as s}from"@frak-labs/core-sdk/actions";import{ClientNotFound as c,FrakRpcError as l,RpcErrorCodes as u}from"@frak-labs/frame-connector";import{useMutation as d,useQuery as f,useQueryClient as p}from"@tanstack/react-query";import{Fragment as m,createContext as h,createElement as g,useCallback as _,useContext as v,useEffect as y,useMemo as b,useState as x}from"react";import{FrakContextManager as S,baseIframeProps as C,createIFrameFrakClient as w}from"@frak-labs/core-sdk";const T=h(void 0);function E(e){let{children:t,config:n}=e;return g(T.Provider,{value:{...n,walletUrl:n.walletUrl??`https://wallet.frak.id`,domain:n.domain??(typeof window<`u`?window?.location?.host:void 0)??`not-found`}},t)}const D=h(void 0);function O({style:e,children:t}){let n=I(),[r,i]=x(void 0);return g(m,null,g(`iframe`,{...C,src:`${n.walletUrl}/listener`,style:e??C.style,ref:e=>{!e||r||i(w({iframe:e,config:n}))}}),g(D.Provider,{value:r},t))}function k(){return v(D)}function A(){let e=p(),t=k(),n=_(t=>{e.setQueryData([`frak-sdk`,`wallet-status-listener`],t)},[e]);return f({gcTime:0,staleTime:0,queryKey:[`frak-sdk`,`wallet-status-listener`],queryFn:async()=>{if(!t)throw new c;return s(t,n)},enabled:!!t})}function j(){let[e,t]=x(!1);return y(()=>{t(!0)},[]),e}function M(){let e=j(),[t,n]=x(e?window.location:void 0);return y(()=>{if(!e)return;function r(){n(window.location)}return t||r(),window.addEventListener(`popstate`,r),()=>{window.removeEventListener(`popstate`,r)}},[e,t]),{location:t,href:b(()=>t?.href,[t?.href])}}function N(){let{location:e}=M();return{frakContext:b(()=>e?.href?S.parse({url:e.href}):null,[e?.href]),updateContext:_(t=>{console.log(`Updating context`,{newContext:t}),S.replaceUrl({url:e?.href,context:t})},[e?.href])}}function P({modalConfig:e,options:t}={}){let n=k(),{frakContext:r}=N(),{data:a}=A(),{data:o,error:s,status:l}=f({gcTime:0,staleTime:0,queryKey:[`frak-sdk`,`auto-referral-interaction`,r?.r??`no-referrer`,a?.key??`no-wallet-status`],queryFn:()=>{if(!n)throw new c;return i(n,{walletStatus:a,frakContext:r,modalConfig:e,options:t})},enabled:!!a});return b(()=>l===`pending`?`processing`:l===`error`?s:o||`idle`,[o,l,s])}function F({mutations:t}={}){let n=k();return d({...t,mutationKey:[`frak-sdk`,`display-modal`],mutationFn:async t=>{if(!n)throw new c;return e(n,t)}})}function I(){let e=v(T);if(!e)throw new l(u.configError,`Frak config not found`);return e}function L({query:e}={}){let n=k();return f({...e,queryKey:[`frak-sdk`,`get-merchant-information`],queryFn:async()=>{if(!n)throw new c;return t(n)}})}function R({mutations:e}={}){let t=k();return d({...e,mutationKey:[`frak-sdk`,`open-sso`],mutationFn:async e=>{if(!t)throw new c;return n(t,e)}})}function z(e){let t=k();return f({queryKey:[`frak-sdk`,`prepare-sso`,e],queryFn:async()=>{if(!t)throw new c;return r(t,e)}})}function B({mutations:e}={}){let t=k();return d({...e,mutationKey:[`frak-sdk`,`send-transaction`],mutationFn:async e=>{if(!t)throw new c;return a(t,e)}})}function V({mutations:e}={}){let t=k();return d({...e,mutationKey:[`frak-sdk`,`siwe-authenticate`,t?.config.domain??`no-domain`],mutationFn:async e=>{if(!t)throw new c;return o(t,e)}})}export{T as FrakConfigContext,E as FrakConfigProvider,D as FrakIFrameClientContext,O as FrakIFrameClientProvider,F as useDisplayModal,k as useFrakClient,I as useFrakConfig,L as useGetMerchantInformation,R as useOpenSso,z as usePrepareSso,P as useReferralInteraction,B as useSendTransactionAction,V as useSiweAuthenticate,A as useWalletStatus};
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"url": "https://twitter.com/QNivelais"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.2.0",
|
|
15
15
|
"description": "React SDK of the Frak wallet, low level library to interact directly with the frak ecosystem.",
|
|
16
16
|
"repository": {
|
|
17
17
|
"url": "https://github.com/frak-id/wallet",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
},
|
|
34
34
|
"type": "module",
|
|
35
35
|
"files": [
|
|
36
|
-
"/dist"
|
|
36
|
+
"/dist",
|
|
37
|
+
"/src"
|
|
37
38
|
],
|
|
38
39
|
"main": "./dist/index.cjs",
|
|
39
40
|
"types": "./dist/index.d.cts",
|
|
@@ -58,7 +59,7 @@
|
|
|
58
59
|
"build": "tsdown",
|
|
59
60
|
"build:watch": "tsdown --watch",
|
|
60
61
|
"check-exports": "attw --pack .",
|
|
61
|
-
"typecheck": "
|
|
62
|
+
"typecheck": "tsgo --noEmit",
|
|
62
63
|
"test": "vitest",
|
|
63
64
|
"test:ui": "vitest --ui",
|
|
64
65
|
"test:coverage": "vitest --coverage",
|
|
@@ -66,8 +67,8 @@
|
|
|
66
67
|
"publish": "echo 'Publishing react...'"
|
|
67
68
|
},
|
|
68
69
|
"dependencies": {
|
|
69
|
-
"@frak-labs/frame-connector": "0.
|
|
70
|
-
"@frak-labs/core-sdk": "0.
|
|
70
|
+
"@frak-labs/frame-connector": "0.2.0",
|
|
71
|
+
"@frak-labs/core-sdk": "0.2.0"
|
|
71
72
|
},
|
|
72
73
|
"peerDependencies": {
|
|
73
74
|
"viem": "^2.x",
|
|
@@ -78,22 +79,22 @@
|
|
|
78
79
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
79
80
|
"@frak-labs/dev-tooling": "0.0.0",
|
|
80
81
|
"@frak-labs/test-foundation": "0.1.0",
|
|
81
|
-
"@frak-labs/wallet-shared": "0.0.
|
|
82
|
-
"@tanstack/react-query": "^5.90.
|
|
82
|
+
"@frak-labs/wallet-shared": "0.0.2",
|
|
83
|
+
"@tanstack/react-query": "^5.90.20",
|
|
83
84
|
"@testing-library/jest-dom": "^6.9.1",
|
|
84
|
-
"@testing-library/react": "^16.3.
|
|
85
|
+
"@testing-library/react": "^16.3.2",
|
|
85
86
|
"@testing-library/react-hooks": "^8.0.1",
|
|
86
87
|
"@testing-library/user-event": "^14.6.1",
|
|
87
88
|
"@types/jsdom": "^27.0.0",
|
|
88
|
-
"@types/node": "^24.10.
|
|
89
|
-
"@types/react": "19.2.
|
|
90
|
-
"@vitest/coverage-v8": "^4.0.
|
|
91
|
-
"@vitest/ui": "^4.0.
|
|
92
|
-
"jsdom": "^
|
|
93
|
-
"react": "^19.2.
|
|
94
|
-
"tsdown": "^0.
|
|
89
|
+
"@types/node": "^24.10.13",
|
|
90
|
+
"@types/react": "19.2.13",
|
|
91
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
92
|
+
"@vitest/ui": "^4.0.18",
|
|
93
|
+
"jsdom": "^28.0.0",
|
|
94
|
+
"react": "^19.2.4",
|
|
95
|
+
"tsdown": "^0.20.3",
|
|
95
96
|
"typescript": "^5",
|
|
96
97
|
"viem": "^2.39.0",
|
|
97
|
-
"vitest": "^4.0.
|
|
98
|
+
"vitest": "^4.0.18"
|
|
98
99
|
}
|
|
99
100
|
}
|