@mezo-org/passport 0.4.0-dev.0 → 0.4.0-dev.1

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 (101) hide show
  1. package/dist/src/api/auth.d.ts +73 -0
  2. package/dist/src/api/auth.d.ts.map +1 -0
  3. package/dist/src/api/auth.js +108 -0
  4. package/dist/src/api/auth.js.map +1 -0
  5. package/dist/src/hooks/constants.d.ts +7 -0
  6. package/dist/src/hooks/constants.d.ts.map +1 -0
  7. package/dist/src/hooks/constants.js +7 -0
  8. package/dist/src/hooks/constants.js.map +1 -0
  9. package/dist/src/hooks/index.d.ts +13 -0
  10. package/dist/src/hooks/index.d.ts.map +1 -1
  11. package/dist/src/hooks/index.js +13 -0
  12. package/dist/src/hooks/index.js.map +1 -1
  13. package/dist/src/hooks/useAuthApiClient.d.ts +2 -0
  14. package/dist/src/hooks/useAuthApiClient.d.ts.map +1 -0
  15. package/dist/src/hooks/useAuthApiClient.js +6 -0
  16. package/dist/src/hooks/useAuthApiClient.js.map +1 -0
  17. package/dist/src/hooks/useCreateAccount.d.ts +204 -0
  18. package/dist/src/hooks/useCreateAccount.d.ts.map +1 -0
  19. package/dist/src/hooks/useCreateAccount.js +23 -0
  20. package/dist/src/hooks/useCreateAccount.js.map +1 -0
  21. package/dist/src/hooks/useCreateSession.d.ts +246 -0
  22. package/dist/src/hooks/useCreateSession.d.ts.map +1 -0
  23. package/dist/src/hooks/useCreateSession.js +35 -0
  24. package/dist/src/hooks/useCreateSession.js.map +1 -0
  25. package/dist/src/hooks/useGetAccountByAddress.d.ts +6 -0
  26. package/dist/src/hooks/useGetAccountByAddress.d.ts.map +1 -0
  27. package/dist/src/hooks/useGetAccountByAddress.js +18 -0
  28. package/dist/src/hooks/useGetAccountByAddress.js.map +1 -0
  29. package/dist/src/hooks/useGetAccountByMezoId.d.ts +6 -0
  30. package/dist/src/hooks/useGetAccountByMezoId.d.ts.map +1 -0
  31. package/dist/src/hooks/useGetAccountByMezoId.js +18 -0
  32. package/dist/src/hooks/useGetAccountByMezoId.js.map +1 -0
  33. package/dist/src/hooks/useGetCurrentAccount.d.ts +12 -0
  34. package/dist/src/hooks/useGetCurrentAccount.d.ts.map +1 -0
  35. package/dist/src/hooks/useGetCurrentAccount.js +15 -0
  36. package/dist/src/hooks/useGetCurrentAccount.js.map +1 -0
  37. package/dist/src/hooks/useGetSession.d.ts +21 -0
  38. package/dist/src/hooks/useGetSession.d.ts.map +1 -0
  39. package/dist/src/hooks/useGetSession.js +15 -0
  40. package/dist/src/hooks/useGetSession.js.map +1 -0
  41. package/dist/src/hooks/useLinkAccount.d.ts +178 -0
  42. package/dist/src/hooks/useLinkAccount.d.ts.map +1 -0
  43. package/dist/src/hooks/useLinkAccount.js +32 -0
  44. package/dist/src/hooks/useLinkAccount.js.map +1 -0
  45. package/dist/src/hooks/usePassportContext.d.ts +3 -0
  46. package/dist/src/hooks/usePassportContext.d.ts.map +1 -0
  47. package/dist/src/hooks/usePassportContext.js +10 -0
  48. package/dist/src/hooks/usePassportContext.js.map +1 -0
  49. package/dist/src/hooks/useSignInWithDiscord.d.ts +242 -0
  50. package/dist/src/hooks/useSignInWithDiscord.d.ts.map +1 -0
  51. package/dist/src/hooks/useSignInWithDiscord.js +36 -0
  52. package/dist/src/hooks/useSignInWithDiscord.js.map +1 -0
  53. package/dist/src/hooks/useSignInWithWallet.d.ts +242 -0
  54. package/dist/src/hooks/useSignInWithWallet.d.ts.map +1 -0
  55. package/dist/src/hooks/useSignInWithWallet.js +48 -0
  56. package/dist/src/hooks/useSignInWithWallet.js.map +1 -0
  57. package/dist/src/hooks/useSignOut.d.ts +88 -0
  58. package/dist/src/hooks/useSignOut.d.ts.map +1 -0
  59. package/dist/src/hooks/useSignOut.js +17 -0
  60. package/dist/src/hooks/useSignOut.js.map +1 -0
  61. package/dist/src/hooks/useUpdateMezoId.d.ts +160 -0
  62. package/dist/src/hooks/useUpdateMezoId.d.ts.map +1 -0
  63. package/dist/src/hooks/useUpdateMezoId.js +23 -0
  64. package/dist/src/hooks/useUpdateMezoId.js.map +1 -0
  65. package/dist/src/index.d.ts +1 -0
  66. package/dist/src/index.d.ts.map +1 -1
  67. package/dist/src/index.js +1 -0
  68. package/dist/src/index.js.map +1 -1
  69. package/dist/src/provider.d.ts +20 -0
  70. package/dist/src/provider.d.ts.map +1 -0
  71. package/dist/src/provider.js +25 -0
  72. package/dist/src/provider.js.map +1 -0
  73. package/dist/src/utils/siww.d.ts +4 -0
  74. package/dist/src/utils/siww.d.ts.map +1 -0
  75. package/dist/src/utils/siww.js +19 -0
  76. package/dist/src/utils/siww.js.map +1 -0
  77. package/dist/src/utils/time.d.ts +5 -0
  78. package/dist/src/utils/time.d.ts.map +1 -0
  79. package/dist/src/utils/time.js +5 -0
  80. package/dist/src/utils/time.js.map +1 -0
  81. package/package.json +7 -5
  82. package/src/api/auth.ts +203 -0
  83. package/src/hooks/constants.ts +6 -0
  84. package/src/hooks/index.ts +13 -0
  85. package/src/hooks/useAuthApiClient.ts +6 -0
  86. package/src/hooks/useCreateAccount.ts +27 -0
  87. package/src/hooks/useCreateSession.ts +38 -0
  88. package/src/hooks/useGetAccountByAddress.ts +19 -0
  89. package/src/hooks/useGetAccountByMezoId.ts +19 -0
  90. package/src/hooks/useGetCurrentAccount.ts +16 -0
  91. package/src/hooks/useGetSession.ts +15 -0
  92. package/src/hooks/useLinkAccount.ts +45 -0
  93. package/src/hooks/usePassportContext.ts +11 -0
  94. package/src/hooks/useSignInWithDiscord.ts +44 -0
  95. package/src/hooks/useSignInWithWallet.ts +61 -0
  96. package/src/hooks/useSignOut.ts +19 -0
  97. package/src/hooks/useUpdateMezoId.ts +25 -0
  98. package/src/index.ts +1 -0
  99. package/src/provider.ts +57 -0
  100. package/src/utils/siww.ts +31 -0
  101. package/src/utils/time.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePassportContext.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePassportContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEnE,wBAAgB,kBAAkB,IAAI,oBAAoB,CAOzD"}
