@renown/sdk 6.0.2-staging.2 → 6.0.2-staging.3

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 (147) hide show
  1. package/README.md +1 -0
  2. package/dist/index.d.ts +77 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +173 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/node.d.ts +136 -0
  7. package/dist/node.d.ts.map +1 -0
  8. package/dist/node.js +305 -0
  9. package/dist/node.js.map +1 -0
  10. package/dist/renown-builder-xQpZet3I.js +816 -0
  11. package/dist/renown-builder-xQpZet3I.js.map +1 -0
  12. package/dist/utils-D7B6E7_Z.d.ts +682 -0
  13. package/dist/utils-D7B6E7_Z.d.ts.map +1 -0
  14. package/package.json +14 -13
  15. package/dist/src/common.d.ts +0 -23
  16. package/dist/src/common.d.ts.map +0 -1
  17. package/dist/src/common.js +0 -145
  18. package/dist/src/common.js.map +0 -1
  19. package/dist/src/constants.d.ts +0 -130
  20. package/dist/src/constants.d.ts.map +0 -1
  21. package/dist/src/constants.js +0 -40
  22. package/dist/src/constants.js.map +0 -1
  23. package/dist/src/crypto/browser-key-storage.d.ts +0 -10
  24. package/dist/src/crypto/browser-key-storage.d.ts.map +0 -1
  25. package/dist/src/crypto/browser-key-storage.js +0 -76
  26. package/dist/src/crypto/browser-key-storage.js.map +0 -1
  27. package/dist/src/crypto/common.d.ts +0 -6
  28. package/dist/src/crypto/common.d.ts.map +0 -1
  29. package/dist/src/crypto/common.js +0 -8
  30. package/dist/src/crypto/common.js.map +0 -1
  31. package/dist/src/crypto/index.d.ts +0 -3
  32. package/dist/src/crypto/index.d.ts.map +0 -1
  33. package/dist/src/crypto/index.js +0 -3
  34. package/dist/src/crypto/index.js.map +0 -1
  35. package/dist/src/crypto/memory-key-storage.d.ts +0 -9
  36. package/dist/src/crypto/memory-key-storage.d.ts.map +0 -1
  37. package/dist/src/crypto/memory-key-storage.js +0 -18
  38. package/dist/src/crypto/memory-key-storage.js.map +0 -1
  39. package/dist/src/crypto/node-key-storage.d.ts +0 -21
  40. package/dist/src/crypto/node-key-storage.d.ts.map +0 -1
  41. package/dist/src/crypto/node-key-storage.js +0 -107
  42. package/dist/src/crypto/node-key-storage.js.map +0 -1
  43. package/dist/src/crypto/node.d.ts +0 -3
  44. package/dist/src/crypto/node.d.ts.map +0 -1
  45. package/dist/src/crypto/node.js +0 -3
  46. package/dist/src/crypto/node.js.map +0 -1
  47. package/dist/src/crypto/renown-crypto-builder.d.ts +0 -11
  48. package/dist/src/crypto/renown-crypto-builder.d.ts.map +0 -1
  49. package/dist/src/crypto/renown-crypto-builder.js +0 -34
  50. package/dist/src/crypto/renown-crypto-builder.js.map +0 -1
  51. package/dist/src/crypto/renown-crypto.d.ts +0 -26
  52. package/dist/src/crypto/renown-crypto.d.ts.map +0 -1
  53. package/dist/src/crypto/renown-crypto.js +0 -56
  54. package/dist/src/crypto/renown-crypto.js.map +0 -1
  55. package/dist/src/crypto/signer.d.ts +0 -74
  56. package/dist/src/crypto/signer.d.ts.map +0 -1
  57. package/dist/src/crypto/signer.js +0 -306
  58. package/dist/src/crypto/signer.js.map +0 -1
  59. package/dist/src/crypto/types.d.ts +0 -27
  60. package/dist/src/crypto/types.d.ts.map +0 -1
  61. package/dist/src/crypto/types.js +0 -2
  62. package/dist/src/crypto/types.js.map +0 -1
  63. package/dist/src/crypto/utils.d.ts +0 -13
  64. package/dist/src/crypto/utils.d.ts.map +0 -1
  65. package/dist/src/crypto/utils.js +0 -39
  66. package/dist/src/crypto/utils.js.map +0 -1
  67. package/dist/src/event/event.browser.d.ts +0 -10
  68. package/dist/src/event/event.browser.d.ts.map +0 -1
  69. package/dist/src/event/event.browser.js +0 -24
  70. package/dist/src/event/event.browser.js.map +0 -1
  71. package/dist/src/event/event.node.d.ts +0 -8
  72. package/dist/src/event/event.node.d.ts.map +0 -1
  73. package/dist/src/event/event.node.js +0 -17
  74. package/dist/src/event/event.node.js.map +0 -1
  75. package/dist/src/event/memory.d.ts +0 -8
  76. package/dist/src/event/memory.d.ts.map +0 -1
  77. package/dist/src/event/memory.js +0 -16
  78. package/dist/src/event/memory.js.map +0 -1
  79. package/dist/src/event/types.d.ts +0 -16
  80. package/dist/src/event/types.d.ts.map +0 -1
  81. package/dist/src/event/types.js +0 -2
  82. package/dist/src/event/types.js.map +0 -1
  83. package/dist/src/index.d.ts +0 -8
  84. package/dist/src/index.d.ts.map +0 -1
  85. package/dist/src/index.js +0 -8
  86. package/dist/src/index.js.map +0 -1
  87. package/dist/src/init.browser.d.ts +0 -52
  88. package/dist/src/init.browser.d.ts.map +0 -1
  89. package/dist/src/init.browser.js +0 -66
  90. package/dist/src/init.browser.js.map +0 -1
  91. package/dist/src/init.node.d.ts +0 -29
  92. package/dist/src/init.node.d.ts.map +0 -1
  93. package/dist/src/init.node.js +0 -30
  94. package/dist/src/init.node.js.map +0 -1
  95. package/dist/src/node.d.ts +0 -10
  96. package/dist/src/node.d.ts.map +0 -1
  97. package/dist/src/node.js +0 -10
  98. package/dist/src/node.js.map +0 -1
  99. package/dist/src/profile.d.ts +0 -3
  100. package/dist/src/profile.d.ts.map +0 -1
  101. package/dist/src/profile.js +0 -22
  102. package/dist/src/profile.js.map +0 -1
  103. package/dist/src/renown-builder.d.ts +0 -68
  104. package/dist/src/renown-builder.d.ts.map +0 -1
  105. package/dist/src/renown-builder.js +0 -130
  106. package/dist/src/renown-builder.js.map +0 -1
  107. package/dist/src/storage/common.d.ts +0 -17
  108. package/dist/src/storage/common.d.ts.map +0 -1
  109. package/dist/src/storage/common.js +0 -20
  110. package/dist/src/storage/common.js.map +0 -1
  111. package/dist/src/storage/storage.browser.d.ts +0 -10
  112. package/dist/src/storage/storage.browser.d.ts.map +0 -1
  113. package/dist/src/storage/storage.browser.js +0 -27
  114. package/dist/src/storage/storage.browser.js.map +0 -1
  115. package/dist/src/storage/storage.node.d.ts +0 -11
  116. package/dist/src/storage/storage.node.d.ts.map +0 -1
  117. package/dist/src/storage/storage.node.js +0 -42
  118. package/dist/src/storage/storage.node.js.map +0 -1
  119. package/dist/src/types.d.ts +0 -126
  120. package/dist/src/types.d.ts.map +0 -1
  121. package/dist/src/types.js +0 -2
  122. package/dist/src/types.js.map +0 -1
  123. package/dist/src/utils.d.ts +0 -24
  124. package/dist/src/utils.d.ts.map +0 -1
  125. package/dist/src/utils.js +0 -94
  126. package/dist/src/utils.js.map +0 -1
  127. package/dist/test/auth.test.d.ts +0 -2
  128. package/dist/test/auth.test.d.ts.map +0 -1
  129. package/dist/test/auth.test.js +0 -13
  130. package/dist/test/auth.test.js.map +0 -1
  131. package/dist/test/crypto/signer.test.d.ts +0 -2
  132. package/dist/test/crypto/signer.test.d.ts.map +0 -1
  133. package/dist/test/crypto/signer.test.js +0 -184
  134. package/dist/test/crypto/signer.test.js.map +0 -1
  135. package/dist/test/renown.test.d.ts +0 -2
  136. package/dist/test/renown.test.d.ts.map +0 -1
  137. package/dist/test/renown.test.js +0 -287
  138. package/dist/test/renown.test.js.map +0 -1
  139. package/dist/test/storage.node.test.d.ts +0 -2
  140. package/dist/test/storage.node.test.d.ts.map +0 -1
  141. package/dist/test/storage.node.test.js +0 -66
  142. package/dist/test/storage.node.test.js.map +0 -1
  143. package/dist/tsconfig.tsbuildinfo +0 -1
  144. package/dist/vitest.config.d.ts +0 -3
  145. package/dist/vitest.config.d.ts.map +0 -1
  146. package/dist/vitest.config.js +0 -7
  147. package/dist/vitest.config.js.map +0 -1
