@renown/sdk 6.2.2-dev.22 → 6.2.2-dev.24

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 (65) hide show
  1. package/README.md +58 -26
  2. package/dist/crypto.d.ts +2 -2
  3. package/dist/{index-25fTa4yI.d.ts → index-CLJb-Nle.d.ts} +2 -2
  4. package/dist/{index-25fTa4yI.d.ts.map → index-CLJb-Nle.d.ts.map} +1 -1
  5. package/dist/index.d.ts +4 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +3 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/meta-BIIw0yao.d.ts +16 -0
  10. package/dist/meta-BIIw0yao.d.ts.map +1 -0
  11. package/dist/meta-ClnkfLQZ.js +27 -0
  12. package/dist/meta-ClnkfLQZ.js.map +1 -0
  13. package/dist/meta-DEiGzvRl.d.ts +14 -0
  14. package/dist/meta-DEiGzvRl.d.ts.map +1 -0
  15. package/dist/meta-DoUiCChW.d.ts +19 -0
  16. package/dist/meta-DoUiCChW.d.ts.map +1 -0
  17. package/dist/meta-v66wx9x-.js +31 -0
  18. package/dist/meta-v66wx9x-.js.map +1 -0
  19. package/dist/node.d.ts +3 -46
  20. package/dist/node.d.ts.map +1 -1
  21. package/dist/node.js +17 -8
  22. package/dist/node.js.map +1 -1
  23. package/dist/{renown-builder-BqWoYtBR.js → renown-builder-1WTEoRc6.js} +24 -1
  24. package/dist/{renown-builder-BqWoYtBR.js.map → renown-builder-1WTEoRc6.js.map} +1 -1
  25. package/dist/types-DiIZNA8t.js +20 -0
  26. package/dist/types-DiIZNA8t.js.map +1 -0
  27. package/dist/{types-Z6jyeonm.d.ts → types-DteAE_lL.d.ts} +23 -18
  28. package/dist/types-DteAE_lL.d.ts.map +1 -0
  29. package/dist/{types-DsF91dDF.d.ts → types-efrA0fu2.d.ts} +6 -4
  30. package/dist/{types-DsF91dDF.d.ts.map → types-efrA0fu2.d.ts.map} +1 -1
  31. package/dist/{utils-OOrVXHof.d.ts → utils-BuICPHTW.d.ts} +51 -3
  32. package/dist/utils-BuICPHTW.d.ts.map +1 -0
  33. package/dist/wallet/index.d.ts +4 -26
  34. package/dist/wallet/index.d.ts.map +1 -1
  35. package/dist/wallet/index.js +20 -64
  36. package/dist/wallet/index.js.map +1 -1
  37. package/dist/wallet/mock/factory.d.ts +9 -0
  38. package/dist/wallet/mock/factory.d.ts.map +1 -0
  39. package/dist/wallet/mock/factory.js +35 -0
  40. package/dist/wallet/mock/factory.js.map +1 -0
  41. package/dist/wallet/mock/index.d.ts +5 -14
  42. package/dist/wallet/mock/index.d.ts.map +1 -1
  43. package/dist/wallet/mock/index.js +9 -31
  44. package/dist/wallet/mock/index.js.map +1 -1
  45. package/dist/wallet/privy/factory.d.ts +58 -0
  46. package/dist/wallet/privy/factory.d.ts.map +1 -0
  47. package/dist/wallet/privy/factory.js +218 -0
  48. package/dist/wallet/privy/factory.js.map +1 -0
  49. package/dist/wallet/privy/index.d.ts +5 -59
  50. package/dist/wallet/privy/index.d.ts.map +1 -1
  51. package/dist/wallet/privy/index.js +9 -223
  52. package/dist/wallet/privy/index.js.map +1 -1
  53. package/dist/wallet/rainbow/factory.d.ts +7 -0
  54. package/dist/wallet/rainbow/factory.d.ts.map +1 -0
  55. package/dist/wallet/rainbow/factory.js +216 -0
  56. package/dist/wallet/rainbow/factory.js.map +1 -0
  57. package/dist/wallet/rainbow/index.d.ts +6 -11
  58. package/dist/wallet/rainbow/index.d.ts.map +1 -1
  59. package/dist/wallet/rainbow/index.js +13 -210
  60. package/dist/wallet/rainbow/index.js.map +1 -1
  61. package/package.json +21 -2
  62. package/dist/types-DG816Qa8.js +0 -27
  63. package/dist/types-DG816Qa8.js.map +0 -1
  64. package/dist/types-Z6jyeonm.d.ts.map +0 -1
  65. package/dist/utils-OOrVXHof.d.ts.map +0 -1
package/README.md CHANGED
@@ -85,17 +85,26 @@ const result = await verifyAuthBearerToken(jwt); // false | AuthVerifiedCredenti
85
85
 
86
86
  `@renown/sdk/wallet` provides pluggable wallet adapters so a host app (e.g.
87
87
  Connect) can sign a Renown credential **in-page**, without redirecting to the
88
- Renown portal. Each adapter is a separate subexport, loaded via dynamic
89
- `import()` so its wallet libraries are **optional peer dependencies** with zero
90
- startup cost until a login method is chosen.
91
-
92
- | Subexport | Adapter | Peer dependencies |
93
- | ------------------------ | -------- | ------------------------------------------------------------- |
94
- | `@renown/sdk/wallet/rainbow` | RainbowKit + wagmi (external wallets) | `wagmi`, `@rainbow-me/rainbowkit`, `@tanstack/react-query`, `viem` |
95
- | `@renown/sdk/wallet/privy` | Privy (embedded / social / email) | `@privy-io/react-auth`, `viem` |
96
- | `@renown/sdk/wallet/mock` | Headless test/dev signer (no UI) | `viem` |
97
-
98
- Install only the peer deps for the adapters you enable.
88
+ Renown portal. Each adapter lives behind its own subexport and hands the host a
89
+ **descriptor** eager metadata plus a lazy loader so its wallet library is
90
+ fetched only when a login method is actually chosen.
91
+
92
+ **You pay for the adapters you import.** Importing `@renown/sdk/wallet/<id>`
93
+ loads no wallet library, but it does make that adapter's peer dependencies a
94
+ build-time requirement for your bundler. An app that never imports
95
+ `@renown/sdk/wallet/rainbow` does not need RainbowKit installed at all — no
96
+ bundler aliases, no stub modules.
97
+
98
+ | Subexport | Adapter | Peer dependencies to install |
99
+ | --- | --- | --- |
100
+ | `@renown/sdk/wallet/rainbow` | RainbowKit + wagmi (external wallets) | `wagmi`, `@rainbow-me/rainbowkit`, `@tanstack/react-query` |
101
+ | `@renown/sdk/wallet/privy` | Privy (embedded / social / email) | `@privy-io/react-auth` |
102
+ | `@renown/sdk/wallet/mock` | Headless test/dev signer (no UI) | none (`viem` is a direct dependency) |
103
+
104
+ Each subexport also has a `…/factory` sibling (e.g.
105
+ `@renown/sdk/wallet/privy/factory`) holding the `create<Id>Adapter` function.
106
+ That is the heavy half the descriptor's `load()` imports; you rarely need it
107
+ directly.
99
108
 
100
109
  > **Host apps should not wire these adapters by hand.** Use the
101
110
  > `RenownWalletProvider` + `useRenownLoginMethods` + `useRenownAuth` primitives
@@ -106,24 +115,32 @@ Install only the peer deps for the adapters you enable.
106
115
 
107
116
  ```typescript
108
117
  import { resolveAdapters } from "@renown/sdk/wallet";
118
+ import { privyAdapter } from "@renown/sdk/wallet/privy";
119
+ import { rainbowAdapter } from "@renown/sdk/wallet/rainbow";
109
120
 
110
- // Loads ONLY the configured adapters (dynamic import, on demand).
111
- const adapters = await resolveAdapters({
112
- rainbow: { walletConnectProjectId: "..." },
113
- privy: { appId: "...", methods: ["google", "email"] },
114
- });
121
+ // Descriptors are cheap: metadata only, no wallet library loaded yet.
122
+ const descriptors = [
123
+ rainbowAdapter({ walletConnectProjectId: "..." }),
124
+ privyAdapter({ appId: "...", methods: ["google", "email"] }),
125
+ ];
126
+
127
+ // This is where each adapter's library is actually fetched.
128
+ const adapters = await resolveAdapters(descriptors);
115
129
  ```
116
130
 
117
- Each adapter exposes a `Provider` (mount it around the app; it accepts a runtime
118
- `theme` of `"light" | "dark" | { mode, accentColor?, accentColorForeground? }`)
119
- and a controller with `connect(method?)`, `disconnect()`, and `getSession()`.
131
+ `resolveAdapters` keeps the adapters that loaded and logs the ones that didn't;
132
+ it rejects only if none load. Each resolved adapter exposes its `meta`, a
133
+ `Provider` (mount it around the app; it accepts a runtime `theme` of
134
+ `"light" | "dark" | { mode, accentColor?, accentColorForeground? }`) and a
135
+ controller with `connect(method?)`, `disconnect()`, and `getSession()`.
120
136
  `connect()` resolves a `WalletSession` (`{ address, chainId, signTypedData }`);
121
137
  pass it to `renown.signIn(session)` to write + log in the credential in-page.
122
138
 
123
139
  **Login methods.** Rainbow supports `wallet`; Privy supports `wallet`, `google`,
124
- `apple`, `email` (default `["google", "email"]`). Social/email flows run inside
125
- Privy's own modal (OAuth uses a popup, keeping the page alive) so sign-in
126
- completes in-page no full-page redirect.
140
+ `apple`, `email` (default `["google", "email"]`). Each adapter's config accepts
141
+ only the methods it can drive, so a typo is a compile error. Social/email flows
142
+ run inside Privy's own modal (OAuth uses a popup, keeping the page alive) so
143
+ sign-in completes in-page — no full-page redirect.
127
144
 
128
145
  **Configuration.** Only public identifiers belong in client config: Privy's
129
146
  `appId` (and optional `clientId`), and RainbowKit's `walletConnectProjectId`.