@@ -0,0 +1,10 @@
1
+ import { useContext } from "react";
2
+ import { PassportContext } from "../provider";
3
+ export function usePassportContext() {
4
+ const passportContext = useContext(PassportContext);
5
+ if (!passportContext) {
6
+ throw new Error("usePassportContext must be used within PassportProvider!");
7
+ }
8
+ return passportContext;
9
+ }
10
+ //# sourceMappingURL=usePassportContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePassportContext.js","sourceRoot":"","sources":["../../../src/hooks/usePassportContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,eAAe,EAAwB,MAAM,aAAa,CAAA;AAEnE,MAAM,UAAU,kBAAkB;IAChC,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IACnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC"}
@@ -0,0 +1,242 @@
1
+ declare function useSignInWithDiscord(): {
2
+ data: undefined;
3
+ variables: undefined;
4
+ error: null;
5
+ isError: false;
6
+ isIdle: true;
7
+ isPending: false;
8
+ isSuccess: false;
9
+ status: "idle";
10
+ reset: () => void;
11
+ context: unknown;
12
+ failureCount: number;
13
+ failureReason: Error | null;
14
+ isPaused: boolean;
15
+ submittedAt: number;
16
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
17
+ access_token: string;
18
+ token_type: string;
19
+ expires_in: number;
20
+ expires_at: number;
21
+ refresh_token: string;
22
+ user: {
23
+ app_metadata: {
24
+ provider: "wallet" | "discord" | "email";
25
+ providers: ("wallet" | "discord" | "email")[];
26
+ };
27
+ user_metadata: {
28
+ mezoId?: string | undefined;
29
+ btcAddress: string;
30
+ evmAddress: string;
31
+ };
32
+ };
33
+ } | {
34
+ redirectTo: string;
35
+ }, Error, void, unknown>;
36
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
37
+ access_token: string;
38
+ token_type: string;
39
+ expires_in: number;
40
+ expires_at: number;
41
+ refresh_token: string;
42
+ user: {
43
+ app_metadata: {
44
+ provider: "wallet" | "discord" | "email";
45
+ providers: ("wallet" | "discord" | "email")[];
46
+ };
47
+ user_metadata: {
48
+ mezoId?: string | undefined;
49
+ btcAddress: string;
50
+ evmAddress: string;
51
+ };
52
+ };
53
+ } | {
54
+ redirectTo: string;
55
+ }, Error, void, unknown>;
56
+ } | {
57
+ data: undefined;
58
+ variables: void;
59
+ error: null;
60
+ isError: false;
61
+ isIdle: false;
62
+ isPending: true;
63
+ isSuccess: false;
64
+ status: "pending";
65
+ reset: () => void;
66
+ context: unknown;
67
+ failureCount: number;
68
+ failureReason: Error | null;
69
+ isPaused: boolean;
70
+ submittedAt: number;
71
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
72
+ access_token: string;
73
+ token_type: string;
74
+ expires_in: number;
75
+ expires_at: number;
76
+ refresh_token: string;
77
+ user: {
78
+ app_metadata: {
79
+ provider: "wallet" | "discord" | "email";
80
+ providers: ("wallet" | "discord" | "email")[];
81
+ };
82
+ user_metadata: {
83
+ mezoId?: string | undefined;
84
+ btcAddress: string;
85
+ evmAddress: string;
86
+ };
87
+ };
88
+ } | {
89
+ redirectTo: string;
90
+ }, Error, void, unknown>;
91
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
92
+ access_token: string;
93
+ token_type: string;
94
+ expires_in: number;
95
+ expires_at: number;
96
+ refresh_token: string;
97
+ user: {
98
+ app_metadata: {
99
+ provider: "wallet" | "discord" | "email";
100
+ providers: ("wallet" | "discord" | "email")[];
101
+ };
102
+ user_metadata: {
103
+ mezoId?: string | undefined;
104
+ btcAddress: string;
105
+ evmAddress: string;
106
+ };
107
+ };
108
+ } | {
109
+ redirectTo: string;
110
+ }, Error, void, unknown>;
111
+ } | {
112
+ data: undefined;
113
+ error: Error;
114
+ variables: void;
115
+ isError: true;
116
+ isIdle: false;
117
+ isPending: false;
118
+ isSuccess: false;
119
+ status: "error";
120
+ reset: () => void;
121
+ context: unknown;
122
+ failureCount: number;
123
+ failureReason: Error | null;
124
+ isPaused: boolean;
125
+ submittedAt: number;
126
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
127
+ access_token: string;
128
+ token_type: string;
129
+ expires_in: number;
130
+ expires_at: number;
131
+ refresh_token: string;
132
+ user: {
133
+ app_metadata: {
134
+ provider: "wallet" | "discord" | "email";
135
+ providers: ("wallet" | "discord" | "email")[];
136
+ };
137
+ user_metadata: {
138
+ mezoId?: string | undefined;
139
+ btcAddress: string;
140
+ evmAddress: string;
141
+ };
142
+ };
143
+ } | {
144
+ redirectTo: string;
145
+ }, Error, void, unknown>;
146
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
147
+ access_token: string;
148
+ token_type: string;
149
+ expires_in: number;
150
+ expires_at: number;
151
+ refresh_token: string;
152
+ user: {
153
+ app_metadata: {
154
+ provider: "wallet" | "discord" | "email";
155
+ providers: ("wallet" | "discord" | "email")[];
156
+ };
157
+ user_metadata: {
158
+ mezoId?: string | undefined;
159
+ btcAddress: string;
160
+ evmAddress: string;
161
+ };
162
+ };
163
+ } | {
164
+ redirectTo: string;
165
+ }, Error, void, unknown>;
166
+ } | {
167
+ data: {
168
+ access_token: string;
169
+ token_type: string;
170
+ expires_in: number;
171
+ expires_at: number;
172
+ refresh_token: string;
173
+ user: {
174
+ app_metadata: {
175
+ provider: "wallet" | "discord" | "email";
176
+ providers: ("wallet" | "discord" | "email")[];
177
+ };
178
+ user_metadata: {
179
+ mezoId?: string | undefined;
180
+ btcAddress: string;
181
+ evmAddress: string;
182
+ };
183
+ };
184
+ } | {
185
+ redirectTo: string;
186
+ };
187
+ error: null;
188
+ variables: void;
189
+ isError: false;
190
+ isIdle: false;
191
+ isPending: false;
192
+ isSuccess: true;
193
+ status: "success";
194
+ reset: () => void;
195
+ context: unknown;
196
+ failureCount: number;
197
+ failureReason: Error | null;
198
+ isPaused: boolean;
199
+ submittedAt: number;
200
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
201
+ access_token: string;
202
+ token_type: string;
203
+ expires_in: number;
204
+ expires_at: number;
205
+ refresh_token: string;
206
+ user: {
207
+ app_metadata: {
208
+ provider: "wallet" | "discord" | "email";
209
+ providers: ("wallet" | "discord" | "email")[];
210
+ };
211
+ user_metadata: {
212
+ mezoId?: string | undefined;
213
+ btcAddress: string;
214
+ evmAddress: string;
215
+ };
216
+ };
217
+ } | {
218
+ redirectTo: string;
219
+ }, Error, void, unknown>;
220
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
221
+ access_token: string;
222
+ token_type: string;
223
+ expires_in: number;
224
+ expires_at: number;
225
+ refresh_token: string;
226
+ user: {
227
+ app_metadata: {
228
+ provider: "wallet" | "discord" | "email";
229
+ providers: ("wallet" | "discord" | "email")[];
230
+ };
231
+ user_metadata: {
232
+ mezoId?: string | undefined;
233
+ btcAddress: string;
234
+ evmAddress: string;
235
+ };
236
+ };
237
+ } | {
238
+ redirectTo: string;
239
+ }, Error, void, unknown>;
240
+ };
241
+ export { useSignInWithDiscord };
242
+ //# sourceMappingURL=useSignInWithDiscord.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignInWithDiscord.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSignInWithDiscord.ts"],"names":[],"mappings":"AAKA,iBAAS,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoC5B;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { useAccount } from "wagmi";
2
+ import { useMutation } from "@tanstack/react-query";
3
+ import { useGetSession } from "./useGetSession";
4
+ import { useCreateSession } from "./useCreateSession";
5
+ function useSignInWithDiscord() {
6
+ const { address } = useAccount();
7
+ const { refetch: getSession } = useGetSession(undefined, {
8
+ enabled: false,
9
+ });
10
+ const { createSessionAsync } = useCreateSession();
11
+ const { mutate, mutateAsync, ...signInMutationRestParameters } = useMutation({
12
+ mutationFn: async () => {
13
+ if (!address) {
14
+ throw new Error("Sign in error: User not connected!");
15
+ }
16
+ const getSessionResult = await getSession();
17
+ // TODO: We should create a separate endpoint that will always return nonce
18
+ if (!getSessionResult.data || !("nonce" in getSessionResult.data)) {
19
+ if (getSessionResult.error) {
20
+ throw new Error(`Sign in error: ${getSessionResult.error}`);
21
+ }
22
+ throw new Error("Sign in error: Nonce not available! Remove the session first.");
23
+ }
24
+ return createSessionAsync({
25
+ type: "discord",
26
+ });
27
+ },
28
+ });
29
+ return {
30
+ signIn: mutate,
31
+ signInAsync: mutateAsync,
32
+ ...signInMutationRestParameters,
33
+ };
34
+ }
35
+ export { useSignInWithDiscord };
36
+ //# sourceMappingURL=useSignInWithDiscord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignInWithDiscord.js","sourceRoot":"","sources":["../../../src/hooks/useSignInWithDiscord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,SAAS,oBAAoB;IAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE;QACvD,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAA;IAEjD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,4BAA4B,EAAE,GAAG,WAAW,CAAC;QAC3E,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,UAAU,EAAE,CAAA;YAE3C,2EAA2E;YAC3E,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAA;gBAC7D,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;YACH,CAAC;YAED,OAAO,kBAAkB,CAAC;gBACxB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,WAAW;QACxB,GAAG,4BAA4B;KAChC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAA"}
@@ -0,0 +1,242 @@
1
+ declare function useSignInWithWallet(): {
2
+ data: undefined;
3
+ variables: undefined;
4
+ error: null;
5
+ isError: false;
6
+ isIdle: true;
7
+ isPending: false;
8
+ isSuccess: false;
9
+ status: "idle";
10
+ reset: () => void;
11
+ context: unknown;
12
+ failureCount: number;
13
+ failureReason: Error | null;
14
+ isPaused: boolean;
15
+ submittedAt: number;
16
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
17
+ access_token: string;
18
+ token_type: string;
19
+ expires_in: number;
20
+ expires_at: number;
21
+ refresh_token: string;
22
+ user: {
23
+ app_metadata: {
24
+ provider: "wallet" | "discord" | "email";
25
+ providers: ("wallet" | "discord" | "email")[];
26
+ };
27
+ user_metadata: {
28
+ mezoId?: string | undefined;
29
+ btcAddress: string;
30
+ evmAddress: string;
31
+ };
32
+ };
33
+ } | {
34
+ redirectTo: string;
35
+ }, Error, void, unknown>;
36
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
37
+ access_token: string;
38
+ token_type: string;
39
+ expires_in: number;
40
+ expires_at: number;
41
+ refresh_token: string;
42
+ user: {
43
+ app_metadata: {
44
+ provider: "wallet" | "discord" | "email";
45
+ providers: ("wallet" | "discord" | "email")[];
46
+ };
47
+ user_metadata: {
48
+ mezoId?: string | undefined;
49
+ btcAddress: string;
50
+ evmAddress: string;
51
+ };
52
+ };
53
+ } | {
54
+ redirectTo: string;
55
+ }, Error, void, unknown>;
56
+ } | {
57
+ data: undefined;
58
+ variables: void;
59
+ error: null;
60
+ isError: false;
61
+ isIdle: false;
62
+ isPending: true;
63
+ isSuccess: false;
64
+ status: "pending";
65
+ reset: () => void;
66
+ context: unknown;
67
+ failureCount: number;
68
+ failureReason: Error | null;
69
+ isPaused: boolean;
70
+ submittedAt: number;
71
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
72
+ access_token: string;
73
+ token_type: string;
74
+ expires_in: number;
75
+ expires_at: number;
76
+ refresh_token: string;
77
+ user: {
78
+ app_metadata: {
79
+ provider: "wallet" | "discord" | "email";
80
+ providers: ("wallet" | "discord" | "email")[];
81
+ };
82
+ user_metadata: {
83
+ mezoId?: string | undefined;
84
+ btcAddress: string;
85
+ evmAddress: string;
86
+ };
87
+ };
88
+ } | {
89
+ redirectTo: string;
90
+ }, Error, void, unknown>;
91
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
92
+ access_token: string;
93
+ token_type: string;
94
+ expires_in: number;
95
+ expires_at: number;
96
+ refresh_token: string;
97
+ user: {
98
+ app_metadata: {
99
+ provider: "wallet" | "discord" | "email";
100
+ providers: ("wallet" | "discord" | "email")[];
101
+ };
102
+ user_metadata: {
103
+ mezoId?: string | undefined;
104
+ btcAddress: string;
105
+ evmAddress: string;
106
+ };
107
+ };
108
+ } | {
109
+ redirectTo: string;
110
+ }, Error, void, unknown>;
111
+ } | {
112
+ data: undefined;
113
+ error: Error;
114
+ variables: void;
115
+ isError: true;
116
+ isIdle: false;
117
+ isPending: false;
118
+ isSuccess: false;
119
+ status: "error";
120
+ reset: () => void;
121
+ context: unknown;
122
+ failureCount: number;
123
+ failureReason: Error | null;
124
+ isPaused: boolean;
125
+ submittedAt: number;
126
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
127
+ access_token: string;
128
+ token_type: string;
129
+ expires_in: number;
130
+ expires_at: number;
131
+ refresh_token: string;
132
+ user: {
133
+ app_metadata: {
134
+ provider: "wallet" | "discord" | "email";
135
+ providers: ("wallet" | "discord" | "email")[];
136
+ };
137
+ user_metadata: {
138
+ mezoId?: string | undefined;
139
+ btcAddress: string;
140
+ evmAddress: string;
141
+ };
142
+ };
143
+ } | {
144
+ redirectTo: string;
145
+ }, Error, void, unknown>;
146
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
147
+ access_token: string;
148
+ token_type: string;
149
+ expires_in: number;
150
+ expires_at: number;
151
+ refresh_token: string;
152
+ user: {
153
+ app_metadata: {
154
+ provider: "wallet" | "discord" | "email";
155
+ providers: ("wallet" | "discord" | "email")[];
156
+ };
157
+ user_metadata: {
158
+ mezoId?: string | undefined;
159
+ btcAddress: string;
160
+ evmAddress: string;
161
+ };
162
+ };
163
+ } | {
164
+ redirectTo: string;
165
+ }, Error, void, unknown>;
166
+ } | {
167
+ data: {
168
+ access_token: string;
169
+ token_type: string;
170
+ expires_in: number;
171
+ expires_at: number;
172
+ refresh_token: string;
173
+ user: {
174
+ app_metadata: {
175
+ provider: "wallet" | "discord" | "email";
176
+ providers: ("wallet" | "discord" | "email")[];
177
+ };
178
+ user_metadata: {
179
+ mezoId?: string | undefined;
180
+ btcAddress: string;
181
+ evmAddress: string;
182
+ };
183
+ };
184
+ } | {
185
+ redirectTo: string;
186
+ };
187
+ error: null;
188
+ variables: void;
189
+ isError: false;
190
+ isIdle: false;
191
+ isPending: false;
192
+ isSuccess: true;
193
+ status: "success";
194
+ reset: () => void;
195
+ context: unknown;
196
+ failureCount: number;
197
+ failureReason: Error | null;
198
+ isPaused: boolean;
199
+ submittedAt: number;
200
+ signIn: import("@tanstack/react-query").UseMutateFunction<{
201
+ access_token: string;
202
+ token_type: string;
203
+ expires_in: number;
204
+ expires_at: number;
205
+ refresh_token: string;
206
+ user: {
207
+ app_metadata: {
208
+ provider: "wallet" | "discord" | "email";
209
+ providers: ("wallet" | "discord" | "email")[];
210
+ };
211
+ user_metadata: {
212
+ mezoId?: string | undefined;
213
+ btcAddress: string;
214
+ evmAddress: string;
215
+ };
216
+ };
217
+ } | {
218
+ redirectTo: string;
219
+ }, Error, void, unknown>;
220
+ signInAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
221
+ access_token: string;
222
+ token_type: string;
223
+ expires_in: number;
224
+ expires_at: number;
225
+ refresh_token: string;
226
+ user: {
227
+ app_metadata: {
228
+ provider: "wallet" | "discord" | "email";
229
+ providers: ("wallet" | "discord" | "email")[];
230
+ };
231
+ user_metadata: {
232
+ mezoId?: string | undefined;
233
+ btcAddress: string;
234
+ evmAddress: string;
235
+ };
236
+ };
237
+ } | {
238
+ redirectTo: string;
239
+ }, Error, void, unknown>;
240
+ };
241
+ export { useSignInWithWallet };
242
+ //# sourceMappingURL=useSignInWithWallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignInWithWallet.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSignInWithWallet.ts"],"names":[],"mappings":"AAOA,iBAAS,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD3B;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,48 @@
1
+ import { useAccount, useSignMessage } from "wagmi";
2
+ import { useBitcoinAccount } from "@mezo-org/orangekit";
3
+ import { useMutation } from "@tanstack/react-query";
4
+ import { useGetSession } from "./useGetSession";
5
+ import { useCreateSession } from "./useCreateSession";
6
+ import { createSignInWithWalletMessage } from "../utils/siww";
7
+ function useSignInWithWallet() {
8
+ const { chainId, address, connector } = useAccount();
9
+ const { btcAddress } = useBitcoinAccount();
10
+ const { refetch: getSession } = useGetSession(undefined, {
11
+ enabled: false,
12
+ });
13
+ const { createSessionAsync } = useCreateSession();
14
+ const { signMessageAsync } = useSignMessage();
15
+ const { mutate, mutateAsync, ...signInMutationRestParameters } = useMutation({
16
+ mutationFn: async () => {
17
+ if (!address) {
18
+ throw new Error("Sign in error: User not connected!");
19
+ }
20
+ const getSessionResult = await getSession();
21
+ // TODO: We should create a separate endpoint that will always return nonce
22
+ if (!getSessionResult.data || !("nonce" in getSessionResult.data)) {
23
+ if (getSessionResult.error) {
24
+ throw new Error(`Sign in error: ${getSessionResult.error}`);
25
+ }
26
+ throw new Error("Sign in error: Nonce not available! Remove the session first.");
27
+ }
28
+ const networkFamily = btcAddress ? "bitcoin" : "evm";
29
+ const messageResult = createSignInWithWalletMessage(btcAddress ? btcAddress : address, getSessionResult.data.nonce, networkFamily, chainId);
30
+ const signatureResult = await signMessageAsync({
31
+ message: messageResult,
32
+ connector,
33
+ });
34
+ return createSessionAsync({
35
+ type: "wallet",
36
+ message: messageResult,
37
+ signature: signatureResult,
38
+ });
39
+ },
40
+ });
41
+ return {
42
+ signIn: mutate,
43
+ signInAsync: mutateAsync,
44
+ ...signInMutationRestParameters,
45
+ };
46
+ }
47
+ export { useSignInWithWallet };
48
+ //# sourceMappingURL=useSignInWithWallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignInWithWallet.js","sourceRoot":"","sources":["../../../src/hooks/useSignInWithWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAE7D,SAAS,mBAAmB;IAC1B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAA;IACpD,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAC1C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,SAAS,EAAE;QACvD,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IACF,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAA;IACjD,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAA;IAE7C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,4BAA4B,EAAE,GAAG,WAAW,CAAC;QAC3E,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,UAAU,EAAE,CAAA;YAE3C,2EAA2E;YAC3E,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAA;gBAC7D,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAA;YACH,CAAC;YAED,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;YACpD,MAAM,aAAa,GAAG,6BAA6B,CACjD,UAAU,CAAC,CAAC,CAAC,UAAW,CAAC,CAAC,CAAC,OAAQ,EACnC,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAC3B,aAAa,EACb,OAAO,CACR,CAAA;YACD,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC;gBAC7C,OAAO,EAAE,aAAa;gBACtB,SAAS;aACV,CAAC,CAAA;YACF,OAAO,kBAAkB,CAAC;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,aAAa;gBACtB,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,WAAW;QACxB,GAAG,4BAA4B;KAChC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,88 @@
1
+ export declare function useSignOut(useMutationOptions?: {}): {
2
+ data: undefined;
3
+ variables: undefined;
4
+ error: null;
5
+ isError: false;
6
+ isIdle: true;
7
+ isPending: false;
8
+ isSuccess: false;
9
+ status: "idle";
10
+ reset: () => void;
11
+ context: unknown;
12
+ failureCount: number;
13
+ failureReason: Error | null;
14
+ isPaused: boolean;
15
+ submittedAt: number;
16
+ signOut: import("@tanstack/react-query").UseMutateFunction<{
17
+ message: string;
18
+ }, Error, void, unknown>;
19
+ signOutAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
20
+ message: string;
21
+ }, Error, void, unknown>;
22
+ } | {
23
+ data: undefined;
24
+ variables: void;
25
+ error: null;
26
+ isError: false;
27
+ isIdle: false;
28
+ isPending: true;
29
+ isSuccess: false;
30
+ status: "pending";
31
+ reset: () => void;
32
+ context: unknown;
33
+ failureCount: number;
34
+ failureReason: Error | null;
35
+ isPaused: boolean;
36
+ submittedAt: number;
37
+ signOut: import("@tanstack/react-query").UseMutateFunction<{
38
+ message: string;
39
+ }, Error, void, unknown>;
40
+ signOutAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
41
+ message: string;
42
+ }, Error, void, unknown>;
43
+ } | {
44
+ data: undefined;
45
+ error: Error;
46
+ variables: void;
47
+ isError: true;
48
+ isIdle: false;
49
+ isPending: false;
50
+ isSuccess: false;
51
+ status: "error";
52
+ reset: () => void;
53
+ context: unknown;
54
+ failureCount: number;
55
+ failureReason: Error | null;
56
+ isPaused: boolean;
57
+ submittedAt: number;
58
+ signOut: import("@tanstack/react-query").UseMutateFunction<{
59
+ message: string;
60
+ }, Error, void, unknown>;
61
+ signOutAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
62
+ message: string;
63
+ }, Error, void, unknown>;
64
+ } | {
65
+ data: {
66
+ message: string;
67
+ };
68
+ error: null;
69
+ variables: void;
70
+ isError: false;
71
+ isIdle: false;
72
+ isPending: false;
73
+ isSuccess: true;
74
+ status: "success";
75
+ reset: () => void;
76
+ context: unknown;
77
+ failureCount: number;
78
+ failureReason: Error | null;
79
+ isPaused: boolean;
80
+ submittedAt: number;
81
+ signOut: import("@tanstack/react-query").UseMutateFunction<{
82
+ message: string;
83
+ }, Error, void, unknown>;
84
+ signOutAsync: import("@tanstack/react-query").UseMutateAsyncFunction<{
85
+ message: string;
86
+ }, Error, void, unknown>;
87
+ };
88
+ //# sourceMappingURL=useSignOut.d.ts.map