@renown/sdk 5.1.0-dev.4 → 5.1.0-dev.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -28
- package/dist/e2e/fixtures/main.d.ts +2 -0
- package/dist/e2e/fixtures/main.d.ts.map +1 -0
- package/dist/e2e/fixtures/main.js +97 -0
- package/dist/e2e/fixtures/main.js.map +1 -0
- package/dist/e2e/fixtures/vite.config.d.ts +3 -0
- package/dist/e2e/fixtures/vite.config.d.ts.map +1 -0
- package/dist/e2e/fixtures/vite.config.js +10 -0
- package/dist/e2e/fixtures/vite.config.js.map +1 -0
- package/dist/e2e/renown-components.spec.d.ts +2 -0
- package/dist/e2e/renown-components.spec.d.ts.map +1 -0
- package/dist/e2e/renown-components.spec.js +155 -0
- package/dist/e2e/renown-components.spec.js.map +1 -0
- package/dist/playwright.config.d.ts +3 -0
- package/dist/playwright.config.d.ts.map +1 -0
- package/dist/playwright.config.js +25 -0
- package/dist/playwright.config.js.map +1 -0
- package/dist/src/assets/assets.d.ts +19 -0
- package/dist/src/assets/renown-hover.svg +17 -0
- package/dist/src/assets/renown-light.svg +15 -0
- package/dist/src/assets/renown-short-hover.png +0 -0
- package/dist/src/assets/renown-short.png +0 -0
- package/dist/src/assets/renown.svg +16 -0
- package/dist/src/components/RenownAuthButton.d.ts +3 -33
- package/dist/src/components/RenownAuthButton.d.ts.map +1 -1
- package/dist/src/components/RenownAuthButton.js +25 -65
- package/dist/src/components/RenownAuthButton.js.map +1 -1
- package/dist/src/components/RenownLoginButton.d.ts +48 -0
- package/dist/src/components/RenownLoginButton.d.ts.map +1 -0
- package/dist/src/components/RenownLoginButton.js +175 -0
- package/dist/src/components/RenownLoginButton.js.map +1 -0
- package/dist/src/components/RenownUserButton.d.ts +66 -0
- package/dist/src/components/RenownUserButton.d.ts.map +1 -0
- package/dist/src/components/RenownUserButton.js +216 -0
- package/dist/src/components/RenownUserButton.js.map +1 -0
- package/dist/src/components/icons.d.ts +25 -0
- package/dist/src/components/icons.d.ts.map +1 -0
- package/dist/src/components/icons.js +24 -0
- package/dist/src/components/icons.js.map +1 -0
- package/dist/src/components/image-data.d.ts +3 -0
- package/dist/src/components/image-data.d.ts.map +1 -0
- package/dist/src/components/image-data.js +4 -0
- package/dist/src/components/image-data.js.map +1 -0
- package/dist/src/components/index.d.ts +5 -0
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +3 -0
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/crypto/index.d.ts +1 -0
- package/dist/src/crypto/index.d.ts.map +1 -1
- package/dist/src/crypto/index.js +1 -0
- package/dist/src/crypto/index.js.map +1 -1
- package/dist/src/crypto/signer.d.ts +21 -0
- package/dist/src/crypto/signer.d.ts.map +1 -0
- package/dist/src/crypto/signer.js +236 -0
- package/dist/src/crypto/signer.js.map +1 -0
- package/dist/src/hooks/use-user.d.ts +4 -4
- package/dist/src/hooks/use-user.d.ts.map +1 -1
- package/dist/src/hooks/use-user.js +6 -6
- package/dist/src/hooks/use-user.js.map +1 -1
- package/dist/src/index.d.ts +5 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/renown/utils.d.ts +2 -1
- package/dist/src/lib/renown/utils.d.ts.map +1 -1
- package/dist/src/lib/renown/utils.js +9 -1
- package/dist/src/lib/renown/utils.js.map +1 -1
- package/dist/src/providers/index.d.ts +2 -2
- package/dist/src/providers/index.d.ts.map +1 -1
- package/dist/src/providers/index.js +1 -1
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/{user-provider.d.ts → renown-user-provider.d.ts} +14 -8
- package/dist/src/providers/renown-user-provider.d.ts.map +1 -0
- package/dist/src/providers/{user-provider.js → renown-user-provider.js} +23 -11
- package/dist/src/providers/renown-user-provider.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +17 -4
- package/dist/src/providers/user-provider.d.ts.map +0 -1
- package/dist/src/providers/user-provider.js.map +0 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
export class ConnectCryptoSigner {
|
|
2
|
+
connectCrypto;
|
|
3
|
+
cachedPublicKey;
|
|
4
|
+
constructor(connectCrypto) {
|
|
5
|
+
this.connectCrypto = connectCrypto;
|
|
6
|
+
}
|
|
7
|
+
async publicKey() {
|
|
8
|
+
if (!this.cachedPublicKey) {
|
|
9
|
+
const did = await this.connectCrypto.did();
|
|
10
|
+
const keyData = extractKeyFromDid(did);
|
|
11
|
+
const cryptoKey = await crypto.subtle.importKey("raw", keyData.buffer, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
|
|
12
|
+
this.cachedPublicKey = await crypto.subtle.exportKey("jwk", cryptoKey);
|
|
13
|
+
}
|
|
14
|
+
return this.cachedPublicKey;
|
|
15
|
+
}
|
|
16
|
+
async sign(data) {
|
|
17
|
+
return this.connectCrypto.sign(data);
|
|
18
|
+
}
|
|
19
|
+
async verify(data, signature) {
|
|
20
|
+
const did = await this.connectCrypto.did();
|
|
21
|
+
const cryptoKey = await importPublicKey(did);
|
|
22
|
+
const isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, cryptoKey, signature.buffer, data.buffer);
|
|
23
|
+
if (!isValid) {
|
|
24
|
+
throw new Error("invalid signature");
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async signAction(action, abortSignal) {
|
|
28
|
+
if (abortSignal?.aborted) {
|
|
29
|
+
throw new Error("Signing aborted");
|
|
30
|
+
}
|
|
31
|
+
const timestamp = (new Date().getTime() / 1000).toFixed(0);
|
|
32
|
+
const did = await this.connectCrypto.did();
|
|
33
|
+
if (abortSignal?.aborted) {
|
|
34
|
+
throw new Error("Signing aborted");
|
|
35
|
+
}
|
|
36
|
+
const hash = await this.hashAction(action);
|
|
37
|
+
if (abortSignal?.aborted) {
|
|
38
|
+
throw new Error("Signing aborted");
|
|
39
|
+
}
|
|
40
|
+
const prevStateHash = action.context?.prevOpHash ?? "";
|
|
41
|
+
const params = [
|
|
42
|
+
timestamp,
|
|
43
|
+
did,
|
|
44
|
+
hash,
|
|
45
|
+
prevStateHash,
|
|
46
|
+
];
|
|
47
|
+
const message = this.buildSignatureMessage(params);
|
|
48
|
+
const signatureBytes = await this.connectCrypto.sign(message);
|
|
49
|
+
const signatureHex = `0x${this.arrayBufferToHex(signatureBytes)}`;
|
|
50
|
+
if (abortSignal?.aborted) {
|
|
51
|
+
throw new Error("Signing aborted");
|
|
52
|
+
}
|
|
53
|
+
return [...params, signatureHex];
|
|
54
|
+
}
|
|
55
|
+
async hashAction(action) {
|
|
56
|
+
const payload = [
|
|
57
|
+
action.scope,
|
|
58
|
+
action.type,
|
|
59
|
+
JSON.stringify(action.input),
|
|
60
|
+
].join("");
|
|
61
|
+
const encoder = new TextEncoder();
|
|
62
|
+
const data = encoder.encode(payload);
|
|
63
|
+
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
64
|
+
return this.arrayBufferToBase64(hashBuffer);
|
|
65
|
+
}
|
|
66
|
+
buildSignatureMessage(params) {
|
|
67
|
+
const message = params.join("");
|
|
68
|
+
const prefix = "\x19Signed Operation:\n" + message.length.toString();
|
|
69
|
+
const encoder = new TextEncoder();
|
|
70
|
+
return encoder.encode(prefix + message);
|
|
71
|
+
}
|
|
72
|
+
arrayBufferToHex(buffer) {
|
|
73
|
+
const bytes = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
|
|
74
|
+
return Array.from(bytes)
|
|
75
|
+
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
76
|
+
.join("");
|
|
77
|
+
}
|
|
78
|
+
arrayBufferToBase64(buffer) {
|
|
79
|
+
const bytes = new Uint8Array(buffer);
|
|
80
|
+
let binary = "";
|
|
81
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
82
|
+
binary += String.fromCharCode(bytes[i]);
|
|
83
|
+
}
|
|
84
|
+
return btoa(binary);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a signature verification handler that verifies signatures using the Web Crypto API.
|
|
89
|
+
* The verification uses ECDSA with P-256 curve and SHA-256 hash, matching the ConnectCrypto signing algorithm.
|
|
90
|
+
*/
|
|
91
|
+
export function createSignatureVerifier() {
|
|
92
|
+
return async (operation, publicKey) => {
|
|
93
|
+
const signer = operation.action.context?.signer;
|
|
94
|
+
if (!signer) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
const signatures = signer.signatures;
|
|
98
|
+
if (signatures.length === 0) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
const signature = signatures[signatures.length - 1];
|
|
102
|
+
const [timestamp, signerKey, hash, prevStateHash, signatureHex] = signature;
|
|
103
|
+
if (signerKey !== publicKey) {
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
const params = [
|
|
107
|
+
timestamp,
|
|
108
|
+
signerKey,
|
|
109
|
+
hash,
|
|
110
|
+
prevStateHash,
|
|
111
|
+
];
|
|
112
|
+
const message = buildSignatureMessage(params);
|
|
113
|
+
const signatureBytes = hexToUint8Array(signatureHex);
|
|
114
|
+
const cryptoKey = await importPublicKey(publicKey);
|
|
115
|
+
const isValid = await crypto.subtle.verify({ name: "ECDSA", hash: "SHA-256" }, cryptoKey, signatureBytes.buffer, message.buffer);
|
|
116
|
+
return isValid;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
function buildSignatureMessage(params) {
|
|
120
|
+
const message = params.join("");
|
|
121
|
+
const prefix = "\x19Signed Operation:\n" + message.length.toString();
|
|
122
|
+
const encoder = new TextEncoder();
|
|
123
|
+
return encoder.encode(prefix + message);
|
|
124
|
+
}
|
|
125
|
+
function hexToUint8Array(hex) {
|
|
126
|
+
const cleanHex = hex.startsWith("0x") ? hex.slice(2) : hex;
|
|
127
|
+
const bytes = new Uint8Array(cleanHex.length / 2);
|
|
128
|
+
for (let i = 0; i < cleanHex.length; i += 2) {
|
|
129
|
+
bytes[i / 2] = parseInt(cleanHex.substring(i, i + 2), 16);
|
|
130
|
+
}
|
|
131
|
+
return bytes;
|
|
132
|
+
}
|
|
133
|
+
async function importPublicKey(did) {
|
|
134
|
+
const keyData = extractKeyFromDid(did);
|
|
135
|
+
return crypto.subtle.importKey("raw", keyData.buffer, { name: "ECDSA", namedCurve: "P-256" }, true, ["verify"]);
|
|
136
|
+
}
|
|
137
|
+
function extractKeyFromDid(did) {
|
|
138
|
+
const parts = did.split(":");
|
|
139
|
+
if (parts.length < 3 || parts[0] !== "did" || parts[1] !== "key") {
|
|
140
|
+
throw new Error(`Invalid DID format: ${did}`);
|
|
141
|
+
}
|
|
142
|
+
const multibaseKey = parts[2];
|
|
143
|
+
if (!multibaseKey.startsWith("z")) {
|
|
144
|
+
throw new Error(`Unsupported multibase encoding: ${multibaseKey[0]}`);
|
|
145
|
+
}
|
|
146
|
+
const decoded = base58Decode(multibaseKey.slice(1));
|
|
147
|
+
if (decoded[0] !== 0x80 || decoded[1] !== 0x24) {
|
|
148
|
+
throw new Error("Not a P-256 public key multicodec");
|
|
149
|
+
}
|
|
150
|
+
const compressedKey = decoded.slice(2);
|
|
151
|
+
return decompressP256PublicKey(compressedKey);
|
|
152
|
+
}
|
|
153
|
+
function base58Decode(input) {
|
|
154
|
+
const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
|
155
|
+
const ALPHABET_MAP = new Map();
|
|
156
|
+
for (let i = 0; i < ALPHABET.length; i++) {
|
|
157
|
+
ALPHABET_MAP.set(ALPHABET[i], i);
|
|
158
|
+
}
|
|
159
|
+
if (input.length === 0) {
|
|
160
|
+
return new Uint8Array(0);
|
|
161
|
+
}
|
|
162
|
+
const bytes = [0];
|
|
163
|
+
for (const char of input) {
|
|
164
|
+
const value = ALPHABET_MAP.get(char);
|
|
165
|
+
if (value === undefined) {
|
|
166
|
+
throw new Error(`Invalid base58 character: ${char}`);
|
|
167
|
+
}
|
|
168
|
+
let carry = value;
|
|
169
|
+
for (let j = 0; j < bytes.length; j++) {
|
|
170
|
+
carry += bytes[j] * 58;
|
|
171
|
+
bytes[j] = carry & 0xff;
|
|
172
|
+
carry >>= 8;
|
|
173
|
+
}
|
|
174
|
+
while (carry > 0) {
|
|
175
|
+
bytes.push(carry & 0xff);
|
|
176
|
+
carry >>= 8;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
for (const char of input) {
|
|
180
|
+
if (char !== "1")
|
|
181
|
+
break;
|
|
182
|
+
bytes.push(0);
|
|
183
|
+
}
|
|
184
|
+
return new Uint8Array(bytes.reverse());
|
|
185
|
+
}
|
|
186
|
+
function decompressP256PublicKey(compressed) {
|
|
187
|
+
if (compressed.length !== 33) {
|
|
188
|
+
throw new Error(`Invalid compressed key length: ${compressed.length}`);
|
|
189
|
+
}
|
|
190
|
+
const prefix = compressed[0];
|
|
191
|
+
if (prefix !== 0x02 && prefix !== 0x03) {
|
|
192
|
+
throw new Error(`Invalid compression prefix: ${prefix}`);
|
|
193
|
+
}
|
|
194
|
+
const p = BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff");
|
|
195
|
+
const a = BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc");
|
|
196
|
+
const b = BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b");
|
|
197
|
+
let x = BigInt(0);
|
|
198
|
+
for (let i = 1; i < compressed.length; i++) {
|
|
199
|
+
x = (x << BigInt(8)) | BigInt(compressed[i]);
|
|
200
|
+
}
|
|
201
|
+
const ySquared = (modPow(x, BigInt(3), p) + a * x + b) % p;
|
|
202
|
+
let y = modPow(ySquared, (p + BigInt(1)) / BigInt(4), p);
|
|
203
|
+
const isYEven = y % BigInt(2) === BigInt(0);
|
|
204
|
+
const shouldBeEven = prefix === 0x02;
|
|
205
|
+
if (isYEven !== shouldBeEven) {
|
|
206
|
+
y = p - y;
|
|
207
|
+
}
|
|
208
|
+
const uncompressed = new Uint8Array(65);
|
|
209
|
+
uncompressed[0] = 0x04;
|
|
210
|
+
const xBytes = bigIntToBytes(x, 32);
|
|
211
|
+
const yBytes = bigIntToBytes(y, 32);
|
|
212
|
+
uncompressed.set(xBytes, 1);
|
|
213
|
+
uncompressed.set(yBytes, 33);
|
|
214
|
+
return uncompressed;
|
|
215
|
+
}
|
|
216
|
+
function modPow(base, exp, mod) {
|
|
217
|
+
let result = BigInt(1);
|
|
218
|
+
base = base % mod;
|
|
219
|
+
while (exp > BigInt(0)) {
|
|
220
|
+
if (exp % BigInt(2) === BigInt(1)) {
|
|
221
|
+
result = (result * base) % mod;
|
|
222
|
+
}
|
|
223
|
+
exp = exp >> BigInt(1);
|
|
224
|
+
base = (base * base) % mod;
|
|
225
|
+
}
|
|
226
|
+
return result;
|
|
227
|
+
}
|
|
228
|
+
function bigIntToBytes(n, length) {
|
|
229
|
+
const bytes = new Uint8Array(length);
|
|
230
|
+
for (let i = length - 1; i >= 0; i--) {
|
|
231
|
+
bytes[i] = Number(n & BigInt(0xff));
|
|
232
|
+
n = n >> BigInt(8);
|
|
233
|
+
}
|
|
234
|
+
return bytes;
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../src/crypto/signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* useUser Hook - Access user context
|
|
3
3
|
*
|
|
4
4
|
* Provides access to the current user and authentication methods.
|
|
5
|
-
* Must be used within a
|
|
5
|
+
* Must be used within a RenownUserProvider.
|
|
6
6
|
*
|
|
7
|
-
* @throws Error if used outside of
|
|
7
|
+
* @throws Error if used outside of RenownUserProvider
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* ```tsx
|
|
11
11
|
* function MyComponent() {
|
|
12
|
-
* const { user, loginStatus, isLoading, login, logout, openRenown } = useUser()
|
|
12
|
+
* const { user, loginStatus, isLoading, login, logout, openRenown, connectCrypto, renown } = useUser()
|
|
13
13
|
*
|
|
14
14
|
* if (isLoading) return <div>Loading...</div>
|
|
15
15
|
* if (!user) return <button onClick={openRenown}>Login</button>
|
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
* }
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
export declare function useUser(): import("../providers/user-provider.js").
|
|
20
|
+
export declare function useUser(): import("../providers/renown-user-provider.js").RenownUserContextValue;
|
|
21
21
|
//# sourceMappingURL=use-user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-user.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-user.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,OAAO,
|
|
1
|
+
{"version":3,"file":"use-user.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-user.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,OAAO,0EAQtB"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useContext } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { RenownUserContext } from "../providers/renown-user-provider.js";
|
|
4
4
|
/**
|
|
5
5
|
* useUser Hook - Access user context
|
|
6
6
|
*
|
|
7
7
|
* Provides access to the current user and authentication methods.
|
|
8
|
-
* Must be used within a
|
|
8
|
+
* Must be used within a RenownUserProvider.
|
|
9
9
|
*
|
|
10
|
-
* @throws Error if used outside of
|
|
10
|
+
* @throws Error if used outside of RenownUserProvider
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```tsx
|
|
14
14
|
* function MyComponent() {
|
|
15
|
-
* const { user, loginStatus, isLoading, login, logout, openRenown } = useUser()
|
|
15
|
+
* const { user, loginStatus, isLoading, login, logout, openRenown, connectCrypto, renown } = useUser()
|
|
16
16
|
*
|
|
17
17
|
* if (isLoading) return <div>Loading...</div>
|
|
18
18
|
* if (!user) return <button onClick={openRenown}>Login</button>
|
|
@@ -21,9 +21,9 @@ import { UserContext } from "../providers/user-provider.js";
|
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
23
|
export function useUser() {
|
|
24
|
-
const context = useContext(
|
|
24
|
+
const context = useContext(RenownUserContext);
|
|
25
25
|
if (!context) {
|
|
26
|
-
throw new Error("useUser must be used within a
|
|
26
|
+
throw new Error("useUser must be used within a RenownUserProvider");
|
|
27
27
|
}
|
|
28
28
|
return context;
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-user.js","sourceRoot":"","sources":["../../../src/hooks/use-user.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"use-user.js","sourceRoot":"","sources":["../../../src/hooks/use-user.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
export * from "./components/index.js";
|
|
1
2
|
export * from "./crypto/index.js";
|
|
3
|
+
export * from "./hooks/index.js";
|
|
2
4
|
export { initRenown } from "./init.browser.js";
|
|
5
|
+
export * from "./providers/index.js";
|
|
3
6
|
export * from "./types.js";
|
|
4
7
|
export * from "./utils.js";
|
|
5
|
-
export
|
|
6
|
-
export * from "./providers/index.js";
|
|
7
|
-
export * from "./hooks/index.js";
|
|
8
|
-
export { RENOWN_URL, RENOWN_CHAIN_ID, RENOWN_NETWORK_ID, } from "./lib/renown/constants.js";
|
|
8
|
+
export { RENOWN_CHAIN_ID, RENOWN_NETWORK_ID, RENOWN_URL, } from "./lib/renown/constants.js";
|
|
9
9
|
export { extractEthAddressFromDid } from "./lib/renown/did-parser.js";
|
|
10
|
-
export {
|
|
10
|
+
export { fetchProfileDataForUser, handleRenownReturn, login, logout, openRenown, reauthenticateFromSession, } from "./lib/renown/utils.js";
|
|
11
11
|
export type { LoginStatus, User as SimpleUser } from "./lib/renown/utils.js";
|
|
12
12
|
export { SessionStorageManager } from "./lib/session-storage.js";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,EACL,MAAM,EACN,UAAU,EACV,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
+
export * from "./components/index.js";
|
|
1
2
|
export * from "./crypto/index.js";
|
|
3
|
+
export * from "./hooks/index.js";
|
|
2
4
|
export { initRenown } from "./init.browser.js";
|
|
5
|
+
export * from "./providers/index.js";
|
|
3
6
|
export * from "./types.js";
|
|
4
7
|
export * from "./utils.js";
|
|
5
|
-
export * from "./components/index.js";
|
|
6
|
-
export * from "./providers/index.js";
|
|
7
|
-
export * from "./hooks/index.js";
|
|
8
8
|
// Export specific items from lib/renown to avoid conflicts
|
|
9
|
-
export {
|
|
9
|
+
export { RENOWN_CHAIN_ID, RENOWN_NETWORK_ID, RENOWN_URL, } from "./lib/renown/constants.js";
|
|
10
10
|
export { extractEthAddressFromDid } from "./lib/renown/did-parser.js";
|
|
11
|
-
export {
|
|
11
|
+
export { fetchProfileDataForUser, handleRenownReturn, login, logout, openRenown, reauthenticateFromSession, } from "./lib/renown/utils.js";
|
|
12
12
|
export { SessionStorageManager } from "./lib/session-storage.js";
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,2DAA2D;AAC3D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,EACL,MAAM,EACN,UAAU,EACV,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -8,6 +8,7 @@ export interface User {
|
|
|
8
8
|
email?: string;
|
|
9
9
|
avatar?: string;
|
|
10
10
|
ethAddress?: string;
|
|
11
|
+
documentId?: string;
|
|
11
12
|
}
|
|
12
13
|
export declare function fetchProfileDataForUser(user: User): Promise<User>;
|
|
13
14
|
declare global {
|
|
@@ -20,7 +21,7 @@ declare global {
|
|
|
20
21
|
connectCrypto?: IConnectCrypto;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
|
-
export declare function openRenown(): Promise<void>;
|
|
24
|
+
export declare function openRenown(documentId?: string): Promise<void>;
|
|
24
25
|
export declare function handleRenownReturn(): Promise<void>;
|
|
25
26
|
export declare function login(userDid: string | undefined, renown: IRenown | undefined, connectCrypto: IConnectCrypto | undefined): Promise<User | undefined>;
|
|
26
27
|
export declare function logout(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/renown/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAe5D,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqDD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/renown/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAe5D,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,UAAU,GACV,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqDD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BvE;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE;YACR,qBAAqB,EAAE,CACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,KAC3C,IAAI,CAAC;YACV,gBAAgB,EAAE,MAAM,IAAI,CAAC;SAC9B,CAAC;QACF,aAAa,CAAC,EAAE,cAAc,CAAC;KAChC;CACF;AAED,wBAAsB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,iBAgCnD;AAGD,wBAAsB,kBAAkB,kBAkBvC;AAED,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,6BA8D1C;AAED,wBAAsB,MAAM,kBAS3B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAoCtE"}
|
|
@@ -51,6 +51,7 @@ export async function fetchProfileDataForUser(user) {
|
|
|
51
51
|
name: profile.username || undefined,
|
|
52
52
|
avatar: profile.userImage || undefined,
|
|
53
53
|
ethAddress: profile.ethAddress || undefined,
|
|
54
|
+
documentId: profile.documentId,
|
|
54
55
|
};
|
|
55
56
|
}
|
|
56
57
|
// If no profile found, return user with ethAddress
|
|
@@ -64,7 +65,14 @@ export async function fetchProfileDataForUser(user) {
|
|
|
64
65
|
return user;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
|
-
export async function openRenown() {
|
|
68
|
+
export async function openRenown(documentId) {
|
|
69
|
+
// If documentId is provided, open the profile page directly
|
|
70
|
+
if (documentId) {
|
|
71
|
+
const profileUrl = `${RENOWN_URL}/profile/${documentId}`;
|
|
72
|
+
window.open(profileUrl, "_blank")?.focus();
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// Otherwise, open the auth flow
|
|
68
76
|
const url = new URL(RENOWN_URL);
|
|
69
77
|
// Get DID from connectCrypto if available
|
|
70
78
|
let connectDid = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/renown/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/lib/renown/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AA4B3D,wDAAwD;AACxD,KAAK,UAAU,0BAA0B,CACvC,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,cAAc,EAAE;YACxD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU;aACX,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CASpC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAE/B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAU;IACtD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,yCAAyC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC,UAAU,CAAC,CAAC;QAE7D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBACnC,MAAM,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;gBACtC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC3C,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,OAAO;YACL,GAAG,IAAI;YACP,UAAU;SACX,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAmB;IAClD,4DAA4D;IAC5D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,UAAU,GAAG,GAAG,UAAU,YAAY,UAAU,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,gCAAgC;IAChC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAEhC,0CAA0C;IAC1C,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CACV,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5E,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAE1C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAEhE,sDAAsD;IACtD,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;YAC1D,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,OAA2B,EAC3B,MAA2B,EAC3B,aAAyC;IAEzC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,kDAAkD;IAClD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CACV,+BAA+B,EAC/B,OAAO,EACP,4BAA4B,CAC7B,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,YAAY,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACzE,IAAI,GAAG,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAEnD,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,kCAAkC;YAClC,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAE5D,6CAA6C;YAE7C,oDAAoD;YACpD,qBAAqB,CAAC,WAAW,CAAC;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,eAAe,CAAC,GAAG;gBAC5B,WAAW,EAAE,YAAY;gBACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,kCAAkC;YAClC,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAE/D,6CAA6C;YAE7C,oDAAoD;YACpD,qBAAqB,CAAC,WAAW,CAAC;gBAChC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,eAAe,CAAC,GAAG;gBAC5B,WAAW,EAAE,YAAY;gBACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YAEH,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAE/B,4BAA4B;IAC5B,qBAAqB,CAAC,aAAa,EAAE,CAAC;IAEtC,MAAM,MAAM,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,CAAC,MAAM,CAAC,MAAM;QACd,CAAC,MAAM,CAAC,aAAa,EACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,CAAC;IAC/D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAEhE,mCAAmC;QACnC,IAAI,WAAW,GACb,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,QAAQ;YACpC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzB,WAAW;YACT,WAAW,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;QAEnE,IAAI,WAAW,EAAE,CAAC;YAChB,2CAA2C;YAC3C,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACnE,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type {
|
|
1
|
+
export { RenownUserProvider, RenownUserContext, } from "./renown-user-provider.js";
|
|
2
|
+
export type { RenownUserContextValue } from "./renown-user-provider.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { RenownUserProvider, RenownUserContext, } from "./renown-user-provider.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { IConnectCrypto } from "../crypto/index.js";
|
|
1
2
|
import type { LoginStatus, User } from "../lib/renown/index.js";
|
|
2
|
-
|
|
3
|
+
import type { IRenown } from "../types.js";
|
|
4
|
+
export interface RenownUserContextValue {
|
|
3
5
|
/** Current authenticated user, null if not authenticated */
|
|
4
6
|
user: User | null;
|
|
5
7
|
/** Current login status */
|
|
@@ -14,9 +16,13 @@ export interface UserContextValue {
|
|
|
14
16
|
logout: () => Promise<void>;
|
|
15
17
|
/** Open Renown portal for authentication */
|
|
16
18
|
openRenown: () => void;
|
|
19
|
+
/** ConnectCrypto instance for cryptographic operations */
|
|
20
|
+
connectCrypto: IConnectCrypto | null;
|
|
21
|
+
/** Renown SDK instance */
|
|
22
|
+
renown: IRenown | null;
|
|
17
23
|
}
|
|
18
|
-
export declare const
|
|
19
|
-
interface
|
|
24
|
+
export declare const RenownUserContext: import("react").Context<RenownUserContextValue | null>;
|
|
25
|
+
interface RenownUserProviderProps {
|
|
20
26
|
children: React.ReactNode;
|
|
21
27
|
/**
|
|
22
28
|
* Renown service URL
|
|
@@ -45,7 +51,7 @@ interface UserProviderProps {
|
|
|
45
51
|
errorComponent?: (error: Error, retry: () => void) => React.ReactNode;
|
|
46
52
|
}
|
|
47
53
|
/**
|
|
48
|
-
*
|
|
54
|
+
* RenownUserProvider - Central user provider for Renown
|
|
49
55
|
*
|
|
50
56
|
* Automatically initializes the Renown SDK and provides user state.
|
|
51
57
|
* Handles initialization, login, logout, and session management.
|
|
@@ -53,14 +59,14 @@ interface UserProviderProps {
|
|
|
53
59
|
* Usage:
|
|
54
60
|
* ```tsx
|
|
55
61
|
* // Wrap your app
|
|
56
|
-
* <
|
|
62
|
+
* <RenownUserProvider renownUrl="https://www.renown.id">
|
|
57
63
|
* <YourApp />
|
|
58
|
-
* </
|
|
64
|
+
* </RenownUserProvider>
|
|
59
65
|
*
|
|
60
66
|
* // In any component
|
|
61
67
|
* const { user, login, logout } = useUser()
|
|
62
68
|
* ```
|
|
63
69
|
*/
|
|
64
|
-
export declare function
|
|
70
|
+
export declare function RenownUserProvider({ children, renownUrl, networkId, chainId, loadingComponent, errorComponent, }: RenownUserProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
65
71
|
export {};
|
|
66
|
-
//# sourceMappingURL=user-provider.d.ts.map
|
|
72
|
+
//# sourceMappingURL=renown-user-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renown-user-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/renown-user-provider.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAW3C,MAAM,WAAW,sBAAsB;IACrC,4DAA4D;IAC5D,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,2BAA2B;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,aAAa,EAAE,OAAO,CAAC;IACvB,8DAA8D;IAC9D,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,8BAA8B;IAC9B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,0DAA0D;IAC1D,aAAa,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,0BAA0B;IAC1B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,wDAE7B,CAAC;AAEF,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;CACvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAmC,EACnC,SAAoB,EACpB,OAAa,EACb,gBAAgB,EAChB,cAAc,GACf,EAAE,uBAAuB,2CA6KzB"}
|
|
@@ -5,9 +5,9 @@ import { BrowserKeyStorage, ConnectCrypto } from "../crypto/index.js";
|
|
|
5
5
|
import { initRenown } from "../init.browser.js";
|
|
6
6
|
import { fetchProfileDataForUser, handleRenownReturn, openRenown as openRenownPortal, login as renownLogin, logout as renownLogout, } from "../lib/renown/index.js";
|
|
7
7
|
import { SessionStorageManager } from "../lib/session-storage.js";
|
|
8
|
-
export const
|
|
8
|
+
export const RenownUserContext = createContext(null);
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* RenownUserProvider - Central user provider for Renown
|
|
11
11
|
*
|
|
12
12
|
* Automatically initializes the Renown SDK and provides user state.
|
|
13
13
|
* Handles initialization, login, logout, and session management.
|
|
@@ -15,20 +15,22 @@ export const UserContext = createContext(null);
|
|
|
15
15
|
* Usage:
|
|
16
16
|
* ```tsx
|
|
17
17
|
* // Wrap your app
|
|
18
|
-
* <
|
|
18
|
+
* <RenownUserProvider renownUrl="https://www.renown.id">
|
|
19
19
|
* <YourApp />
|
|
20
|
-
* </
|
|
20
|
+
* </RenownUserProvider>
|
|
21
21
|
*
|
|
22
22
|
* // In any component
|
|
23
23
|
* const { user, login, logout } = useUser()
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
|
-
export function
|
|
26
|
+
export function RenownUserProvider({ children, renownUrl = "https://www.renown.id", networkId = "eip155", chainId = "1", loadingComponent, errorComponent, }) {
|
|
27
27
|
const [user, setUser] = useState(null);
|
|
28
28
|
const [loginStatus, setLoginStatus] = useState("initial");
|
|
29
29
|
const [isLoading, setIsLoading] = useState(false);
|
|
30
30
|
const [isInitialized, setIsInitialized] = useState(false);
|
|
31
31
|
const [initError, setInitError] = useState(null);
|
|
32
|
+
const [connectCrypto, setConnectCrypto] = useState(null);
|
|
33
|
+
const [renown, setRenown] = useState(null);
|
|
32
34
|
// Initialize auth system
|
|
33
35
|
useEffect(() => {
|
|
34
36
|
const init = async () => {
|
|
@@ -40,12 +42,20 @@ export function UserProvider({ children, renownUrl = "https://www.renown.id", ne
|
|
|
40
42
|
// Initialize SDK if not already initialized
|
|
41
43
|
if (!window.renown || !window.connectCrypto) {
|
|
42
44
|
// Initialize ConnectCrypto with browser key storage
|
|
43
|
-
const
|
|
45
|
+
const cryptoInstance = new ConnectCrypto(new BrowserKeyStorage());
|
|
44
46
|
// Initialize Renown SDK
|
|
45
|
-
const
|
|
47
|
+
const renownInstance = initRenown(await cryptoInstance.did(), networkId, renownUrl);
|
|
46
48
|
// Attach to window for global access
|
|
47
|
-
window.renown =
|
|
48
|
-
window.connectCrypto =
|
|
49
|
+
window.renown = renownInstance;
|
|
50
|
+
window.connectCrypto = cryptoInstance;
|
|
51
|
+
// Save to state
|
|
52
|
+
setConnectCrypto(cryptoInstance);
|
|
53
|
+
setRenown(renownInstance);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
// Use existing instances from window
|
|
57
|
+
setConnectCrypto(window.connectCrypto);
|
|
58
|
+
setRenown(window.renown);
|
|
49
59
|
}
|
|
50
60
|
// Check for stored session first
|
|
51
61
|
const storedUserData = SessionStorageManager.getUserData();
|
|
@@ -153,7 +163,9 @@ export function UserProvider({ children, renownUrl = "https://www.renown.id", ne
|
|
|
153
163
|
login,
|
|
154
164
|
logout,
|
|
155
165
|
openRenown,
|
|
166
|
+
connectCrypto,
|
|
167
|
+
renown,
|
|
156
168
|
};
|
|
157
|
-
return _jsx(
|
|
169
|
+
return (_jsx(RenownUserContext.Provider, { value: value, children: children }));
|
|
158
170
|
}
|
|
159
|
-
//# sourceMappingURL=user-provider.js.map
|
|
171
|
+
//# sourceMappingURL=renown-user-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renown-user-provider.js","sourceRoot":"","sources":["../../../src/providers/renown-user-provider.tsx"],"names":[],"mappings":"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"}
|