@@ -149,12 +166,20 @@ const renown = await new RenownBuilder("my-cli", {
149
166
 
150
167
  `renown.revalidate()` re-checks the current credential on demand and logs out if
151
168
  it was revoked/expired; it is **fail-open** (a network error keeps the session).
169
+ On success it then calls `renown.refreshProfile()`.
170
+
171
+ `renown.refreshProfile()` re-reads profile attributes (`username`, `userImage`)
172
+ at the source and updates the store only if they changed, resolving `true` when
173
+ they did. It can never log anyone out, so the browser builder runs it on every
174
+ start — including when `revalidate: "never"` disables the credential check.
152
175
 
153
176
  ### Verifying a session cookie (SSR)
154
177
 
155
178
  To gate server-rendered pages, store the bearer token from
156
- `renown.getBearerToken()` — plus an optional display hint (name/avatar) — in a
157
- cookie (name exported as `RENOWN_SESSION_COOKIE`), then verify it on the server:
179
+ `renown.getBearerToken()` — plus an optional `RenownSessionProfile` display hint
180
+ — in a cookie (name exported as `RENOWN_SESSION_COOKIE`), then verify it on the
181
+ server. The payload type `RenownSessionCookie` is exported from both entry
182
+ points; use it to type your route handler instead of redeclaring the shape:
158
183
 
159
184
  ```typescript
160
185
  import {
@@ -163,10 +188,17 @@ import {
163
188
  readSessionClaims,
164
189
  } from "@renown/sdk/node";
165
190
 
166
- // Build the cookie value (token + display hint) when setting the cookie:
191
+ // Build the cookie value (token + display hint) when setting the cookie. The
192
+ // documentId/username/userImage fields let verifySession rebuild `user.profile`.
167
193
  const cookieValue = serializeRenownSessionCookie({
168
194
  token,
169
- profile: { name: "alice.eth", avatar: null },
195
+ profile: {
196
+ name: "alice.eth",
197
+ avatar: null,
198
+ documentId: "doc-123",
199
+ username: "alice.eth",
200
+ userImage: null,
201
+ },
170
202
  });
171
203
 
172
204
  // Verify the cookie value — checks the JWT (signature + expiry) and merges the
package/dist/crypto.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { a as JwkKeyPair, i as JsonWebKeyPairStorage, n as IConnectCrypto, r as IRenownCrypto, t as DID } from "./types-DsF91dDF.js";
2
- import { a as parseSignatureHashField, c as RenownCryptoBuilder, i as extractResultingHashFromSignature, l as ConnectCrypto, n as RenownCryptoSigner, o as signatureHasResultingHash, r as createSignatureVerifier, s as MemoryKeyStorage, t as BrowserKeyStorage, u as RenownCrypto } from "./index-25fTa4yI.js";
1
+ import { a as JwkKeyPair, i as JsonWebKeyPairStorage, n as IConnectCrypto, r as IRenownCrypto, t as DID } from "./types-efrA0fu2.js";
2
+ import { a as parseSignatureHashField, c as RenownCryptoBuilder, i as extractResultingHashFromSignature, l as ConnectCrypto, n as RenownCryptoSigner, o as signatureHasResultingHash, r as createSignatureVerifier, s as MemoryKeyStorage, t as BrowserKeyStorage, u as RenownCrypto } from "./index-CLJb-Nle.js";
3
3
  export { BrowserKeyStorage, ConnectCrypto, DID, IConnectCrypto, IRenownCrypto, JsonWebKeyPairStorage, JwkKeyPair, MemoryKeyStorage, RenownCrypto, RenownCryptoBuilder, RenownCryptoSigner, createSignatureVerifier, extractResultingHashFromSignature, parseSignatureHashField, signatureHasResultingHash };
@@ -1,4 +1,4 @@
1
- import { a as JwkKeyPair, i as JsonWebKeyPairStorage, l as CreateBearerTokenOptions, r as IRenownCrypto, t as DID, w as Issuer } from "./types-DsF91dDF.js";
1
+ import { a as JwkKeyPair, i as JsonWebKeyPairStorage, l as CreateBearerTokenOptions, r as IRenownCrypto, t as DID, w as Issuer } from "./types-efrA0fu2.js";
2
2
  import { Action, AppActionSigner, ISigner, Signature, SignatureVerificationHandler, UserActionSigner } from "@powerhousedao/shared/document-model";
3
3
 
4
4
  //#region src/crypto/renown-crypto.d.ts
@@ -124,4 +124,4 @@ declare class BrowserKeyStorage implements JsonWebKeyPairStorage {
124
124
  }
125
125
  //#endregion
126
126
  export { parseSignatureHashField as a, RenownCryptoBuilder as c, extractResultingHashFromSignature as i, ConnectCrypto as l, RenownCryptoSigner as n, signatureHasResultingHash as o, createSignatureVerifier as r, MemoryKeyStorage as s, BrowserKeyStorage as t, RenownCrypto as u };
127
- //# sourceMappingURL=index-25fTa4yI.d.ts.map
127
+ //# sourceMappingURL=index-CLJb-Nle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-25fTa4yI.d.ts","names":[],"sources":["../src/crypto/renown-crypto.ts","../src/crypto/renown-crypto-builder.ts","../src/crypto/memory-key-storage.ts","../src/crypto/signer.ts","../src/crypto/browser-key-storage.ts"],"mappings":";;;;cASa,YAAA,YAAwB,aAAA;EAAA;WAK1B,GAAA,EAAK,GAAA;EAAA,OAEP,SAAA,EAAS,cAAA;EAAA,OACT,aAAA;;;;;cAGL,cAAA,EAAgB,qBAAA,EAChB,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,aAAA,EACT,GAAA,EAAK,GAAA;EAAA,IAQH,SAAA,CAAA,GAAS,SAAA;EAIP,cAAA,CACJ,OAAA,sBACA,OAAA,GAAU,wBAAA,GACT,OAAA;EAUG,SAAA,CAAA,GAAa,OAAA;EAQb,IAAA,CAAK,IAAA,EAAM,UAAA,YAAsB,OAAA,CAAQ,UAAA;EAazC,MAAA,CAAO,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,OAAA;EAAA,IASnD,MAAA,CAAA,GAAU,MAAA;AAAA;;;;cAiBH,aAAA,SAAsB,YAAA;;;cCtFtB,mBAAA;EAAA;UACH,cAAA;EAAA,QACA,YAAA;EAER,kBAAA,CAAmB,OAAA,EAAS,qBAAA;EAK5B,gBAAA,CAAiB,MAAA,EAAQ,YAAA;EAKnB,KAAA,CAAA,GAAS,OAAA,CAAQ,YAAA;AAAA;;;cCrBZ,gBAAA,YAA4B,qBAAA;EAAA,QAC/B,OAAA;cAEI,OAAA,GAAU,UAAA;EAItB,WAAA,CAAA,GAAW,OAAA,CAAA,UAAA;EAIX,WAAA,CAAY,OAAA,EAAS,UAAA,GAAU,OAAA;EAK/B,aAAA,CAAA,GAAa,OAAA;AAAA;;;cCDF,kBAAA,YAA8B,OAAA;EAAA,iBAItB,MAAA;EAAA,iBACA,OAAA;EACV,IAAA,GAAO,gBAAA;EAAA,SALP,GAAA,EAAK,eAAA;cAGK,MAAA,EAAQ,aAAA,EACR,OAAA,UACV,IAAA,GAAO,gBAAA;EAAA,IAQZ,SAAA,CAAA,GAAS,SAAA;EAIP,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,OAAA,CAAQ,UAAA;EAIhC,MAAA,CAAO,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,OAAA;EAOjD,UAAA,CACJ,MAAA,EAAQ,MAAA,EACR,WAAA,GAAc,WAAA,GACb,OAAA,CAAQ,SAAA;EHXR;;;;;;;;;;;;;;;EG+BG,4BAAA,CACJ,MAAA,EAAQ,MAAA,EACR,kBAAA,UACA,WAAA,GAAc,WAAA,GACb,OAAA,CAAQ,SAAA;EHzDJ;;;EAAA,QGkEO,WAAA;EAAA,QAiCA,UAAA;EAAA,QAYN,qBAAA;EAAA,QASA,gBAAA;EAAA,QAQA,mBAAA;AAAA;;;;;iBAcM,uBAAA,CACd,gBAAA,aACC,4BAAA;;;;;;;;;;;iBAgNa,uBAAA,CAAwB,SAAA;EACtC,aAAA;EACA,kBAAA;AAAA;;;;;;;iBAuBc,iCAAA,CACd,SAAA,EAAW,SAAA;;;;;AH3Sb;;iBGwTgB,yBAAA,CAA0B,SAAA,EAAW,SAAA;;;cCjZxC,iBAAA,YAA6B,qBAAA;EAAA;cAG5B,EAAA,EAAI,WAAA;EAAA,OAIH,MAAA,CACX,MAAA,YACC,OAAA,CAAQ,iBAAA;EA4CL,WAAA,CAAY,OAAA,EAAS,UAAA,GAAU,OAAA;EAS/B,WAAA,CAAA,GAAe,OAAA,CAAQ,UAAA;EAavB,aAAA,CAAA,GAAiB,OAAA;AAAA"}
1
+ {"version":3,"file":"index-CLJb-Nle.d.ts","names":[],"sources":["../src/crypto/renown-crypto.ts","../src/crypto/renown-crypto-builder.ts","../src/crypto/memory-key-storage.ts","../src/crypto/signer.ts","../src/crypto/browser-key-storage.ts"],"mappings":";;;;cASa,YAAA,YAAwB,aAAA;EAAA;WAK1B,GAAA,EAAK,GAAA;EAAA,OAEP,SAAA,EAAS,cAAA;EAAA,OACT,aAAA;;;;;cAGL,cAAA,EAAgB,qBAAA,EAChB,MAAA,EAAQ,YAAA,EACR,OAAA,EAAS,aAAA,EACT,GAAA,EAAK,GAAA;EAAA,IAQH,SAAA,CAAA,GAAS,SAAA;EAIP,cAAA,CACJ,OAAA,sBACA,OAAA,GAAU,wBAAA,GACT,OAAA;EAUG,SAAA,CAAA,GAAa,OAAA;EAQb,IAAA,CAAK,IAAA,EAAM,UAAA,YAAsB,OAAA,CAAQ,UAAA;EAazC,MAAA,CAAO,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,OAAA;EAAA,IASnD,MAAA,CAAA,GAAU,MAAA;AAAA;;;;cAiBH,aAAA,SAAsB,YAAA;;;cCtFtB,mBAAA;EAAA;UACH,cAAA;EAAA,QACA,YAAA;EAER,kBAAA,CAAmB,OAAA,EAAS,qBAAA;EAK5B,gBAAA,CAAiB,MAAA,EAAQ,YAAA;EAKnB,KAAA,CAAA,GAAS,OAAA,CAAQ,YAAA;AAAA;;;cCrBZ,gBAAA,YAA4B,qBAAA;EAAA,QAC/B,OAAA;cAEI,OAAA,GAAU,UAAA;EAItB,WAAA,CAAA,GAAW,OAAA,CAAA,UAAA;EAIX,WAAA,CAAY,OAAA,EAAS,UAAA,GAAU,OAAA;EAK/B,aAAA,CAAA,GAAa,OAAA;AAAA;;;cCDF,kBAAA,YAA8B,OAAA;EAAA,iBAItB,MAAA;EAAA,iBACA,OAAA;EACV,IAAA,GAAO,gBAAA;EAAA,SALP,GAAA,EAAK,eAAA;cAGK,MAAA,EAAQ,aAAA,EACR,OAAA,UACV,IAAA,GAAO,gBAAA;EAAA,IAQZ,SAAA,CAAA,GAAS,SAAA;EAIP,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,OAAA,CAAQ,UAAA;EAIhC,MAAA,CAAO,IAAA,EAAM,UAAA,EAAY,SAAA,EAAW,UAAA,GAAa,OAAA;EAOjD,UAAA,CACJ,MAAA,EAAQ,MAAA,EACR,WAAA,GAAc,WAAA,GACb,OAAA,CAAQ,SAAA;EHXR;;;;;;;;;;;;;;;EG+BG,4BAAA,CACJ,MAAA,EAAQ,MAAA,EACR,kBAAA,UACA,WAAA,GAAc,WAAA,GACb,OAAA,CAAQ,SAAA;EHzDJ;;;EAAA,QGkEO,WAAA;EAAA,QAiCA,UAAA;EAAA,QAYN,qBAAA;EAAA,QASA,gBAAA;EAAA,QAQA,mBAAA;AAAA;;;;;iBAcM,uBAAA,CACd,gBAAA,aACC,4BAAA;;;;;;;;;;;iBAgNa,uBAAA,CAAwB,SAAA;EACtC,aAAA;EACA,kBAAA;AAAA;;;;;;;iBAuBc,iCAAA,CACd,SAAA,EAAW,SAAA;;;;;AH3Sb;;iBGwTgB,yBAAA,CAA0B,SAAA,EAAW,SAAA;;;cCjZxC,iBAAA,YAA6B,qBAAA;EAAA;cAG5B,EAAA,EAAI,WAAA;EAAA,OAIH,MAAA,CACX,MAAA,YACC,OAAA,CAAQ,iBAAA;EA4CL,WAAA,CAAY,OAAA,EAAS,UAAA,GAAU,OAAA;EAS/B,WAAA,CAAA,GAAe,OAAA,CAAQ,UAAA;EAavB,aAAA,CAAA,GAAiB,OAAA;AAAA"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as IEventEmitter, A as LoginStatus, B as Service, C as InternalUser, D as JWTVerifyPolicies, E as JWTVerified, F as RenownEventEmitter, G as User, H as SignInParams, I as RenownEvents, J as VerifiedCredential, K as Verifiable, L as RenownProfile, M as PowerhouseVerifiableCredential, N as ProfileFetcher, O as JsonWebKey, P as Proof, R as RenownStorage, S as IVerifiableCredential, T as JWTPayload, U as Signer, V as ServiceEndpoint, W as Unsubscribe, X as W3CCredential, Y as VerifiedJWT, Z as BaseStorage, _ as IPowerhouseCredentialSubject, _t as DEFAULT_RENOWN_URL, a as JwkKeyPair, at as VerifiedAuthCredential, b as IRenown, bt as RENOWN_SESSION_COOKIE, c as ConditionWeightedThreshold, ct as fetchDelegationCredential, d as DIDDocument, dt as verifyCredentialSignature, et as BuildCredentialParams, f as DIDDocumentMetadata, ft as CREDENTIAL_SCHEMA_EIP712_TYPE, g as IAuthCredentialSubject, gt as DEFAULT_RENOWN_NETWORK_ID, h as EcdsaSignature, ht as DEFAULT_RENOWN_CHAIN_ID, i as JsonWebKeyPairStorage, it as SignCredentialTypedData, j as PKHDid, k as KeyCapabilitySection, l as CreateBearerTokenOptions, lt as recoverCredentialSigner, m as DIDResolutionResult, mt as CREDENTIAL_TYPES, n as IConnectCrypto, nt as CredentialMessage, o as AuthVerifiableCredential, ot as VerifyAuthCredentialOptions, p as DIDResolutionMetadata, pt as CREDENTIAL_SUBJECT_TYPE, q as VerificationMethod, r as IRenownCrypto, rt as FetchDelegationCredentialOptions, s as AuthVerifiedCredential, st as buildAndSignCredential, t as DID, tt as CredentialDomain, u as CredentialStatus, ut as verifyAuthCredential, v as IPowerhouseIssuerType, vt as DOMAIN_TYPE, w as Issuer, x as ISigner, xt as VERIFIABLE_CREDENTIAL_EIP712_TYPE, y as IProof, yt as ISSUER_TYPE, z as RenownStorageMap } from "./types-DsF91dDF.js";
2
- import { a as parseSignatureHashField, c as RenownCryptoBuilder, i as extractResultingHashFromSignature, l as ConnectCrypto, n as RenownCryptoSigner, o as signatureHasResultingHash, r as createSignatureVerifier, s as MemoryKeyStorage, t as BrowserKeyStorage, u as RenownCrypto } from "./index-25fTa4yI.js";
3
- import { a as getResolver, c as fetchRenownProfile, d as ResolveSwitchboardEndpointOptions, f as resolveSwitchboardEndpoint, h as SwitchboardClient, i as createAuthBearerToken, l as BaseRenownBuilder, m as RenownMemoryStorage, n as VerifyAuthBearerTokenOptions, o as parsePkhDid, p as Renown, r as assertIsAuthCredential, s as verifyAuthBearerToken, t as ILogger, u as RenownBuilderOptions } from "./utils-OOrVXHof.js";
1
+ import { $ as IEventEmitter, A as LoginStatus, B as Service, C as InternalUser, D as JWTVerifyPolicies, E as JWTVerified, F as RenownEventEmitter, G as User, H as SignInParams, I as RenownEvents, J as VerifiedCredential, K as Verifiable, L as RenownProfile, M as PowerhouseVerifiableCredential, N as ProfileFetcher, O as JsonWebKey, P as Proof, R as RenownStorage, S as IVerifiableCredential, T as JWTPayload, U as Signer, V as ServiceEndpoint, W as Unsubscribe, X as W3CCredential, Y as VerifiedJWT, Z as BaseStorage, _ as IPowerhouseCredentialSubject, _t as DEFAULT_RENOWN_URL, a as JwkKeyPair, at as VerifiedAuthCredential, b as IRenown, bt as RENOWN_SESSION_COOKIE, c as ConditionWeightedThreshold, ct as fetchDelegationCredential, d as DIDDocument, dt as verifyCredentialSignature, et as BuildCredentialParams, f as DIDDocumentMetadata, ft as CREDENTIAL_SCHEMA_EIP712_TYPE, g as IAuthCredentialSubject, gt as DEFAULT_RENOWN_NETWORK_ID, h as EcdsaSignature, ht as DEFAULT_RENOWN_CHAIN_ID, i as JsonWebKeyPairStorage, it as SignCredentialTypedData, j as PKHDid, k as KeyCapabilitySection, l as CreateBearerTokenOptions, lt as recoverCredentialSigner, m as DIDResolutionResult, mt as CREDENTIAL_TYPES, n as IConnectCrypto, nt as CredentialMessage, o as AuthVerifiableCredential, ot as VerifyAuthCredentialOptions, p as DIDResolutionMetadata, pt as CREDENTIAL_SUBJECT_TYPE, q as VerificationMethod, r as IRenownCrypto, rt as FetchDelegationCredentialOptions, s as AuthVerifiedCredential, st as buildAndSignCredential, t as DID, tt as CredentialDomain, u as CredentialStatus, ut as verifyAuthCredential, v as IPowerhouseIssuerType, vt as DOMAIN_TYPE, w as Issuer, x as ISigner, xt as VERIFIABLE_CREDENTIAL_EIP712_TYPE, y as IProof, yt as ISSUER_TYPE, z as RenownStorageMap } from "./types-efrA0fu2.js";
2
+ import { a as parseSignatureHashField, c as RenownCryptoBuilder, i as extractResultingHashFromSignature, l as ConnectCrypto, n as RenownCryptoSigner, o as signatureHasResultingHash, r as createSignatureVerifier, s as MemoryKeyStorage, t as BrowserKeyStorage, u as RenownCrypto } from "./index-CLJb-Nle.js";
3
+ import { C as SwitchboardClient, S as RenownMemoryStorage, _ as BaseRenownBuilder, a as getResolver, b as resolveSwitchboardEndpoint, d as RenownSessionProfile, g as fetchRenownProfile, i as createAuthBearerToken, n as VerifyAuthBearerTokenOptions, o as parsePkhDid, r as assertIsAuthCredential, s as verifyAuthBearerToken, t as ILogger, u as RenownSessionCookie, v as RenownBuilderOptions, x as Renown, y as ResolveSwitchboardEndpointOptions } from "./utils-BuICPHTW.js";
4
4
 
5
5
  //#region src/event/event.browser.d.ts
6
6
  declare class BrowserEventEmitter<Events extends Record<string, unknown>> implements IEventEmitter<Events> {
@@ -66,5 +66,5 @@ declare class RenownBuilder extends BaseRenownBuilder {
66
66
  */
67
67
  declare function initRenown(appName: string, options?: BrowserRenownBuilderOptions): Promise<Renown>;
68
68
  //#endregion
69
- export { AuthVerifiableCredential, AuthVerifiedCredential, BaseRenownBuilder, BrowserKeyStorage, BrowserRenownBuilderOptions, BrowserRenownEventEmitter, BrowserRenownStorage, BuildCredentialParams, CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ConditionWeightedThreshold, ConnectCrypto, CreateBearerTokenOptions, CredentialDomain, CredentialMessage, CredentialStatus, DEFAULT_RENOWN_CHAIN_ID, DEFAULT_RENOWN_NETWORK_ID, DEFAULT_RENOWN_URL, DID, DIDDocument, DIDDocumentMetadata, DIDResolutionMetadata, DIDResolutionResult, DOMAIN_TYPE, EcdsaSignature, FetchDelegationCredentialOptions, IAuthCredentialSubject, IConnectCrypto, ILogger, IPowerhouseCredentialSubject, IPowerhouseIssuerType, IProof, IRenown, IRenownCrypto, ISSUER_TYPE, ISigner, IVerifiableCredential, InternalUser, Issuer, JWTPayload, JWTVerified, JWTVerifyPolicies, JsonWebKey, JsonWebKeyPairStorage, JwkKeyPair, KeyCapabilitySection, LoginStatus, MemoryKeyStorage, PKHDid, PowerhouseVerifiableCredential, ProfileFetcher, Proof, RENOWN_SESSION_COOKIE, Renown, RenownBuilder, RenownBuilderOptions, RenownCrypto, RenownCryptoBuilder, RenownCryptoSigner, RenownEventEmitter, RenownEvents, RenownMemoryStorage, RenownProfile, RenownStorage, RenownStorageMap, ResolveSwitchboardEndpointOptions, Service, ServiceEndpoint, SignCredentialTypedData, SignInParams, Signer, SwitchboardClient, Unsubscribe, User, VERIFIABLE_CREDENTIAL_EIP712_TYPE, Verifiable, VerificationMethod, VerifiedAuthCredential, VerifiedCredential, VerifiedJWT, VerifyAuthBearerTokenOptions, VerifyAuthCredentialOptions, W3CCredential, assertIsAuthCredential, buildAndSignCredential, createAuthBearerToken, createSignatureVerifier, extractResultingHashFromSignature, fetchDelegationCredential, fetchRenownProfile, getResolver, initRenown, parsePkhDid, parseSignatureHashField, readPersistedUser, recoverCredentialSigner, resolveSwitchboardEndpoint, signatureHasResultingHash, verifyAuthBearerToken, verifyAuthCredential, verifyCredentialSignature };
69
+ export { AuthVerifiableCredential, AuthVerifiedCredential, BaseRenownBuilder, BrowserKeyStorage, BrowserRenownBuilderOptions, BrowserRenownEventEmitter, BrowserRenownStorage, BuildCredentialParams, CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ConditionWeightedThreshold, ConnectCrypto, CreateBearerTokenOptions, CredentialDomain, CredentialMessage, CredentialStatus, DEFAULT_RENOWN_CHAIN_ID, DEFAULT_RENOWN_NETWORK_ID, DEFAULT_RENOWN_URL, DID, DIDDocument, DIDDocumentMetadata, DIDResolutionMetadata, DIDResolutionResult, DOMAIN_TYPE, EcdsaSignature, FetchDelegationCredentialOptions, IAuthCredentialSubject, IConnectCrypto, ILogger, IPowerhouseCredentialSubject, IPowerhouseIssuerType, IProof, IRenown, IRenownCrypto, ISSUER_TYPE, ISigner, IVerifiableCredential, InternalUser, Issuer, JWTPayload, JWTVerified, JWTVerifyPolicies, JsonWebKey, JsonWebKeyPairStorage, JwkKeyPair, KeyCapabilitySection, LoginStatus, MemoryKeyStorage, PKHDid, PowerhouseVerifiableCredential, ProfileFetcher, Proof, RENOWN_SESSION_COOKIE, Renown, RenownBuilder, RenownBuilderOptions, RenownCrypto, RenownCryptoBuilder, RenownCryptoSigner, RenownEventEmitter, RenownEvents, RenownMemoryStorage, RenownProfile, type RenownSessionCookie, type RenownSessionProfile, RenownStorage, RenownStorageMap, ResolveSwitchboardEndpointOptions, Service, ServiceEndpoint, SignCredentialTypedData, SignInParams, Signer, SwitchboardClient, Unsubscribe, User, VERIFIABLE_CREDENTIAL_EIP712_TYPE, Verifiable, VerificationMethod, VerifiedAuthCredential, VerifiedCredential, VerifiedJWT, VerifyAuthBearerTokenOptions, VerifyAuthCredentialOptions, W3CCredential, assertIsAuthCredential, buildAndSignCredential, createAuthBearerToken, createSignatureVerifier, extractResultingHashFromSignature, fetchDelegationCredential, fetchRenownProfile, getResolver, initRenown, parsePkhDid, parseSignatureHashField, readPersistedUser, recoverCredentialSigner, resolveSwitchboardEndpoint, signatureHasResultingHash, verifyAuthBearerToken, verifyAuthCredential, verifyCredentialSignature };
70
70
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/event/event.browser.ts","../src/storage/storage.browser.ts","../src/init.browser.ts"],"mappings":";;;;;cAQa,mBAAA,gBACI,MAAA,8BACJ,aAAA,CAAc,MAAA;EAAA;EAGzB,EAAA,iBAAmB,MAAA,CAAA,CACjB,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,MAAA,CAAO,CAAA;EAc1B,IAAA,iBAAqB,MAAA,CAAA,CAAQ,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,MAAA,CAAO,CAAA;AAAA;;;cC3BzC,cAAA,WACD,MAAA,oBAA0B,MAAA,2BAC5B,WAAA,CAAY,CAAA;EAAA;mBACH,SAAA;cAEL,SAAA,UAAmB,QAAA;EAQ/B,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,GAAM,CAAA,CAAE,GAAA;EAQtC,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,EAAK,KAAA,GAAQ,CAAA,CAAE,GAAA;EAM7C,MAAA,CAAO,GAAA,QAAW,CAAA;AAAA;;;cCtBP,oBAAA,SAA6B,cAAA,CAAe,gBAAA;AAAA,cAC5C,yBAAA,SAAkC,mBAAA,CAAoB,YAAA;AAAA,iBAInD,iBAAA,CAAkB,QAAA,YAAoB,IAAA;AAAA,UASrC,2BAAA;EFPN;EEST,QAAA;EFR0B;EEU1B,OAAA;EFIoC;EEFpC,cAAA;EFEoD;EEApD,SAAA;EFnBwB;EEqBxB,UAAA;AAAA;;;;;cAOW,aAAA,SAAsB,iBAAA;EAAA;cAKrB,OAAA,UAAiB,OAAA,GAAS,2BAAA;EF7B7B;;;EE+CT,YAAA,CAAa,QAAA;EF9CA;;;;EEwDb,aAAA,CAAc,SAAA;EF1CsB;;;;EEmD9B,KAAA,CAAA,GAAS,OAAA,CAAQ,MAAA;AAAA;;;;;AD9EzB;;;iBCkGgB,UAAA,CACd,OAAA,UACA,OAAA,GAAS,2BAAA,GAAgC,OAAA,CAAA,MAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/event/event.browser.ts","../src/storage/storage.browser.ts","../src/init.browser.ts"],"mappings":";;;;;cAQa,mBAAA,gBACI,MAAA,8BACJ,aAAA,CAAc,MAAA;EAAA;EAGzB,EAAA,iBAAmB,MAAA,CAAA,CACjB,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,MAAA,CAAO,CAAA;EAc1B,IAAA,iBAAqB,MAAA,CAAA,CAAQ,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,MAAA,CAAO,CAAA;AAAA;;;cC3BzC,cAAA,WACD,MAAA,oBAA0B,MAAA,2BAC5B,WAAA,CAAY,CAAA;EAAA;mBACH,SAAA;cAEL,SAAA,UAAmB,QAAA;EAQ/B,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,GAAM,CAAA,CAAE,GAAA;EAQtC,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,EAAK,KAAA,GAAQ,CAAA,CAAE,GAAA;EAM7C,MAAA,CAAO,GAAA,QAAW,CAAA;AAAA;;;cCtBP,oBAAA,SAA6B,cAAA,CAAe,gBAAA;AAAA,cAC5C,yBAAA,SAAkC,mBAAA,CAAoB,YAAA;AAAA,iBAInD,iBAAA,CAAkB,QAAA,YAAoB,IAAA;AAAA,UASrC,2BAAA;EFPN;EEST,QAAA;EFR0B;EEU1B,OAAA;EFIoC;EEFpC,cAAA;EFEoD;EEApD,SAAA;EFnBwB;EEqBxB,UAAA;AAAA;;;;;cAOW,aAAA,SAAsB,iBAAA;EAAA;cAKrB,OAAA,UAAiB,OAAA,GAAS,2BAAA;EF7B7B;;;EE+CT,YAAA,CAAa,QAAA;EF9CA;;;;EEwDb,aAAA,CAAc,SAAA;EF1CsB;;;;EEmD9B,KAAA,CAAA,GAAS,OAAA,CAAQ,MAAA;AAAA;;;;;AD9EzB;;;iBCsGgB,UAAA,CACd,OAAA,UACA,OAAA,GAAS,2BAAA,GAAgC,OAAA,CAAA,MAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as VERIFIABLE_CREDENTIAL_EIP712_TYPE, _ as DEFAULT_RENOWN_NETWORK_ID, a as BaseStorage, b as ISSUER_TYPE, c as recoverCredentialSigner, d as SwitchboardClient, f as resolveSwitchboardEndpoint, g as DEFAULT_RENOWN_CHAIN_ID, h as CREDENTIAL_TYPES, i as RenownMemoryStorage, l as verifyAuthCredential, m as CREDENTIAL_SUBJECT_TYPE, n as fetchRenownProfile, o as buildAndSignCredential, p as CREDENTIAL_SCHEMA_EIP712_TYPE, r as Renown, s as fetchDelegationCredential, t as BaseRenownBuilder, u as verifyCredentialSignature, v as DEFAULT_RENOWN_URL, x as RENOWN_SESSION_COOKIE, y as DOMAIN_TYPE } from "./renown-builder-BqWoYtBR.js";
1
+ import { S as VERIFIABLE_CREDENTIAL_EIP712_TYPE, _ as DEFAULT_RENOWN_NETWORK_ID, a as BaseStorage, b as ISSUER_TYPE, c as recoverCredentialSigner, d as SwitchboardClient, f as resolveSwitchboardEndpoint, g as DEFAULT_RENOWN_CHAIN_ID, h as CREDENTIAL_TYPES, i as RenownMemoryStorage, l as verifyAuthCredential, m as CREDENTIAL_SUBJECT_TYPE, n as fetchRenownProfile, o as buildAndSignCredential, p as CREDENTIAL_SCHEMA_EIP712_TYPE, r as Renown, s as fetchDelegationCredential, t as BaseRenownBuilder, u as verifyCredentialSignature, v as DEFAULT_RENOWN_URL, x as RENOWN_SESSION_COOKIE, y as DOMAIN_TYPE } from "./renown-builder-1WTEoRc6.js";
2
2
  import { a as signatureHasResultingHash, c as ConnectCrypto, d as createAuthBearerToken, f as getResolver, i as parseSignatureHashField, l as RenownCrypto, m as verifyAuthBearerToken, n as createSignatureVerifier, o as MemoryKeyStorage, p as parsePkhDid, r as extractResultingHashFromSignature, s as RenownCryptoBuilder, t as RenownCryptoSigner, u as assertIsAuthCredential } from "./signer-CgYhXTV7.js";
3
3
  import { t as BrowserKeyStorage } from "./browser-key-storage-v4O-fjz0.js";
4
4
  //#region src/event/event.browser.ts
@@ -99,7 +99,8 @@ var RenownBuilder = class extends BaseRenownBuilder {
99
99
  const keyStorage = await BrowserKeyStorage.create(this.#keyDbName);
100
100
  this.withKeyPairStorage(keyStorage);
101
101
  const renown = await super.build();
102
- if (this.#revalidate === "always" && renown.user) renown.revalidate();
102
+ if (renown.user) if (this.#revalidate === "always") renown.revalidate();
103
+ else renown.refreshProfile();
103
104
  return renown;
104
105
  }
105
106
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["#eventTarget","#buildKey","#basename","#keyDbName","#revalidate"],"sources":["../src/event/event.browser.ts","../src/storage/storage.browser.ts","../src/init.browser.ts"],"sourcesContent":["import type { IEventEmitter } from \"./types.js\";\n\nexport class TypedCustomEvent<T> extends CustomEvent<T> {\n constructor(type: string, detail?: T) {\n super(type, { detail });\n }\n}\n\nexport class BrowserEventEmitter<\n Events extends Record<string, unknown>,\n> implements IEventEmitter<Events> {\n #eventTarget = new EventTarget();\n\n on<K extends keyof Events>(\n event: K,\n listener: (data: Events[K]) => void,\n ): () => void {\n const wrappedListener = (e: Event) => {\n if (e instanceof TypedCustomEvent) {\n listener(e.detail as Events[K]);\n }\n };\n\n this.#eventTarget.addEventListener(event.toString(), wrappedListener);\n return () => {\n this.#eventTarget.removeEventListener(event.toString(), wrappedListener);\n };\n }\n\n emit<K extends keyof Events>(event: K, data: Events[K]): void {\n const customEvent = new TypedCustomEvent(event.toString(), data);\n this.#eventTarget.dispatchEvent(customEvent);\n }\n}\n","import { BaseStorage } from \"./common.js\";\n\nexport class BrowserStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> extends BaseStorage<T> {\n private readonly namespace: string;\n\n constructor(namespace: string, basename: string | undefined) {\n super();\n this.namespace = `${basename}:${namespace}`;\n }\n\n #buildKey(key: keyof T): string {\n return `${this.namespace}:${key.toString()}`;\n }\n get<Key extends keyof T>(key: Key): T[Key] | undefined {\n const value = localStorage.getItem(this.#buildKey(key));\n if (value) {\n return JSON.parse(value) as T[Key];\n }\n return undefined;\n }\n\n set<Key extends keyof T>(key: Key, value?: T[Key]): void {\n return value\n ? localStorage.setItem(this.#buildKey(key), JSON.stringify(value))\n : localStorage.removeItem(this.#buildKey(key));\n }\n\n delete(key: keyof T): void {\n return localStorage.removeItem(this.#buildKey(key));\n }\n}\n","import type { Renown } from \"./common.js\";\nimport { BrowserKeyStorage } from \"./crypto/browser-key-storage.js\";\nimport { BrowserEventEmitter } from \"./event/event.browser.js\";\nimport { BaseRenownBuilder } from \"./renown-builder.js\";\nimport { BrowserStorage } from \"./storage/storage.browser.js\";\nimport type { RenownEvents, RenownStorageMap, User } from \"./types.js\";\n\nexport class BrowserRenownStorage extends BrowserStorage<RenownStorageMap> {}\nexport class BrowserRenownEventEmitter extends BrowserEventEmitter<RenownEvents> {}\n\n// Synchronously read the persisted user from localStorage (browser only) for an\n// instant optimistic first paint, before the async SDK build resolves.\nexport function readPersistedUser(basename?: string): User | undefined {\n if (typeof localStorage === \"undefined\") return undefined;\n try {\n return new BrowserStorage<RenownStorageMap>(\"renown\", basename).get(\"user\");\n } catch {\n return undefined;\n }\n}\n\nexport interface BrowserRenownBuilderOptions {\n /** Base path for storage keys (e.g., \"/app\" for multi-tenant apps) */\n basename?: string;\n /** Renown server URL. Defaults to https://www.renown.id */\n baseUrl?: string;\n /** Switchboard GraphQL endpoint for the direct-to-reactor flow. */\n switchboardUrl?: string;\n /** IndexedDB database name for key storage. Defaults to \"renownKeyDB\" */\n keyDbName?: string;\n /** Re-check a stored credential on build (default \"always\"). */\n revalidate?: \"always\" | \"never\";\n}\n\n/**\n * Browser-specific Renown builder with pre-configured defaults.\n * Uses localStorage for user data and IndexedDB for key storage.\n */\nexport class RenownBuilder extends BaseRenownBuilder {\n #basename?: string;\n #keyDbName?: string;\n #revalidate: \"always\" | \"never\";\n\n constructor(appName: string, options: BrowserRenownBuilderOptions = {}) {\n super(appName);\n this.#basename = options.basename;\n this.#keyDbName = options.keyDbName;\n this.#revalidate = options.revalidate ?? \"always\";\n this.withStorage(new BrowserRenownStorage(\"renown\", this.#basename));\n this.withEventEmitter(new BrowserRenownEventEmitter());\n if (options.baseUrl) {\n this.withBaseUrl(options.baseUrl);\n }\n if (options.switchboardUrl) {\n this.withSwitchboardUrl(options.switchboardUrl);\n }\n }\n\n /**\n * Set base path for storage keys (e.g., \"/app\" for multi-tenant apps).\n */\n withBasename(basename: string): this {\n this.#basename = basename;\n this.withStorage(new BrowserRenownStorage(\"renown\", this.#basename));\n return this;\n }\n\n /**\n * Set IndexedDB database name for key storage.\n * Defaults to \"renownKeyDB\".\n */\n withKeyDbName(keyDbName: string): this {\n this.#keyDbName = keyDbName;\n return this;\n }\n\n /**\n * Build and initialize the Renown instance.\n * Initializes IndexedDB for key storage before building.\n */\n async build(): Promise<Renown> {\n const keyStorage = await BrowserKeyStorage.create(this.#keyDbName);\n this.withKeyPairStorage(keyStorage);\n const renown = await super.build();\n // Browser has a reactive UI, so revalidate in the background (fail-open) and\n // let the store update if the credential was revoked; never block the paint.\n if (this.#revalidate === \"always\" && renown.user) {\n void renown.revalidate();\n }\n return renown;\n }\n}\n\n/**\n * @deprecated Use RenownBuilder directly instead.\n * Initialize a browser-specific Renown instance.\n * @param appName - Application name used for signing context\n * @param options - Browser-specific configuration options\n * @returns Initialized Renown instance\n */\nexport function initRenown(\n appName: string,\n options: BrowserRenownBuilderOptions = {},\n) {\n return new RenownBuilder(appName, options).build();\n}\n"],"mappings":";;;;AAEA,IAAa,mBAAb,cAAyC,YAAe;CACtD,YAAY,MAAc,QAAY;AACpC,QAAM,MAAM,EAAE,QAAQ,CAAC;;;AAI3B,IAAa,sBAAb,MAEmC;CACjC,eAAe,IAAI,aAAa;CAEhC,GACE,OACA,UACY;EACZ,MAAM,mBAAmB,MAAa;AACpC,OAAI,aAAa,iBACf,UAAS,EAAE,OAAoB;;AAInC,QAAA,YAAkB,iBAAiB,MAAM,UAAU,EAAE,gBAAgB;AACrE,eAAa;AACX,SAAA,YAAkB,oBAAoB,MAAM,UAAU,EAAE,gBAAgB;;;CAI5E,KAA6B,OAAU,MAAuB;EAC5D,MAAM,cAAc,IAAI,iBAAiB,MAAM,UAAU,EAAE,KAAK;AAChE,QAAA,YAAkB,cAAc,YAAY;;;;;AC7BhD,IAAa,iBAAb,cAEU,YAAe;CACvB;CAEA,YAAY,WAAmB,UAA8B;AAC3D,SAAO;AACP,OAAK,YAAY,GAAG,SAAS,GAAG;;CAGlC,UAAU,KAAsB;AAC9B,SAAO,GAAG,KAAK,UAAU,GAAG,IAAI,UAAU;;CAE5C,IAAyB,KAA8B;EACrD,MAAM,QAAQ,aAAa,QAAQ,MAAA,SAAe,IAAI,CAAC;AACvD,MAAI,MACF,QAAO,KAAK,MAAM,MAAM;;CAK5B,IAAyB,KAAU,OAAsB;AACvD,SAAO,QACH,aAAa,QAAQ,MAAA,SAAe,IAAI,EAAE,KAAK,UAAU,MAAM,CAAC,GAChE,aAAa,WAAW,MAAA,SAAe,IAAI,CAAC;;CAGlD,OAAO,KAAoB;AACzB,SAAO,aAAa,WAAW,MAAA,SAAe,IAAI,CAAC;;;;;ACvBvD,IAAa,uBAAb,cAA0C,eAAiC;AAC3E,IAAa,4BAAb,cAA+C,oBAAkC;AAIjF,SAAgB,kBAAkB,UAAqC;AACrE,KAAI,OAAO,iBAAiB,YAAa,QAAO,KAAA;AAChD,KAAI;AACF,SAAO,IAAI,eAAiC,UAAU,SAAS,CAAC,IAAI,OAAO;SACrE;AACN;;;;;;;AAqBJ,IAAa,gBAAb,cAAmC,kBAAkB;CACnD;CACA;CACA;CAEA,YAAY,SAAiB,UAAuC,EAAE,EAAE;AACtE,QAAM,QAAQ;AACd,QAAA,WAAiB,QAAQ;AACzB,QAAA,YAAkB,QAAQ;AAC1B,QAAA,aAAmB,QAAQ,cAAc;AACzC,OAAK,YAAY,IAAI,qBAAqB,UAAU,MAAA,SAAe,CAAC;AACpE,OAAK,iBAAiB,IAAI,2BAA2B,CAAC;AACtD,MAAI,QAAQ,QACV,MAAK,YAAY,QAAQ,QAAQ;AAEnC,MAAI,QAAQ,eACV,MAAK,mBAAmB,QAAQ,eAAe;;;;;CAOnD,aAAa,UAAwB;AACnC,QAAA,WAAiB;AACjB,OAAK,YAAY,IAAI,qBAAqB,UAAU,MAAA,SAAe,CAAC;AACpE,SAAO;;;;;;CAOT,cAAc,WAAyB;AACrC,QAAA,YAAkB;AAClB,SAAO;;;;;;CAOT,MAAM,QAAyB;EAC7B,MAAM,aAAa,MAAM,kBAAkB,OAAO,MAAA,UAAgB;AAClE,OAAK,mBAAmB,WAAW;EACnC,MAAM,SAAS,MAAM,MAAM,OAAO;AAGlC,MAAI,MAAA,eAAqB,YAAY,OAAO,KACrC,QAAO,YAAY;AAE1B,SAAO;;;;;;;;;;AAWX,SAAgB,WACd,SACA,UAAuC,EAAE,EACzC;AACA,QAAO,IAAI,cAAc,SAAS,QAAQ,CAAC,OAAO"}
1
+ {"version":3,"file":"index.js","names":["#eventTarget","#buildKey","#basename","#keyDbName","#revalidate"],"sources":["../src/event/event.browser.ts","../src/storage/storage.browser.ts","../src/init.browser.ts"],"sourcesContent":["import type { IEventEmitter } from \"./types.js\";\n\nexport class TypedCustomEvent<T> extends CustomEvent<T> {\n constructor(type: string, detail?: T) {\n super(type, { detail });\n }\n}\n\nexport class BrowserEventEmitter<\n Events extends Record<string, unknown>,\n> implements IEventEmitter<Events> {\n #eventTarget = new EventTarget();\n\n on<K extends keyof Events>(\n event: K,\n listener: (data: Events[K]) => void,\n ): () => void {\n const wrappedListener = (e: Event) => {\n if (e instanceof TypedCustomEvent) {\n listener(e.detail as Events[K]);\n }\n };\n\n this.#eventTarget.addEventListener(event.toString(), wrappedListener);\n return () => {\n this.#eventTarget.removeEventListener(event.toString(), wrappedListener);\n };\n }\n\n emit<K extends keyof Events>(event: K, data: Events[K]): void {\n const customEvent = new TypedCustomEvent(event.toString(), data);\n this.#eventTarget.dispatchEvent(customEvent);\n }\n}\n","import { BaseStorage } from \"./common.js\";\n\nexport class BrowserStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> extends BaseStorage<T> {\n private readonly namespace: string;\n\n constructor(namespace: string, basename: string | undefined) {\n super();\n this.namespace = `${basename}:${namespace}`;\n }\n\n #buildKey(key: keyof T): string {\n return `${this.namespace}:${key.toString()}`;\n }\n get<Key extends keyof T>(key: Key): T[Key] | undefined {\n const value = localStorage.getItem(this.#buildKey(key));\n if (value) {\n return JSON.parse(value) as T[Key];\n }\n return undefined;\n }\n\n set<Key extends keyof T>(key: Key, value?: T[Key]): void {\n return value\n ? localStorage.setItem(this.#buildKey(key), JSON.stringify(value))\n : localStorage.removeItem(this.#buildKey(key));\n }\n\n delete(key: keyof T): void {\n return localStorage.removeItem(this.#buildKey(key));\n }\n}\n","import type { Renown } from \"./common.js\";\nimport { BrowserKeyStorage } from \"./crypto/browser-key-storage.js\";\nimport { BrowserEventEmitter } from \"./event/event.browser.js\";\nimport { BaseRenownBuilder } from \"./renown-builder.js\";\nimport { BrowserStorage } from \"./storage/storage.browser.js\";\nimport type { RenownEvents, RenownStorageMap, User } from \"./types.js\";\n\nexport class BrowserRenownStorage extends BrowserStorage<RenownStorageMap> {}\nexport class BrowserRenownEventEmitter extends BrowserEventEmitter<RenownEvents> {}\n\n// Synchronously read the persisted user from localStorage (browser only) for an\n// instant optimistic first paint, before the async SDK build resolves.\nexport function readPersistedUser(basename?: string): User | undefined {\n if (typeof localStorage === \"undefined\") return undefined;\n try {\n return new BrowserStorage<RenownStorageMap>(\"renown\", basename).get(\"user\");\n } catch {\n return undefined;\n }\n}\n\nexport interface BrowserRenownBuilderOptions {\n /** Base path for storage keys (e.g., \"/app\" for multi-tenant apps) */\n basename?: string;\n /** Renown server URL. Defaults to https://www.renown.id */\n baseUrl?: string;\n /** Switchboard GraphQL endpoint for the direct-to-reactor flow. */\n switchboardUrl?: string;\n /** IndexedDB database name for key storage. Defaults to \"renownKeyDB\" */\n keyDbName?: string;\n /** Re-check a stored credential on build (default \"always\"). */\n revalidate?: \"always\" | \"never\";\n}\n\n/**\n * Browser-specific Renown builder with pre-configured defaults.\n * Uses localStorage for user data and IndexedDB for key storage.\n */\nexport class RenownBuilder extends BaseRenownBuilder {\n #basename?: string;\n #keyDbName?: string;\n #revalidate: \"always\" | \"never\";\n\n constructor(appName: string, options: BrowserRenownBuilderOptions = {}) {\n super(appName);\n this.#basename = options.basename;\n this.#keyDbName = options.keyDbName;\n this.#revalidate = options.revalidate ?? \"always\";\n this.withStorage(new BrowserRenownStorage(\"renown\", this.#basename));\n this.withEventEmitter(new BrowserRenownEventEmitter());\n if (options.baseUrl) {\n this.withBaseUrl(options.baseUrl);\n }\n if (options.switchboardUrl) {\n this.withSwitchboardUrl(options.switchboardUrl);\n }\n }\n\n /**\n * Set base path for storage keys (e.g., \"/app\" for multi-tenant apps).\n */\n withBasename(basename: string): this {\n this.#basename = basename;\n this.withStorage(new BrowserRenownStorage(\"renown\", this.#basename));\n return this;\n }\n\n /**\n * Set IndexedDB database name for key storage.\n * Defaults to \"renownKeyDB\".\n */\n withKeyDbName(keyDbName: string): this {\n this.#keyDbName = keyDbName;\n return this;\n }\n\n /**\n * Build and initialize the Renown instance.\n * Initializes IndexedDB for key storage before building.\n */\n async build(): Promise<Renown> {\n const keyStorage = await BrowserKeyStorage.create(this.#keyDbName);\n this.withKeyPairStorage(keyStorage);\n const renown = await super.build();\n // Refresh in the background, never blocking the paint. Only the credential\n // check can log a user out, so it stays gated; the profile refresh always runs.\n if (renown.user) {\n if (this.#revalidate === \"always\") {\n void renown.revalidate();\n } else {\n void renown.refreshProfile();\n }\n }\n return renown;\n }\n}\n\n/**\n * @deprecated Use RenownBuilder directly instead.\n * Initialize a browser-specific Renown instance.\n * @param appName - Application name used for signing context\n * @param options - Browser-specific configuration options\n * @returns Initialized Renown instance\n */\nexport function initRenown(\n appName: string,\n options: BrowserRenownBuilderOptions = {},\n) {\n return new RenownBuilder(appName, options).build();\n}\n"],"mappings":";;;;AAEA,IAAa,mBAAb,cAAyC,YAAe;CACtD,YAAY,MAAc,QAAY;AACpC,QAAM,MAAM,EAAE,QAAQ,CAAC;;;AAI3B,IAAa,sBAAb,MAEmC;CACjC,eAAe,IAAI,aAAa;CAEhC,GACE,OACA,UACY;EACZ,MAAM,mBAAmB,MAAa;AACpC,OAAI,aAAa,iBACf,UAAS,EAAE,OAAoB;;AAInC,QAAA,YAAkB,iBAAiB,MAAM,UAAU,EAAE,gBAAgB;AACrE,eAAa;AACX,SAAA,YAAkB,oBAAoB,MAAM,UAAU,EAAE,gBAAgB;;;CAI5E,KAA6B,OAAU,MAAuB;EAC5D,MAAM,cAAc,IAAI,iBAAiB,MAAM,UAAU,EAAE,KAAK;AAChE,QAAA,YAAkB,cAAc,YAAY;;;;;AC7BhD,IAAa,iBAAb,cAEU,YAAe;CACvB;CAEA,YAAY,WAAmB,UAA8B;AAC3D,SAAO;AACP,OAAK,YAAY,GAAG,SAAS,GAAG;;CAGlC,UAAU,KAAsB;AAC9B,SAAO,GAAG,KAAK,UAAU,GAAG,IAAI,UAAU;;CAE5C,IAAyB,KAA8B;EACrD,MAAM,QAAQ,aAAa,QAAQ,MAAA,SAAe,IAAI,CAAC;AACvD,MAAI,MACF,QAAO,KAAK,MAAM,MAAM;;CAK5B,IAAyB,KAAU,OAAsB;AACvD,SAAO,QACH,aAAa,QAAQ,MAAA,SAAe,IAAI,EAAE,KAAK,UAAU,MAAM,CAAC,GAChE,aAAa,WAAW,MAAA,SAAe,IAAI,CAAC;;CAGlD,OAAO,KAAoB;AACzB,SAAO,aAAa,WAAW,MAAA,SAAe,IAAI,CAAC;;;;;ACvBvD,IAAa,uBAAb,cAA0C,eAAiC;AAC3E,IAAa,4BAAb,cAA+C,oBAAkC;AAIjF,SAAgB,kBAAkB,UAAqC;AACrE,KAAI,OAAO,iBAAiB,YAAa,QAAO,KAAA;AAChD,KAAI;AACF,SAAO,IAAI,eAAiC,UAAU,SAAS,CAAC,IAAI,OAAO;SACrE;AACN;;;;;;;AAqBJ,IAAa,gBAAb,cAAmC,kBAAkB;CACnD;CACA;CACA;CAEA,YAAY,SAAiB,UAAuC,EAAE,EAAE;AACtE,QAAM,QAAQ;AACd,QAAA,WAAiB,QAAQ;AACzB,QAAA,YAAkB,QAAQ;AAC1B,QAAA,aAAmB,QAAQ,cAAc;AACzC,OAAK,YAAY,IAAI,qBAAqB,UAAU,MAAA,SAAe,CAAC;AACpE,OAAK,iBAAiB,IAAI,2BAA2B,CAAC;AACtD,MAAI,QAAQ,QACV,MAAK,YAAY,QAAQ,QAAQ;AAEnC,MAAI,QAAQ,eACV,MAAK,mBAAmB,QAAQ,eAAe;;;;;CAOnD,aAAa,UAAwB;AACnC,QAAA,WAAiB;AACjB,OAAK,YAAY,IAAI,qBAAqB,UAAU,MAAA,SAAe,CAAC;AACpE,SAAO;;;;;;CAOT,cAAc,WAAyB;AACrC,QAAA,YAAkB;AAClB,SAAO;;;;;;CAOT,MAAM,QAAyB;EAC7B,MAAM,aAAa,MAAM,kBAAkB,OAAO,MAAA,UAAgB;AAClE,OAAK,mBAAmB,WAAW;EACnC,MAAM,SAAS,MAAM,MAAM,OAAO;AAGlC,MAAI,OAAO,KACT,KAAI,MAAA,eAAqB,SAClB,QAAO,YAAY;MAEnB,QAAO,gBAAgB;AAGhC,SAAO;;;;;;;;;;AAWX,SAAgB,WACd,SACA,UAAuC,EAAE,EACzC;AACA,QAAO,IAAI,cAAc,SAAS,QAAQ,CAAC,OAAO"}
@@ -0,0 +1,16 @@
1
+ import { o as WalletAdapterMeta, t as LoginMethod } from "./types-DteAE_lL.js";
2
+
3
+ //#region src/wallet/privy/meta.d.ts
4
+ type PrivyLoginMethod = "wallet" | "google" | "apple" | "email";
5
+ declare const DEFAULT_PRIVY_METHODS: LoginMethod[];
6
+ interface PHRenownPrivyAdapterConfig {
7
+ appId: string;
8
+ clientId?: string;
9
+ /** Login methods to offer; defaults to [google, email]. */
10
+ methods?: PrivyLoginMethod[];
11
+ }
12
+ declare function resolvePrivyMethods(methods?: string[]): LoginMethod[];
13
+ declare const privyAdapterMeta: Omit<WalletAdapterMeta, "supportedMethods">;
14
+ //#endregion
15
+ export { resolvePrivyMethods as a, privyAdapterMeta as i, PHRenownPrivyAdapterConfig as n, PrivyLoginMethod as r, DEFAULT_PRIVY_METHODS as t };
16
+ //# sourceMappingURL=meta-BIIw0yao.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-BIIw0yao.d.ts","names":[],"sources":["../src/wallet/privy/meta.ts"],"mappings":";;;KAIY,gBAAA;AAAA,cAUC,qBAAA,EAAuB,WAAA;AAAA,UAMnB,0BAAA;EACf,KAAA;EACA,QAAA;EAlB0B;EAoB1B,OAAA,GAAU,gBAAA;AAAA;AAAA,iBAKI,mBAAA,CAAoB,OAAA,cAAqB,WAAA;AAAA,cAe5C,gBAAA,EAAkB,IAAA,CAAK,iBAAA"}
@@ -0,0 +1,27 @@
1
+ import { t as LoginMethod } from "./types-DiIZNA8t.js";
2
+ //#region src/wallet/privy/meta.ts
3
+ const PRIVY_SUPPORTED_METHODS = [
4
+ LoginMethod.WALLET,
5
+ LoginMethod.GOOGLE,
6
+ LoginMethod.APPLE,
7
+ LoginMethod.EMAIL
8
+ ];
9
+ const DEFAULT_PRIVY_METHODS = [LoginMethod.GOOGLE, LoginMethod.EMAIL];
10
+ function resolvePrivyMethods(methods) {
11
+ if (!methods || methods.length === 0) return [...DEFAULT_PRIVY_METHODS];
12
+ const resolved = [];
13
+ for (const method of methods) {
14
+ const value = method;
15
+ if (!PRIVY_SUPPORTED_METHODS.includes(value)) throw new Error(`PrivyAdapter cannot support login method "${method}"`);
16
+ resolved.push(value);
17
+ }
18
+ return resolved;
19
+ }
20
+ const privyAdapterMeta = {
21
+ id: "privy",
22
+ redirectReturnParams: ["privy_oauth_code", "privy_oauth_state"]
23
+ };
24
+ //#endregion
25
+ export { privyAdapterMeta as n, resolvePrivyMethods as r, DEFAULT_PRIVY_METHODS as t };
26
+
27
+ //# sourceMappingURL=meta-ClnkfLQZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-ClnkfLQZ.js","names":[],"sources":["../src/wallet/privy/meta.ts"],"sourcesContent":["import { LoginMethod, type WalletAdapterMeta } from \"../types.js\";\n\n// Login methods the Privy adapter can drive. adapter.ts maps each to a Privy\n// login-method id, so adding one here without mapping it fails to compile.\nexport type PrivyLoginMethod = \"wallet\" | \"google\" | \"apple\" | \"email\";\n\nexport const PRIVY_SUPPORTED_METHODS: PrivyLoginMethod[] = [\n LoginMethod.WALLET,\n LoginMethod.GOOGLE,\n LoginMethod.APPLE,\n LoginMethod.EMAIL,\n];\n\n// Methods offered when config omits `methods`.\nexport const DEFAULT_PRIVY_METHODS: LoginMethod[] = [\n LoginMethod.GOOGLE,\n LoginMethod.EMAIL,\n];\n\n// Config slice for the Privy adapter (mirrors connect.renown.adapters.privy).\nexport interface PHRenownPrivyAdapterConfig {\n appId: string;\n clientId?: string;\n /** Login methods to offer; defaults to [google, email]. */\n methods?: PrivyLoginMethod[];\n}\n\n// Resolve config `methods` to the supported set, falling back to the default.\n// Takes string[] because Connect's config arrives from JSON, unvalidated.\nexport function resolvePrivyMethods(methods?: string[]): LoginMethod[] {\n if (!methods || methods.length === 0) return [...DEFAULT_PRIVY_METHODS];\n const resolved: LoginMethod[] = [];\n for (const method of methods) {\n const value = method as PrivyLoginMethod;\n if (!PRIVY_SUPPORTED_METHODS.includes(value)) {\n throw new Error(`PrivyAdapter cannot support login method \"${method}\"`);\n }\n resolved.push(value);\n }\n return resolved;\n}\n\n// Dependency-free identity, safe to import eagerly (pulls no wallet library);\n// the heavy factory stays behind the dynamic import in ./index.ts.\nexport const privyAdapterMeta: Omit<WalletAdapterMeta, \"supportedMethods\"> = {\n id: \"privy\",\n redirectReturnParams: [\"privy_oauth_code\", \"privy_oauth_state\"],\n};\n"],"mappings":";;AAMA,MAAa,0BAA8C;CACzD,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;CACb;AAGD,MAAa,wBAAuC,CAClD,YAAY,QACZ,YAAY,MACb;AAYD,SAAgB,oBAAoB,SAAmC;AACrE,KAAI,CAAC,WAAW,QAAQ,WAAW,EAAG,QAAO,CAAC,GAAG,sBAAsB;CACvE,MAAM,WAA0B,EAAE;AAClC,MAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,QAAQ;AACd,MAAI,CAAC,wBAAwB,SAAS,MAAM,CAC1C,OAAM,IAAI,MAAM,6CAA6C,OAAO,GAAG;AAEzE,WAAS,KAAK,MAAM;;AAEtB,QAAO;;AAKT,MAAa,mBAAgE;CAC3E,IAAI;CACJ,sBAAsB,CAAC,oBAAoB,oBAAoB;CAChE"}
@@ -0,0 +1,14 @@
1
+ import { o as WalletAdapterMeta, t as LoginMethod } from "./types-DteAE_lL.js";
2
+
3
+ //#region src/wallet/rainbow/meta.d.ts
4
+ interface PHRenownRainbowAdapterConfig {
5
+ walletConnectProjectId?: string;
6
+ infuraProjectId?: string;
7
+ appName?: string;
8
+ ssr?: boolean;
9
+ }
10
+ declare const RAINBOW_METHODS: LoginMethod[];
11
+ declare const rainbowAdapterMeta: WalletAdapterMeta;
12
+ //#endregion
13
+ export { RAINBOW_METHODS as n, rainbowAdapterMeta as r, PHRenownRainbowAdapterConfig as t };
14
+ //# sourceMappingURL=meta-DEiGzvRl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-DEiGzvRl.d.ts","names":[],"sources":["../src/wallet/rainbow/meta.ts"],"mappings":";;;UAIiB,4BAAA;EAGf,sBAAA;EACA,eAAA;EACA,OAAA;EAGA,GAAA;AAAA;AAAA,cAGW,eAAA,EAAiB,WAAA;AAAA,cAIjB,kBAAA,EAAoB,iBAAA"}
@@ -0,0 +1,19 @@
1
+ import { o as WalletAdapterMeta, t as LoginMethod } from "./types-DteAE_lL.js";
2
+
3
+ //#region src/wallet/mock/meta.d.ts
4
+ type MockLoginMethod = "wallet" | "google" | "apple" | "email";
5
+ declare const DEFAULT_MOCK_METHODS: LoginMethod[];
6
+ /** Config for the mock wallet adapter. TEST/DEV ONLY — signs with a local key; never enable in production. */
7
+ interface PHRenownMockAdapterConfig {
8
+ /** Signing key; defaults to the well-known Anvil test account #0. */
9
+ privateKey?: `0x${string}`;
10
+ /** Chain id reported in the session (default 1). */
11
+ chainId?: number;
12
+ /** Methods this adapter answers for; defaults to wallet + google + email. */
13
+ methods?: MockLoginMethod[];
14
+ }
15
+ declare function resolveMockMethods(methods?: string[]): LoginMethod[];
16
+ declare const mockAdapterMeta: Omit<WalletAdapterMeta, "supportedMethods">;
17
+ //#endregion
18
+ export { resolveMockMethods as a, mockAdapterMeta as i, MockLoginMethod as n, PHRenownMockAdapterConfig as r, DEFAULT_MOCK_METHODS as t };
19
+ //# sourceMappingURL=meta-DoUiCChW.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-DoUiCChW.d.ts","names":[],"sources":["../src/wallet/mock/meta.ts"],"mappings":";;;KAEY,eAAA;AAAA,cAUC,oBAAA,EAAsB,WAAA;AAVnC;AAAA,UAiBiB,yBAAA;;EAEf,UAAA;EAnByB;EAqBzB,OAAA;EAPD;EASC,OAAA,GAAU,eAAA;AAAA;AAAA,iBAKI,kBAAA,CAAmB,OAAA,cAAqB,WAAA;AAAA,cAe3C,eAAA,EAAiB,IAAA,CAAK,iBAAA"}
@@ -0,0 +1,31 @@
1
+ import { t as LoginMethod } from "./types-DiIZNA8t.js";
2
+ //#region src/wallet/mock/meta.ts
3
+ const MOCK_SUPPORTED_METHODS = [
4
+ LoginMethod.WALLET,
5
+ LoginMethod.GOOGLE,
6
+ LoginMethod.APPLE,
7
+ LoginMethod.EMAIL
8
+ ];
9
+ const DEFAULT_MOCK_METHODS = [
10
+ LoginMethod.WALLET,
11
+ LoginMethod.GOOGLE,
12
+ LoginMethod.EMAIL
13
+ ];
14
+ function resolveMockMethods(methods) {
15
+ if (!methods || methods.length === 0) return [...DEFAULT_MOCK_METHODS];
16
+ const resolved = [];
17
+ for (const method of methods) {
18
+ const value = method;
19
+ if (!MOCK_SUPPORTED_METHODS.includes(value)) throw new Error(`MockAdapter cannot support login method "${method}"`);
20
+ resolved.push(value);
21
+ }
22
+ return resolved;
23
+ }
24
+ const mockAdapterMeta = {
25
+ id: "mock",
26
+ redirectReturnParams: []
27
+ };
28
+ //#endregion
29
+ export { mockAdapterMeta as n, resolveMockMethods as r, DEFAULT_MOCK_METHODS as t };
30
+
31
+ //# sourceMappingURL=meta-v66wx9x-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-v66wx9x-.js","names":[],"sources":["../src/wallet/mock/meta.ts"],"sourcesContent":["import { LoginMethod, type WalletAdapterMeta } from \"../types.js\";\n\nexport type MockLoginMethod = \"wallet\" | \"google\" | \"apple\" | \"email\";\n\nconst MOCK_SUPPORTED_METHODS: MockLoginMethod[] = [\n LoginMethod.WALLET,\n LoginMethod.GOOGLE,\n LoginMethod.APPLE,\n LoginMethod.EMAIL,\n];\n\n// Methods offered when config omits `methods`.\nexport const DEFAULT_MOCK_METHODS: LoginMethod[] = [\n LoginMethod.WALLET,\n LoginMethod.GOOGLE,\n LoginMethod.EMAIL,\n];\n\n/** Config for the mock wallet adapter. TEST/DEV ONLY — signs with a local key; never enable in production. */\nexport interface PHRenownMockAdapterConfig {\n /** Signing key; defaults to the well-known Anvil test account #0. */\n privateKey?: `0x${string}`;\n /** Chain id reported in the session (default 1). */\n chainId?: number;\n /** Methods this adapter answers for; defaults to wallet + google + email. */\n methods?: MockLoginMethod[];\n}\n\n// Resolve config `methods` to the supported set, falling back to the default.\n// Takes string[] because Connect's config arrives from JSON, unvalidated.\nexport function resolveMockMethods(methods?: string[]): LoginMethod[] {\n if (!methods || methods.length === 0) return [...DEFAULT_MOCK_METHODS];\n const resolved: LoginMethod[] = [];\n for (const method of methods) {\n const value = method as MockLoginMethod;\n if (!MOCK_SUPPORTED_METHODS.includes(value)) {\n throw new Error(`MockAdapter cannot support login method \"${method}\"`);\n }\n resolved.push(value);\n }\n return resolved;\n}\n\n// Dependency-free identity (see privy/meta.ts). The mock signer has no\n// full-page OAuth redirect.\nexport const mockAdapterMeta: Omit<WalletAdapterMeta, \"supportedMethods\"> = {\n id: \"mock\",\n redirectReturnParams: [],\n};\n"],"mappings":";;AAIA,MAAM,yBAA4C;CAChD,YAAY;CACZ,YAAY;CACZ,YAAY;CACZ,YAAY;CACb;AAGD,MAAa,uBAAsC;CACjD,YAAY;CACZ,YAAY;CACZ,YAAY;CACb;AAcD,SAAgB,mBAAmB,SAAmC;AACpE,KAAI,CAAC,WAAW,QAAQ,WAAW,EAAG,QAAO,CAAC,GAAG,qBAAqB;CACtE,MAAM,WAA0B,EAAE;AAClC,MAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,QAAQ;AACd,MAAI,CAAC,uBAAuB,SAAS,MAAM,CACzC,OAAM,IAAI,MAAM,4CAA4C,OAAO,GAAG;AAExE,WAAS,KAAK,MAAM;;AAEtB,QAAO;;AAKT,MAAa,kBAA+D;CAC1E,IAAI;CACJ,sBAAsB,EAAE;CACzB"}
package/dist/node.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { $ as IEventEmitter, A as LoginStatus, B as Service, C as InternalUser, D as JWTVerifyPolicies, E as JWTVerified, F as RenownEventEmitter, G as User, H as SignInParams, I as RenownEvents, J as VerifiedCredential, K as Verifiable, L as RenownProfile, M as PowerhouseVerifiableCredential, N as ProfileFetcher, O as JsonWebKey, P as Proof, R as RenownStorage, S as IVerifiableCredential, T as JWTPayload, U as Signer, V as ServiceEndpoint, W as Unsubscribe, X as W3CCredential, Y as VerifiedJWT, Z as BaseStorage, _ as IPowerhouseCredentialSubject, _t as DEFAULT_RENOWN_URL, a as JwkKeyPair, at as VerifiedAuthCredential, b as IRenown, bt as RENOWN_SESSION_COOKIE, c as ConditionWeightedThreshold, ct as fetchDelegationCredential, d as DIDDocument, dt as verifyCredentialSignature, et as BuildCredentialParams, f as DIDDocumentMetadata, ft as CREDENTIAL_SCHEMA_EIP712_TYPE, g as IAuthCredentialSubject, gt as DEFAULT_RENOWN_NETWORK_ID, h as EcdsaSignature, ht as DEFAULT_RENOWN_CHAIN_ID, i as JsonWebKeyPairStorage, it as SignCredentialTypedData, j as PKHDid, k as KeyCapabilitySection, l as CreateBearerTokenOptions, lt as recoverCredentialSigner, m as DIDResolutionResult, mt as CREDENTIAL_TYPES, n as IConnectCrypto, nt as CredentialMessage, o as AuthVerifiableCredential, ot as VerifyAuthCredentialOptions, p as DIDResolutionMetadata, pt as CREDENTIAL_SUBJECT_TYPE, q as VerificationMethod, r as IRenownCrypto, rt as FetchDelegationCredentialOptions, s as AuthVerifiedCredential, st as buildAndSignCredential, t as DID, tt as CredentialDomain, u as CredentialStatus, ut as verifyAuthCredential, v as IPowerhouseIssuerType, vt as DOMAIN_TYPE, w as Issuer, x as ISigner, xt as VERIFIABLE_CREDENTIAL_EIP712_TYPE, y as IProof, yt as ISSUER_TYPE, z as RenownStorageMap } from "./types-DsF91dDF.js";
2
- import { a as parseSignatureHashField, c as RenownCryptoBuilder, i as extractResultingHashFromSignature, l as ConnectCrypto, n as RenownCryptoSigner, o as signatureHasResultingHash, r as createSignatureVerifier, s as MemoryKeyStorage, u as RenownCrypto } from "./index-25fTa4yI.js";
3
- import { a as getResolver, c as fetchRenownProfile, d as ResolveSwitchboardEndpointOptions, f as resolveSwitchboardEndpoint, h as SwitchboardClient, i as createAuthBearerToken, l as BaseRenownBuilder, m as RenownMemoryStorage, n as VerifyAuthBearerTokenOptions, o as parsePkhDid, p as Renown, r as assertIsAuthCredential, s as verifyAuthBearerToken, t as ILogger, u as RenownBuilderOptions } from "./utils-OOrVXHof.js";
1
+ import { $ as IEventEmitter, A as LoginStatus, B as Service, C as InternalUser, D as JWTVerifyPolicies, E as JWTVerified, F as RenownEventEmitter, G as User, H as SignInParams, I as RenownEvents, J as VerifiedCredential, K as Verifiable, L as RenownProfile, M as PowerhouseVerifiableCredential, N as ProfileFetcher, O as JsonWebKey, P as Proof, R as RenownStorage, S as IVerifiableCredential, T as JWTPayload, U as Signer, V as ServiceEndpoint, W as Unsubscribe, X as W3CCredential, Y as VerifiedJWT, Z as BaseStorage, _ as IPowerhouseCredentialSubject, _t as DEFAULT_RENOWN_URL, a as JwkKeyPair, at as VerifiedAuthCredential, b as IRenown, bt as RENOWN_SESSION_COOKIE, c as ConditionWeightedThreshold, ct as fetchDelegationCredential, d as DIDDocument, dt as verifyCredentialSignature, et as BuildCredentialParams, f as DIDDocumentMetadata, ft as CREDENTIAL_SCHEMA_EIP712_TYPE, g as IAuthCredentialSubject, gt as DEFAULT_RENOWN_NETWORK_ID, h as EcdsaSignature, ht as DEFAULT_RENOWN_CHAIN_ID, i as JsonWebKeyPairStorage, it as SignCredentialTypedData, j as PKHDid, k as KeyCapabilitySection, l as CreateBearerTokenOptions, lt as recoverCredentialSigner, m as DIDResolutionResult, mt as CREDENTIAL_TYPES, n as IConnectCrypto, nt as CredentialMessage, o as AuthVerifiableCredential, ot as VerifyAuthCredentialOptions, p as DIDResolutionMetadata, pt as CREDENTIAL_SUBJECT_TYPE, q as VerificationMethod, r as IRenownCrypto, rt as FetchDelegationCredentialOptions, s as AuthVerifiedCredential, st as buildAndSignCredential, t as DID, tt as CredentialDomain, u as CredentialStatus, ut as verifyAuthCredential, v as IPowerhouseIssuerType, vt as DOMAIN_TYPE, w as Issuer, x as ISigner, xt as VERIFIABLE_CREDENTIAL_EIP712_TYPE, y as IProof, yt as ISSUER_TYPE, z as RenownStorageMap } from "./types-efrA0fu2.js";
2
+ import { a as parseSignatureHashField, c as RenownCryptoBuilder, i as extractResultingHashFromSignature, l as ConnectCrypto, n as RenownCryptoSigner, o as signatureHasResultingHash, r as createSignatureVerifier, s as MemoryKeyStorage, u as RenownCrypto } from "./index-CLJb-Nle.js";
3
+ import { C as SwitchboardClient, S as RenownMemoryStorage, _ as BaseRenownBuilder, a as getResolver, b as resolveSwitchboardEndpoint, c as RenownSession, d as RenownSessionProfile, f as VerifyRenownSessionOptions, g as fetchRenownProfile, h as verifyRenownSession, i as createAuthBearerToken, l as RenownSessionClaims, m as serializeRenownSessionCookie, n as VerifyAuthBearerTokenOptions, o as parsePkhDid, p as readSessionClaims, r as assertIsAuthCredential, s as verifyAuthBearerToken, t as ILogger, u as RenownSessionCookie, v as RenownBuilderOptions, x as Renown, y as ResolveSwitchboardEndpointOptions } from "./utils-BuICPHTW.js";
4
4
 
