@renown/sdk 6.2.2-dev.2 → 6.2.2-dev.20

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 (48) hide show
  1. package/README.md +103 -1
  2. package/dist/crypto.d.ts +2 -2
  3. package/dist/crypto.js +1 -1
  4. package/dist/index-25fTa4yI.d.ts +127 -0
  5. package/dist/index-25fTa4yI.d.ts.map +1 -0
  6. package/dist/index.d.ts +9 -8
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +17 -8
  9. package/dist/index.js.map +1 -1
  10. package/dist/node.d.ts +54 -11
  11. package/dist/node.d.ts.map +1 -1
  12. package/dist/node.js +94 -12
  13. package/dist/node.js.map +1 -1
  14. package/dist/renown-builder-BqWoYtBR.js +841 -0
  15. package/dist/renown-builder-BqWoYtBR.js.map +1 -0
  16. package/dist/{signer-XkA-D7Qt.js → signer-CgYhXTV7.js} +2 -2
  17. package/dist/{signer-XkA-D7Qt.js.map → signer-CgYhXTV7.js.map} +1 -1
  18. package/dist/types-DG816Qa8.js +27 -0
  19. package/dist/types-DG816Qa8.js.map +1 -0
  20. package/dist/{signer-DYKGoYHB.d.ts → types-DsF91dDF.d.ts} +121 -115
  21. package/dist/types-DsF91dDF.d.ts.map +1 -0
  22. package/dist/types-Z6jyeonm.d.ts +54 -0
  23. package/dist/types-Z6jyeonm.d.ts.map +1 -0
  24. package/dist/{utils-D8C7f9Qs.d.ts → utils-OOrVXHof.d.ts} +39 -65
  25. package/dist/utils-OOrVXHof.d.ts.map +1 -0
  26. package/dist/wallet/index.d.ts +30 -0
  27. package/dist/wallet/index.d.ts.map +1 -0
  28. package/dist/wallet/index.js +74 -0
  29. package/dist/wallet/index.js.map +1 -0
  30. package/dist/wallet/mock/index.d.ts +18 -0
  31. package/dist/wallet/mock/index.d.ts.map +1 -0
  32. package/dist/wallet/mock/index.js +38 -0
  33. package/dist/wallet/mock/index.js.map +1 -0
  34. package/dist/wallet/privy/index.d.ts +63 -0
  35. package/dist/wallet/privy/index.d.ts.map +1 -0
  36. package/dist/wallet/privy/index.js +230 -0
  37. package/dist/wallet/privy/index.js.map +1 -0
  38. package/dist/wallet/rainbow/index.d.ts +14 -0
  39. package/dist/wallet/rainbow/index.d.ts.map +1 -0
  40. package/dist/wallet/rainbow/index.js +218 -0
  41. package/dist/wallet/rainbow/index.js.map +1 -0
  42. package/package.json +57 -3
  43. package/dist/browser-key-storage-DSkDBAhU.d.ts +0 -14
  44. package/dist/browser-key-storage-DSkDBAhU.d.ts.map +0 -1
  45. package/dist/renown-builder-DP0iFzK1.js +0 -433
  46. package/dist/renown-builder-DP0iFzK1.js.map +0 -1
  47. package/dist/signer-DYKGoYHB.d.ts.map +0 -1
  48. package/dist/utils-D8C7f9Qs.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-DsF91dDF.d.ts","names":[],"sources":["../src/constants.ts","../src/credential.ts","../src/event/types.ts","../src/storage/common.ts","../src/types.ts","../src/crypto/types.ts"],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { it as SignCredentialTypedData } from "./types-DsF91dDF.js";
