@rhinestone/1auth 0.4.0 → 0.5.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.mjs CHANGED
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  buildTransactionReview,
3
3
  createOneAuthProvider,
4
- createPasskeyProvider,
5
4
  encodeWebAuthnSignature,
6
5
  getAllSupportedChainsAndTokens,
7
6
  getChainById,
@@ -19,7 +18,7 @@ import {
19
18
  isTestnet,
20
19
  isTokenAddressSupported,
21
20
  resolveTokenAddress
22
- } from "./chunk-X73ALCGW.mjs";
21
+ } from "./chunk-N4BLW5UR.mjs";
23
22
 
24
23
  // src/client.ts
25
24
  import { parseUnits, hashTypedData } from "viem";
@@ -121,7 +120,28 @@ var OneAuthClient = class {
121
120
  return void 0;
122
121
  }
123
122
  /**
124
- * Open the auth dialog (sign in + sign up).
123
+ * Open the authentication modal (sign in + sign up).
124
+ *
125
+ * Handles both new user registration and returning user login in a single
126
+ * call — the modal shows the appropriate flow based on whether the user
127
+ * has a passkey registered.
128
+ *
129
+ * @param options.username - Pre-fill the username field
130
+ * @param options.theme - Override the theme for this modal invocation
131
+ * @param options.oauthEnabled - Set to false to hide OAuth sign-in buttons
132
+ * @returns {@link AuthResult} with user details and typed address
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * const result = await client.authWithModal();
137
+ *
138
+ * if (result.success) {
139
+ * console.log('Signed in as:', result.user?.username);
140
+ * console.log('Address:', result.user?.address); // typed `0x${string}`
141
+ * } else if (result.error?.code === 'USER_CANCELLED') {
142
+ * // User closed the modal
143
+ * }
144
+ * ```
125
145
  */
126
146
  async authWithModal(options) {
127
147
  const dialogUrl = this.getDialogUrl();
@@ -161,7 +181,7 @@ var OneAuthClient = class {
161
181
  * const result = await client.connectWithModal();
162
182
  *
163
183
  * if (result.success) {
164
- * console.log('Connected as:', result.username);
184
+ * console.log('Connected as:', result.user?.username);
165
185
  * } else if (result.action === 'switch') {
166
186
  * // User needs to sign in first
167
187
  * const authResult = await client.authWithModal();
@@ -339,17 +359,16 @@ var OneAuthClient = class {
339
359
  *
340
360
  * @example
341
361
  * ```typescript
342
- * // Authenticate with a login challenge
343
362
  * const result = await client.authenticate({
344
363
  * challenge: `Login to MyApp\nTimestamp: ${Date.now()}\nNonce: ${crypto.randomUUID()}`
345
364
  * });
346
365
  *
347
- * if (result.success && result.signature) {
366
+ * if (result.success && result.challenge) {
348
367
  * // Verify signature server-side
349
368
  * const isValid = await verifyOnServer(
350
- * result.username,
351
- * result.signature,
352
- * result.signedHash
369
+ * result.user?.username,
370
+ * result.challenge.signature,
371
+ * result.challenge.signedHash
353
372
  * );
354
373
  * }
355
374
  * ```
@@ -2131,24 +2150,11 @@ var OneAuthClient = class {
2131
2150
  if (data.success) {
2132
2151
  resolve({
2133
2152
  success: true,
2134
- username: data.data?.username,
2135
- address: data.data?.address,
2136
- user: data.data?.user
2137
- });
2138
- } else {
2139
- resolve({
2140
- success: false,
2141
- error: data.error
2142
- });
2143
- }
2144
- } else if (data?.type === "PASSKEY_REGISTER_RESULT") {
2145
- window.removeEventListener("message", handleMessage);
2146
- cleanup();
2147
- if (data.success) {
2148
- resolve({
2149
- success: true,
2150
- username: data.data?.username,
2151
- address: data.data?.address
2153
+ user: {
2154
+ id: data.data?.user?.id,
2155
+ username: data.data?.username,
2156
+ address: data.data?.address
2157
+ }
2152
2158
  });
2153
2159
  } else {
2154
2160
  resolve({
@@ -2207,25 +2213,11 @@ var OneAuthClient = class {
2207
2213
  if (data.success) {
2208
2214
  resolve({
2209
2215
  success: true,
2210
- username: data.data?.username,
2211
- address: data.data?.address,
2212
- user: data.data?.user
2213
- });
2214
- } else {
2215
- resolve({
2216
- success: false,
2217
- error: data.error
2218
- });
2219
- }
2220
- } else if (data?.type === "PASSKEY_REGISTER_RESULT") {
2221
- clearInterval(pollTimer);
2222
- window.removeEventListener("message", handleMessage);
2223
- popup?.close();
2224
- if (data.success) {
2225
- resolve({
2226
- success: true,
2227
- username: data.data?.username,
2228
- address: data.data?.address
2216
+ user: {
2217
+ id: data.data?.user?.id,
2218
+ username: data.data?.username,
2219
+ address: data.data?.address
2220
+ }
2229
2221
  });
2230
2222
  } else {
2231
2223
  resolve({
@@ -2261,11 +2253,15 @@ var OneAuthClient = class {
2261
2253
  if (data.success) {
2262
2254
  resolve({
2263
2255
  success: true,
2264
- username: data.data?.username,
2265
- user: data.data?.user,
2266
- accountAddress: data.data?.accountAddress,
2267
- signature: data.data?.signature,
2268
- signedHash: data.data?.signedHash
2256
+ user: {
2257
+ id: data.data?.user?.id,
2258
+ username: data.data?.username,
2259
+ address: data.data?.accountAddress
2260
+ },
2261
+ challenge: data.data?.signature ? {
2262
+ signature: data.data.signature,
2263
+ signedHash: data.data.signedHash
2264
+ } : void 0
2269
2265
  });
2270
2266
  } else {
2271
2267
  resolve({
@@ -2300,8 +2296,10 @@ var OneAuthClient = class {
2300
2296
  if (data.success) {
2301
2297
  resolve({
2302
2298
  success: true,
2303
- username: data.data?.username,
2304
- address: data.data?.address,
2299
+ user: {
2300
+ username: data.data?.username,
2301
+ address: data.data?.address
2302
+ },
2305
2303
  autoConnected: data.data?.autoConnected
2306
2304
  });
2307
2305
  } else {
@@ -3164,7 +3162,6 @@ function BatchQueueWidget({ onSignAll }) {
3164
3162
  // src/verify.ts
3165
3163
  import { keccak256, toBytes } from "viem";
3166
3164
  var ETHEREUM_MESSAGE_PREFIX = "Ethereum Signed Message:\n";
3167
- var PASSKEY_MESSAGE_PREFIX = ETHEREUM_MESSAGE_PREFIX;
3168
3165
  function hashMessage2(message) {
3169
3166
  const prefixed = ETHEREUM_MESSAGE_PREFIX + message.length.toString() + message;
3170
3167
  return keccak256(toBytes(prefixed));
@@ -3179,11 +3176,8 @@ export {
3179
3176
  BatchQueueWidget,
3180
3177
  ETHEREUM_MESSAGE_PREFIX,
3181
3178
  OneAuthClient,
3182
- PASSKEY_MESSAGE_PREFIX,
3183
- OneAuthClient as PasskeyProviderClient,
3184
3179
  createOneAuthProvider,
3185
3180
  createPasskeyAccount,
3186
- createPasskeyProvider,
3187
3181
  createPasskeyWalletClient,
3188
3182
  encodeWebAuthnSignature,
3189
3183
  getAllSupportedChainsAndTokens,