@@ -1,68 +0,0 @@
1
- import { Renown } from "./common.js";
2
- import type { IRenownCrypto, JsonWebKeyPairStorage } from "./crypto/types.js";
3
- import type { ProfileFetcher, RenownEventEmitter, RenownStorage } from "./types.js";
4
- export interface RenownBuilderOptions {
5
- appName: string;
6
- storage?: RenownStorage;
7
- eventEmitter?: RenownEventEmitter;
8
- crypto?: IRenownCrypto;
9
- keyPairStorage?: JsonWebKeyPairStorage;
10
- baseUrl?: string;
11
- profileFetcher?: ProfileFetcher;
12
- }
13
- /**
14
- * Base builder for creating Renown instances.
15
- * Use platform-specific builders (RenownBuilder from init.browser.js or init.node.js)
16
- * for pre-configured defaults.
17
- */
18
- export declare class BaseRenownBuilder {
19
- #private;
20
- /**
21
- * @param appName - Application name used for signing context
22
- */
23
- constructor(appName: string);
24
- /**
25
- * Set custom storage for user data persistence.
26
- * Defaults to in-memory storage if not set.
27
- */
28
- withStorage(storage: RenownStorage): this;
29
- /**
30
- * Set custom event emitter for user state changes.
31
- * Defaults to in-memory event emitter if not set.
32
- */
33
- withEventEmitter(eventEmitter: RenownEventEmitter): this;
34
- /**
35
- * Set a pre-built crypto instance.
36
- * Either crypto or keyPairStorage must be provided.
37
- */
38
- withCrypto(crypto: IRenownCrypto): this;
39
- /**
40
- * Set key pair storage for cryptographic keys.
41
- * A crypto instance will be built from this storage.
42
- * Either crypto or keyPairStorage must be provided.
43
- */
44
- withKeyPairStorage(keyPairStorage: JsonWebKeyPairStorage): this;
45
- /**
46
- * Set the Renown server URL for credential verification.
47
- * Defaults to https://www.renown.id
48
- */
49
- withBaseUrl(baseUrl: string): this;
50
- /**
51
- * Set a profile fetcher strategy for enriching user data after login.
52
- * The fetcher receives the authenticated user and the base URL,
53
- * and returns a RenownProfile. Called in the background after each login.
54
- * Defaults to fetchRenownProfile which calls the Renown API.
55
- */
56
- withProfileFetcher(profileFetcher: ProfileFetcher): this;
57
- /**
58
- * Build and initialize the Renown instance.
59
- * If a user is stored, attempts to re-authenticate them.
60
- * @throws Error if neither crypto nor keyPairStorage is provided
61
- */
62
- build(): Promise<Renown>;
63
- /**
64
- * Create a BaseRenownBuilder from options object for a more concise API
65
- */
66
- static from(options: RenownBuilderOptions): BaseRenownBuilder;
67
- }
68
- //# sourceMappingURL=renown-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renown-builder.d.ts","sourceRoot":"","sources":["../../src/renown-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG9E,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;;IAS5B;;OAEG;gBACS,OAAO,EAAE,MAAM;IAI3B;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC;;;OAGG;IACH,gBAAgB,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI;IAKxD;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAKvC;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,qBAAqB,GAAG,IAAI;IAK/D;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKlC;;;;;OAKG;IACH,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAKxD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAsC9B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,iBAAiB;CAwB9D"}
@@ -1,130 +0,0 @@
1
- import { Renown, RenownMemoryStorage } from "./common.js";
2
- import { DEFAULT_RENOWN_URL } from "./constants.js";
3
- import { RenownCryptoBuilder } from "./crypto/renown-crypto-builder.js";
4
- import { MemoryEventEmitter } from "./event/memory.js";
5
- import { fetchRenownProfile } from "./profile.js";
6
- /**
7
- * Base builder for creating Renown instances.
8
- * Use platform-specific builders (RenownBuilder from init.browser.js or init.node.js)
9
- * for pre-configured defaults.
10
- */
11
- export class BaseRenownBuilder {
12
- #appName;
13
- #storage;
14
- #eventEmitter;
15
- #crypto;
16
- #keyPairStorage;
17
- #baseUrl;
18
- #profileFetcher;
19
- /**
20
- * @param appName - Application name used for signing context
21
- */
22
- constructor(appName) {
23
- this.#appName = appName;
24
- }
25
- /**
26
- * Set custom storage for user data persistence.
27
- * Defaults to in-memory storage if not set.
28
- */
29
- withStorage(storage) {
30
- this.#storage = storage;
31
- return this;
32
- }
33
- /**
34
- * Set custom event emitter for user state changes.
35
- * Defaults to in-memory event emitter if not set.
36
- */
37
- withEventEmitter(eventEmitter) {
38
- this.#eventEmitter = eventEmitter;
39
- return this;
40
- }
41
- /**
42
- * Set a pre-built crypto instance.
43
- * Either crypto or keyPairStorage must be provided.
44
- */
45
- withCrypto(crypto) {
46
- this.#crypto = crypto;
47
- return this;
48
- }
49
- /**
50
- * Set key pair storage for cryptographic keys.
51
- * A crypto instance will be built from this storage.
52
- * Either crypto or keyPairStorage must be provided.
53
- */
54
- withKeyPairStorage(keyPairStorage) {
55
- this.#keyPairStorage = keyPairStorage;
56
- return this;
57
- }
58
- /**
59
- * Set the Renown server URL for credential verification.
60
- * Defaults to https://www.renown.id
61
- */
62
- withBaseUrl(baseUrl) {
63
- this.#baseUrl = baseUrl;
64
- return this;
65
- }
66
- /**
67
- * Set a profile fetcher strategy for enriching user data after login.
68
- * The fetcher receives the authenticated user and the base URL,
69
- * and returns a RenownProfile. Called in the background after each login.
70
- * Defaults to fetchRenownProfile which calls the Renown API.
71
- */
72
- withProfileFetcher(profileFetcher) {
73
- this.#profileFetcher = profileFetcher;
74
- return this;
75
- }
76
- /**
77
- * Build and initialize the Renown instance.
78
- * If a user is stored, attempts to re-authenticate them.
79
- * @throws Error if neither crypto nor keyPairStorage is provided
80
- */
81
- async build() {
82
- if (!this.#crypto && !this.#keyPairStorage) {
83
- throw new Error("Either crypto or keyPairStorage is required. Use withCrypto() or withKeyPairStorage() to set one.");
84
- }
85
- const crypto = this.#crypto ??
86
- (await new RenownCryptoBuilder()
87
- .withKeyPairStorage(this.#keyPairStorage)
88
- .build());
89
- const storage = this.#storage ?? new RenownMemoryStorage();
90
- const eventEmitter = this.#eventEmitter ?? new MemoryEventEmitter();
91
- const baseUrl = this.#baseUrl ?? DEFAULT_RENOWN_URL;
92
- const renown = new Renown(storage, eventEmitter, crypto, this.#appName, baseUrl, this.#profileFetcher ?? fetchRenownProfile);
93
- // Re-authenticate stored user if present
94
- if (renown.user) {
95
- try {
96
- await renown.login(renown.user.did);
97
- }
98
- catch (error) {
99
- console.error("Failed to re-authenticate user:", error);
100
- }
101
- }
102
- return renown;
103
- }
104
- /**
105
- * Create a BaseRenownBuilder from options object for a more concise API
106
- */
107
- static from(options) {
108
- const builder = new BaseRenownBuilder(options.appName);
109
- if (options.storage) {
110
- builder.withStorage(options.storage);
111
- }
112
- if (options.eventEmitter) {
113
- builder.withEventEmitter(options.eventEmitter);
114
- }
115
- if (options.crypto) {
116
- builder.withCrypto(options.crypto);
117
- }
118
- if (options.keyPairStorage) {
119
- builder.withKeyPairStorage(options.keyPairStorage);
120
- }
121
- if (options.baseUrl) {
122
- builder.withBaseUrl(options.baseUrl);
123
- }
124
- if (options.profileFetcher) {
125
- builder.withProfileFetcher(options.profileFetcher);
126
- }
127
- return builder;
128
- }
129
- }
130
- //# sourceMappingURL=renown-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renown-builder.js","sourceRoot":"","sources":["../../src/renown-builder.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- export interface IStorage<T extends Record<string, unknown> = Record<string, unknown>, Key extends keyof T = keyof T> {
2
- get(key: Key): T[Key] | undefined;
3
- set(key: Key, value?: T[Key]): void;
4
- delete(key: Key): void;
5
- }
6
- export declare abstract class BaseStorage<T extends Record<string, unknown> = Record<string, unknown>, Key extends keyof T = keyof T> implements IStorage<T> {
7
- abstract get(key: Key): T[Key] | undefined;
8
- abstract set(key: Key, value?: T[Key]): void;
9
- abstract delete(key: Key): void;
10
- }
11
- export declare class MemoryStorage<T extends Record<string, unknown> = Record<string, unknown>, Key extends keyof T = keyof T> extends BaseStorage<T> {
12
- private readonly data;
13
- get(key: Key): T[Key] | undefined;
14
- set(key: Key, value?: T[Key]): void;
15
- delete(key: Key): void;
16
- }
17
- //# sourceMappingURL=common.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/storage/common.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,GAAG,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC;IAE7B,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAClC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CACxB;AAED,8BAAsB,WAAW,CAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,GAAG,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,CAC7B,YAAW,QAAQ,CAAC,CAAC,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAC1C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;IAC5C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;CAChC;AAED,qBAAa,aAAa,CACxB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,GAAG,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,CAC7B,SAAQ,WAAW,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAE/C,GAAG,CAAC,GAAG,EAAE,GAAG;IAIZ,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;IAQnC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;CAGvB"}
@@ -1,20 +0,0 @@
1
- export class BaseStorage {
2
- }
3
- export class MemoryStorage extends BaseStorage {
4
- data = new Map();
5
- get(key) {
6
- return this.data.get(key);
7
- }
8
- set(key, value) {
9
- if (value === undefined) {
10
- this.data.delete(key);
11
- }
12
- else {
13
- this.data.set(key, value);
14
- }
15
- }
16
- delete(key) {
17
- this.data.delete(key);
18
- }
19
- }
20
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/storage/common.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,WAAW;CAOhC;AAED,MAAM,OAAO,aAGX,SAAQ,WAAc;IACL,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IAE/C,GAAG,CAAC,GAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,KAAc;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAQ;QACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { BaseStorage } from "./common.js";
2
- export declare class BrowserStorage<T extends Record<string, unknown> = Record<string, unknown>> extends BaseStorage<T> {
3
- #private;
4
- private readonly namespace;
5
- constructor(namespace: string, basename: string | undefined);
6
- get<Key extends keyof T>(key: Key): T[Key] | undefined;
7
- set<Key extends keyof T>(key: Key, value?: T[Key]): void;
8
- delete(key: keyof T): void;
9
- }
10
- //# sourceMappingURL=storage.browser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.browser.d.ts","sourceRoot":"","sources":["../../../src/storage/storage.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,qBAAa,cAAc,CACzB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3D,SAAQ,WAAW,CAAC,CAAC,CAAC;;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS;IAQ3D,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAQtD,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;IAMxD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI;CAG3B"}
@@ -1,27 +0,0 @@
1
- import { BaseStorage } from "./common.js";
2
- export class BrowserStorage extends BaseStorage {
3
- namespace;
4
- constructor(namespace, basename) {
5
- super();
6
- this.namespace = `${basename}:${namespace}`;
7
- }
8
- #buildKey(key) {
9
- return `${this.namespace}:${key.toString()}`;
10
- }
11
- get(key) {
12
- const value = localStorage.getItem(this.#buildKey(key));
13
- if (value) {
14
- return JSON.parse(value);
15
- }
16
- return undefined;
17
- }
18
- set(key, value) {
19
- return value
20
- ? localStorage.setItem(this.#buildKey(key), JSON.stringify(value))
21
- : localStorage.removeItem(this.#buildKey(key));
22
- }
23
- delete(key) {
24
- return localStorage.removeItem(this.#buildKey(key));
25
- }
26
- }
27
- //# sourceMappingURL=storage.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.browser.js","sourceRoot":"","sources":["../../../src/storage/storage.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,cAEX,SAAQ,WAAc;IACL,SAAS,CAAS;IAEnC,YAAY,SAAiB,EAAE,QAA4B;QACzD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,GAAY;QACpB,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC/C,CAAC;IACD,GAAG,CAAsB,GAAQ;QAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAW,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,GAAG,CAAsB,GAAQ,EAAE,KAAc;QAC/C,OAAO,KAAK;YACV,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClE,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,GAAY;QACjB,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;CACF"}
@@ -1,11 +0,0 @@
1
- import { BaseStorage } from "./common.js";
2
- export declare class NodeStorage<T extends Record<string, unknown> = Record<string, unknown>> extends BaseStorage<T> {
3
- private readonly filePath;
4
- constructor(filePath: string);
5
- private readData;
6
- private writeData;
7
- get<Key extends keyof T>(key: Key): T[Key] | undefined;
8
- set<Key extends keyof T>(key: Key, value?: T[Key]): void;
9
- delete(key: keyof T): void;
10
- }
11
- //# sourceMappingURL=storage.node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.node.d.ts","sourceRoot":"","sources":["../../../src/storage/storage.node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,qBAAa,WAAW,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC3D,SAAQ,WAAW,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,QAAQ,EAAE,MAAM;IAY5B,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,SAAS;IAIjB,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAKtD,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;IAUxD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI;CAK3B"}
@@ -1,42 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { dirname } from "node:path";
3
- import { BaseStorage } from "./common.js";
4
- export class NodeStorage extends BaseStorage {
5
- filePath;
6
- constructor(filePath) {
7
- super();
8
- this.filePath = filePath;
9
- const parentFolder = dirname(this.filePath);
10
- mkdirSync(parentFolder, { recursive: true });
11
- if (!existsSync(this.filePath)) {
12
- writeFileSync(this.filePath, JSON.stringify({}));
13
- }
14
- }
15
- readData() {
16
- const data = readFileSync(this.filePath, "utf-8");
17
- return JSON.parse(data);
18
- }
19
- writeData(data) {
20
- writeFileSync(this.filePath, JSON.stringify(data, null, 2));
21
- }
22
- get(key) {
23
- const data = this.readData();
24
- return data[key];
25
- }
26
- set(key, value) {
27
- const data = this.readData();
28
- if (value === undefined) {
29
- delete data[key];
30
- }
31
- else {
32
- data[key] = value;
33
- }
34
- this.writeData(data);
35
- }
36
- delete(key) {
37
- const data = this.readData();
38
- delete data[key];
39
- this.writeData(data);
40
- }
41
- }
42
- //# sourceMappingURL=storage.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.node.js","sourceRoot":"","sources":["../../../src/storage/storage.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,WAEX,SAAQ,WAAc;IACL,QAAQ,CAAS;IAElC,YAAY,QAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAEO,SAAS,CAAC,IAAO;QACvB,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,GAAG,CAAsB,GAAQ;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,GAAG,CAAsB,GAAQ,EAAE,KAAc;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAY;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACF"}
@@ -1,126 +0,0 @@
1
- import type { Verifiable, VerifiedCredential } from "did-jwt-vc";
2
- import type { User as EditorUser, ISigner } from "document-model";
3
- import type { CREDENTIAL_TYPES } from "./constants.js";
4
- import type { IRenownCrypto } from "./crypto/types.js";
5
- import type { IEventEmitter } from "./event/types.js";
6
- import type { IStorage } from "./storage/common.js";
7
- export type { ISigner };
8
- export type RenownProfile = {
9
- documentId: string;
10
- username: string | null;
11
- ethAddress: string | null;
12
- userImage: string | null;
13
- createdAt: string;
14
- updatedAt: string;
15
- };
16
- export type InternalUser = EditorUser & {
17
- did: string;
18
- credential: PowerhouseVerifiableCredential | undefined;
19
- profile?: RenownProfile;
20
- };
21
- export type User = InternalUser;
22
- /**
23
- * Strategy function for fetching user profile data.
24
- * Called after successful authentication to enrich the user object.
25
- * Should return the user's Renown profile, or undefined if not available.
26
- * Must not throw — return undefined on failure.
27
- */
28
- export type ProfileFetcher = (user: User, baseUrl: string) => Promise<RenownProfile | undefined>;
29
- export type Unsubscribe = () => void;
30
- export type LoginStatus = "initial" | "checking" | "authorized" | "not-authorized";
31
- export type RenownStorageMap = {
32
- user: InternalUser | undefined;
33
- };
34
- export type RenownStorage = IStorage<RenownStorageMap>;
35
- export type RenownEvents = {
36
- user: User | undefined;
37
- status: LoginStatus;
38
- };
39
- export type RenownEventEmitter = IEventEmitter<RenownEvents>;
40
- export interface IRenown extends Pick<RenownEventEmitter, "on"> {
41
- readonly baseUrl: string;
42
- readonly user: User | undefined;
43
- readonly status: LoginStatus;
44
- login: (userDid: string) => Promise<User>;
45
- logout: () => Promise<void>;
46
- readonly crypto: IRenownCrypto;
47
- readonly signer: ISigner;
48
- readonly did: string;
49
- readonly profileFetcher: ProfileFetcher | undefined;
50
- verifyBearerToken: (token: string) => Promise<false | VerifiedCredential>;
51
- getBearerToken: (options: CreateBearerTokenOptions, refresh?: boolean) => Promise<string>;
52
- }
53
- type IssuerType<T> = {
54
- id: string;
55
- } & T;
56
- type CredentialSubjecType<T> = {
57
- id?: string;
58
- } & T;
59
- interface CredentialStatus {
60
- id: string;
61
- type: string;
62
- }
63
- interface CredentialSchema {
64
- id: string;
65
- type: string;
66
- }
67
- interface IVerifiableCredentialPayload<Subject, Issuer> {
68
- "@context": string[];
69
- id: string;
70
- type: string[];
71
- issuer: IssuerType<Issuer>;
72
- issuanceDate: string;
73
- expirationDate?: string;
74
- credentialSubject: CredentialSubjecType<Subject>;
75
- credentialStatus?: CredentialStatus;
76
- credentialSchema: CredentialSchema;
77
- }
78
- export interface IProof {
79
- verificationMethod: string;
80
- ethereumAddress: `0x${string}`;
81
- created: string;
82
- proofPurpose: string;
83
- type: string;
84
- proofValue: string;
85
- eip712: {
86
- domain: {
87
- name: string;
88
- version: string;
89
- chainId: number;
90
- verifyingContract: string;
91
- };
92
- types: typeof CREDENTIAL_TYPES;
93
- primaryType: "VerifiableCredential";
94
- };
95
- }
96
- export interface IVerifiableCredential<Subject, Issuer> extends IVerifiableCredentialPayload<Subject, Issuer> {
97
- proof: IProof;
98
- }
99
- export interface IPowerhouseCredentialSubject {
100
- id: string;
101
- app: string;
102
- name?: string;
103
- }
104
- export interface IPowerhouseIssuerType {
105
- ethereumAddress: `0x${string}`;
106
- }
107
- export type PowerhouseVerifiableCredential = IVerifiableCredential<IPowerhouseCredentialSubject, IPowerhouseIssuerType>;
108
- export interface IAuthCredentialSubject {
109
- chainId: number;
110
- networkId: string;
111
- address: string;
112
- }
113
- export type AuthVerifiableCredential = IVerifiableCredential<IAuthCredentialSubject, {}>;
114
- export type AuthVerifiedCredential = VerifiedCredential & {
115
- verifiableCredential: Verifiable<AuthVerifiableCredential>;
116
- };
117
- export type PKHDid = {
118
- networkId: string;
119
- chainId: number;
120
- address: `0x${string}`;
121
- };
122
- export interface CreateBearerTokenOptions {
123
- expiresIn?: number;
124
- aud?: string;
125
- }
126
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1,24 +0,0 @@
1
- import type { Issuer, VerifiedCredential } from "did-jwt-vc";
2
- import { Resolver } from "did-resolver";
3
- import type { AuthVerifiedCredential, CreateBearerTokenOptions, PKHDid } from "./types.js";
4
- export type ILogger = {
5
- level: "verbose" | "debug" | "info" | "warn" | "error";
6
- verbose: (message: string, ...replacements: any[]) => void;
7
- debug: (message: string, ...replacements: any[]) => void;
8
- info: (message: string, ...replacements: any[]) => void;
9
- warn: (message: string, ...replacements: any[]) => void;
10
- error: (message: string, ...replacements: any[]) => void;
11
- };
12
- /**
13
- * Parse a DID:pkh string to extract network, chain ID, and address information
14
- * @param did - The DID string in format "did:pkh:networkId:chainId:address"
15
- * @returns Parsed DID information
16
- * @throws Error if the DID format is invalid
17
- */
18
- export declare function parsePkhDid(did: string): PKHDid;
19
- export declare function verifyAuthBearerToken(jwt: string): Promise<false | AuthVerifiedCredential>;
20
- export declare function assertIsAuthCredential(credential: VerifiedCredential): asserts credential is AuthVerifiedCredential;
21
- export declare function createAuthBearerToken(chainId: number, networkId: string, address: string, issuer: Issuer, options?: CreateBearerTokenOptions): Promise<string>;
22
- export declare const getResolver: () => Resolver;
23
- export declare function getIssuer(privateKey: Uint8Array): Promise<Issuer>;
24
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,MAAM,EAEN,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,KAAK,EACV,sBAAsB,EACtB,wBAAwB,EAExB,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAEvD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC3D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACxD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB/C;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,KAAK,GAAG,sBAAsB,CAAC,CAoBzC;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAkB9C;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,wBAAwB,mBAoBnC;AAED,eAAO,MAAM,WAAW,gBAOvB,CAAC;AAEF,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQvE"}
package/dist/src/utils.js DELETED
@@ -1,94 +0,0 @@
1
- import { getAuthenticatedDID } from "@didtools/key-did";
2
- import { EdDSASigner } from "did-jwt";
3
- import { createVerifiableCredentialJwt, verifyCredential } from "did-jwt-vc";
4
- import { Resolver } from "did-resolver";
5
- import { getResolver as keyDidResolver } from "key-did-resolver";
6
- /**
7
- * Parse a DID:pkh string to extract network, chain ID, and address information
8
- * @param did - The DID string in format "did:pkh:networkId:chainId:address"
9
- * @returns Parsed DID information
10
- * @throws Error if the DID format is invalid
11
- */
12
- export function parsePkhDid(did) {
13
- const parts = did.split(":");
14
- if (!did.startsWith("did:pkh:") || parts.length !== 5) {
15
- throw new Error("Invalid pkh did");
16
- }
17
- const [, , networkId, chainIdStr, address] = parts;
18
- if (!address.startsWith("0x")) {
19
- throw new Error(`Invalid address: ${address}`);
20
- }
21
- const chainId = Number(chainIdStr);
22
- if (isNaN(chainId)) {
23
- throw new Error(`Invalid chain id: ${chainIdStr}`);
24
- }
25
- return {
26
- chainId,
27
- networkId,
28
- address: address,
29
- };
30
- }
31
- export async function verifyAuthBearerToken(jwt) {
32
- try {
33
- const now = parseInt(String(Date.now() / 1000));
34
- const verified = await verifyCredential(jwt, getResolver(), {
35
- policies: {
36
- now: parseInt(String(Date.now() / 1000)),
37
- expirationDate: true,
38
- issuanceDate: true,
39
- },
40
- });
41
- if (verified.payload.exp && verified.payload.exp < now) {
42
- return false;
43
- }
44
- assertIsAuthCredential(verified);
45
- return verified;
46
- }
47
- catch (e) {
48
- console.error(e);
49
- return false;
50
- }
51
- }
52
- export function assertIsAuthCredential(credential) {
53
- const subjectKeys = Object.keys(credential.verifiableCredential.credentialSubject);
54
- if (!["address", "chainId", "networkId"].every((key) => subjectKeys.includes(key))) {
55
- throw new Error("Invalid Auth Credential Subject:" +
56
- JSON.stringify(credential.verifiableCredential.credentialSubject, null, 2));
57
- }
58
- }
59
- export async function createAuthBearerToken(chainId, networkId, address, issuer, options) {
60
- const vcPayload = {
61
- sub: issuer.did,
62
- vc: {
63
- "@context": ["https://www.w3.org/2018/credentials/v1"],
64
- type: ["VerifiableCredential"],
65
- credentialSubject: {
66
- chainId,
67
- networkId,
68
- address,
69
- },
70
- },
71
- aud: options?.aud,
72
- };
73
- const jwt = await createVerifiableCredentialJwt(vcPayload, issuer, {
74
- expiresIn: options?.expiresIn,
75
- });
76
- return jwt;
77
- }
78
- export const getResolver = () => {
79
- const keyResolver = keyDidResolver();
80
- if (!keyResolver) {
81
- throw new Error("Failed to get key resolver");
82
- }
83
- return new Resolver(keyResolver);
84
- };
85
- export async function getIssuer(privateKey) {
86
- const signer = EdDSASigner(privateKey);
87
- const did = await getAuthenticatedDID(privateKey);
88
- return {
89
- did: did.id,
90
- signer,
91
- alg: "EdDSA",
92
- };
93
- }
94
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auth.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../../test/auth.test.ts"],"names":[],"mappings":""}