2
+ import { ComponentType, ReactNode } from "react";
3
+
4
+ //#region src/wallet/types.d.ts
5
+ declare enum LoginMethod {
6
+ WALLET = "wallet",
7
+ GOOGLE = "google",
8
+ EMAIL = "email",
9
+ APPLE = "apple"
10
+ }
11
+ declare const DEFAULT_PRIVY_METHODS: LoginMethod[];
12
+ declare const DEFAULT_MOCK_METHODS: LoginMethod[];
13
+ interface WalletThemeColors {
14
+ accentColor?: string;
15
+ accentColorForeground?: string;
16
+ }
17
+ type WalletTheme = "light" | "dark" | ({
18
+ mode: "light" | "dark";
19
+ } & WalletThemeColors);
20
+ declare function normalizeWalletTheme(theme: WalletTheme | undefined): {
21
+ mode: "light" | "dark";
22
+ accentColor?: string;
23
+ accentColorForeground?: string;
24
+ };
25
+ interface WalletSession {
26
+ address: `0x${string}`;
27
+ chainId: number;
28
+ signTypedData: SignCredentialTypedData;
29
+ canSignSilently?: boolean;
30
+ }
31
+ interface WalletController {
32
+ connect(method?: LoginMethod): Promise<WalletSession>;
33
+ disconnect(): Promise<void>;
34
+ getSession(): WalletSession | undefined;
35
+ subscribe?(listener: (session: WalletSession | undefined) => void): () => void;
36
+ supportedMethods: LoginMethod[];
37
+ }
38
+ interface WalletAdapter {
39
+ id: "rainbow" | "privy" | "mock";
40
+ supportedMethods: LoginMethod[];
41
+ Provider: ComponentType<{
42
+ children: ReactNode;
43
+ theme?: WalletTheme;
44
+ }>;
45
+ useController: () => WalletController;
46
+ }
47
+ type WalletAdapterFactory<Config = unknown> = (config: Config) => WalletAdapter;
48
+ interface WalletAdapterMeta {
49
+ id: WalletAdapter["id"];
50
+ redirectReturnParams: string[];
51
+ }
52
+ //#endregion
53
+ export { WalletAdapterFactory as a, WalletSession as c, normalizeWalletTheme as d, WalletAdapter as i, WalletTheme as l, DEFAULT_PRIVY_METHODS as n, WalletAdapterMeta as o, LoginMethod as r, WalletController as s, DEFAULT_MOCK_METHODS as t, WalletThemeColors as u };
54
+ //# sourceMappingURL=types-Z6jyeonm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-Z6jyeonm.d.ts","names":[],"sources":["../src/wallet/types.ts"],"mappings":";;;;aAGY,WAAA;EACV,MAAA;EACA,MAAA;EACA,KAAA;EACA,KAAA;AAAA;AAAA,cAKW,qBAAA,EAAuB,WAAA;AAAA,cAIvB,oBAAA,EAAsB,WAAA;AAAA,UAQlB,iBAAA;EACf,WAAA;EACA,qBAAA;AAAA;AAAA,KAIU,WAAA;EAGL,IAAA;AAAA,IAA2B,iBAAA;AAAA,iBAGlB,oBAAA,CAAqB,KAAA,EAAO,WAAA;EAC1C,IAAA;EACA,WAAA;EACA,qBAAA;AAAA;AAAA,UAYe,aAAA;EACf,OAAA;EACA,OAAA;EACA,aAAA,EAAe,uBAAA;EAGf,eAAA;AAAA;AAAA,UAIe,gBAAA;EACf,OAAA,CAAQ,MAAA,GAAS,WAAA,GAAc,OAAA,CAAQ,aAAA;EACvC,UAAA,IAAc,OAAA;EACd,UAAA,IAAc,aAAA;EAGd,SAAA,EACE,QAAA,GAAW,OAAA,EAAS,aAAA;EAEtB,gBAAA,EAAkB,WAAA;AAAA;AAAA,UAIH,aAAA;EACf,EAAA;EACA,gBAAA,EAAkB,WAAA;EAGlB,QAAA,EAAU,aAAA;IAAgB,QAAA,EAAU,SAAA;IAAW,KAAA,GAAQ,WAAA;EAAA;EAEvD,aAAA,QAAqB,gBAAA;AAAA;AAAA,KAGX,oBAAA,sBACV,MAAA,EAAQ,MAAA,KACL,aAAA;AAAA,UAIY,iBAAA;EACf,EAAA,EAAI,aAAA;EAGJ,oBAAA;AAAA"}
@@ -1,85 +1,57 @@
1
- import { $ as User, A as ISigner, B as PKHDid, G as RenownEvents, H as ProfileFetcher, J as RenownStorageMap, M as InternalUser, N as Issuer, V as PowerhouseVerifiableCredential, W as RenownEventEmitter, f as IRenownCrypto, g as AuthVerifiedCredential, k as IRenown, nt as VerifiedCredential, ot as MemoryStorage, p as JsonWebKeyPairStorage, q as RenownStorage, v as CreateBearerTokenOptions, z as LoginStatus } from "./signer-DYKGoYHB.js";
1
+ import { A as LoginStatus, C as InternalUser, F as RenownEventEmitter, G as User$1, H as SignInParams, I as RenownEvents, J as VerifiedCredential, L as RenownProfile, M as PowerhouseVerifiableCredential, N as ProfileFetcher, Q as MemoryStorage, R as RenownStorage, b as IRenown, i as JsonWebKeyPairStorage, j as PKHDid, l as CreateBearerTokenOptions, r as IRenownCrypto, s as AuthVerifiedCredential, w as Issuer, x as ISigner$1, z as RenownStorageMap } from "./types-DsF91dDF.js";
2
+ import { Action } from "@powerhousedao/shared/document-model";
2
3
  import { Resolver } from "did-resolver";
3
4
 
5
+ //#region src/switchboard.d.ts
6
+ declare class SwitchboardClient {
7
+ #private;
8
+ constructor(endpoint: string);
9
+ get endpoint(): string;
10
+ getCredential(params: {
11
+ address: string;
12
+ chainId: number;
13
+ appDid: string;
14
+ }): Promise<PowerhouseVerifiableCredential | undefined>;
15
+ getProfileByAddress(address: string): Promise<RenownProfile | undefined>;
16
+ createEmptyDocument(documentType: string, parentIdentifier?: string): Promise<string>;
17
+ mutateDocument(documentIdentifier: string, actions: Action[]): Promise<string>;
18
+ issueCredential(credential: PowerhouseVerifiableCredential): Promise<string>;
19
+ findOrCreateUser(address: string, profile?: {
20
+ username?: string;
21
+ userImage?: string;
22
+ }): Promise<string>;
23
+ revokeCredential(documentId: string, reason?: string): Promise<void>;
24
+ profileFetcher: ProfileFetcher;
25
+ }
26
+ //#endregion
4
27
  //#region src/common.d.ts
5
28
  declare class RenownMemoryStorage extends MemoryStorage<RenownStorageMap> {}
6
29
  declare class Renown implements IRenown {
7
30
  #private;
8
- constructor(store: RenownStorage, eventEmitter: RenownEventEmitter, crypto: IRenownCrypto, appName: string, baseUrl?: string, profileFetcher?: ProfileFetcher);
31
+ constructor(store: RenownStorage, eventEmitter: RenownEventEmitter, crypto: IRenownCrypto, appName: string, baseUrl?: string, profileFetcher?: ProfileFetcher, switchboard?: SwitchboardClient);
9
32
  get baseUrl(): string;
10
33
  get user(): InternalUser | undefined;
11
34
  get status(): LoginStatus;
12
- get signer(): ISigner;
35
+ get signer(): ISigner$1;
13
36
  get crypto(): IRenownCrypto;
14
37
  get did(): `did:${string}`;
15
38
  get profileFetcher(): ProfileFetcher | undefined;
16
- login(userDid: string): Promise<User>;
39
+ login(userDid: string): Promise<User$1>;
40
+ signIn(params: SignInParams): Promise<User$1>;
17
41
  logout(): Promise<void>;
42
+ revalidate(): Promise<boolean>;
18
43
  on<K extends keyof RenownEvents>(event: K, listener: (data: RenownEvents[K]) => void): () => void;
19
44
  verifyBearerToken(token: string): Promise<false | AuthVerifiedCredential>;
20
45
  getBearerToken(options: CreateBearerTokenOptions): Promise<string>;
21
46
  }
