@rhinestone/1auth 0.7.6 → 0.8.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 (43) hide show
  1. package/dist/chunk-IX45E5LE.mjs +6135 -0
  2. package/dist/chunk-IX45E5LE.mjs.map +1 -0
  3. package/dist/chunk-ZDW2LY6H.mjs +116 -0
  4. package/dist/chunk-ZDW2LY6H.mjs.map +1 -0
  5. package/dist/{client-Dn6mL7BZ.d.ts → client-B0vb_deA.d.mts} +26 -14
  6. package/dist/{client-C8QSA1th.d.mts → client-CPt1hn4_.d.ts} +26 -14
  7. package/dist/errors-Blx9IVF_.d.mts +16 -0
  8. package/dist/errors-Cg605N0t.d.ts +16 -0
  9. package/dist/headless.d.mts +5 -10
  10. package/dist/headless.d.ts +5 -10
  11. package/dist/headless.js +74 -24
  12. package/dist/headless.js.map +1 -1
  13. package/dist/headless.mjs +74 -24
  14. package/dist/headless.mjs.map +1 -1
  15. package/dist/index.d.mts +8 -7
  16. package/dist/index.d.ts +8 -7
  17. package/dist/index.js +678 -220
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +68 -5271
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/{provider-CJv38fIK.d.mts → provider-CNDrBzGs.d.mts} +2 -2
  22. package/dist/{provider-BsVmPgkQ.d.ts → provider-DwZPA2N1.d.ts} +2 -2
  23. package/dist/react.d.mts +3 -2
  24. package/dist/react.d.ts +3 -2
  25. package/dist/react.js +61 -1
  26. package/dist/react.js.map +1 -1
  27. package/dist/react.mjs +6 -1
  28. package/dist/react.mjs.map +1 -1
  29. package/dist/server.d.mts +2 -2
  30. package/dist/server.d.ts +2 -2
  31. package/dist/{types-Dzm5lZK-.d.mts → types-BN6cCuAd.d.mts} +88 -69
  32. package/dist/{types-Dzm5lZK-.d.ts → types-BN6cCuAd.d.ts} +88 -69
  33. package/dist/{verify-0VXQpQBJ.d.mts → verify-CEzkfM92.d.mts} +1 -1
  34. package/dist/{verify-9UgxLSdo.d.ts → verify-DhEkGnym.d.ts} +1 -1
  35. package/dist/wagmi.d.mts +3 -3
  36. package/dist/wagmi.d.ts +3 -3
  37. package/dist/wagmi.js +116 -26
  38. package/dist/wagmi.js.map +1 -1
  39. package/dist/wagmi.mjs +3 -1
  40. package/dist/wagmi.mjs.map +1 -1
  41. package/package.json +1 -1
  42. package/dist/chunk-E4YZS7FZ.mjs +0 -565
  43. package/dist/chunk-E4YZS7FZ.mjs.map +0 -1
package/dist/wagmi.js CHANGED
@@ -34,10 +34,13 @@ __export(wagmi_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(wagmi_exports);
36
36
  var import_core = require("@wagmi/core");
37
- var import_viem4 = require("viem");
37
+ var import_viem5 = require("viem");
38
38
 
39
39
  // src/provider.ts
40
- var import_viem3 = require("viem");
40
+ var import_viem4 = require("viem");
41
+
42
+ // src/client.ts
43
+ var import_viem2 = require("viem");
41
44
 
42
45
  // src/registry.ts
43
46
  var import_viem = require("viem");
@@ -102,8 +105,88 @@ function isTestnet(chainId) {
102
105
  }
103
106
  }
104
107
 
