@0xsequence/connect 5.0.8 → 5.0.9

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 (111) hide show
  1. package/dist/cjs/constants/version.d.ts +1 -1
  2. package/dist/cjs/constants/version.js +1 -1
  3. package/dist/cjs/hooks/useChain.d.ts +29 -1
  4. package/dist/cjs/hooks/useChain.d.ts.map +1 -1
  5. package/dist/cjs/hooks/useChain.js +27 -1
  6. package/dist/cjs/hooks/useChain.js.map +1 -1
  7. package/dist/cjs/hooks/useCheckWaasFeeOptions.d.ts +41 -0
  8. package/dist/cjs/hooks/useCheckWaasFeeOptions.d.ts.map +1 -1
  9. package/dist/cjs/hooks/useCheckWaasFeeOptions.js +41 -0
  10. package/dist/cjs/hooks/useCheckWaasFeeOptions.js.map +1 -1
  11. package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts +32 -0
  12. package/dist/cjs/hooks/useDirectEcosystemConnect.d.ts.map +1 -1
  13. package/dist/cjs/hooks/useDirectEcosystemConnect.js +32 -0
  14. package/dist/cjs/hooks/useDirectEcosystemConnect.js.map +1 -1
  15. package/dist/cjs/hooks/useOpenConnectModal.d.ts +1 -1
  16. package/dist/cjs/hooks/useOpenConnectModal.js +1 -1
  17. package/dist/cjs/hooks/useProjectAccessKey.d.ts +17 -0
  18. package/dist/cjs/hooks/useProjectAccessKey.d.ts.map +1 -1
  19. package/dist/cjs/hooks/useProjectAccessKey.js +17 -0
  20. package/dist/cjs/hooks/useProjectAccessKey.js.map +1 -1
  21. package/dist/cjs/hooks/useSignInEmail.d.ts +20 -0
  22. package/dist/cjs/hooks/useSignInEmail.d.ts.map +1 -1
  23. package/dist/cjs/hooks/useSignInEmail.js +20 -0
  24. package/dist/cjs/hooks/useSignInEmail.js.map +1 -1
  25. package/dist/cjs/hooks/useTheme.d.ts +26 -0
  26. package/dist/cjs/hooks/useTheme.d.ts.map +1 -1
  27. package/dist/cjs/hooks/useTheme.js +26 -0
  28. package/dist/cjs/hooks/useTheme.js.map +1 -1
  29. package/dist/cjs/hooks/useWaasConfirmationHandler.d.ts +39 -0
  30. package/dist/cjs/hooks/useWaasConfirmationHandler.d.ts.map +1 -1
  31. package/dist/cjs/hooks/useWaasConfirmationHandler.js +39 -0
  32. package/dist/cjs/hooks/useWaasConfirmationHandler.js.map +1 -1
  33. package/dist/cjs/hooks/useWaasEmailAuth.d.ts +46 -0
  34. package/dist/cjs/hooks/useWaasEmailAuth.d.ts.map +1 -1
  35. package/dist/cjs/hooks/useWaasEmailAuth.js +46 -0
  36. package/dist/cjs/hooks/useWaasEmailAuth.js.map +1 -1
  37. package/dist/cjs/hooks/useWaasEmailConflict.d.ts +39 -0
  38. package/dist/cjs/hooks/useWaasEmailConflict.d.ts.map +1 -1
  39. package/dist/cjs/hooks/useWaasEmailConflict.js +39 -0
  40. package/dist/cjs/hooks/useWaasEmailConflict.js.map +1 -1
  41. package/dist/cjs/hooks/useWaasGetLinkedWalletsSignature.d.ts +60 -0
  42. package/dist/cjs/hooks/useWaasGetLinkedWalletsSignature.d.ts.map +1 -1
  43. package/dist/cjs/hooks/useWaasGetLinkedWalletsSignature.js +50 -0
  44. package/dist/cjs/hooks/useWaasGetLinkedWalletsSignature.js.map +1 -1
  45. package/dist/cjs/hooks/useWaasLinkWallet.d.ts +57 -0
  46. package/dist/cjs/hooks/useWaasLinkWallet.d.ts.map +1 -1
  47. package/dist/cjs/hooks/useWaasLinkWallet.js +42 -0
  48. package/dist/cjs/hooks/useWaasLinkWallet.js.map +1 -1
  49. package/dist/cjs/hooks/useWalletSettings.d.ts +28 -0
  50. package/dist/cjs/hooks/useWalletSettings.d.ts.map +1 -1
  51. package/dist/cjs/hooks/useWalletSettings.js +28 -0
  52. package/dist/cjs/hooks/useWalletSettings.js.map +1 -1
  53. package/dist/cjs/hooks/useWallets.d.ts.map +1 -1
  54. package/dist/cjs/hooks/useWallets.js +17 -1
  55. package/dist/cjs/hooks/useWallets.js.map +1 -1
  56. package/dist/esm/constants/version.d.ts +1 -1
  57. package/dist/esm/constants/version.js +1 -1
  58. package/dist/esm/hooks/useChain.d.ts +29 -1
  59. package/dist/esm/hooks/useChain.d.ts.map +1 -1
  60. package/dist/esm/hooks/useChain.js +27 -1
  61. package/dist/esm/hooks/useChain.js.map +1 -1
  62. package/dist/esm/hooks/useCheckWaasFeeOptions.d.ts +41 -0
  63. package/dist/esm/hooks/useCheckWaasFeeOptions.d.ts.map +1 -1
  64. package/dist/esm/hooks/useCheckWaasFeeOptions.js +41 -0
  65. package/dist/esm/hooks/useCheckWaasFeeOptions.js.map +1 -1
  66. package/dist/esm/hooks/useDirectEcosystemConnect.d.ts +32 -0
  67. package/dist/esm/hooks/useDirectEcosystemConnect.d.ts.map +1 -1
  68. package/dist/esm/hooks/useDirectEcosystemConnect.js +32 -0
  69. package/dist/esm/hooks/useDirectEcosystemConnect.js.map +1 -1
  70. package/dist/esm/hooks/useOpenConnectModal.d.ts +1 -1
  71. package/dist/esm/hooks/useOpenConnectModal.js +1 -1
  72. package/dist/esm/hooks/useProjectAccessKey.d.ts +17 -0
  73. package/dist/esm/hooks/useProjectAccessKey.d.ts.map +1 -1
  74. package/dist/esm/hooks/useProjectAccessKey.js +17 -0
  75. package/dist/esm/hooks/useProjectAccessKey.js.map +1 -1
  76. package/dist/esm/hooks/useSignInEmail.d.ts +20 -0
  77. package/dist/esm/hooks/useSignInEmail.d.ts.map +1 -1
  78. package/dist/esm/hooks/useSignInEmail.js +20 -0
  79. package/dist/esm/hooks/useSignInEmail.js.map +1 -1
  80. package/dist/esm/hooks/useTheme.d.ts +26 -0
  81. package/dist/esm/hooks/useTheme.d.ts.map +1 -1
  82. package/dist/esm/hooks/useTheme.js +26 -0
  83. package/dist/esm/hooks/useTheme.js.map +1 -1
  84. package/dist/esm/hooks/useWaasConfirmationHandler.d.ts +39 -0
  85. package/dist/esm/hooks/useWaasConfirmationHandler.d.ts.map +1 -1
  86. package/dist/esm/hooks/useWaasConfirmationHandler.js +39 -0
  87. package/dist/esm/hooks/useWaasConfirmationHandler.js.map +1 -1
  88. package/dist/esm/hooks/useWaasEmailAuth.d.ts +46 -0
  89. package/dist/esm/hooks/useWaasEmailAuth.d.ts.map +1 -1
  90. package/dist/esm/hooks/useWaasEmailAuth.js +46 -0
  91. package/dist/esm/hooks/useWaasEmailAuth.js.map +1 -1
  92. package/dist/esm/hooks/useWaasEmailConflict.d.ts +39 -0
  93. package/dist/esm/hooks/useWaasEmailConflict.d.ts.map +1 -1
  94. package/dist/esm/hooks/useWaasEmailConflict.js +39 -0
  95. package/dist/esm/hooks/useWaasEmailConflict.js.map +1 -1
  96. package/dist/esm/hooks/useWaasGetLinkedWalletsSignature.d.ts +60 -0
  97. package/dist/esm/hooks/useWaasGetLinkedWalletsSignature.d.ts.map +1 -1
  98. package/dist/esm/hooks/useWaasGetLinkedWalletsSignature.js +50 -0
  99. package/dist/esm/hooks/useWaasGetLinkedWalletsSignature.js.map +1 -1
  100. package/dist/esm/hooks/useWaasLinkWallet.d.ts +57 -0
  101. package/dist/esm/hooks/useWaasLinkWallet.d.ts.map +1 -1
  102. package/dist/esm/hooks/useWaasLinkWallet.js +42 -0
  103. package/dist/esm/hooks/useWaasLinkWallet.js.map +1 -1
  104. package/dist/esm/hooks/useWalletSettings.d.ts +28 -0
  105. package/dist/esm/hooks/useWalletSettings.d.ts.map +1 -1
  106. package/dist/esm/hooks/useWalletSettings.js +28 -0
  107. package/dist/esm/hooks/useWalletSettings.js.map +1 -1
  108. package/dist/esm/hooks/useWallets.d.ts.map +1 -1
  109. package/dist/esm/hooks/useWallets.js +17 -1
  110. package/dist/esm/hooks/useWallets.js.map +1 -1
  111. package/package.json +2 -2