22
47
  //#endregion
23
- //#region src/credential.d.ts
24
- type Hex = `0x${string}`;
25
- type TypedDataDomain = {
26
- name?: string;
27
- version?: string;
28
- chainId?: number;
29
- verifyingContract?: Hex;
30
- salt?: Hex;
31
- };
32
- type TypedDataParameter = {
33
- name: string;
34
- type: string;
35
- };
36
- /** EIP-712 domain as signed by the credential issuer. */
37
- type CredentialDomain = {
38
- version: string;
39
- chainId: number;
40
- };
41
- /** The credential body that is EIP-712 signed (everything except `proof`). */
42
- type CredentialMessage = {
43
- "@context": string[];
44
- type: string[];
45
- id: string;
46
- issuer: {
47
- id: string;
48
- ethereumAddress: Hex;
49
- };
50
- credentialSubject: {
51
- id: string;
52
- app: string;
53
- };
54
- credentialSchema: {
55
- id: string;
56
- type: string;
57
- };
58
- issuanceDate: string;
59
- expirationDate: string;
60
- };
61
- /** Typed-data signer; matches the loose shape used by wallet adapters. */
62
- type SignCredentialTypedData = (args: {
63
- domain: TypedDataDomain;
64
- types: Record<string, readonly TypedDataParameter[]>;
65
- primaryType: string;
66
- message: Record<string, unknown>;
67
- }) => Promise<Hex>;
68
- interface BuildCredentialParams {
69
- signTypedData: SignCredentialTypedData;
70
- address: Hex;
71
- chainId: number;
72
- app: string;
73
- /** Credential subject id: the app/client DID the credential delegates to. */
74
- appId: string;
75
- expiresInDays?: number;
48
+ //#region src/discovery.d.ts
49
+ interface ResolveSwitchboardEndpointOptions {
50
+ switchboardUrl?: string;
51
+ baseUrl?: string;
52
+ timeoutMs?: number;
76
53
  }
77
- /** Assemble a Renown delegation VC and sign it with the provided signer. */
78
- declare function buildAndSignCredential(params: BuildCredentialParams): Promise<PowerhouseVerifiableCredential>;
79
- /** Recover the address that signed a credential's EIP-712 proof. */
80
- declare function recoverCredentialSigner(credential: PowerhouseVerifiableCredential): Promise<Hex>;
81
- /** True when the proof was signed by the credential's declared issuer address. */
82
- declare function verifyCredentialSignature(credential: PowerhouseVerifiableCredential): Promise<boolean>;
54
+ declare function resolveSwitchboardEndpoint(options: ResolveSwitchboardEndpointOptions): Promise<string | undefined>;
83
55
  //#endregion
84
56
  //#region src/renown-builder.d.ts
85
57
  interface RenownBuilderOptions {
@@ -89,6 +61,7 @@ interface RenownBuilderOptions {
89
61
  crypto?: IRenownCrypto;
90
62
  keyPairStorage?: JsonWebKeyPairStorage;
91
63
  baseUrl?: string;
64
+ switchboardUrl?: string;
92
65
  profileFetcher?: ProfileFetcher;
93
66
  }
94
67
  /**
@@ -128,6 +101,7 @@ declare class BaseRenownBuilder {
128
101
  * Defaults to https://www.renown.id
129
102
  */
130
103
  withBaseUrl(baseUrl: string): this;
104
+ withSwitchboardUrl(switchboardUrl: string): this;
131
105
  /**
132
106
  * Set a profile fetcher strategy for enriching user data after login.
133
107
  * The fetcher receives the authenticated user and the base URL,
@@ -178,5 +152,5 @@ declare function assertIsAuthCredential(credential: VerifiedCredential): asserts
178
152
  declare function createAuthBearerToken(chainId: number, networkId: string, address: string, issuer: Issuer, options?: CreateBearerTokenOptions): Promise<string>;
179
153
  declare const getResolver: () => Resolver;
180
154
  //#endregion
181
- export { verifyCredentialSignature as _, getResolver as a, fetchRenownProfile as c, BuildCredentialParams as d, CredentialDomain as f, recoverCredentialSigner as g, buildAndSignCredential as h, createAuthBearerToken as i, BaseRenownBuilder as l, SignCredentialTypedData as m, VerifyAuthBearerTokenOptions as n, parsePkhDid as o, CredentialMessage as p, assertIsAuthCredential as r, verifyAuthBearerToken as s, ILogger as t, RenownBuilderOptions as u, Renown as v, RenownMemoryStorage as y };
182
- //# sourceMappingURL=utils-D8C7f9Qs.d.ts.map
155
+ export { getResolver as a, fetchRenownProfile as c, ResolveSwitchboardEndpointOptions as d, resolveSwitchboardEndpoint as f, SwitchboardClient as h, createAuthBearerToken as i, BaseRenownBuilder as l, RenownMemoryStorage as m, VerifyAuthBearerTokenOptions as n, parsePkhDid as o, Renown as p, assertIsAuthCredential as r, verifyAuthBearerToken as s, ILogger as t, RenownBuilderOptions as u };
156
+ //# sourceMappingURL=utils-OOrVXHof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-OOrVXHof.d.ts","names":[],"sources":["../src/switchboard.ts","../src/common.ts","../src/discovery.ts","../src/renown-builder.ts","../src/profile.ts","../src/utils.ts"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { a as WalletAdapterFactory, c as WalletSession, d as normalizeWalletTheme, i as WalletAdapter, l as WalletTheme, n as DEFAULT_PRIVY_METHODS, o as WalletAdapterMeta, r as LoginMethod, s as WalletController, t as DEFAULT_MOCK_METHODS, u as WalletThemeColors } from "../types-Z6jyeonm.js";
2
+
3
+ //#region src/wallet/controller.d.ts
4
+ interface WalletRainbowConfig {
5
+ walletConnectProjectId?: string;
6
+ infuraProjectId?: string;
7
+ ssr?: boolean;
8
+ }
9
+ interface WalletPrivyConfig {
10
+ appId: string;
11
+ clientId?: string;
12
+ methods?: string[];
13
+ }
14
+ interface WalletMockConfig {
15
+ privateKey?: `0x${string}`;
16
+ chainId?: number;
17
+ methods?: string[];
18
+ }
19
+ interface WalletAdaptersConfig {
20
+ rainbow?: WalletRainbowConfig;
21
+ privy?: WalletPrivyConfig;
22
+ mock?: WalletMockConfig;
23
+ }
24
+ declare function isWalletRedirectReturn(search: string): boolean;
25
+ declare function resolveAdapters(config: WalletAdaptersConfig | undefined): Promise<WalletAdapter[]>;
26
+ declare function supportedMethods(adapters: WalletAdapter[]): LoginMethod[];
27
+ declare function resolveForMethod(adapters: WalletAdapter[], method: LoginMethod): WalletAdapter;
28
+ //#endregion
29
+ export { DEFAULT_MOCK_METHODS, DEFAULT_PRIVY_METHODS, LoginMethod, WalletAdapter, WalletAdapterFactory, WalletAdapterMeta, WalletAdaptersConfig, WalletController, WalletMockConfig, WalletPrivyConfig, WalletRainbowConfig, WalletSession, WalletTheme, WalletThemeColors, isWalletRedirectReturn, normalizeWalletTheme, resolveAdapters, resolveForMethod, supportedMethods };
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/wallet/controller.ts"],"mappings":";;;UAYiB,mBAAA;EACf,sBAAA;EACA,eAAA;EAGA,GAAA;AAAA;AAAA,UAGe,iBAAA;EACf,KAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,UAIe,gBAAA;EACf,UAAA;EACA,OAAA;EACA,OAAA;AAAA;AAAA,UAGe,oBAAA;EACf,OAAA,GAAU,mBAAA;EACV,KAAA,GAAQ,iBAAA;EACR,IAAA,GAAO,gBAAA;AAAA;AAAA,iBAaO,sBAAA,CAAuB,MAAA;AAAA,iBA8BjB,eAAA,CACpB,MAAA,EAAQ,oBAAA,eACP,OAAA,CAAQ,aAAA;AAAA,iBAqCK,gBAAA,CAAiB,QAAA,EAAU,aAAA,KAAkB,WAAA;AAAA,iBAU7C,gBAAA,CACd,QAAA,EAAU,aAAA,IACV,MAAA,EAAQ,WAAA,GACP,aAAA"}
@@ -0,0 +1,74 @@
1
+ import { i as normalizeWalletTheme, n as DEFAULT_PRIVY_METHODS, r as LoginMethod, t as DEFAULT_MOCK_METHODS } from "../types-DG816Qa8.js";
2
+ //#endregion
3
+ //#region src/wallet/controller.ts
4
+ const ADAPTER_METAS = [
5
+ {
6
+ id: "rainbow",
7
+ redirectReturnParams: []
8
+ },
9
+ {
10
+ id: "privy",
11
+ redirectReturnParams: ["privy_oauth_code", "privy_oauth_state"]
12
+ },
13
+ {
14
+ id: "mock",
15
+ redirectReturnParams: []
16
+ }
17
+ ];
18
+ function isWalletRedirectReturn(search) {
19
+ const params = new URLSearchParams(search);
20
+ return ADAPTER_METAS.some((meta) => meta.redirectReturnParams.some((param) => params.has(param)));
21
+ }
22
+ const ADAPTER_PEER_DEPS = {
23
+ rainbow: [
24
+ "wagmi",
25
+ "@rainbow-me/rainbowkit",
26
+ "@tanstack/react-query",
27
+ "viem"
28
+ ],
29
+ privy: ["@privy-io/react-auth", "viem"],
30
+ mock: ["viem"]
31
+ };
32
+ function logAdapterLoadError(id, error) {
33
+ const deps = ADAPTER_PEER_DEPS[id].join(", ");
34
+ console.error(`[renown] Could not load the "${id}" wallet adapter. It is enabled in renown.adapters but its peer dependencies are not installed. Install them to use it: ${deps} — or remove "${id}" from renown.adapters.`, error);
35
+ }
36
+ async function resolveAdapters(config) {
37
+ const adapters = [];
38
+ if (!config) return adapters;
39
+ if (config.rainbow) try {
40
+ const mod = await import("@renown/sdk/wallet/rainbow");
41
+ adapters.push(mod.createRainbowAdapter(config.rainbow));
42
+ } catch (error) {
43
+ logAdapterLoadError("rainbow", error);
44
+ }
45
+ if (config.privy) try {
46
+ const mod = await import("@renown/sdk/wallet/privy");
47
+ adapters.push(mod.createPrivyAdapter(config.privy));
48
+ } catch (error) {
49
+ logAdapterLoadError("privy", error);
50
+ }
51
+ if (config.mock) try {
52
+ const mod = await import("@renown/sdk/wallet/mock");
53
+ adapters.push(mod.createMockAdapter(config.mock));
54
+ } catch (error) {
55
+ logAdapterLoadError("mock", error);
56
+ }
57
+ return adapters;
58
+ }
59
+ function supportedMethods(adapters) {
60
+ const methods = /* @__PURE__ */ new Set();
61
+ for (const adapter of adapters) for (const method of adapter.supportedMethods) methods.add(method);
62
+ return Array.from(methods);
63
+ }
64
+ function resolveForMethod(adapters, method) {
65
+ const matches = adapters.filter((a) => a.supportedMethods.includes(method));
66
+ if (matches.length > 1) throw new Error(`Multiple adapters support login method "${method}": ${matches.map((a) => a.id).join(", ")}. Resolve the adapter explicitly.`);
67
+ const adapter = matches.at(0);
68
+ if (!adapter) throw new Error(`No adapter registered for login method "${method}"`);
69
+ return adapter;
70
+ }
71
+ //#endregion
72
+ export { DEFAULT_MOCK_METHODS, DEFAULT_PRIVY_METHODS, LoginMethod, isWalletRedirectReturn, normalizeWalletTheme, resolveAdapters, resolveForMethod, supportedMethods };
73
+
74
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/wallet/mock/meta.ts","../../src/wallet/privy/meta.ts","../../src/wallet/rainbow/meta.ts","../../src/wallet/controller.ts"],"sourcesContent":["import type { WalletAdapterMeta } from \"../types.js\";\n\n// Dependency-free descriptor (see privy/meta.ts). The mock signer has no\n// full-page OAuth redirect.\nexport const mockAdapterMeta: WalletAdapterMeta = {\n id: \"mock\",\n redirectReturnParams: [],\n};\n","import type { WalletAdapterMeta } from \"../types.js\";\n\n// Dependency-free descriptor, safe to import eagerly (pulls no wallet library);\n// the heavy createPrivyAdapter factory stays behind a dynamic import.\nexport const privyAdapterMeta: WalletAdapterMeta = {\n id: \"privy\",\n redirectReturnParams: [\"privy_oauth_code\", \"privy_oauth_state\"],\n};\n","import type { WalletAdapterMeta } from \"../types.js\";\n\n// Dependency-free descriptor (see privy/meta.ts). Injected wallets have no\n// full-page OAuth redirect, so no redirect-return params.\nexport const rainbowAdapterMeta: WalletAdapterMeta = {\n id: \"rainbow\",\n redirectReturnParams: [],\n};\n","import { mockAdapterMeta } from \"./mock/meta.js\";\nimport { privyAdapterMeta } from \"./privy/meta.js\";\nimport { rainbowAdapterMeta } from \"./rainbow/meta.js\";\nimport type {\n LoginMethod,\n WalletAdapter,\n WalletAdapterFactory,\n WalletAdapterMeta,\n} from \"./types.js\";\n\n// Structural config slices the core codes against; each adapter subexport accepts\n// a compatible config. Kept local so the core imports no wallet-lib or shared type.\nexport interface WalletRainbowConfig {\n walletConnectProjectId?: string;\n infuraProjectId?: string;\n // Set on server-rendered hosts (e.g. Next.js) so wagmi defers its hydrate\n // reconnect to an effect instead of running it during render.\n ssr?: boolean;\n}\n\nexport interface WalletPrivyConfig {\n appId: string;\n clientId?: string;\n methods?: string[];\n}\n\n// TEST/DEV only: a headless signer backed by a local key. Never enable in prod.\nexport interface WalletMockConfig {\n privateKey?: `0x${string}`;\n chainId?: number;\n methods?: string[];\n}\n\nexport interface WalletAdaptersConfig {\n rainbow?: WalletRainbowConfig;\n privy?: WalletPrivyConfig;\n mock?: WalletMockConfig;\n}\n\n// Adapter descriptors, imported eagerly (each is dependency-free — no wallet\n// library). Their factories still load lazily via resolveAdapters below.\nconst ADAPTER_METAS: WalletAdapterMeta[] = [\n rainbowAdapterMeta,\n privyAdapterMeta,\n mockAdapterMeta,\n];\n\n// True when a URL search string looks like a wallet OAuth redirect return, per\n// each adapter's own declared params — no adapter-specific strings live here.\nexport function isWalletRedirectReturn(search: string): boolean {\n const params = new URLSearchParams(search);\n return ADAPTER_METAS.some((meta) =>\n meta.redirectReturnParams.some((param) => params.has(param)),\n );\n}\n\n// Peer dependencies each adapter subexport imports; listed in the error message\n// when a dynamic import fails so operators know exactly what to install.\nconst ADAPTER_PEER_DEPS: Record<string, string[]> = {\n rainbow: [\"wagmi\", \"@rainbow-me/rainbowkit\", \"@tanstack/react-query\", \"viem\"],\n privy: [\"@privy-io/react-auth\", \"viem\"],\n mock: [\"viem\"],\n};\n\n// A module-not-found from a dynamic import means the adapter's optional peer\n// dependency isn't installed; explain it in plain language instead of the raw error.\nfunction logAdapterLoadError(\n id: \"rainbow\" | \"privy\" | \"mock\",\n error: unknown,\n): void {\n const deps = ADAPTER_PEER_DEPS[id].join(\", \");\n console.error(\n `[renown] Could not load the \"${id}\" wallet adapter. It is enabled in renown.adapters but its peer dependencies are not installed. Install them to use it: ${deps} — or remove \"${id}\" from renown.adapters.`,\n error,\n );\n}\n\n// Dynamically import ONLY the adapters an operator configured; the wallet-lib\n// code and its peer dep load only when the matching dynamic import runs.\nexport async function resolveAdapters(\n config: WalletAdaptersConfig | undefined,\n): Promise<WalletAdapter[]> {\n const adapters: WalletAdapter[] = [];\n if (!config) return adapters;\n if (config.rainbow) {\n try {\n const mod = (await import(\"@renown/sdk/wallet/rainbow\")) as unknown as {\n createRainbowAdapter: WalletAdapterFactory<WalletRainbowConfig>;\n };\n adapters.push(mod.createRainbowAdapter(config.rainbow));\n } catch (error) {\n logAdapterLoadError(\"rainbow\", error);\n }\n }\n if (config.privy) {\n try {\n const mod = (await import(\"@renown/sdk/wallet/privy\")) as unknown as {\n createPrivyAdapter: WalletAdapterFactory<WalletPrivyConfig>;\n };\n adapters.push(mod.createPrivyAdapter(config.privy));\n } catch (error) {\n logAdapterLoadError(\"privy\", error);\n }\n }\n if (config.mock) {\n try {\n const mod = (await import(\"@renown/sdk/wallet/mock\")) as unknown as {\n createMockAdapter: WalletAdapterFactory<WalletMockConfig>;\n };\n adapters.push(mod.createMockAdapter(config.mock));\n } catch (error) {\n logAdapterLoadError(\"mock\", error);\n }\n }\n return adapters;\n}\n\n// Union of all login methods supported across the resolved adapters.\nexport function supportedMethods(adapters: WalletAdapter[]): LoginMethod[] {\n const methods = new Set<LoginMethod>();\n for (const adapter of adapters) {\n for (const method of adapter.supportedMethods) methods.add(method);\n }\n return Array.from(methods);\n}\n\n// Return the sole adapter that supports `method`; throws if none or more than one\n// does (ambiguous config — the caller must resolve the adapter explicitly).\nexport function resolveForMethod(\n adapters: WalletAdapter[],\n method: LoginMethod,\n): WalletAdapter {\n const matches = adapters.filter((a) => a.supportedMethods.includes(method));\n if (matches.length > 1) {\n throw new Error(\n `Multiple adapters support login method \"${method}\": ${matches\n .map((a) => a.id)\n .join(\", \")}. Resolve the adapter explicitly.`,\n );\n }\n const adapter = matches.at(0);\n if (!adapter) {\n throw new Error(`No adapter registered for login method \"${method}\"`);\n }\n return adapter;\n}\n"],"mappings":";;;AGyCA,MAAM,gBAAqC;CDrCU;EACnD,IAAI;EACJ,sBAAsB,EAAE;EACzB;CDHkD;EACjD,IAAI;EACJ,sBAAsB,CAAC,oBAAoB,oBAAoB;EAChE;CDHiD;EAChD,IAAI;EACJ,sBAAsB,EAAE;EACzB;CGsCA;AAID,SAAgB,uBAAuB,QAAyB;CAC9D,MAAM,SAAS,IAAI,gBAAgB,OAAO;AAC1C,QAAO,cAAc,MAAM,SACzB,KAAK,qBAAqB,MAAM,UAAU,OAAO,IAAI,MAAM,CAAC,CAC7D;;AAKH,MAAM,oBAA8C;CAClD,SAAS;EAAC;EAAS;EAA0B;EAAyB;EAAO;CAC7E,OAAO,CAAC,wBAAwB,OAAO;CACvC,MAAM,CAAC,OAAO;CACf;AAID,SAAS,oBACP,IACA,OACM;CACN,MAAM,OAAO,kBAAkB,IAAI,KAAK,KAAK;AAC7C,SAAQ,MACN,gCAAgC,GAAG,0HAA0H,KAAK,gBAAgB,GAAG,0BACrL,MACD;;AAKH,eAAsB,gBACpB,QAC0B;CAC1B,MAAM,WAA4B,EAAE;AACpC,KAAI,CAAC,OAAQ,QAAO;AACpB,KAAI,OAAO,QACT,KAAI;EACF,MAAM,MAAO,MAAM,OAAO;AAG1B,WAAS,KAAK,IAAI,qBAAqB,OAAO,QAAQ,CAAC;UAChD,OAAO;AACd,sBAAoB,WAAW,MAAM;;AAGzC,KAAI,OAAO,MACT,KAAI;EACF,MAAM,MAAO,MAAM,OAAO;AAG1B,WAAS,KAAK,IAAI,mBAAmB,OAAO,MAAM,CAAC;UAC5C,OAAO;AACd,sBAAoB,SAAS,MAAM;;AAGvC,KAAI,OAAO,KACT,KAAI;EACF,MAAM,MAAO,MAAM,OAAO;AAG1B,WAAS,KAAK,IAAI,kBAAkB,OAAO,KAAK,CAAC;UAC1C,OAAO;AACd,sBAAoB,QAAQ,MAAM;;AAGtC,QAAO;;AAIT,SAAgB,iBAAiB,UAA0C;CACzE,MAAM,0BAAU,IAAI,KAAkB;AACtC,MAAK,MAAM,WAAW,SACpB,MAAK,MAAM,UAAU,QAAQ,iBAAkB,SAAQ,IAAI,OAAO;AAEpE,QAAO,MAAM,KAAK,QAAQ;;AAK5B,SAAgB,iBACd,UACA,QACe;CACf,MAAM,UAAU,SAAS,QAAQ,MAAM,EAAE,iBAAiB,SAAS,OAAO,CAAC;AAC3E,KAAI,QAAQ,SAAS,EACnB,OAAM,IAAI,MACR,2CAA2C,OAAO,KAAK,QACpD,KAAK,MAAM,EAAE,GAAG,CAChB,KAAK,KAAK,CAAC,mCACf;CAEH,MAAM,UAAU,QAAQ,GAAG,EAAE;AAC7B,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,2CAA2C,OAAO,GAAG;AAEvE,QAAO"}
@@ -0,0 +1,18 @@
1
+ import { i as WalletAdapter } from "../../types-Z6jyeonm.js";
2
+
3
+ //#region src/wallet/mock/index.d.ts
4
+ type Hex = `0x${string}`;
5
+ /** Config for the mock wallet adapter. TEST/DEV ONLY — signs with a local key; never enable in production. */
6
+ interface PHRenownMockAdapterConfig {
7
+ /** Signing key; defaults to the well-known Anvil test account #0. */
8
+ privateKey?: Hex;
9
+ /** Chain id reported in the session (default 1). */
10
+ chainId?: number;
11
+ /** Methods this adapter answers for; defaults to wallet + google + email. */
12
+ methods?: string[];
13
+ }
14
+ /** Headless test/dev wallet adapter: `connect()` resolves immediately with a session backed by a viem local account (real EIP-712 signatures, no wallet UI or OAuth). Enable via `adapters.mock` to e2e-test sign-in deterministically. See the reactor-browser README "Testing" and the Academy Renown auth guide. */
15
+ declare function createMockAdapter(config: PHRenownMockAdapterConfig): WalletAdapter;
16
+ //#endregion
17
+ export { PHRenownMockAdapterConfig, createMockAdapter };
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/wallet/mock/index.ts"],"mappings":";;;KAWK,GAAA;;UAQY,yBAAA;EARZ;EAUH,UAAA,GAAa,GAAA;;EAEb,OAAA;EAZM;EAcN,OAAA;AAAA;;iBAOc,iBAAA,CACd,MAAA,EAAQ,yBAAA,GACP,aAAA"}
@@ -0,0 +1,38 @@
1
+ import { t as DEFAULT_MOCK_METHODS } from "../../types-DG816Qa8.js";
2
+ import { privateKeyToAccount } from "viem/accounts";
3
+ //#region src/wallet/mock/index.ts
4
+ const DEFAULT_TEST_KEY = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80";
5
+ const MockProvider = (props) => props.children;
6
+ /** Headless test/dev wallet adapter: `connect()` resolves immediately with a session backed by a viem local account (real EIP-712 signatures, no wallet UI or OAuth). Enable via `adapters.mock` to e2e-test sign-in deterministically. See the reactor-browser README "Testing" and the Academy Renown auth guide. */
7
+ function createMockAdapter(config) {
8
+ const account = privateKeyToAccount(config.privateKey ?? DEFAULT_TEST_KEY);
9
+ const chainId = config.chainId ?? 1;
10
+ const supportedMethods = config.methods?.length ? config.methods : DEFAULT_MOCK_METHODS;
11
+ const signTypedData = (args) => account.signTypedData({
12
+ domain: args.domain,
13
+ types: args.types,
14
+ primaryType: args.primaryType,
15
+ message: args.message
16
+ });
17
+ const session = {
18
+ address: account.address,
19
+ chainId,
20
+ signTypedData
21
+ };
22
+ const controller = {
23
+ supportedMethods,
24
+ connect: () => Promise.resolve(session),
25
+ disconnect: () => Promise.resolve(),
26
+ getSession: () => session
27
+ };
28
+ return {
29
+ id: "mock",
30
+ supportedMethods,
31
+ Provider: MockProvider,
32
+ useController: () => controller
33
+ };
34
+ }
35
+ //#endregion
36
+ export { createMockAdapter };
37
+
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/wallet/mock/index.ts"],"sourcesContent":["import { privateKeyToAccount } from \"viem/accounts\";\nimport type { ComponentType, ReactNode } from \"react\";\nimport type { SignCredentialTypedData } from \"../../credential.js\";\nimport type { LoginMethod } from \"../types.js\";\nimport {\n DEFAULT_MOCK_METHODS,\n type WalletAdapter,\n type WalletController,\n type WalletSession,\n} from \"../types.js\";\n\ntype Hex = `0x${string}`;\n\n// Well-known Anvil/Hardhat test account #0 private key. Default so tests need no\n// key; every connect resolves to its deterministic address.\nconst DEFAULT_TEST_KEY: Hex =\n \"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\";\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?: Hex;\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?: string[];\n}\n\nconst MockProvider: ComponentType<{ children: ReactNode }> = (props) =>\n props.children;\n\n/** Headless test/dev wallet adapter: `connect()` resolves immediately with a session backed by a viem local account (real EIP-712 signatures, no wallet UI or OAuth). Enable via `adapters.mock` to e2e-test sign-in deterministically. See the reactor-browser README \"Testing\" and the Academy Renown auth guide. */\nexport function createMockAdapter(\n config: PHRenownMockAdapterConfig,\n): WalletAdapter {\n const account = privateKeyToAccount(config.privateKey ?? DEFAULT_TEST_KEY);\n const chainId = config.chainId ?? 1;\n const supportedMethods = config.methods?.length\n ? (config.methods as LoginMethod[])\n : DEFAULT_MOCK_METHODS;\n\n const signTypedData: SignCredentialTypedData = (args) =>\n account.signTypedData({\n domain: args.domain,\n types: args.types,\n primaryType: args.primaryType,\n message: args.message,\n } as unknown as Parameters<typeof account.signTypedData>[0]);\n\n const session: WalletSession = {\n address: account.address,\n chainId,\n signTypedData,\n };\n\n const controller: WalletController = {\n supportedMethods,\n connect: () => Promise.resolve(session),\n disconnect: () => Promise.resolve(),\n getSession: () => session,\n };\n\n return {\n id: \"mock\",\n supportedMethods,\n Provider: MockProvider,\n useController: () => controller,\n };\n}\n"],"mappings":";;;AAeA,MAAM,mBACJ;AAYF,MAAM,gBAAwD,UAC5D,MAAM;;AAGR,SAAgB,kBACd,QACe;CACf,MAAM,UAAU,oBAAoB,OAAO,cAAc,iBAAiB;CAC1E,MAAM,UAAU,OAAO,WAAW;CAClC,MAAM,mBAAmB,OAAO,SAAS,SACpC,OAAO,UACR;CAEJ,MAAM,iBAA0C,SAC9C,QAAQ,cAAc;EACpB,QAAQ,KAAK;EACb,OAAO,KAAK;EACZ,aAAa,KAAK;EAClB,SAAS,KAAK;EACf,CAA2D;CAE9D,MAAM,UAAyB;EAC7B,SAAS,QAAQ;EACjB;EACA;EACD;CAED,MAAM,aAA+B;EACnC;EACA,eAAe,QAAQ,QAAQ,QAAQ;EACvC,kBAAkB,QAAQ,SAAS;EACnC,kBAAkB;EACnB;AAED,QAAO;EACL,IAAI;EACJ;EACA,UAAU;EACV,qBAAqB;EACtB"}
@@ -0,0 +1,63 @@
1
+ import { it as SignCredentialTypedData } from "../../types-DsF91dDF.js";
2
+ import { c as WalletSession, i as WalletAdapter, l as WalletTheme, r as LoginMethod } from "../../types-Z6jyeonm.js";
3
+ import { ComponentType, ReactNode } from "react";
4
+ import { ConnectedWallet, LoginModalOptions } from "@privy-io/react-auth";
5
+
6
+ //#region src/wallet/privy/adapter.d.ts
7
+ type Hex = `0x${string}`;
8
+ type PrivyOAuthProviderId = "google" | "apple";
9
+ declare function resolvePrivyMethods(methods?: string[]): LoginMethod[];
10
+ interface PrivyBindings {
11
+ openLoginModal: (options?: LoginModalOptions) => void;
12
+ initOAuth: (options: {
13
+ provider: PrivyOAuthProviderId;
14
+ }) => Promise<void>;
15
+ logout: () => Promise<void>;
16
+ signTypedData: (args: Parameters<SignCredentialTypedData>[0], address: Hex) => Promise<Hex>;
17
+ }
18
+ declare class PrivyCore {
19
+ readonly supportedMethods: LoginMethod[];
20
+ private bindings;
21
+ private pending;
22
+ private session;
23
+ private listeners;
24
+ constructor(supportedMethods: LoginMethod[]);
25
+ bind(bindings: PrivyBindings): () => void;
26
+ getSession(): WalletSession | undefined;
27
+ subscribe(listener: (session: WalletSession | undefined) => void): () => void;
28
+ private emit;
29
+ syncFromEmbeddedWallet(wallet: ConnectedWallet): void;
30
+ clearSession(): void;
31
+ handleLoginError(error: unknown): void;
32
+ connect(method?: LoginMethod): Promise<WalletSession>;
33
+ disconnect(): Promise<void>;
34
+ }
35
+ //#endregion
36
+ //#region src/wallet/privy/bridge.d.ts
37
+ interface PrivyAdapterBridgeProps {
38
+ core: PrivyCore;
39
+ }
40
+ declare function PrivyAdapterBridge({
41
+ core
42
+ }: PrivyAdapterBridgeProps): null;
43
+ //#endregion
44
+ //#region src/wallet/privy/provider.d.ts
45
+ interface PrivyProviderConfig {
46
+ appId: string;
47
+ clientId?: string;
48
+ }
49
+ declare function createPrivyProvider(core: PrivyCore, config: PrivyProviderConfig): ComponentType<{
50
+ children: ReactNode;
51
+ theme?: WalletTheme;
52
+ }>;
53
+ //#endregion
54
+ //#region src/wallet/privy/index.d.ts
55
+ interface PHRenownPrivyAdapterConfig {
56
+ appId: string;
57
+ clientId?: string;
58
+ methods?: string[];
59
+ }
60
+ declare function createPrivyAdapter(config: PHRenownPrivyAdapterConfig): WalletAdapter;
61
+ //#endregion
62
+ export { PHRenownPrivyAdapterConfig, PrivyAdapterBridge, type PrivyBindings, PrivyCore, createPrivyAdapter, createPrivyProvider, resolvePrivyMethods };
63
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/wallet/privy/adapter.ts","../../../src/wallet/privy/bridge.tsx","../../../src/wallet/privy/provider.tsx","../../../src/wallet/privy/index.ts"],"mappings":";;;;;;KAYK,GAAA;AAAA,KAcA,oBAAA;AAAA,iBAaW,mBAAA,CAAoB,OAAA,cAAqB,WAAA;AAAA,UAexC,aAAA;EACf,cAAA,GAAiB,OAAA,GAAU,iBAAA;EAC3B,SAAA,GAAY,OAAA;IAAW,QAAA,EAAU,oBAAA;EAAA,MAA2B,OAAA;EAC5D,MAAA,QAAc,OAAA;EACd,aAAA,GACE,IAAA,EAAM,UAAA,CAAW,uBAAA,MACjB,OAAA,EAAS,GAAA,KACN,OAAA,CAAQ,GAAA;AAAA;AAAA,cAUF,SAAA;EAAA,SACF,gBAAA,EAAkB,WAAA;EAAA,QAEnB,QAAA;EAAA,QACA,OAAA;EAAA,QACA,OAAA;EAAA,QACA,SAAA;cAEI,gBAAA,EAAkB,WAAA;EAI9B,IAAA,CAAK,QAAA,EAAU,aAAA;EAOf,UAAA,CAAA,GAAc,aAAA;EAMd,SAAA,CACE,QAAA,GAAW,OAAA,EAAS,aAAA;EAAA,QASd,IAAA;EAMR,sBAAA,CAAuB,MAAA,EAAQ,eAAA;EA8B/B,YAAA,CAAA;EAOA,gBAAA,CAAiB,KAAA;EAOX,OAAA,CAAQ,MAAA,GAAS,WAAA,GAAc,OAAA,CAAQ,aAAA;EAuCvC,UAAA,CAAA,GAAc,OAAA;AAAA;;;UCrLZ,uBAAA;EACR,IAAA,EAAM,SAAA;AAAA;AAAA,iBAKQ,kBAAA,CAAA;EAAqB;AAAA,GAAQ,uBAAA;;;UCdnC,mBAAA;EACR,KAAA;EACA,QAAA;AAAA;AAAA,iBAKc,mBAAA,CACd,IAAA,EAAM,SAAA,EACN,MAAA,EAAQ,mBAAA,GACP,aAAA;EAAgB,QAAA,EAAU,SAAA;EAAW,KAAA,GAAQ,WAAA;AAAA;;;UCV/B,0BAAA;EACf,KAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,iBAKc,kBAAA,CACd,MAAA,EAAQ,0BAAA,GACP,aAAA"}