5
5
  //#region src/crypto/node-key-storage.d.ts
6
6
  declare const RENOWN_PRIVATE_KEY_ENV = "PH_RENOWN_PRIVATE_KEY";
@@ -133,48 +133,5 @@ declare function parseExpiry(expiry: string): number;
133
133
  */
134
134
  declare function formatExpiry(expiresIn: number): string;
135
135
  //#endregion
136
- //#region src/session.d.ts
137
- /** Server-side view of an authenticated Renown session. */
138
- interface RenownSession {
139
- /** Authenticated user identity derived from the session token. */
140
- user: User;
141
- /** App/client DID the token was issued by. */
142
- appDid: string;
143
- /** Token expiry (epoch seconds), when present. */
144
- expiresAt?: number;
145
- }
146
- /** Display hint carried alongside the token (unverified; not for auth). */
147
- interface RenownSessionProfile {
148
- name?: string | null;
149
- avatar?: string | null;
150
- }
151
- /** The `renown_session` cookie payload: the bearer token + a display hint. */
152
- interface RenownSessionCookie {
153
- token: string;
154
- profile?: RenownSessionProfile | null;
155
- }
156
- interface VerifyRenownSessionOptions {
157
- /** Expected `aud` claim on the token. */
158
- audience?: string;
159
- /** Switchboard GraphQL endpoint used when re-verifying the credential. */
160
- switchboardUrl?: string;
161
- /** Renown service base URL used when re-verifying the credential. */
162
- renownUrl?: string;
163
- /** Also re-verify the credential against Switchboard (default false = token-only, no network). */
164
- verifyCredential?: boolean;
165
- }
166
- /** Claims read from a session token without verifying its signature. */
167
- interface RenownSessionClaims {
168
- address?: string;
169
- chainId?: number;
170
- networkId?: string;
171
- /** Expiry in epoch seconds. */
172
- expiresAt?: number;
173
- }
174
- /** Serialize a session cookie value (token + optional display hint). */
175
- declare function serializeRenownSessionCookie(value: RenownSessionCookie): string;
176
- declare function readSessionClaims(value: string): RenownSessionClaims | undefined;
177
- declare function verifyRenownSession(value: string, options?: VerifyRenownSessionOptions): Promise<RenownSession | undefined>;
178
- //#endregion
179
136
  export { AccessTokenResult, AuthStatusResult, AuthVerifiableCredential, AuthVerifiedCredential, BaseRenownBuilder, BrowserLoginOptions, BrowserLoginResult, BuildCredentialParams, CREDENTIAL_SCHEMA_EIP712_TYPE, CREDENTIAL_SUBJECT_TYPE, CREDENTIAL_TYPES, ConditionWeightedThreshold, ConnectCrypto, CreateBearerTokenOptions, CredentialDomain, CredentialMessage, CredentialStatus, DEFAULT_KEYPAIR_PATH, DEFAULT_RENOWN_CHAIN_ID, DEFAULT_RENOWN_NETWORK_ID, DEFAULT_RENOWN_STORAGE_PATH, DEFAULT_RENOWN_URL, DID, DIDDocument, DIDDocumentMetadata, DIDResolutionMetadata, DIDResolutionResult, DOMAIN_TYPE, EcdsaSignature, FetchDelegationCredentialOptions, IAuthCredentialSubject, IConnectCrypto, ILogger, IPowerhouseCredentialSubject, IPowerhouseIssuerType, IProof, IRenown, IRenownCrypto, ISSUER_TYPE, ISigner, IVerifiableCredential, InternalUser, Issuer, JWTPayload, JWTVerified, JWTVerifyPolicies, JsonWebKey, JsonWebKeyPairStorage, JwkKeyPair, KeyCapabilitySection, LoginStatus, MemoryKeyStorage, NodeEventEmitter, NodeKeyStorage, NodeRenownBuilderOptions, NodeRenownEventEmitter, NodeRenownStorage, NodeStorage, PKHDid, PowerhouseVerifiableCredential, ProfileFetcher, Proof, RENOWN_PRIVATE_KEY_ENV, RENOWN_SESSION_COOKIE, Renown, RenownBuilder, RenownBuilderOptions, RenownCrypto, RenownCryptoBuilder, RenownCryptoSigner, RenownEventEmitter, RenownEvents, RenownMemoryStorage, RenownProfile, RenownSession, RenownSessionClaims, RenownSessionCookie, RenownSessionProfile, RenownStorage, RenownStorageMap, ResolveSwitchboardEndpointOptions, Service, ServiceEndpoint, SignCredentialTypedData, SignInParams, Signer, SwitchboardClient, Unsubscribe, User, VERIFIABLE_CREDENTIAL_EIP712_TYPE, Verifiable, VerificationMethod, VerifiedAuthCredential, VerifiedCredential, VerifiedJWT, VerifyAuthBearerTokenOptions, VerifyAuthCredentialOptions, VerifyRenownSessionOptions, W3CCredential, assertIsAuthCredential, browserLogin, buildAndSignCredential, createAuthBearerToken, createSignatureVerifier, extractResultingHashFromSignature, fetchDelegationCredential, fetchRenownProfile, formatExpiry, generateAccessToken, getAuthStatus, getResolver, openBrowser, parseExpiry, parsePkhDid, parseSignatureHashField, readSessionClaims, recoverCredentialSigner, resolveSwitchboardEndpoint, serializeRenownSessionCookie, signatureHasResultingHash, verifyAuthBearerToken, verifyAuthCredential, verifyCredentialSignature, verifyRenownSession };