108
+ // src/errors.ts
109
+ function isPlainRecord(value) {
110
+ if (!value || typeof value !== "object" || Array.isArray(value)) return false;
111
+ const prototype = Object.getPrototypeOf(value);
112
+ return prototype === Object.prototype || prototype === null;
113
+ }
114
+ function normalizeCandidateError(value) {
115
+ if (!isPlainRecord(value)) return void 0;
116
+ const candidate = {};
117
+ if (typeof value.code === "string") candidate.code = value.code;
118
+ if (typeof value.message === "string") candidate.message = value.message;
119
+ const details = normalizeOneAuthErrorDetails(value.details);
120
+ if (details) candidate.details = details;
121
+ return Object.keys(candidate).length > 0 ? candidate : void 0;
122
+ }
123
+ function normalizeOneAuthErrorDetails(value) {
124
+ if (typeof value === "string") return { reason: value };
125
+ if (Array.isArray(value)) {
126
+ const candidateErrors = value.map(normalizeCandidateError).filter((candidate) => candidate !== void 0);
127
+ return candidateErrors.length > 0 ? { candidateErrors } : void 0;
128
+ }
129
+ if (!isPlainRecord(value)) return void 0;
130
+ const details = {};
131
+ if (typeof value.providerCode === "string") details.providerCode = value.providerCode;
132
+ if (typeof value.traceId === "string") details.traceId = value.traceId;
133
+ if (typeof value.statusCode === "number" && Number.isFinite(value.statusCode)) {
134
+ details.statusCode = value.statusCode;
135
+ }
136
+ if (typeof value.errorType === "string") details.errorType = value.errorType;
137
+ if (Array.isArray(value.simulationUrls)) {
138
+ const simulationUrls = value.simulationUrls.filter(
139
+ (url) => typeof url === "string"
140
+ );
141
+ if (simulationUrls.length > 0) details.simulationUrls = simulationUrls;
142
+ }
143
+ if (typeof value.reason === "string") details.reason = value.reason;
144
+ if (Array.isArray(value.candidateErrors)) {
145
+ const candidateErrors = value.candidateErrors.map(normalizeCandidateError).filter((candidate) => candidate !== void 0);
146
+ if (candidateErrors.length > 0) details.candidateErrors = candidateErrors;
147
+ }
148
+ return Object.keys(details).length > 0 ? details : void 0;
149
+ }
150
+ var OneAuthError = class extends Error {
151
+ constructor(code, message, details) {
152
+ super(message);
153
+ this.name = "OneAuthError";
154
+ this.code = code;
155
+ this.details = details;
156
+ }
157
+ };
158
+ function toOneAuthError(error, fallbackMessage, fallbackCode = "UNKNOWN") {
159
+ return new OneAuthError(
160
+ error?.code || fallbackCode,
161
+ error?.message || fallbackMessage,
162
+ normalizeOneAuthErrorDetails(error?.details)
163
+ );
164
+ }
165
+
166
+ // ../loading-tokens/src/index.ts
167
+ var SPINNER_SIZE = 82;
168
+ var SPINNER_STROKE = 2.4118;
169
+ var SPINNER_RADIUS = (SPINNER_SIZE - SPINNER_STROKE) / 2;
170
+ var SPINNER_CIRCUMFERENCE = 2 * Math.PI * SPINNER_RADIUS;
171
+ var SPINNER_ARC_FRACTION = 0.17;
172
+ var SPINNER_ARC = SPINNER_CIRCUMFERENCE * SPINNER_ARC_FRACTION;
173
+ var LOADING_MODAL_WIDTH = 380;
174
+
175
+ // src/client.ts
176
+ var DEFAULT_EMBED_WIDTH = `${LOADING_MODAL_WIDTH}px`;
177
+ var sessionForgetHandlers = /* @__PURE__ */ new WeakMap();
178
+ function registerSessionForgetHandler(client, handler) {
179
+ const handlers = sessionForgetHandlers.get(client) ?? /* @__PURE__ */ new Set();
180
+ handlers.add(handler);
181
+ sessionForgetHandlers.set(client, handlers);
182
+ return () => {
183
+ handlers.delete(handler);
184
+ if (handlers.size === 0) sessionForgetHandlers.delete(client);
185
+ };
186
+ }
187
+
105
188
  // src/walletClient/utils.ts
106
- var import_viem2 = require("viem");
189
+ var import_viem3 = require("viem");
107
190
  var P256_N = BigInt(
108
191
  "0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551"
109
192
  );
