@chipi-stack/chipi-react 13.11.0 → 13.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,8 +3,8 @@
3
3
  var React = require('react');
4
4
  var reactQuery = require('@tanstack/react-query');
5
5
  var backend = require('@chipi-stack/backend');
6
- var jsxRuntime = require('react/jsx-runtime');
7
6
  var chipiPasskey = require('@chipi-stack/chipi-passkey');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
8
  var shared = require('@chipi-stack/shared');
9
9
  var types = require('@chipi-stack/types');
10
10
 
@@ -14,6 +14,10 @@ var React__default = /*#__PURE__*/_interopDefault(React);
14
14
 
15
15
  // src/context/ChipiProvider.tsx
16
16
  var ChipiContext = React.createContext(null);
17
+ var defaultPasskeyAdapter = {
18
+ // Web default: externalUserId is accepted for cross-platform API consistency
19
+ getWalletEncryptKey: async () => chipiPasskey.getWalletEncryptKey()
20
+ };
17
21
  var createDefaultQueryClient = () => new reactQuery.QueryClient({
18
22
  defaultOptions: {
19
23
  queries: {
@@ -33,15 +37,21 @@ var createDefaultQueryClient = () => new reactQuery.QueryClient({
33
37
  }
34
38
  }
35
39
  });
36
- function ChipiProvider({ children, config }) {
40
+ function ChipiProvider({
41
+ children,
42
+ config,
43
+ passkeyAdapter
44
+ }) {
37
45
  const queryClient = React__default.default.useMemo(() => createDefaultQueryClient(), []);
38
46
  const chipiSDK = React__default.default.useMemo(() => new backend.ChipiSDK(config), [config]);
47
+ const resolvedPasskeyAdapter = passkeyAdapter ?? defaultPasskeyAdapter;
39
48
  const value = React__default.default.useMemo(
40
49
  () => ({
41
50
  chipiSDK,
42
- config
51
+ config,
52
+ passkeyAdapter: resolvedPasskeyAdapter
43
53
  }),
44
- [chipiSDK, config]
54
+ [chipiSDK, config, resolvedPasskeyAdapter]
45
55
  );
46
56
  return /* @__PURE__ */ jsxRuntime.jsx(reactQuery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsxRuntime.jsx(ChipiContext.Provider, { value, children }) });
47
57
  }
@@ -557,15 +567,47 @@ function useMigrateWalletToPasskey() {
557
567
  reset: mutation.reset
558
568
  };
559
569
  }
560
- function useTransfer() {
570
+ function useUpdateWalletEncryption() {
561
571
  const { chipiSDK } = useChipiContext();
572
+ const queryClient = reactQuery.useQueryClient();
573
+ const mutation = reactQuery.useMutation({
574
+ mutationFn: async (input) => {
575
+ const { bearerToken, ...params } = input;
576
+ return chipiSDK.wallets.updateWalletEncryption(params, bearerToken);
577
+ },
578
+ onSuccess: (_, variables) => {
579
+ queryClient.invalidateQueries({
580
+ queryKey: ["chipi-wallet", variables.externalUserId]
581
+ });
582
+ }
583
+ });
584
+ return {
585
+ updateWalletEncryption: mutation.mutate,
586
+ updateWalletEncryptionAsync: mutation.mutateAsync,
587
+ data: mutation.data,
588
+ isLoading: mutation.isPending,
589
+ isError: mutation.isError,
590
+ error: mutation.error,
591
+ isSuccess: mutation.isSuccess,
592
+ reset: mutation.reset
593
+ };
594
+ }
595
+ function useTransfer() {
596
+ const { chipiSDK, passkeyAdapter } = useChipiContext();
562
597
  const mutation = reactQuery.useMutation(
563
598
  {
564
599
  mutationFn: async (input) => {
565
600
  let encryptKey = input.params.encryptKey;
566
601
  if (input.params.usePasskey) {
602
+ if (!input.params.externalUserId) {
603
+ throw new Error(
604
+ "externalUserId is required when usePasskey is true"
605
+ );
606
+ }
567
607
  try {
568
- const key = await chipiPasskey.getWalletEncryptKey();
608
+ const key = await passkeyAdapter.getWalletEncryptKey({
609
+ externalUserId: input.params.externalUserId
610
+ });
569
611
  if (!key) {
570
612
  throw new Error("Passkey authentication was cancelled");
571
613
  }
@@ -602,13 +644,18 @@ function useTransfer() {
602
644
  };
603
645
  }
604
646
  function useApprove() {
605
- const { chipiSDK } = useChipiContext();
647
+ const { chipiSDK, passkeyAdapter } = useChipiContext();
606
648
  const mutation = reactQuery.useMutation({
607
649
  mutationFn: async (params) => {
608
650
  let encryptKey = params.params.encryptKey;
609
651
  if (params.params.usePasskey) {
652
+ if (!params.params.externalUserId) {
653
+ throw new Error("externalUserId is required when usePasskey is true");
654
+ }
610
655
  try {
611
- const key = await chipiPasskey.getWalletEncryptKey();
656
+ const key = await passkeyAdapter.getWalletEncryptKey({
657
+ externalUserId: params.params.externalUserId
658
+ });
612
659
  if (!key) {
613
660
  throw new Error("Passkey authentication was cancelled");
614
661
  }
@@ -842,13 +889,20 @@ function useGetSku(input) {
842
889
  };
843
890
  }
844
891
  function useCallAnyContract() {
845
- const { chipiSDK } = useChipiContext();
892
+ const { chipiSDK, passkeyAdapter } = useChipiContext();
846
893
  const mutation = reactQuery.useMutation({
847
894
  mutationFn: async (params) => {
848
895
  let encryptKey = params.params.encryptKey;
849
896
  if (params.params.usePasskey) {
897
+ if (!params.params.externalUserId) {
898
+ throw new Error(
899
+ "externalUserId is required when usePasskey is true"
900
+ );
901
+ }
850
902
  try {
851
- const key = await chipiPasskey.getWalletEncryptKey();
903
+ const key = await passkeyAdapter.getWalletEncryptKey({
904
+ externalUserId: params.params.externalUserId
905
+ });
852
906
  if (!key) {
853
907
  throw new Error("Passkey authentication was cancelled");
854
908
  }
@@ -1076,5 +1130,6 @@ exports.usePurchaseSku = usePurchaseSku;
1076
1130
  exports.useRecordSendTransaction = useRecordSendTransaction;
1077
1131
  exports.useRevokeSessionKey = useRevokeSessionKey;
1078
1132
  exports.useTransfer = useTransfer;
1133
+ exports.useUpdateWalletEncryption = useUpdateWalletEncryption;
1079
1134
  //# sourceMappingURL=index.js.map
1080
1135
  //# sourceMappingURL=index.js.map