@@ -8,6 +8,52 @@ interface SuccessResultV2 {
8
8
  version: 2;
9
9
  signInResponse: SignInResponse;
10
10
  }
11
+ /**
12
+ * Hook to handle email-based authentication flow for WaaS (Wallet-as-a-Service).
13
+ *
14
+ * This hook manages the complete email authentication process, including:
15
+ * - Initiating email authentication
16
+ * - Handling verification code submission
17
+ * - Managing loading and error states
18
+ * - Supporting both v1 (idToken) and v2 (SignInResponse) authentication formats
19
+ *
20
+ * @param {ExtendedConnector} [params.connector] - The WaaS connector to use for authentication.
21
+ * Optional because the user might not have selected a connector yet.
22
+ * @param {Function} params.onSuccess - Callback function called when authentication succeeds.
23
+ * Receives either a v1 result (with idToken) or v2 result (with SignInResponse).
24
+ *
25
+ * @returns {Object} An object containing:
26
+ * - `inProgress` - Whether authentication is currently in progress
27
+ * - `loading` - Whether a specific authentication operation is loading
28
+ * - `error` - Any error that occurred during authentication
29
+ * - `initiateAuth` - Function to start the email authentication process
30
+ * - `sendChallengeAnswer` - Function to submit the verification code
31
+ * - `cancel` - Function to cancel the authentication process
32
+ * - `resetError` - Function to clear any error state
33
+ *
34
+ * @example
35
+ * ```tsx
36
+ * const {
37
+ * inProgress,
38
+ * loading,
39
+ * error,
40
+ * initiateAuth,
41
+ * sendChallengeAnswer,
42
+ * resetError
43
+ * } = useEmailAuth({
44
+ * connector: emailConnector,
45
+ * onSuccess: async (result) => {
46
+ * if ('signInResponse' in result) {
47
+ * // Handle v2 authentication
48
+ * await storage.setItem('email', result.signInResponse.email)
49
+ * } else {
50
+ * // Handle v1 authentication
51
+ * await storage.setItem('idToken', result.idToken)
52
+ * }
53
+ * }
54
+ * })
55
+ * ```
56
+ */
11
57
  export declare function useEmailAuth({ connector, onSuccess }: {
12
58
  connector?: ExtendedConnector;
13
59
  onSuccess: (result: SuccessResultV1 | SuccessResultV2) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasEmailAuth.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAK/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,CAAA;IACV,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,SAAS,EACV,EAAE;IACD,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,KAAK,IAAI,CAAA;CAC/D;;;;2BAYkC,MAAM;mCACE,MAAM;;;;;;;0BAmBZ,MAAM;kCA2BE,MAAM;;;EAwClD"}
1
+ {"version":3,"file":"useWaasEmailAuth.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAK/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,CAAA;IACV,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,SAAS,EACV,EAAE;IACD,SAAS,CAAC,EAAE,iBAAiB,CAAA;IAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,KAAK,IAAI,CAAA;CAC/D;;;;2BAYkC,MAAM;mCACE,MAAM;;;;;;;0BAmBZ,MAAM;kCA2BE,MAAM;;;EAwClD"}
@@ -4,6 +4,52 @@ exports.useEmailAuth = useEmailAuth;
4
4
  const react_1 = require("react");
5
5
  // import { EmailWaasOptions } from '../connectors/email/emailWaas'
6
6
  const wagmiConnectors_1 = require("../connectors/wagmiConnectors");
7
+ /**
8
+ * Hook to handle email-based authentication flow for WaaS (Wallet-as-a-Service).
9
+ *
10
+ * This hook manages the complete email authentication process, including:
11
+ * - Initiating email authentication
12
+ * - Handling verification code submission
13
+ * - Managing loading and error states
14
+ * - Supporting both v1 (idToken) and v2 (SignInResponse) authentication formats
15
+ *
16
+ * @param {ExtendedConnector} [params.connector] - The WaaS connector to use for authentication.
17
+ * Optional because the user might not have selected a connector yet.
18
+ * @param {Function} params.onSuccess - Callback function called when authentication succeeds.
19
+ * Receives either a v1 result (with idToken) or v2 result (with SignInResponse).
20
+ *
21
+ * @returns {Object} An object containing:
22
+ * - `inProgress` - Whether authentication is currently in progress
23
+ * - `loading` - Whether a specific authentication operation is loading
24
+ * - `error` - Any error that occurred during authentication
25
+ * - `initiateAuth` - Function to start the email authentication process
26
+ * - `sendChallengeAnswer` - Function to submit the verification code
27
+ * - `cancel` - Function to cancel the authentication process
28
+ * - `resetError` - Function to clear any error state
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * const {
33
+ * inProgress,
34
+ * loading,
35
+ * error,
36
+ * initiateAuth,
37
+ * sendChallengeAnswer,
38
+ * resetError
39
+ * } = useEmailAuth({
40
+ * connector: emailConnector,
41
+ * onSuccess: async (result) => {
42
+ * if ('signInResponse' in result) {
43
+ * // Handle v2 authentication
44
+ * await storage.setItem('email', result.signInResponse.email)
45
+ * } else {
46
+ * // Handle v1 authentication
47
+ * await storage.setItem('idToken', result.idToken)
48
+ * }
49
+ * }
50
+ * })
51
+ * ```
52
+ */
7
53
  function useEmailAuth({ connector, onSuccess }) {
8
54
  const [_email, setEmail] = (0, react_1.useState)('');
9
55
  const [error, setError] = (0, react_1.useState)();
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasEmailAuth.js","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWaasEmailAuth.js","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailAuth.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,46 @@
1
+ /**
2
+ * Represents formatted email conflict information returned by the hook.
3
+ * This is a user-friendly version of the EmailConflictInfo from the WaaS service.
4
+ */
1
5
  export type FormattedEmailConflictInfo = {
6
+ /** The email address that caused the conflict */
2
7
  email: string;
8
+ /** User-friendly description of the account type (e.g., 'Google login', 'Email login') */
3
9
  type: string;
4
10
  };
11
+ /**
12
+ * Hook to handle email conflict detection and resolution for WaaS (Wallet-as-a-Service) authentication.
13
+ *
14
+ * This hook monitors all WaaS connectors for email conflicts that occur during sign-in attempts.
15
+ * A conflict happens when a user tries to sign up with an email that's already associated with
16
+ * a different authentication method (e.g., trying to use Google sign-in when the email was
17
+ * previously used with Apple sign-in).
18
+ *
19
+ * @returns An object containing:
20
+ * - `toggleEmailConflictModal` - Function to manually show/hide the conflict modal
21
+ * - `isEmailConflictOpen` - Whether the conflict modal is currently open
22
+ * - `emailConflictInfo` - Formatted information about the conflict (email and account type)
23
+ * - `forceCreate` - Function to force create a new account despite the conflict
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * const {
28
+ * isEmailConflictOpen,
29
+ * emailConflictInfo,
30
+ * toggleEmailConflictModal
31
+ * } = useEmailConflict()
32
+ *
33
+ * // When a conflict is detected
34
+ * if (isEmailConflictOpen && emailConflictInfo) {
35
+ * console.log(
36
+ * `Email ${emailConflictInfo.email} is already used with ${emailConflictInfo.type}`
37
+ * )
38
+ * }
39
+ *
40
+ * // Close the conflict modal
41
+ * toggleEmailConflictModal(false)
42
+ * ```
43
+ */
5
44
  export declare const useEmailConflict: () => {
6
45
  toggleEmailConflictModal: import("react").Dispatch<import("react").SetStateAction<boolean>>;
7
46
  isEmailConflictOpen: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasEmailConflict.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailConflict.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AA6BD,eAAO,MAAM,gBAAgB;;;uBAiCpB,0BAA0B;;CAKlC,CAAA"}
1
+ {"version":3,"file":"useWaasEmailConflict.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailConflict.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,gBAAgB;;;uBAiCpB,0BAA0B;;CAKlC,CAAA"}
@@ -4,6 +4,12 @@ exports.useEmailConflict = void 0;
4
4
  const waas_1 = require("@0xsequence/waas");
5
5
  const react_1 = require("react");
6
6
  const wagmi_1 = require("wagmi");
7
+ /**
8
+ * Helper function to convert raw account type information into user-friendly text.
9
+ *
10
+ * @param info - The raw email conflict information from WaaS
11
+ * @returns A user-friendly string describing the account type
12
+ */
7
13
  const accountTypeText = (info) => {
8
14
  if (!info) {
9
15
  return 'Unknown account type';
@@ -26,6 +32,39 @@ const accountTypeText = (info) => {
26
32
  }
27
33
  return info.type;
28
34
  };
35
+ /**
36
+ * Hook to handle email conflict detection and resolution for WaaS (Wallet-as-a-Service) authentication.
37
+ *
38
+ * This hook monitors all WaaS connectors for email conflicts that occur during sign-in attempts.
39
+ * A conflict happens when a user tries to sign up with an email that's already associated with
40
+ * a different authentication method (e.g., trying to use Google sign-in when the email was
41
+ * previously used with Apple sign-in).
42
+ *
43
+ * @returns An object containing:
44
+ * - `toggleEmailConflictModal` - Function to manually show/hide the conflict modal
45
+ * - `isEmailConflictOpen` - Whether the conflict modal is currently open
46
+ * - `emailConflictInfo` - Formatted information about the conflict (email and account type)
47
+ * - `forceCreate` - Function to force create a new account despite the conflict
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * const {
52
+ * isEmailConflictOpen,
53
+ * emailConflictInfo,
54
+ * toggleEmailConflictModal
55
+ * } = useEmailConflict()
56
+ *
57
+ * // When a conflict is detected
58
+ * if (isEmailConflictOpen && emailConflictInfo) {
59
+ * console.log(
60
+ * `Email ${emailConflictInfo.email} is already used with ${emailConflictInfo.type}`
61
+ * )
62
+ * }
63
+ *
64
+ * // Close the conflict modal
65
+ * toggleEmailConflictModal(false)
66
+ * ```
67
+ */
29
68
  const useEmailConflict = () => {
30
69
  const { connectors } = (0, wagmi_1.useConnect)();
31
70
  const forceCreateFuncRef = (0, react_1.useRef)(null);
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasEmailConflict.js","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailConflict.ts"],"names":[],"mappings":";;;AAAA,2CAAgF;AAChF,iCAAmD;AACnD,iCAAkC;AAOlC,MAAM,eAAe,GAAG,CAAC,IAA8B,EAAE,EAAE;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAY,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAY,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAY,CAAC,IAAI,EAAE,CAAC;QACpC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,6BAA6B;gBAChC,OAAO,cAAc,CAAA;YACvB,KAAK,2BAA2B;gBAC9B,OAAO,aAAa,CAAA;YACtB;gBACE,OAAO,sBAAsB,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC,CAAA;AAEM,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAU,GAAE,CAAA;IACnC,MAAM,kBAAkB,GAAG,IAAA,cAAM,EAAmD,IAAI,CAAC,CAAA;IACzF,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAA2B,IAAI,CAAC,CAAA;IAE1F,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAE,SAAiB,CAAC,YAAY,CAAC,CAAA;IACxF,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAE,SAAiB,CAAC,YAA4B,CAAC,CAAA;IAEtG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,0CAA0C;YAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;gBAC/C,kBAAkB,CAAC,OAAO,GAAG,WAAW,CAAA;gBACxC,oBAAoB,CAAC,IAAI,CAAC,CAAA;gBAC1B,WAAW,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC,CAAC,CACH,CAAA;YAED,sDAAsD;YACtD,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC,CAAA;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO;QACL,wBAAwB,EAAE,WAAW;QACrC,mBAAmB,EAAE,MAAM;QAC3B,iBAAiB,EAAE;YACjB,KAAK,EAAE,iBAAiB,EAAE,KAAK,IAAI,SAAS;YAC5C,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC;SACX;QAC/B,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAtCY,QAAA,gBAAgB,oBAsC5B"}
1
+ {"version":3,"file":"useWaasEmailConflict.js","sourceRoot":"","sources":["../../../src/hooks/useWaasEmailConflict.ts"],"names":[],"mappings":";;;AAAA,2CAAgF;AAChF,iCAAmD;AACnD,iCAAkC;AAalC;;;;;GAKG;AACH,MAAM,eAAe,GAAG,CAAC,IAA8B,EAAE,EAAE;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAY,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAY,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAY,CAAC,IAAI,EAAE,CAAC;QACpC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,6BAA6B;gBAChC,OAAO,cAAc,CAAA;YACvB,KAAK,2BAA2B;gBAC9B,OAAO,aAAa,CAAA;YACtB;gBACE,OAAO,sBAAsB,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACI,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAU,GAAE,CAAA;IACnC,MAAM,kBAAkB,GAAG,IAAA,cAAM,EAAmD,IAAI,CAAC,CAAA;IACzF,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAA2B,IAAI,CAAC,CAAA;IAE1F,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAE,SAAiB,CAAC,YAAY,CAAC,CAAA;IACxF,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAE,SAAiB,CAAC,YAA4B,CAAC,CAAA;IAEtG,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,0CAA0C;YAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;gBAC/C,kBAAkB,CAAC,OAAO,GAAG,WAAW,CAAA;gBACxC,oBAAoB,CAAC,IAAI,CAAC,CAAA;gBAC1B,WAAW,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC,CAAC,CACH,CAAA;YAED,sDAAsD;YACtD,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC3C,CAAC,CAAA;QACH,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO;QACL,wBAAwB,EAAE,WAAW;QACrC,mBAAmB,EAAE,MAAM;QAC3B,iBAAiB,EAAE;YACjB,KAAK,EAAE,iBAAiB,EAAE,KAAK,IAAI,SAAS;YAC5C,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC;SACX;QAC/B,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,OAAO,kBAAkB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC,CAAA;AAtCY,QAAA,gBAAgB,oBAsC5B"}
@@ -1,13 +1,73 @@
1
1
  import { Address } from 'viem';
2
2
  import { Connector } from 'wagmi';
3
+ /**
4
+ * Result object returned by the useWaasGetLinkedWalletsSignature hook.
5
+ * Contains all necessary information about the signature for wallet linking.
6
+ */
3
7
  interface UseWaasSignatureForLinkingResult {
8
+ /** The message that was signed */
4
9
  message: string | undefined;
10
+ /** The signature of the message */
5
11
  signature: string | undefined;
12
+ /** The address that signed the message */
6
13
  address: string | undefined;
14
+ /** The chain ID used for signing */
7
15
  chainId: number;
16
+ /** Whether the signature is currently being generated */
8
17
  loading: boolean;
18
+ /** Any error that occurred during signature generation */
9
19
  error: Error | null;
10
20
  }
21
+ /**
22
+ * Hook to manage signatures required for linking wallets in a WaaS (Wallet-as-a-Service) context.
23
+ *
24
+ * This hook handles the generation and caching of signatures that are used to prove ownership
25
+ * of a parent wallet when linking child wallets. The signatures are cached in localStorage
26
+ * for 24 hours to avoid unnecessary re-signing.
27
+ *
28
+ * Features:
29
+ * - Automatic signature generation when needed
30
+ * - 24-hour signature caching in localStorage
31
+ * - Automatic cleanup of old signatures
32
+ * - Error handling for signature generation
33
+ *
34
+ * @param connection - The current wallet connection object containing:
35
+ * - accounts: Array of connected addresses (uses the first one)
36
+ * - chainId: The current chain ID
37
+ * - connector: The wallet connector instance
38
+ *
39
+ * @returns An object containing:
40
+ * - `message` - The message that was signed
41
+ * - `signature` - The generated signature
42
+ * - `address` - The address that signed the message
43
+ * - `chainId` - The chain ID used for signing
44
+ * - `loading` - Whether signature generation is in progress
45
+ * - `error` - Any error that occurred during the process
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * const {
50
+ * message,
51
+ * signature,
52
+ * address,
53
+ * loading,
54
+ * error
55
+ * } = useWaasGetLinkedWalletsSignature(waasConnection)
56
+ *
57
+ * if (loading) {
58
+ * return <div>Generating signature...</div>
59
+ * }
60
+ *
61
+ * if (error) {
62
+ * return <div>Error: {error.message}</div>
63
+ * }
64
+ *
65
+ * if (signature) {
66
+ * // Use the signature for wallet linking
67
+ * console.log(`Got signature from ${address} for message: ${message}`)
68
+ * }
69
+ * ```
70
+ */
11
71
  export declare const useWaasGetLinkedWalletsSignature: (connection: {
12
72
  accounts: readonly [Address, ...Address[]];
13
73
  chainId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasGetLinkedWalletsSignature.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasGetLinkedWalletsSignature.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,UAAU,gCAAgC;IACxC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAKD,eAAO,MAAM,gCAAgC,GAC3C,YACI;IACE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;CACrB,GACD,SAAS,KACZ,gCAwIF,CAAA"}
1
+ {"version":3,"file":"useWaasGetLinkedWalletsSignature.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasGetLinkedWalletsSignature.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC;;;GAGG;AACH,UAAU,gCAAgC;IACxC,kCAAkC;IAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,mCAAmC;IACnC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAA;IAChB,0DAA0D;IAC1D,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,gCAAgC,GAC3C,YACI;IACE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;CACrB,GACD,SAAS,KACZ,gCAwIF,CAAA"}
@@ -6,6 +6,56 @@ const react_1 = require("react");
6
6
  const walletLinking_1 = require("../constants/walletLinking");
7
7
  const WAAS_SIGNATURE_PREFIX = '@0xsequence.waas_signature-';
8
8
  const getSignatureKey = (address) => `${WAAS_SIGNATURE_PREFIX}${address}`;
9
+ /**
10
+ * Hook to manage signatures required for linking wallets in a WaaS (Wallet-as-a-Service) context.
11
+ *
12
+ * This hook handles the generation and caching of signatures that are used to prove ownership
13
+ * of a parent wallet when linking child wallets. The signatures are cached in localStorage
14
+ * for 24 hours to avoid unnecessary re-signing.
15
+ *
16
+ * Features:
17
+ * - Automatic signature generation when needed
18
+ * - 24-hour signature caching in localStorage
19
+ * - Automatic cleanup of old signatures
20
+ * - Error handling for signature generation
21
+ *
22
+ * @param connection - The current wallet connection object containing:
23
+ * - accounts: Array of connected addresses (uses the first one)
24
+ * - chainId: The current chain ID
25
+ * - connector: The wallet connector instance
26
+ *
27
+ * @returns An object containing:
28
+ * - `message` - The message that was signed
29
+ * - `signature` - The generated signature
30
+ * - `address` - The address that signed the message
31
+ * - `chainId` - The chain ID used for signing
32
+ * - `loading` - Whether signature generation is in progress
33
+ * - `error` - Any error that occurred during the process
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * const {
38
+ * message,
39
+ * signature,
40
+ * address,
41
+ * loading,
42
+ * error
43
+ * } = useWaasGetLinkedWalletsSignature(waasConnection)
44
+ *
45
+ * if (loading) {
46
+ * return <div>Generating signature...</div>
47
+ * }
48
+ *
49
+ * if (error) {
50
+ * return <div>Error: {error.message}</div>
51
+ * }
52
+ *
53
+ * if (signature) {
54
+ * // Use the signature for wallet linking
55
+ * console.log(`Got signature from ${address} for message: ${message}`)
56
+ * }
57
+ * ```
58
+ */
9
59
  const useWaasGetLinkedWalletsSignature = (connection) => {
10
60
  const sequenceWaas = connection?.connector?.sequenceWaas;
11
61
  const address = connection?.accounts[0];
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasGetLinkedWalletsSignature.js","sourceRoot":"","sources":["../../../src/hooks/useWaasGetLinkedWalletsSignature.ts"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;AAGZ,iCAA2C;AAI3C,8DAAmE;AAWnE,MAAM,qBAAqB,GAAG,6BAA6B,CAAA;AAC3D,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,qBAAqB,GAAG,OAAO,EAAE,CAAA;AAE1E,MAAM,gCAAgC,GAAG,CAC9C,UAMa,EACqB,EAAE;IACpC,MAAM,YAAY,GAA8B,UAAkB,EAAE,SAAS,EAAE,YAAY,CAAA;IAC3F,MAAM,OAAO,GAAG,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEvC,yDAAyD;IACzD,MAAM,YAAY,GAAG,GAAqC,EAAE;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7D,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAA;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;oBAClC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,2BAA2B;oBAE/D,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;wBAClB,OAAO;4BACL,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,OAAO,EAAE,sCAAsB;4BAC/B,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,IAAI;yBACZ,CAAA;oBACH,CAAC;oBACD,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnD,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,sCAAsB;YAC/B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI;SACZ,CAAA;IACH,CAAC,CAAA;IAED,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAmC,YAAY,CAAC,CAAA;IAEpF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,2CAA2C;QAC3C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACtB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,GAAG,KAAK,eAAe,CAAC,OAAO,CAAC,CAAC;aACxF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAE/C,kDAAkD;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBACjC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAA;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;gBAClC,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA,CAAC,2BAA2B;gBAE/D,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;oBAClB,SAAS,CAAC;wBACR,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,OAAO,EAAE,sCAAsB;wBAC/B,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;qBAAM,CAAC;oBACN,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAE5D,MAAM,OAAO,GAAG,8BAA8B,OAAO,EAAE,CAAA;gBACvD,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,WAAW,CAAC;oBACpD,OAAO;oBACP,OAAO,EAAE,sCAAsB;iBAChC,CAAC,CAAA;gBAEF,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAC3C,CAAC;gBAED,MAAM,SAAS,GAAG;oBAChB,OAAO;oBACP,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;oBACvC,OAAO;oBACP,OAAO,EAAE,sCAAsB;oBAC/B,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;iBACZ,CAAA;gBAED,qDAAqD;gBACrD,YAAY,CAAC,OAAO,CAClB,eAAe,CAAC,OAAO,CAAC,EACxB,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO;oBACP,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;oBACvC,OAAO;oBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CACH,CAAA;gBAED,SAAS,CAAC,SAAS,CAAC,CAAA;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC;oBACR,OAAO,EAAE,SAAS;oBAClB,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,sCAAsB;oBAC/B,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAc;iBACtB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC,CAAA;QAED,YAAY,EAAE,CAAA;IAChB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC,uCAAuC;IAErD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAhJY,QAAA,gCAAgC,oCAgJ5C"}
1
+ {"version":3,"file":"useWaasGetLinkedWalletsSignature.js","sourceRoot":"","sources":["../../../src/hooks/useWaasGetLinkedWalletsSignature.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,74 @@
1
1
  import { Connector } from 'wagmi';
2
+ /**
3
+ * Parameters required for linking a child wallet to a parent WaaS wallet.
4
+ */
2
5
  interface LinkWalletParams {
6
+ /** Chain ID used for the signature verification */
3
7
  signatureChainId: number;
8
+ /** Name of the connector used by the child wallet */
4
9
  connectorName: string;
10
+ /** Address of the child wallet to be linked */
5
11
  childWalletAddress: string;
12
+ /** Message signed by the child wallet */
6
13
  childMessage: string;
14
+ /** Signature from the child wallet */
7
15
  childSignature: string;
8
16
  }
17
+ /**
18
+ * Result object returned by the useWaasLinkWallet hook.
19
+ */
9
20
  interface UseWaasLinkWalletResult {
21
+ /** Function to link a child wallet to the parent WaaS wallet */
10
22
  linkWallet: (params: LinkWalletParams) => Promise<void>;
23
+ /** Function to remove a previously linked wallet */
11
24
  removeLinkedWallet: (linkedWalletAddress: string) => Promise<void>;
25
+ /** Whether a linking or unlinking operation is in progress */
12
26
  loading: boolean;
27
+ /** Any error that occurred during the operation */
13
28
  error: Error | null;
14
29
  }
30
+ /**
31
+ * Hook to manage wallet linking operations for WaaS (Wallet-as-a-Service).
32
+ *
33
+ * This hook provides functionality to link and unlink child wallets to/from a parent WaaS wallet.
34
+ * It handles the signature generation and API calls required for the linking process.
35
+ *
36
+ * The linking process involves:
37
+ * 1. Getting the parent WaaS wallet address
38
+ * 2. Signing a message with the parent wallet
39
+ * 3. Submitting both parent and child signatures to the API
40
+ *
41
+ * The unlinking process involves:
42
+ * 1. Getting the parent WaaS wallet address
43
+ * 2. Signing a removal message
44
+ * 3. Submitting the request to the API
45
+ *
46
+ * @param connector - The WaaS connector instance. Optional because the user might not have
47
+ * a WaaS wallet connected yet.
48
+ *
49
+ * @returns An object containing:
50
+ * - `linkWallet` - Function to link a child wallet
51
+ * - `removeLinkedWallet` - Function to remove a linked wallet
52
+ * - `loading` - Whether an operation is in progress
53
+ * - `error` - Any error that occurred
54
+ *
55
+ * @example
56
+ * ```tsx
57
+ * const { linkWallet, removeLinkedWallet, loading, error } = useWaasLinkWallet(waasConnector)
58
+ *
59
+ * // Link a wallet
60
+ * await linkWallet({
61
+ * signatureChainId: CHAIN_ID_FOR_SIGNATURE,
62
+ * connectorName: 'MetaMask',
63
+ * childWalletAddress: '0x...',
64
+ * childMessage: 'Link to parent wallet...',
65
+ * childSignature: '0x...'
66
+ * })
67
+ *
68
+ * // Remove a linked wallet
69
+ * await removeLinkedWallet('0x...')
70
+ * ```
71
+ */
15
72
  export declare const useWaasLinkWallet: (connector: Connector | undefined) => UseWaasLinkWalletResult;
16
73
  export {};
17
74
  //# sourceMappingURL=useWaasLinkWallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasLinkWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasLinkWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC,UAAU,gBAAgB;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,UAAU,uBAAuB;IAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED,eAAO,MAAM,iBAAiB,GAAI,WAAW,SAAS,GAAG,SAAS,KAAG,uBA4FpE,CAAA"}
1
+ {"version":3,"file":"useWaasLinkWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWaasLinkWallet.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIjC;;GAEG;AACH,UAAU,gBAAgB;IACxB,mDAAmD;IACnD,gBAAgB,EAAE,MAAM,CAAA;IACxB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAA;IACrB,+CAA+C;IAC/C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAA;IACpB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAA;CACvB;AAED;;GAEG;AACH,UAAU,uBAAuB;IAC/B,gEAAgE;IAChE,UAAU,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,oDAAoD;IACpD,kBAAkB,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,8DAA8D;IAC9D,OAAO,EAAE,OAAO,CAAA;IAChB,mDAAmD;IACnD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,SAAS,GAAG,SAAS,KAAG,uBA4FpE,CAAA"}
@@ -5,6 +5,48 @@ exports.useWaasLinkWallet = void 0;
5
5
  const hooks_1 = require("@0xsequence/hooks");
6
6
  const react_1 = require("react");
7
7
  const walletLinking_1 = require("../constants/walletLinking");
8
+ /**
9
+ * Hook to manage wallet linking operations for WaaS (Wallet-as-a-Service).
10
+ *
11
+ * This hook provides functionality to link and unlink child wallets to/from a parent WaaS wallet.
12
+ * It handles the signature generation and API calls required for the linking process.
13
+ *
14
+ * The linking process involves:
15
+ * 1. Getting the parent WaaS wallet address
16
+ * 2. Signing a message with the parent wallet
17
+ * 3. Submitting both parent and child signatures to the API
18
+ *
19
+ * The unlinking process involves:
20
+ * 1. Getting the parent WaaS wallet address
21
+ * 2. Signing a removal message
22
+ * 3. Submitting the request to the API
23
+ *
24
+ * @param connector - The WaaS connector instance. Optional because the user might not have
25
+ * a WaaS wallet connected yet.
26
+ *
27
+ * @returns An object containing:
28
+ * - `linkWallet` - Function to link a child wallet
29
+ * - `removeLinkedWallet` - Function to remove a linked wallet
30
+ * - `loading` - Whether an operation is in progress
31
+ * - `error` - Any error that occurred
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * const { linkWallet, removeLinkedWallet, loading, error } = useWaasLinkWallet(waasConnector)
36
+ *
37
+ * // Link a wallet
38
+ * await linkWallet({
39
+ * signatureChainId: CHAIN_ID_FOR_SIGNATURE,
40
+ * connectorName: 'MetaMask',
41
+ * childWalletAddress: '0x...',
42
+ * childMessage: 'Link to parent wallet...',
43
+ * childSignature: '0x...'
44
+ * })
45
+ *
46
+ * // Remove a linked wallet
47
+ * await removeLinkedWallet('0x...')
48
+ * ```
49
+ */
8
50
  const useWaasLinkWallet = (connector) => {
9
51
  const [loading, setLoading] = (0, react_1.useState)(false);
10
52
  const [error, setError] = (0, react_1.useState)(null);
@@ -1 +1 @@
1
- {"version":3,"file":"useWaasLinkWallet.js","sourceRoot":"","sources":["../../../src/hooks/useWaasLinkWallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWaasLinkWallet.js","sourceRoot":"","sources":["../../../src/hooks/useWaasLinkWallet.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,31 @@
1
+ /**
2
+ * Hook to access and modify wallet configuration settings.
3
+ *
4
+ * This hook provides access to wallet settings including:
5
+ * - Displayed assets configuration (which tokens/contracts to show)
6
+ * - Read-only networks (networks where transactions are disabled)
7
+ *
8
+ * @see {@link https://docs.sequence.xyz/sdk/web/hooks/useWalletSettings} for more detailed documentation.
9
+ *
10
+ * @returns An object containing:
11
+ * - `displayedAssets` - Array of assets to display, each with a contract address and chain ID
12
+ * - `readOnlyNetworks` - Array of network IDs where transactions are disabled
13
+ * - `setDisplayedAssets` - Function to update the list of displayed assets
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * const { displayedAssets, readOnlyNetworks, setDisplayedAssets } = useWalletSettings()
18
+ *
19
+ * // Check if a network is read-only
20
+ * const isReadOnly = readOnlyNetworks?.includes(1) // true if Ethereum mainnet is read-only
21
+ *
22
+ * // Update displayed assets
23
+ * setDisplayedAssets([
24
+ * { contractAddress: '0x...', chainId: 1 }, // ETH mainnet token
25
+ * { contractAddress: '0x...', chainId: 137 } // Polygon token
26
+ * ])
27
+ * ```
28
+ */
1
29
  export declare const useWalletSettings: () => {
2
30
  displayedAssets: import("..").DisplayedAsset[];
3
31
  readOnlyNetworks: number[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletSettings.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWalletSettings.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;;;CAQ7B,CAAA"}
1
+ {"version":3,"file":"useWalletSettings.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWalletSettings.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,iBAAiB;;;;CAQ7B,CAAA"}
@@ -2,6 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useWalletSettings = void 0;
4
4
  const WalletConfig_1 = require("../contexts/WalletConfig");
5
+ /**
6
+ * Hook to access and modify wallet configuration settings.
7
+ *
8
+ * This hook provides access to wallet settings including:
9
+ * - Displayed assets configuration (which tokens/contracts to show)
10
+ * - Read-only networks (networks where transactions are disabled)
11
+ *
12
+ * @see {@link https://docs.sequence.xyz/sdk/web/hooks/useWalletSettings} for more detailed documentation.
13
+ *
14
+ * @returns An object containing:
15
+ * - `displayedAssets` - Array of assets to display, each with a contract address and chain ID
16
+ * - `readOnlyNetworks` - Array of network IDs where transactions are disabled
17
+ * - `setDisplayedAssets` - Function to update the list of displayed assets
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * const { displayedAssets, readOnlyNetworks, setDisplayedAssets } = useWalletSettings()
22
+ *
23
+ * // Check if a network is read-only
24
+ * const isReadOnly = readOnlyNetworks?.includes(1) // true if Ethereum mainnet is read-only
25
+ *
26
+ * // Update displayed assets
27
+ * setDisplayedAssets([
28
+ * { contractAddress: '0x...', chainId: 1 }, // ETH mainnet token
29
+ * { contractAddress: '0x...', chainId: 137 } // Polygon token
30
+ * ])
31
+ * ```
32
+ */
5
33
  const useWalletSettings = () => {
6
34
  const { setDisplayedAssets, displayedAssets, readOnlyNetworks } = (0, WalletConfig_1.useWalletConfigContext)();
7
35
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useWalletSettings.js","sourceRoot":"","sources":["../../../src/hooks/useWalletSettings.ts"],"names":[],"mappings":";;;AAAA,2DAAiE;AAE1D,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAA,qCAAsB,GAAE,CAAA;IAE1F,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,kBAAkB;KACnB,CAAA;AACH,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B"}
1
+ {"version":3,"file":"useWalletSettings.js","sourceRoot":"","sources":["../../../src/hooks/useWalletSettings.ts"],"names":[],"mappings":";;;AAAA,2DAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAA,qCAAsB,GAAE,CAAA;IAE1F,OAAO;QACL,eAAe;QACf,gBAAgB;QAChB,kBAAkB;KACnB,CAAA;AACH,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWallets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAUvF,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AA6CD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IAChC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,oBAAoB,EAAE,UAAS,uBAA4B,KAAG,sBA0DpG,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IACzC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,UAAU,QAAO,oBAgF7B,CAAA"}
1
+ {"version":3,"file":"useWallets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useWallets.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAUvF,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AA6CD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IAChC,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAA;CACvB;AAYD,eAAO,MAAM,gBAAgB,GAAI,MAAM,oBAAoB,EAAE,UAAS,uBAA4B,KAAG,sBAmEpG,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IACzC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,UAAU,QAAO,oBAgF7B,CAAA"}