@@ -124,7 +207,7 @@ function encodeWebAuthnSignature(sig) {
124
207
  if (s > P256_N_DIV_2) {
125
208
  s = P256_N - s;
126
209
  }
127
- return (0, import_viem2.encodeAbiParameters)([WEBAUTHN_AUTH_TYPE], [
210
+ return (0, import_viem3.encodeAbiParameters)([WEBAUTHN_AUTH_TYPE], [
128
211
  {
129
212
  authenticatorData: sig.authenticatorData,
130
213
  clientDataJSON: sig.clientDataJSON,
@@ -170,6 +253,13 @@ function createOneAuthProvider(options) {
170
253
  if (typeof window === "undefined") return;
171
254
  localStorage.removeItem(storageKey);
172
255
  };
256
+ const forgetSession = () => {
257
+ sessionOverride = void 0;
258
+ clearStoredUser();
259
+ emit("accountsChanged", []);
260
+ emit("disconnect");
261
+ };
262
+ if (client) registerSessionForgetHandler(client, forgetSession);
173
263
  const connect = async () => {
174
264
  const stored = getStoredUser();
175
265
  if (stored) {
@@ -186,21 +276,15 @@ function createOneAuthProvider(options) {
186
276
  }
187
277
  setStoredUser({ address, signerType });
188
278
  emit("accountsChanged", [address]);
189
- emit("connect", { chainId: (0, import_viem3.numberToHex)(chainId) });
279
+ emit("connect", { chainId: (0, import_viem4.numberToHex)(chainId) });
190
280
  return [address];
191
281
  };
192
282
  const disconnect = async () => {
193
- sessionOverride = void 0;
194
- clearStoredUser();
195
- emit("accountsChanged", []);
196
- emit("disconnect");
283
+ forgetSession();
197
284
  };
198
285
  const setSession = (session) => {
199
286
  if (!session) {
200
- sessionOverride = void 0;
201
- clearStoredUser();
202
- emit("accountsChanged", []);
203
- emit("disconnect");
287
+ forgetSession();
204
288
  return;
205
289
  }
206
290
  sessionOverride = {
@@ -210,7 +294,7 @@ function createOneAuthProvider(options) {
210
294
  };
211
295
  setStoredUser(sessionOverride);
212
296
  emit("accountsChanged", [session.address]);
213
- emit("connect", { chainId: (0, import_viem3.numberToHex)(chainId) });
297
+ emit("connect", { chainId: (0, import_viem4.numberToHex)(chainId) });
214
298
  };
215
299
  const ensureUser = async () => {
216
300
  const stored = getStoredUser();
@@ -284,9 +368,9 @@ function createOneAuthProvider(options) {
284
368
  });
285
369
  };
286
370
  const decodeMessage = (value) => {
287
- if (!(0, import_viem3.isHex)(value)) return value;
371
+ if (!(0, import_viem4.isHex)(value)) return value;
288
372
  try {
289
- return (0, import_viem3.hexToString)(value);
373
+ return (0, import_viem4.hexToString)(value);
290
374
  } catch {
291
375
  return value;
292
376
  }
@@ -323,8 +407,11 @@ function createOneAuthProvider(options) {
323
407
  accountAddress: user.address,
324
408
  message
325
409
  });
326
- if (!result.success || !result.signature) {
327
- throw new Error(result.error?.message || "Signing failed");
410
+ if (!result.success) {
411
+ throw toOneAuthError(result.error, "Signing failed", "SIGNING_FAILED");
412
+ }
413
+ if (!result.signature) {
414
+ throw toOneAuthError(void 0, "No signature received", "SIGNING_FAILED");
328
415
  }
329
416
  return encodeWebAuthnSignature(result.signature);
330
417
  };
@@ -341,8 +428,11 @@ function createOneAuthProvider(options) {
341
428
  primaryType: data.primaryType,
342
429
  message: data.message
343
430
  });
344
- if (!result.success || !result.signature) {
345
- throw new Error(result.error?.message || "Signing failed");
431
+ if (!result.success) {
432
+ throw toOneAuthError(result.error, "Signing failed", "SIGNING_FAILED");
433
+ }
434
+ if (!result.signature) {
435
+ throw toOneAuthError(void 0, "No signature received", "SIGNING_FAILED");
346
436
  }
347
437
  return encodeWebAuthnSignature(result.signature);
348
438
  };
@@ -364,7 +454,7 @@ function createOneAuthProvider(options) {
364
454
  hashIntervalMs: options.hashIntervalMs
365
455
  });
366
456
  if (!result.success) {
367
- throw new Error(result.error?.message || "Transaction failed");
457
+ throw toOneAuthError(result.error, "Transaction failed", "INTENT_FAILED");
368
458
  }
369
459
  return result.intentId;
370
460
  };
@@ -473,7 +563,7 @@ function createOneAuthProvider(options) {
473
563
  }
474
564
  switch (method) {
475
565
  case "eth_chainId":
476
- return (0, import_viem3.numberToHex)(chainId);
566
+ return (0, import_viem4.numberToHex)(chainId);
477
567
  case "eth_accounts": {
478
568
  const stored = getStoredUser();
479
569
  return stored ? [stored.address] : [];
@@ -496,7 +586,7 @@ function createOneAuthProvider(options) {
496
586
  await forwardToWallet(method, params, stored.address);
497
587
  }
498
588
  chainId = next;
499
- emit("chainChanged", (0, import_viem3.numberToHex)(chainId));
589
+ emit("chainChanged", (0, import_viem4.numberToHex)(chainId));
500
590
  return null;
501
591
  }
502
592
  case "personal_sign": {
@@ -733,7 +823,7 @@ function oneAuth(options) {
733
823
  if (chainId && currentChainId !== chainId) {
734
824
  await provider2.request({
735
825
  method: "wallet_switchEthereumChain",
736
- params: [{ chainId: (0, import_viem4.numberToHex)(chainId) }]
826
+ params: [{ chainId: (0, import_viem5.numberToHex)(chainId) }]
737
827
  });
738
828
  currentChainId = await this.getChainId();
739
829
  }
@@ -840,7 +930,7 @@ function oneAuth(options) {
840
930
  if (chainId) {
841
931
  await provider.request({
842
932
  method: "wallet_switchEthereumChain",
843
- params: [{ chainId: (0, import_viem4.numberToHex)(chainId) }]
933
+ params: [{ chainId: (0, import_viem5.numberToHex)(chainId) }]
844
934
  });
845
935
  }
846
936
  return provider;
@@ -897,7 +987,7 @@ function oneAuth(options) {
897
987
  const provider2 = await this.getProvider();
898
988
  await provider2.request({
899
989
  method: "wallet_switchEthereumChain",
900
- params: [{ chainId: (0, import_viem4.numberToHex)(chainId) }]
990
+ params: [{ chainId: (0, import_viem5.numberToHex)(chainId) }]
901
991
  });
902
992
  return chain;
903
993
  },