180
137
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","names":[],"sources":["../src/crypto/node-key-storage.ts","../src/event/event.node.ts","../src/storage/storage.node.ts","../src/init.node.ts","../src/login.node.ts","../src/session.ts"],"mappings":";;;;;cAWa,sBAAA;AAAA,cACA,oBAAA;;AADb;;;;;cASa,cAAA,YAA0B,qBAAA;EAAA;kBAKrB,oBAAA;EAAA,gBACA,sBAAA;cAGd,QAAA,WACA,OAAA;IAAW,UAAA;IAAqB,MAAA,GAAS,OAAA;EAAA;EAa3C,WAAA,CAAA,GAAe,OAAA,CAAQ,UAAA;EAyBjB,WAAA,CAAY,OAAA,EAAS,UAAA,GAAa,OAAA;EAWxC,aAAA,CAAA,GAAiB,OAAA;AAAA;;;cC5EN,gBAAA,gBACI,MAAA,8BACJ,aAAA,CAAc,MAAA;EAAA;;EAOzB,EAAA,iBAAmB,MAAA,CAAA,CACjB,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,MAAA,CAAO,CAAA;EAQ1B,IAAA,iBAAqB,MAAA,CAAA,CAAQ,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,MAAA,CAAO,CAAA;AAAA;;;cClBzC,WAAA,WACD,MAAA,oBAA0B,MAAA,2BAC5B,WAAA,CAAY,CAAA;EAAA,iBACH,QAAA;cAEL,QAAA;EAAA,QAYJ,QAAA;EAAA,QAKA,SAAA;EAIR,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,GAAM,CAAA,CAAE,GAAA;EAKtC,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,EAAK,KAAA,GAAQ,CAAA,CAAE,GAAA;EAU7C,MAAA,CAAO,GAAA,QAAW,CAAA;AAAA;;;cCtCP,sBAAA,SAA+B,gBAAA,CAAiB,YAAA;AAAA,cAChD,iBAAA,SAA0B,WAAA,CAAY,gBAAA;AAAA,cAEtC,2BAAA;AAAA,UAEI,wBAAA;EHAgB;EGE/B,WAAA;EHF+B;EGI/B,OAAA;EHIW;EGFX,OAAA;;EAEA,cAAA;EHuBuB;EGrBvB,UAAA;AAAA;;cAIW,aAAA,SAAsB,iBAAA;EAAA;cAGrB,OAAA,UAAiB,OAAA,GAAS,wBAAA;EAyBhC,KAAA,CAAA,GAAS,OAAA,CAAQ,MAAA;AAAA;;;UChDR,mBAAA;;EAEf,SAAA;;EAEA,SAAA;EJCiC;EICjC,UAAA,IAAc,GAAA,UAAa,SAAA;EJDM;EIGjC,UAAA;EJFW;EIIX,mBAAA,IAAuB,GAAA;;EAEvB,MAAA,GAAS,WAAA;AAAA;AAAA,UAGM,kBAAA;EACf,IAAA,EAAM,IAAA;EACN,MAAA;AAAA;AAAA,UAGe,gBAAA;EACf,aAAA;EACA,OAAA;EACA,OAAA;EACA,OAAA;EACA,MAAA;EACA,eAAA,GAAkB,IAAA;EAClB,OAAA;AAAA;;;;iBA+CoB,WAAA,CAAY,GAAA,WAAc,OAAA;;;;;;;;iBAyD1B,YAAA,CACpB,MAAA,EAAQ,OAAA,EACR,OAAA,EAAS,mBAAA,GACR,OAAA,CAAQ,kBAAA;;;;iBA2CK,aAAA,CAAc,MAAA,EAAQ,OAAA,GAAU,gBAAA;AAAA,UAe/B,iBAAA;EACf,KAAA;EACA,GAAA;EACA,OAAA;EACA,SAAA;AAAA;;AHvMF;;;;iBG+MsB,mBAAA,CACpB,MAAA,EAAQ,OAAA,EACR,OAAA,GAAU,wBAAA,GACT,OAAA,CAAQ,iBAAA;;;;;;iBAuBK,WAAA,CAAY,MAAA;;;;iBAgCZ,YAAA,CAAa,SAAA;;;;UCvQZ,aAAA;;EAEf,IAAA,EAAM,IAAA;ELIK;EKFX,MAAA;;EAEA,SAAA;AAAA;ALCF;AAAA,UKGiB,oBAAA;EACf,IAAA;EACA,MAAA;AAAA;ALGF;AAAA,UKCiB,mBAAA;EACf,KAAA;EACA,OAAA,GAAU,oBAAA;AAAA;AAAA,UAGK,0BAAA;EL0CY;EKxC3B,QAAA;ELmDiB;EKjDjB,cAAA;ELV0D;EKY1D,SAAA;ELZqC;EKcrC,gBAAA;AAAA;;UAIe,mBAAA;EACf,OAAA;EACA,OAAA;EACA,SAAA;ELX2C;EKa3C,SAAA;AAAA;;iBAIc,4BAAA,CACd,KAAA,EAAO,mBAAA;AAAA,iBAwBO,iBAAA,CACd,KAAA,WACC,mBAAA;AAAA,iBA+BmB,mBAAA,CACpB,KAAA,UACA,OAAA,GAAS,0BAAA,GACR,OAAA,CAAQ,aAAA"}
1
+ {"version":3,"file":"node.d.ts","names":[],"sources":["../src/crypto/node-key-storage.ts","../src/event/event.node.ts","../src/storage/storage.node.ts","../src/init.node.ts","../src/login.node.ts"],"mappings":";;;;;cAWa,sBAAA;AAAA,cACA,oBAAA;;AADb;;;;;cASa,cAAA,YAA0B,qBAAA;EAAA;kBAKrB,oBAAA;EAAA,gBACA,sBAAA;cAGd,QAAA,WACA,OAAA;IAAW,UAAA;IAAqB,MAAA,GAAS,OAAA;EAAA;EAa3C,WAAA,CAAA,GAAe,OAAA,CAAQ,UAAA;EAyBjB,WAAA,CAAY,OAAA,EAAS,UAAA,GAAa,OAAA;EAWxC,aAAA,CAAA,GAAiB,OAAA;AAAA;;;cC5EN,gBAAA,gBACI,MAAA,8BACJ,aAAA,CAAc,MAAA;EAAA;;EAOzB,EAAA,iBAAmB,MAAA,CAAA,CACjB,KAAA,EAAO,CAAA,EACP,QAAA,GAAW,IAAA,EAAM,MAAA,CAAO,CAAA;EAQ1B,IAAA,iBAAqB,MAAA,CAAA,CAAQ,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,MAAA,CAAO,CAAA;AAAA;;;cClBzC,WAAA,WACD,MAAA,oBAA0B,MAAA,2BAC5B,WAAA,CAAY,CAAA;EAAA,iBACH,QAAA;cAEL,QAAA;EAAA,QAYJ,QAAA;EAAA,QAKA,SAAA;EAIR,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,GAAM,CAAA,CAAE,GAAA;EAKtC,GAAA,mBAAsB,CAAA,CAAA,CAAG,GAAA,EAAK,GAAA,EAAK,KAAA,GAAQ,CAAA,CAAE,GAAA;EAU7C,MAAA,CAAO,GAAA,QAAW,CAAA;AAAA;;;cCtCP,sBAAA,SAA+B,gBAAA,CAAiB,YAAA;AAAA,cAChD,iBAAA,SAA0B,WAAA,CAAY,gBAAA;AAAA,cAEtC,2BAAA;AAAA,UAEI,wBAAA;EHAgB;EGE/B,WAAA;EHF+B;EGI/B,OAAA;EHIW;EGFX,OAAA;;EAEA,cAAA;EHuBuB;EGrBvB,UAAA;AAAA;;cAIW,aAAA,SAAsB,iBAAA;EAAA;cAGrB,OAAA,UAAiB,OAAA,GAAS,wBAAA;EAyBhC,KAAA,CAAA,GAAS,OAAA,CAAQ,MAAA;AAAA;;;UChDR,mBAAA;;EAEf,SAAA;;EAEA,SAAA;EJCiC;EICjC,UAAA,IAAc,GAAA,UAAa,SAAA;EJDM;EIGjC,UAAA;EJFW;EIIX,mBAAA,IAAuB,GAAA;;EAEvB,MAAA,GAAS,WAAA;AAAA;AAAA,UAGM,kBAAA;EACf,IAAA,EAAM,IAAA;EACN,MAAA;AAAA;AAAA,UAGe,gBAAA;EACf,aAAA;EACA,OAAA;EACA,OAAA;EACA,OAAA;EACA,MAAA;EACA,eAAA,GAAkB,IAAA;EAClB,OAAA;AAAA;;;;iBA+CoB,WAAA,CAAY,GAAA,WAAc,OAAA;;;;;;;;iBAyD1B,YAAA,CACpB,MAAA,EAAQ,OAAA,EACR,OAAA,EAAS,mBAAA,GACR,OAAA,CAAQ,kBAAA;;;;iBA2CK,aAAA,CAAc,MAAA,EAAQ,OAAA,GAAU,gBAAA;AAAA,UAe/B,iBAAA;EACf,KAAA;EACA,GAAA;EACA,OAAA;EACA,SAAA;AAAA;;AHvMF;;;;iBG+MsB,mBAAA,CACpB,MAAA,EAAQ,OAAA,EACR,OAAA,GAAU,wBAAA,GACT,OAAA,CAAQ,iBAAA;;;;;;iBAuBK,WAAA,CAAY,MAAA;;;;iBAgCZ,YAAA,CAAa,SAAA"}
package/dist/node.js CHANGED
@@ -1,4 +1,4 @@
1
- import { S as VERIFIABLE_CREDENTIAL_EIP712_TYPE, _ as DEFAULT_RENOWN_NETWORK_ID, a as BaseStorage, b as ISSUER_TYPE, c as recoverCredentialSigner, d as SwitchboardClient, f as resolveSwitchboardEndpoint, g as DEFAULT_RENOWN_CHAIN_ID, h as CREDENTIAL_TYPES, i as RenownMemoryStorage, l as verifyAuthCredential, m as CREDENTIAL_SUBJECT_TYPE, n as fetchRenownProfile, o as buildAndSignCredential, p as CREDENTIAL_SCHEMA_EIP712_TYPE, r as Renown, s as fetchDelegationCredential, t as BaseRenownBuilder, u as verifyCredentialSignature, v as DEFAULT_RENOWN_URL, x as RENOWN_SESSION_COOKIE, y as DOMAIN_TYPE } from "./renown-builder-BqWoYtBR.js";
1
+ import { S as VERIFIABLE_CREDENTIAL_EIP712_TYPE, _ as DEFAULT_RENOWN_NETWORK_ID, a as BaseStorage, b as ISSUER_TYPE, c as recoverCredentialSigner, d as SwitchboardClient, f as resolveSwitchboardEndpoint, g as DEFAULT_RENOWN_CHAIN_ID, h as CREDENTIAL_TYPES, i as RenownMemoryStorage, l as verifyAuthCredential, m as CREDENTIAL_SUBJECT_TYPE, n as fetchRenownProfile, o as buildAndSignCredential, p as CREDENTIAL_SCHEMA_EIP712_TYPE, r as Renown, s as fetchDelegationCredential, t as BaseRenownBuilder, u as verifyCredentialSignature, v as DEFAULT_RENOWN_URL, x as RENOWN_SESSION_COOKIE, y as DOMAIN_TYPE } from "./renown-builder-1WTEoRc6.js";
2
2
  import { a as signatureHasResultingHash, c as ConnectCrypto, d as createAuthBearerToken, f as getResolver, i as parseSignatureHashField, l as RenownCrypto, m as verifyAuthBearerToken, n as createSignatureVerifier, o as MemoryKeyStorage, p as parsePkhDid, r as extractResultingHashFromSignature, s as RenownCryptoBuilder, t as RenownCryptoSigner, u as assertIsAuthCredential } from "./signer-CgYhXTV7.js";
3
3
  import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
4
4
  import { dirname, join } from "node:path";
@@ -373,13 +373,22 @@ async function verifyRenownSession(value, options = {}) {
373
373
  }
374
374
  }
375
375
  if (!session) return void 0;
376
- if (profile?.name) session.user = {
377
- ...session.user,
378
- ens: {
379
- name: profile.name,
380
- avatarUrl: profile.avatar ?? void 0
381
- }
382
- };
376
+ if (profile) {
377
+ const name = profile.name ?? profile.username ?? void 0;
378
+ const avatarUrl = profile.avatar ?? profile.userImage ?? void 0;
379
+ const user = { ...session.user };
380
+ if (name || avatarUrl) user.ens = {
381
+ name,
382
+ avatarUrl
383
+ };
384
+ if (profile.documentId) user.profile = {
385
+ documentId: profile.documentId,
386
+ username: profile.username ?? null,
387
+ userImage: profile.userImage ?? null,
388
+ ethAddress: session.user.address
389
+ };
390
+ session.user = user;
391
+ }
383
392
  return session;
384
393
  }
385
394
  //#endregion