@renown/sdk 6.2.2-dev.6 → 6.2.2-dev.61
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 +162 -1
- package/dist/{browser-key-storage-v4O-fjz0.js → browser-key-storage-e3RQsnLS.js} +1 -1
- package/dist/{browser-key-storage-v4O-fjz0.js.map → browser-key-storage-e3RQsnLS.js.map} +1 -1
- package/dist/constants-BexAR53F.js +82 -0
- package/dist/constants-BexAR53F.js.map +1 -0
- package/dist/crypto.d.ts +2 -2
- package/dist/crypto.js +2 -2
- package/dist/index-DNl6udpK.d.ts +131 -0
- package/dist/index-DNl6udpK.d.ts.map +1 -0
- package/dist/index.d.ts +11 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -9
- package/dist/index.js.map +1 -1
- package/dist/local-credential-verifier-C_XsxGgz.js +880 -0
- package/dist/local-credential-verifier-C_XsxGgz.js.map +1 -0
- package/dist/meta-BubXYEe3.d.ts +16 -0
- package/dist/meta-BubXYEe3.d.ts.map +1 -0
- package/dist/meta-CHgd9Qd0.js +31 -0
- package/dist/meta-CHgd9Qd0.js.map +1 -0
- package/dist/meta-CuSSO6OA.d.ts +19 -0
- package/dist/meta-CuSSO6OA.d.ts.map +1 -0
- package/dist/meta-D-5kvwx8.js +27 -0
- package/dist/meta-D-5kvwx8.js.map +1 -0
- package/dist/meta-HoXT6MS0.d.ts +19 -0
- package/dist/meta-HoXT6MS0.d.ts.map +1 -0
- package/dist/node.d.ts +11 -11
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +104 -12
- package/dist/node.js.map +1 -1
- package/dist/{signer-CgYhXTV7.js → signer-DrjINLqt.js} +13 -6
- package/dist/signer-DrjINLqt.js.map +1 -0
- package/dist/types-C_qc_62W.js +20 -0
- package/dist/types-C_qc_62W.js.map +1 -0
- package/dist/{signer-DYKGoYHB.d.ts → types-DVcz43Fb.d.ts} +170 -118
- package/dist/types-DVcz43Fb.d.ts.map +1 -0
- package/dist/types-b2fgIxlx.d.ts +59 -0
- package/dist/types-b2fgIxlx.d.ts.map +1 -0
- package/dist/{utils-C9ZgMs_C.d.ts → utils-CrNR-mv8.d.ts} +81 -94
- package/dist/utils-CrNR-mv8.d.ts.map +1 -0
- package/dist/wallet/index.d.ts +8 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +30 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/mock/factory.d.ts +9 -0
- package/dist/wallet/mock/factory.d.ts.map +1 -0
- package/dist/wallet/mock/factory.js +35 -0
- package/dist/wallet/mock/factory.js.map +1 -0
- package/dist/wallet/mock/index.d.ts +9 -0
- package/dist/wallet/mock/index.d.ts.map +1 -0
- package/dist/wallet/mock/index.js +16 -0
- package/dist/wallet/mock/index.js.map +1 -0
- package/dist/wallet/privy/factory.d.ts +58 -0
- package/dist/wallet/privy/factory.d.ts.map +1 -0
- package/dist/wallet/privy/factory.js +258 -0
- package/dist/wallet/privy/factory.js.map +1 -0
- package/dist/wallet/privy/index.d.ts +9 -0
- package/dist/wallet/privy/index.d.ts.map +1 -0
- package/dist/wallet/privy/index.js +16 -0
- package/dist/wallet/privy/index.js.map +1 -0
- package/dist/wallet/rainbow/factory.d.ts +7 -0
- package/dist/wallet/rainbow/factory.d.ts.map +1 -0
- package/dist/wallet/rainbow/factory.js +219 -0
- package/dist/wallet/rainbow/factory.js.map +1 -0
- package/dist/wallet/rainbow/index.d.ts +9 -0
- package/dist/wallet/rainbow/index.d.ts.map +1 -0
- package/dist/wallet/rainbow/index.js +21 -0
- package/dist/wallet/rainbow/index.js.map +1 -0
- package/package.json +77 -4
- package/dist/browser-key-storage-DSkDBAhU.d.ts +0 -14
- package/dist/browser-key-storage-DSkDBAhU.d.ts.map +0 -1
- package/dist/renown-builder-Sn_Y2Cb2.js +0 -496
- package/dist/renown-builder-Sn_Y2Cb2.js.map +0 -1
- package/dist/signer-CgYhXTV7.js.map +0 -1
- package/dist/signer-DYKGoYHB.d.ts.map +0 -1
- package/dist/utils-C9ZgMs_C.d.ts.map +0 -1
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { Action,
|
|
1
|
+
import { Action, ISigner as ISigner$1, User } from "@powerhousedao/shared/document-model";
|
|
2
2
|
|
|
3
3
|
//#region src/constants.d.ts
|
|
4
4
|
declare const DEFAULT_RENOWN_URL = "https://www.renown.id";
|
|
5
5
|
declare const DEFAULT_RENOWN_NETWORK_ID = "eip155";
|
|
6
6
|
declare const DEFAULT_RENOWN_CHAIN_ID = "1";
|
|
7
|
+
/** Default cookie name for a server-readable Renown session (bearer token). */
|
|
8
|
+
declare const RENOWN_SESSION_COOKIE = "renown_session";
|
|
9
|
+
/** Subgraph a Switchboard exposes the renown read model under; the queries in
|
|
10
|
+
* `switchboard.ts` are written against it. */
|
|
11
|
+
declare const RENOWN_READ_MODEL_SUBGRAPH = "renown-read-model";
|
|
7
12
|
declare const DOMAIN_TYPE: readonly [{
|
|
8
13
|
readonly name: "version";
|
|
9
14
|
readonly type: "string";
|
|
@@ -113,6 +118,144 @@ declare const CREDENTIAL_TYPES: {
|
|
|
113
118
|
}];
|
|
114
119
|
};
|
|
115
120
|
//#endregion
|
|
121
|
+
//#region src/switchboard.d.ts
|
|
122
|
+
/** Thrown by `signIn` when the instance has no switchboard to write the
|
|
123
|
+
* credential to, so a host can fall back to the Renown redirect flow. */
|
|
124
|
+
declare class MissingSwitchboardError extends Error {
|
|
125
|
+
constructor();
|
|
126
|
+
/** `instanceof` fails across duplicate SDK copies, so match by name too. */
|
|
127
|
+
static is(error: unknown): error is MissingSwitchboardError;
|
|
128
|
+
}
|
|
129
|
+
/** Runs a GraphQL document against a Switchboard and resolves its `data`;
|
|
130
|
+
* throws on transport or GraphQL errors. */
|
|
131
|
+
type SwitchboardRequestFn = (query: string, variables: Record<string, unknown>) => Promise<unknown>;
|
|
132
|
+
/** Where a SwitchboardClient reads from: an HTTP endpoint or a local executor. */
|
|
133
|
+
type SwitchboardSource = string | SwitchboardRequestFn;
|
|
134
|
+
declare class SwitchboardClient {
|
|
135
|
+
#private;
|
|
136
|
+
constructor(source: SwitchboardSource);
|
|
137
|
+
/** The HTTP endpoint, or undefined when reading through a local executor. */
|
|
138
|
+
get endpoint(): string | undefined;
|
|
139
|
+
getCredential(params: {
|
|
140
|
+
address: string;
|
|
141
|
+
chainId: number;
|
|
142
|
+
appDid: string;
|
|
143
|
+
}): Promise<PowerhouseVerifiableCredential | undefined>;
|
|
144
|
+
getProfileByAddress(address: string): Promise<RenownProfile | undefined>;
|
|
145
|
+
createEmptyDocument(documentType: string, parentIdentifier?: string): Promise<string>;
|
|
146
|
+
mutateDocument(documentIdentifier: string, actions: Action[]): Promise<string>;
|
|
147
|
+
issueCredential(credential: PowerhouseVerifiableCredential, parentIdentifier?: string): Promise<string>;
|
|
148
|
+
findOrCreateUser(address: string, profile?: {
|
|
149
|
+
username?: string;
|
|
150
|
+
userImage?: string;
|
|
151
|
+
}): Promise<string>;
|
|
152
|
+
revokeCredential(documentId: string, reason?: string): Promise<void>;
|
|
153
|
+
profileFetcher: ProfileFetcher;
|
|
154
|
+
}
|
|
155
|
+
//#endregion
|
|
156
|
+
//#region src/credential.d.ts
|
|
157
|
+
type Hex = `0x${string}`;
|
|
158
|
+
type TypedDataDomain = {
|
|
159
|
+
name?: string;
|
|
160
|
+
version?: string;
|
|
161
|
+
chainId?: number;
|
|
162
|
+
verifyingContract?: Hex;
|
|
163
|
+
salt?: Hex;
|
|
164
|
+
};
|
|
165
|
+
type TypedDataParameter = {
|
|
166
|
+
name: string;
|
|
167
|
+
type: string;
|
|
168
|
+
};
|
|
169
|
+
/** EIP-712 domain as signed by the credential issuer. */
|
|
170
|
+
type CredentialDomain = {
|
|
171
|
+
version: string;
|
|
172
|
+
chainId: number;
|
|
173
|
+
};
|
|
174
|
+
/** The credential body that is EIP-712 signed (everything except `proof`). */
|
|
175
|
+
type CredentialMessage = {
|
|
176
|
+
"@context": string[];
|
|
177
|
+
type: string[];
|
|
178
|
+
id: string;
|
|
179
|
+
issuer: {
|
|
180
|
+
id: string;
|
|
181
|
+
ethereumAddress: Hex;
|
|
182
|
+
};
|
|
183
|
+
credentialSubject: {
|
|
184
|
+
id: string;
|
|
185
|
+
app: string;
|
|
186
|
+
};
|
|
187
|
+
credentialSchema: {
|
|
188
|
+
id: string;
|
|
189
|
+
type: string;
|
|
190
|
+
};
|
|
191
|
+
issuanceDate: string;
|
|
192
|
+
expirationDate: string;
|
|
193
|
+
};
|
|
194
|
+
/** Typed-data signer; matches the loose shape used by wallet adapters. */
|
|
195
|
+
type SignCredentialTypedData = (args: {
|
|
196
|
+
domain: TypedDataDomain;
|
|
197
|
+
types: Record<string, readonly TypedDataParameter[]>;
|
|
198
|
+
primaryType: string;
|
|
199
|
+
message: Record<string, unknown>;
|
|
200
|
+
}) => Promise<Hex>;
|
|
201
|
+
interface BuildCredentialParams {
|
|
202
|
+
signTypedData: SignCredentialTypedData;
|
|
203
|
+
address: Hex;
|
|
204
|
+
chainId: number;
|
|
205
|
+
app: string;
|
|
206
|
+
/** Credential subject id: the app/client DID the credential delegates to. */
|
|
207
|
+
appId: string;
|
|
208
|
+
expiresInDays?: number;
|
|
209
|
+
}
|
|
210
|
+
/** Assemble a Renown delegation VC and sign it with the provided signer. */
|
|
211
|
+
declare function buildAndSignCredential(params: BuildCredentialParams): Promise<PowerhouseVerifiableCredential>;
|
|
212
|
+
/** Recover the address that signed a credential's EIP-712 proof. */
|
|
213
|
+
declare function recoverCredentialSigner(credential: PowerhouseVerifiableCredential): Promise<Hex>;
|
|
214
|
+
/** True when the proof was signed by the credential's declared issuer address. */
|
|
215
|
+
declare function verifyCredentialSignature(credential: PowerhouseVerifiableCredential): Promise<boolean>;
|
|
216
|
+
interface FetchDelegationCredentialOptions {
|
|
217
|
+
/** Ethereum address that must have issued the credential. */
|
|
218
|
+
address: string;
|
|
219
|
+
/** Chain id the credential must be scoped to. */
|
|
220
|
+
chainId: number;
|
|
221
|
+
/** App/client DID the credential must delegate to (credentialSubject.id). */
|
|
222
|
+
appDid: string;
|
|
223
|
+
/** Renown service base URL. Defaults to DEFAULT_RENOWN_URL. */
|
|
224
|
+
baseUrl?: string;
|
|
225
|
+
/** Switchboard GraphQL endpoint; when reachable, read the reactor directly. */
|
|
226
|
+
switchboardUrl?: string;
|
|
227
|
+
/** In-process Switchboard reader; wins over any URL and skips discovery. */
|
|
228
|
+
switchboardRequest?: SwitchboardRequestFn;
|
|
229
|
+
/** Probe {baseUrl}/api/switchboard for an endpoint (default true). */
|
|
230
|
+
discover?: boolean;
|
|
231
|
+
/** Re-verify the EIP-712 proof signature (default true). */
|
|
232
|
+
verifySignature?: boolean;
|
|
233
|
+
}
|
|
234
|
+
declare function fetchDelegationCredential(options: FetchDelegationCredentialOptions): Promise<PowerhouseVerifiableCredential | undefined>;
|
|
235
|
+
interface VerifiedAuthCredential {
|
|
236
|
+
address: string;
|
|
237
|
+
chainId: number;
|
|
238
|
+
networkId: string;
|
|
239
|
+
/** Owner identity: the pkh DID (did:pkh:<net>:<chainId>:<address>). */
|
|
240
|
+
did: string;
|
|
241
|
+
/** App/client DID the bearer token was issued by. */
|
|
242
|
+
appDid: string;
|
|
243
|
+
credential: PowerhouseVerifiableCredential;
|
|
244
|
+
}
|
|
245
|
+
interface VerifyAuthCredentialOptions {
|
|
246
|
+
/** Expected `aud` claim on the bearer token. */
|
|
247
|
+
audience?: string;
|
|
248
|
+
/** Renown service base URL. */
|
|
249
|
+
renownUrl?: string;
|
|
250
|
+
/** Switchboard GraphQL endpoint; when reachable, read the reactor directly. */
|
|
251
|
+
switchboardUrl?: string;
|
|
252
|
+
/** In-process Switchboard reader; wins over any URL and skips discovery. */
|
|
253
|
+
switchboardRequest?: SwitchboardRequestFn;
|
|
254
|
+
/** Re-verify the credential's EIP-712 proof (default true). */
|
|
255
|
+
verifySignature?: boolean;
|
|
256
|
+
}
|
|
257
|
+
declare function verifyAuthCredential(jwt: string, options?: VerifyAuthCredentialOptions): Promise<VerifiedAuthCredential | undefined>;
|
|
258
|
+
//#endregion
|
|
116
259
|
//#region src/event/types.d.ts
|
|
117
260
|
interface IEventEmitter<Events extends Record<string, unknown>> {
|
|
118
261
|
/**
|
|
@@ -302,9 +445,9 @@ type RenownProfile = {
|
|
|
302
445
|
documentId: string;
|
|
303
446
|
username: string | null;
|
|
304
447
|
ethAddress: string | null;
|
|
305
|
-
userImage: string | null;
|
|
306
|
-
createdAt
|
|
307
|
-
updatedAt
|
|
448
|
+
userImage: string | null; /** Absent on a profile seeded from the session cookie (see RenownSessionProfile). */
|
|
449
|
+
createdAt?: string;
|
|
450
|
+
updatedAt?: string;
|
|
308
451
|
};
|
|
309
452
|
type InternalUser = User & {
|
|
310
453
|
did: string;
|
|
@@ -319,6 +462,20 @@ type User$1 = InternalUser;
|
|
|
319
462
|
* Must not throw — return undefined on failure.
|
|
320
463
|
*/
|
|
321
464
|
type ProfileFetcher = (user: User$1, baseUrl: string) => Promise<RenownProfile | undefined>;
|
|
465
|
+
interface SignInParams {
|
|
466
|
+
/** Ethereum address of the signing wallet. */
|
|
467
|
+
address: `0x${string}`;
|
|
468
|
+
/** Chain id the credential is scoped to. */
|
|
469
|
+
chainId: number;
|
|
470
|
+
/** Wallet/Privy EIP-712 typed-data signer that authorizes the app key. */
|
|
471
|
+
signTypedData: SignCredentialTypedData;
|
|
472
|
+
/** Optional profile username to set on the RenownUser. */
|
|
473
|
+
username?: string;
|
|
474
|
+
/** Optional profile image URL to set on the RenownUser. */
|
|
475
|
+
userImage?: string;
|
|
476
|
+
/** Delegation credential lifetime in days (default 7). */
|
|
477
|
+
expiresInDays?: number;
|
|
478
|
+
}
|
|
322
479
|
type Unsubscribe = () => void;
|
|
323
480
|
type LoginStatus = "initial" | "checking" | "authorized" | "not-authorized";
|
|
324
481
|
type RenownStorageMap = {
|
|
@@ -335,7 +492,12 @@ interface IRenown extends Pick<RenownEventEmitter, "on"> {
|
|
|
335
492
|
readonly user: User$1 | undefined;
|
|
336
493
|
readonly status: LoginStatus;
|
|
337
494
|
login: (userDid: string) => Promise<User$1>;
|
|
495
|
+
signIn: (params: SignInParams) => Promise<User$1>;
|
|
338
496
|
logout: () => Promise<void>;
|
|
497
|
+
/** Re-check the current credential at the source; logs out if revoked/expired. */
|
|
498
|
+
revalidate: () => Promise<boolean>;
|
|
499
|
+
/** Re-read profile attributes at the source; never logs out. Resolves true if they changed. */
|
|
500
|
+
refreshProfile: () => Promise<boolean>;
|
|
339
501
|
readonly crypto: IRenownCrypto;
|
|
340
502
|
readonly signer: ISigner$1;
|
|
341
503
|
readonly did: string;
|
|
@@ -423,6 +585,8 @@ interface JsonWebKeyPairStorage {
|
|
|
423
585
|
type DID = `did:${string}`;
|
|
424
586
|
interface IRenownCrypto {
|
|
425
587
|
did: DID;
|
|
588
|
+
/** Chain the bearer token is scoped to. Optional so an external implementation still satisfies this; the builder warns when it differs from the issuing chain. */
|
|
589
|
+
chainId?: number;
|
|
426
590
|
publicKey: CryptoKey;
|
|
427
591
|
removeDid(): Promise<void>;
|
|
428
592
|
sign: (data: Uint8Array) => Promise<Uint8Array>;
|
|
@@ -435,117 +599,5 @@ interface IRenownCrypto {
|
|
|
435
599
|
*/
|
|
436
600
|
interface IConnectCrypto extends IRenownCrypto {}
|
|
437
601
|
//#endregion
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
#private;
|
|
441
|
-
readonly did: DID;
|
|
442
|
-
static algorithm: EcKeyAlgorithm;
|
|
443
|
-
static signAlgorithm: {
|
|
444
|
-
name: string;
|
|
445
|
-
namedCurve: string;
|
|
446
|
-
hash: string;
|
|
447
|
-
};
|
|
448
|
-
constructor(keyPairStorage: JsonWebKeyPairStorage, crypto: SubtleCrypto, keyPair: CryptoKeyPair, did: DID);
|
|
449
|
-
get publicKey(): CryptoKey;
|
|
450
|
-
getBearerToken(address: string | undefined, options?: CreateBearerTokenOptions): Promise<string>;
|
|
451
|
-
removeDid(): Promise<void>;
|
|
452
|
-
sign(data: Uint8Array | string): Promise<Uint8Array>;
|
|
453
|
-
verify(data: Uint8Array, signature: Uint8Array): Promise<boolean>;
|
|
454
|
-
get issuer(): Issuer;
|
|
455
|
-
}
|
|
456
|
-
/**
|
|
457
|
-
* @deprecated Use RenownCrypto instead
|
|
458
|
-
*/
|
|
459
|
-
declare class ConnectCrypto extends RenownCrypto {}
|
|
460
|
-
//#endregion
|
|
461
|
-
//#region src/crypto/renown-crypto-builder.d.ts
|
|
462
|
-
declare class RenownCryptoBuilder {
|
|
463
|
-
#private;
|
|
464
|
-
private keyPairStorage?;
|
|
465
|
-
private subtleCrypto?;
|
|
466
|
-
withKeyPairStorage(storage: JsonWebKeyPairStorage): this;
|
|
467
|
-
withSubtleCrypto(crypto: SubtleCrypto): this;
|
|
468
|
-
build(): Promise<RenownCrypto>;
|
|
469
|
-
}
|
|
470
|
-
//#endregion
|
|
471
|
-
//#region src/crypto/memory-key-storage.d.ts
|
|
472
|
-
declare class MemoryKeyStorage implements JsonWebKeyPairStorage {
|
|
473
|
-
private keyPair;
|
|
474
|
-
constructor(keyPair?: JwkKeyPair);
|
|
475
|
-
loadKeyPair(): Promise<JwkKeyPair | undefined>;
|
|
476
|
-
saveKeyPair(keyPair: JwkKeyPair): Promise<void>;
|
|
477
|
-
removeKeyPair(): Promise<void>;
|
|
478
|
-
}
|
|
479
|
-
//#endregion
|
|
480
|
-
//#region src/crypto/signer.d.ts
|
|
481
|
-
declare class RenownCryptoSigner implements ISigner {
|
|
482
|
-
private readonly crypto;
|
|
483
|
-
private readonly appName;
|
|
484
|
-
user?: UserActionSigner | undefined;
|
|
485
|
-
readonly app: AppActionSigner;
|
|
486
|
-
constructor(crypto: IRenownCrypto, appName: string, user?: UserActionSigner | undefined);
|
|
487
|
-
get publicKey(): CryptoKey;
|
|
488
|
-
sign(data: Uint8Array): Promise<Uint8Array>;
|
|
489
|
-
verify(data: Uint8Array, signature: Uint8Array): Promise<void>;
|
|
490
|
-
signAction(action: Action, abortSignal?: AbortSignal): Promise<Signature>;
|
|
491
|
-
/**
|
|
492
|
-
* Signs an action including a predicted resulting state hash.
|
|
493
|
-
*
|
|
494
|
-
* The resulting hash is packed into the signature tuple's 4th element (index 3)
|
|
495
|
-
* using the format: `${prevStateHash}:${resultingStateHash}`
|
|
496
|
-
*
|
|
497
|
-
* This allows offline verification of documents without reducer logic:
|
|
498
|
-
* - Verifier can check that the signature is valid for the claimed resulting state
|
|
499
|
-
* - Verifier can compare claimed resulting state to actual operation.hash
|
|
500
|
-
*
|
|
501
|
-
* @param action - The action to sign
|
|
502
|
-
* @param resultingStateHash - The predicted hash of document state AFTER this action runs
|
|
503
|
-
* @param abortSignal - Optional abort signal
|
|
504
|
-
* @returns A Signature tuple with the resulting hash encoded in element [3]
|
|
505
|
-
*/
|
|
506
|
-
signActionWithResultingState(action: Action, resultingStateHash: string, abortSignal?: AbortSignal): Promise<Signature>;
|
|
507
|
-
/**
|
|
508
|
-
* Internal signing implementation shared by signAction and signActionWithResultingState.
|
|
509
|
-
*/
|
|
510
|
-
private _signAction;
|
|
511
|
-
private hashAction;
|
|
512
|
-
private buildSignatureMessage;
|
|
513
|
-
private arrayBufferToHex;
|
|
514
|
-
private arrayBufferToBase64;
|
|
515
|
-
}
|
|
516
|
-
/**
|
|
517
|
-
* Creates a signature verification handler that verifies signatures using the Web Crypto API.
|
|
518
|
-
* The verification uses ECDSA with P-256 curve and SHA-256 hash, matching the RenownCrypto signing algorithm.
|
|
519
|
-
*/
|
|
520
|
-
declare function createSignatureVerifier(requireSignature?: boolean): SignatureVerificationHandler;
|
|
521
|
-
/**
|
|
522
|
-
* Parses the hash field (element [3]) from a signature tuple.
|
|
523
|
-
*
|
|
524
|
-
* Supports two formats:
|
|
525
|
-
* - Old format: just `prevStateHash` (no colon)
|
|
526
|
-
* - New format: `prevStateHash:resultingStateHash` (colon-separated)
|
|
527
|
-
*
|
|
528
|
-
* @param hashField - The 4th element of a Signature tuple
|
|
529
|
-
* @returns Object with prevStateHash and optional resultingStateHash
|
|
530
|
-
*/
|
|
531
|
-
declare function parseSignatureHashField(hashField: string): {
|
|
532
|
-
prevStateHash: string;
|
|
533
|
-
resultingStateHash: string | undefined;
|
|
534
|
-
};
|
|
535
|
-
/**
|
|
536
|
-
* Extracts the resulting state hash from a signature, if present.
|
|
537
|
-
*
|
|
538
|
-
* @param signature - A Signature tuple
|
|
539
|
-
* @returns The resulting state hash, or undefined if not present
|
|
540
|
-
*/
|
|
541
|
-
declare function extractResultingHashFromSignature(signature: Signature): string | undefined;
|
|
542
|
-
/**
|
|
543
|
-
* Checks if a signature includes a resulting state hash.
|
|
544
|
-
*
|
|
545
|
-
* @param signature - A Signature tuple
|
|
546
|
-
* @returns true if the signature includes a resulting state hash
|
|
547
|
-
*/
|
|
548
|
-
declare function signatureHasResultingHash(signature: Signature): boolean;
|
|
549
|
-
//#endregion
|
|
550
|
-
export { User$1 as $, ISigner$1 as A, PKHDid as B, DIDResolutionResult as C, IPowerhouseIssuerType as D, IPowerhouseCredentialSubject as E, JWTVerified as F, RenownEvents as G, ProfileFetcher as H, JWTVerifyPolicies as I, RenownStorageMap as J, RenownProfile as K, JsonWebKey$1 as L, InternalUser as M, Issuer as N, IProof as O, JWTPayload as P, Unsubscribe as Q, KeyCapabilitySection as R, DIDResolutionMetadata as S, IAuthCredentialSubject as T, Proof as U, PowerhouseVerifiableCredential as V, RenownEventEmitter as W, ServiceEndpoint as X, Service as Y, Signer as Z, ConditionWeightedThreshold as _, signatureHasResultingHash as a, BaseStorage as at, DIDDocument as b, ConnectCrypto as c, CREDENTIAL_SCHEMA_EIP712_TYPE as ct, IConnectCrypto as d, DEFAULT_RENOWN_CHAIN_ID as dt, Verifiable as et, IRenownCrypto as f, DEFAULT_RENOWN_NETWORK_ID as ft, AuthVerifiedCredential as g, VERIFIABLE_CREDENTIAL_EIP712_TYPE as gt, AuthVerifiableCredential as h, ISSUER_TYPE as ht, parseSignatureHashField as i, W3CCredential as it, IVerifiableCredential as j, IRenown as k, RenownCrypto as l, CREDENTIAL_SUBJECT_TYPE as lt, JwkKeyPair as m, DOMAIN_TYPE as mt, createSignatureVerifier as n, VerifiedCredential as nt, MemoryKeyStorage as o, MemoryStorage as ot, JsonWebKeyPairStorage as p, DEFAULT_RENOWN_URL as pt, RenownStorage as q, extractResultingHashFromSignature as r, VerifiedJWT as rt, RenownCryptoBuilder as s, IEventEmitter as st, RenownCryptoSigner as t, VerificationMethod as tt, DID as u, CREDENTIAL_TYPES as ut, CreateBearerTokenOptions as v, EcdsaSignature as w, DIDDocumentMetadata as x, CredentialStatus as y, LoginStatus as z };
|
|
551
|
-
//# sourceMappingURL=signer-DYKGoYHB.d.ts.map
|
|
602
|
+
export { IEventEmitter as $, LoginStatus as A, Service as B, InternalUser as C, ISSUER_TYPE as Ct, JWTVerifyPolicies as D, JWTVerified as E, VERIFIABLE_CREDENTIAL_EIP712_TYPE as Et, RenownEventEmitter as F, User$1 as G, SignInParams as H, RenownEvents as I, VerifiedCredential as J, Verifiable as K, RenownProfile as L, PowerhouseVerifiableCredential as M, ProfileFetcher as N, JsonWebKey$1 as O, Proof as P, MemoryStorage as Q, RenownStorage as R, IVerifiableCredential as S, DOMAIN_TYPE as St, JWTPayload as T, RENOWN_SESSION_COOKIE as Tt, Signer as U, ServiceEndpoint as V, Unsubscribe as W, W3CCredential as X, VerifiedJWT as Y, BaseStorage as Z, IPowerhouseCredentialSubject as _, CREDENTIAL_SUBJECT_TYPE as _t, JwkKeyPair as a, VerifiedAuthCredential as at, IRenown as b, DEFAULT_RENOWN_NETWORK_ID as bt, ConditionWeightedThreshold as c, fetchDelegationCredential as ct, DIDDocument as d, verifyCredentialSignature as dt, BuildCredentialParams as et, DIDDocumentMetadata as f, MissingSwitchboardError as ft, IAuthCredentialSubject as g, CREDENTIAL_SCHEMA_EIP712_TYPE as gt, EcdsaSignature as h, SwitchboardSource as ht, JsonWebKeyPairStorage as i, SignCredentialTypedData as it, PKHDid as j, KeyCapabilitySection as k, CreateBearerTokenOptions as l, recoverCredentialSigner as lt, DIDResolutionResult as m, SwitchboardRequestFn as mt, IConnectCrypto as n, CredentialMessage as nt, AuthVerifiableCredential as o, VerifyAuthCredentialOptions as ot, DIDResolutionMetadata as p, SwitchboardClient as pt, VerificationMethod as q, IRenownCrypto as r, FetchDelegationCredentialOptions as rt, AuthVerifiedCredential as s, buildAndSignCredential as st, DID as t, CredentialDomain as tt, CredentialStatus as u, verifyAuthCredential as ut, IPowerhouseIssuerType as v, CREDENTIAL_TYPES as vt, Issuer as w, RENOWN_READ_MODEL_SUBGRAPH as wt, ISigner$1 as x, DEFAULT_RENOWN_URL as xt, IProof as y, DEFAULT_RENOWN_CHAIN_ID as yt, RenownStorageMap as z };
|
|
603
|
+
//# sourceMappingURL=types-DVcz43Fb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-DVcz43Fb.d.ts","names":[],"sources":["../src/constants.ts","../src/switchboard.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,59 @@
|
|
|
1
|
+
import { it as SignCredentialTypedData } from "./types-DVcz43Fb.js";
|
|
2
|
+
import { ComponentType, ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/wallet/types.d.ts
|
|
5
|
+
declare const LoginMethod: {
|
|
6
|
+
readonly WALLET: "wallet";
|
|
7
|
+
readonly GOOGLE: "google";
|
|
8
|
+
readonly EMAIL: "email";
|
|
9
|
+
readonly APPLE: "apple";
|
|
10
|
+
};
|
|
11
|
+
type LoginMethod = (typeof LoginMethod)[keyof typeof LoginMethod];
|
|
12
|
+
interface WalletThemeColors {
|
|
13
|
+
accentColor?: string;
|
|
14
|
+
accentColorForeground?: string;
|
|
15
|
+
}
|
|
16
|
+
type WalletTheme = "light" | "dark" | ({
|
|
17
|
+
mode: "light" | "dark";
|
|
18
|
+
} & WalletThemeColors);
|
|
19
|
+
declare function normalizeWalletTheme(theme: WalletTheme | undefined): {
|
|
20
|
+
mode: "light" | "dark";
|
|
21
|
+
accentColor?: string;
|
|
22
|
+
accentColorForeground?: string;
|
|
23
|
+
};
|
|
24
|
+
interface WalletSession {
|
|
25
|
+
address: `0x${string}`;
|
|
26
|
+
chainId: number;
|
|
27
|
+
signTypedData: SignCredentialTypedData;
|
|
28
|
+
canSignSilently?: boolean;
|
|
29
|
+
}
|
|
30
|
+
interface WalletController {
|
|
31
|
+
connect(method?: LoginMethod): Promise<WalletSession>;
|
|
32
|
+
disconnect(): Promise<void>;
|
|
33
|
+
getSession(): WalletSession | undefined;
|
|
34
|
+
subscribe?(listener: (session: WalletSession | undefined) => void): () => void;
|
|
35
|
+
}
|
|
36
|
+
interface WalletAdapterMeta {
|
|
37
|
+
id: string;
|
|
38
|
+
redirectReturnParams: string[];
|
|
39
|
+
supportedMethods: LoginMethod[];
|
|
40
|
+
}
|
|
41
|
+
interface WalletAdapterImpl {
|
|
42
|
+
Provider: ComponentType<{
|
|
43
|
+
children: ReactNode;
|
|
44
|
+
theme?: WalletTheme;
|
|
45
|
+
}>;
|
|
46
|
+
useController: () => WalletController;
|
|
47
|
+
}
|
|
48
|
+
interface WalletAdapter extends WalletAdapterImpl {
|
|
49
|
+
meta: WalletAdapterMeta;
|
|
50
|
+
}
|
|
51
|
+
interface WalletAdapterDescriptor {
|
|
52
|
+
meta: WalletAdapterMeta;
|
|
53
|
+
load: () => Promise<WalletAdapterImpl>;
|
|
54
|
+
}
|
|
55
|
+
type WalletAdapterFactory<Config = unknown> = (config: Config) => WalletAdapterImpl;
|
|
56
|
+
type WalletAdapterProvider<Config = unknown> = (config: Config) => WalletAdapterDescriptor;
|
|
57
|
+
//#endregion
|
|
58
|
+
export { WalletAdapterImpl as a, WalletController as c, WalletThemeColors as d, normalizeWalletTheme as f, WalletAdapterFactory as i, WalletSession as l, WalletAdapter as n, WalletAdapterMeta as o, WalletAdapterDescriptor as r, WalletAdapterProvider as s, LoginMethod as t, WalletTheme as u };
|
|
59
|
+
//# sourceMappingURL=types-b2fgIxlx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-b2fgIxlx.d.ts","names":[],"sources":["../src/wallet/types.ts"],"mappings":";;;;cAKa,WAAA;EAAA;;;;;KAOD,WAAA,WAAsB,WAAA,eAA0B,WAAA;AAAA,UAI3C,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;AAAA;AAAA,UAMP,iBAAA;EACf,EAAA;EAGA,oBAAA;EAGA,gBAAA,EAAkB,WAAA;AAAA;AAAA,UAIH,iBAAA;EAGf,QAAA,EAAU,aAAA;IAAgB,QAAA,EAAU,SAAA;IAAW,KAAA,GAAQ,WAAA;EAAA;EAEvD,aAAA,QAAqB,gBAAA;AAAA;AAAA,UAIN,aAAA,SAAsB,iBAAA;EACrC,IAAA,EAAM,iBAAA;AAAA;AAAA,UAKS,uBAAA;EACf,IAAA,EAAM,iBAAA;EACN,IAAA,QAAY,OAAA,CAAQ,iBAAA;AAAA;AAAA,KAGV,oBAAA,sBACV,MAAA,EAAQ,MAAA,KACL,iBAAA;AAAA,KAEO,qBAAA,sBACV,MAAA,EAAQ,MAAA,KACL,uBAAA"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as LoginStatus, C as InternalUser, F as RenownEventEmitter, G as User, H as SignInParams, I as RenownEvents, J as VerifiedCredential, N as ProfileFetcher, Q as MemoryStorage, R as RenownStorage, b as IRenown, i as JsonWebKeyPairStorage, j as PKHDid, l as CreateBearerTokenOptions, mt as SwitchboardRequestFn, pt as SwitchboardClient, r as IRenownCrypto, s as AuthVerifiedCredential, w as Issuer, x as ISigner, z as RenownStorageMap } from "./types-DVcz43Fb.js";
|
|
2
2
|
import { Resolver } from "did-resolver";
|
|
3
3
|
|
|
4
4
|
//#region src/common.d.ts
|
|
5
5
|
declare class RenownMemoryStorage extends MemoryStorage<RenownStorageMap> {}
|
|
6
6
|
declare class Renown implements IRenown {
|
|
7
7
|
#private;
|
|
8
|
-
constructor(store: RenownStorage, eventEmitter: RenownEventEmitter, crypto: IRenownCrypto, appName: string, baseUrl?: string, profileFetcher?: ProfileFetcher);
|
|
8
|
+
constructor(store: RenownStorage, eventEmitter: RenownEventEmitter, crypto: IRenownCrypto, appName: string, baseUrl?: string, profileFetcher?: ProfileFetcher, switchboard?: SwitchboardClient, chainId?: number);
|
|
9
9
|
get baseUrl(): string;
|
|
10
|
+
/** Chain id this app issues credentials on; a session from another chain is rejected by {@link signIn}. */
|
|
11
|
+
get chainId(): number;
|
|
10
12
|
get user(): InternalUser | undefined;
|
|
11
13
|
get status(): LoginStatus;
|
|
12
14
|
get signer(): ISigner;
|
|
@@ -14,104 +16,22 @@ declare class Renown implements IRenown {
|
|
|
14
16
|
get did(): `did:${string}`;
|
|
15
17
|
get profileFetcher(): ProfileFetcher | undefined;
|
|
16
18
|
login(userDid: string): Promise<User>;
|
|
19
|
+
signIn(params: SignInParams): Promise<User>;
|
|
17
20
|
logout(): Promise<void>;
|
|
21
|
+
revalidate(): Promise<boolean>;
|
|
22
|
+
refreshProfile(): Promise<boolean>;
|
|
18
23
|
on<K extends keyof RenownEvents>(event: K, listener: (data: RenownEvents[K]) => void): () => void;
|
|
19
24
|
verifyBearerToken(token: string): Promise<false | AuthVerifiedCredential>;
|
|
20
25
|
getBearerToken(options: CreateBearerTokenOptions): Promise<string>;
|
|
21
26
|
}
|
|
22
27
|
//#endregion
|
|
23
|
-
//#region src/
|
|
24
|
-
|
|
25
|
-
|
|
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;
|
|
76
|
-
}
|
|
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>;
|
|
83
|
-
interface FetchDelegationCredentialOptions {
|
|
84
|
-
/** Ethereum address that must have issued the credential. */
|
|
85
|
-
address: string;
|
|
86
|
-
/** Chain id the credential must be scoped to. */
|
|
87
|
-
chainId: number;
|
|
88
|
-
/** App/client DID the credential must delegate to (credentialSubject.id). */
|
|
89
|
-
appDid: string;
|
|
90
|
-
/** Renown service base URL. Defaults to DEFAULT_RENOWN_URL. */
|
|
28
|
+
//#region src/discovery.d.ts
|
|
29
|
+
interface ResolveSwitchboardEndpointOptions {
|
|
30
|
+
switchboardUrl?: string;
|
|
91
31
|
baseUrl?: string;
|
|
92
|
-
|
|
93
|
-
verifySignature?: boolean;
|
|
32
|
+
timeoutMs?: number;
|
|
94
33
|
}
|
|
95
|
-
declare function
|
|
96
|
-
interface VerifiedAuthCredential {
|
|
97
|
-
address: string;
|
|
98
|
-
chainId: number;
|
|
99
|
-
networkId: string;
|
|
100
|
-
/** Owner identity: the pkh DID (did:pkh:<net>:<chainId>:<address>). */
|
|
101
|
-
did: string;
|
|
102
|
-
/** App/client DID the bearer token was issued by. */
|
|
103
|
-
appDid: string;
|
|
104
|
-
credential: PowerhouseVerifiableCredential;
|
|
105
|
-
}
|
|
106
|
-
interface VerifyAuthCredentialOptions {
|
|
107
|
-
/** Expected `aud` claim on the bearer token. */
|
|
108
|
-
audience?: string;
|
|
109
|
-
/** Renown service base URL. */
|
|
110
|
-
renownUrl?: string;
|
|
111
|
-
/** Re-verify the credential's EIP-712 proof (default true). */
|
|
112
|
-
verifySignature?: boolean;
|
|
113
|
-
}
|
|
114
|
-
declare function verifyAuthCredential(jwt: string, options?: VerifyAuthCredentialOptions): Promise<VerifiedAuthCredential | undefined>;
|
|
34
|
+
declare function resolveSwitchboardEndpoint(options: ResolveSwitchboardEndpointOptions): Promise<string | undefined>;
|
|
115
35
|
//#endregion
|
|
116
36
|
//#region src/renown-builder.d.ts
|
|
117
37
|
interface RenownBuilderOptions {
|
|
@@ -121,7 +41,10 @@ interface RenownBuilderOptions {
|
|
|
121
41
|
crypto?: IRenownCrypto;
|
|
122
42
|
keyPairStorage?: JsonWebKeyPairStorage;
|
|
123
43
|
baseUrl?: string;
|
|
44
|
+
switchboardUrl?: string;
|
|
124
45
|
profileFetcher?: ProfileFetcher;
|
|
46
|
+
/** Chain id credentials are issued on (default 1). The issuer DID embeds it, so `signIn` rejects a wallet session from another chain. */
|
|
47
|
+
chainId?: number;
|
|
125
48
|
}
|
|
126
49
|
/**
|
|
127
50
|
* Base builder for creating Renown instances.
|
|
@@ -160,6 +83,8 @@ declare class BaseRenownBuilder {
|
|
|
160
83
|
* Defaults to https://www.renown.id
|
|
161
84
|
*/
|
|
162
85
|
withBaseUrl(baseUrl: string): this;
|
|
86
|
+
withSwitchboardUrl(switchboardUrl: string): this;
|
|
87
|
+
withChainId(chainId: number): this;
|
|
163
88
|
/**
|
|
164
89
|
* Set a profile fetcher strategy for enriching user data after login.
|
|
165
90
|
* The fetcher receives the authenticated user and the base URL,
|
|
@@ -179,9 +104,71 @@ declare class BaseRenownBuilder {
|
|
|
179
104
|
static from(options: RenownBuilderOptions): BaseRenownBuilder;
|
|
180
105
|
}
|
|
181
106
|
//#endregion
|
|
107
|
+
//#region src/local-credential-verifier.d.ts
|
|
108
|
+
/** Confirms an authenticated signer's delegation credential is still live. */
|
|
109
|
+
type CredentialCheck = (params: {
|
|
110
|
+
address: string;
|
|
111
|
+
chainId: number;
|
|
112
|
+
appId: string;
|
|
113
|
+
}) => Promise<boolean>;
|
|
114
|
+
interface LocalCredentialVerifierOptions {
|
|
115
|
+
/** Notified when the read itself fails; the check then fails closed. */
|
|
116
|
+
onError?: (error: unknown) => void;
|
|
117
|
+
}
|
|
118
|
+
/** A credential check that reads a Switchboard's own renown read model through
|
|
119
|
+
* `execute`, rather than any Renown or Switchboard over HTTP. */
|
|
120
|
+
declare function createLocalCredentialVerifier(execute: SwitchboardRequestFn, options?: LocalCredentialVerifierOptions): CredentialCheck;
|
|
121
|
+
//#endregion
|
|
182
122
|
//#region src/profile.d.ts
|
|
183
123
|
declare const fetchRenownProfile: ProfileFetcher;
|
|
184
124
|
//#endregion
|
|
125
|
+
//#region src/session.d.ts
|
|
126
|
+
/** Server-side view of an authenticated Renown session. */
|
|
127
|
+
interface RenownSession {
|
|
128
|
+
/** Authenticated user identity derived from the session token. */
|
|
129
|
+
user: User;
|
|
130
|
+
/** App/client DID the token was issued by. */
|
|
131
|
+
appDid: string;
|
|
132
|
+
/** Token expiry (epoch seconds), when present. */
|
|
133
|
+
expiresAt?: number;
|
|
134
|
+
}
|
|
135
|
+
/** Display hint carried alongside the token (unverified; not for auth). */
|
|
136
|
+
interface RenownSessionProfile {
|
|
137
|
+
name?: string | null;
|
|
138
|
+
avatar?: string | null;
|
|
139
|
+
/** Renown profile document id, so SSR can resolve profile links. */
|
|
140
|
+
documentId?: string | null;
|
|
141
|
+
username?: string | null;
|
|
142
|
+
userImage?: string | null;
|
|
143
|
+
}
|
|
144
|
+
/** The `renown_session` cookie payload: the bearer token + a display hint. */
|
|
145
|
+
interface RenownSessionCookie {
|
|
146
|
+
token: string;
|
|
147
|
+
profile?: RenownSessionProfile | null;
|
|
148
|
+
}
|
|
149
|
+
interface VerifyRenownSessionOptions {
|
|
150
|
+
/** Expected `aud` claim on the token. */
|
|
151
|
+
audience?: string;
|
|
152
|
+
/** Switchboard GraphQL endpoint used when re-verifying the credential. */
|
|
153
|
+
switchboardUrl?: string;
|
|
154
|
+
/** Renown service base URL used when re-verifying the credential. */
|
|
155
|
+
renownUrl?: string;
|
|
156
|
+
/** Also re-verify the credential against Switchboard (default false = token-only, no network). */
|
|
157
|
+
verifyCredential?: boolean;
|
|
158
|
+
}
|
|
159
|
+
/** Claims read from a session token without verifying its signature. */
|
|
160
|
+
interface RenownSessionClaims {
|
|
161
|
+
address?: string;
|
|
162
|
+
chainId?: number;
|
|
163
|
+
networkId?: string;
|
|
164
|
+
/** Expiry in epoch seconds. */
|
|
165
|
+
expiresAt?: number;
|
|
166
|
+
}
|
|
167
|
+
/** Serialize a session cookie value (token + optional display hint). */
|
|
168
|
+
declare function serializeRenownSessionCookie(value: RenownSessionCookie): string;
|
|
169
|
+
declare function readSessionClaims(value: string): RenownSessionClaims | undefined;
|
|
170
|
+
declare function verifyRenownSession(value: string, options?: VerifyRenownSessionOptions): Promise<RenownSession | undefined>;
|
|
171
|
+
//#endregion
|
|
185
172
|
//#region src/utils.d.ts
|
|
186
173
|
type ILogger = {
|
|
187
174
|
level: "verbose" | "debug" | "info" | "warn" | "error";
|
|
@@ -210,5 +197,5 @@ declare function assertIsAuthCredential(credential: VerifiedCredential): asserts
|
|
|
210
197
|
declare function createAuthBearerToken(chainId: number, networkId: string, address: string, issuer: Issuer, options?: CreateBearerTokenOptions): Promise<string>;
|
|
211
198
|
declare const getResolver: () => Resolver;
|
|
212
199
|
//#endregion
|
|
213
|
-
export {
|
|
214
|
-
//# sourceMappingURL=utils-
|
|
200
|
+
export { resolveSwitchboardEndpoint as C, ResolveSwitchboardEndpointOptions as S, RenownMemoryStorage as T, CredentialCheck as _, getResolver as a, BaseRenownBuilder as b, RenownSession as c, RenownSessionProfile as d, VerifyRenownSessionOptions as f, fetchRenownProfile as g, verifyRenownSession as h, createAuthBearerToken as i, RenownSessionClaims as l, serializeRenownSessionCookie as m, VerifyAuthBearerTokenOptions as n, parsePkhDid as o, readSessionClaims as p, assertIsAuthCredential as r, verifyAuthBearerToken as s, ILogger as t, RenownSessionCookie as u, LocalCredentialVerifierOptions as v, Renown as w, RenownBuilderOptions as x, createLocalCredentialVerifier as y };
|
|
201
|
+
//# sourceMappingURL=utils-CrNR-mv8.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-CrNR-mv8.d.ts","names":[],"sources":["../src/common.ts","../src/discovery.ts","../src/renown-builder.ts","../src/local-credential-verifier.ts","../src/profile.ts","../src/session.ts","../src/utils.ts"],"mappings":"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"}
|