@renown/sdk 4.1.0-dev.7 → 4.1.0-dev.71

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 (51) hide show
  1. package/dist/src/common.d.ts +4 -3
  2. package/dist/src/common.d.ts.map +1 -1
  3. package/dist/src/common.js +2 -2
  4. package/dist/src/common.js.map +1 -1
  5. package/dist/src/crypto/browser-key-storage.d.ts +8 -0
  6. package/dist/src/crypto/browser-key-storage.d.ts.map +1 -0
  7. package/dist/src/crypto/browser-key-storage.js +73 -0
  8. package/dist/src/crypto/browser-key-storage.js.map +1 -0
  9. package/dist/src/crypto/index.d.ts +35 -0
  10. package/dist/src/crypto/index.d.ts.map +1 -0
  11. package/dist/src/crypto/index.js +152 -0
  12. package/dist/src/crypto/index.js.map +1 -0
  13. package/dist/src/crypto/node-key-storage.d.ts +8 -0
  14. package/dist/src/crypto/node-key-storage.d.ts.map +1 -0
  15. package/dist/src/crypto/node-key-storage.js +67 -0
  16. package/dist/src/crypto/node-key-storage.js.map +1 -0
  17. package/dist/src/crypto/node.d.ts +2 -0
  18. package/dist/src/crypto/node.d.ts.map +1 -0
  19. package/dist/src/crypto/node.js +3 -0
  20. package/dist/src/crypto/node.js.map +1 -0
  21. package/dist/src/index.d.ts +2 -1
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +2 -1
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/init.browser.d.ts +2 -2
  26. package/dist/src/init.browser.d.ts.map +1 -1
  27. package/dist/src/node.d.ts +6 -0
  28. package/dist/src/node.d.ts.map +1 -0
  29. package/dist/src/node.js +6 -0
  30. package/dist/src/node.js.map +1 -0
  31. package/dist/src/storage/storage.browser.d.ts +1 -1
  32. package/dist/src/storage/storage.browser.d.ts.map +1 -1
  33. package/dist/src/storage/storage.browser.js.map +1 -1
  34. package/dist/src/storage/storage.node.d.ts.map +1 -1
  35. package/dist/src/storage/storage.node.js +0 -2
  36. package/dist/src/storage/storage.node.js.map +1 -1
  37. package/dist/src/types.d.ts +4 -4
  38. package/dist/src/types.d.ts.map +1 -1
  39. package/dist/src/utils.d.ts +6 -2
  40. package/dist/src/utils.d.ts.map +1 -1
  41. package/dist/src/utils.js +17 -4
  42. package/dist/src/utils.js.map +1 -1
  43. package/dist/tests/auth.test.d.ts +2 -0
  44. package/dist/tests/auth.test.d.ts.map +1 -0
  45. package/dist/tests/auth.test.js +13 -0
  46. package/dist/tests/auth.test.js.map +1 -0
  47. package/dist/tsconfig.tsbuildinfo +1 -1
  48. package/package.json +20 -24
  49. package/dist/tsconfig.browser.tsbuildinfo +0 -1
  50. package/dist/tsconfig.common.tsbuildinfo +0 -1
  51. package/dist/tsconfig.node.tsbuildinfo +0 -1
@@ -1,13 +1,17 @@
1
- import { type Issuer } from "did-jwt-vc";
1
+ import type { Issuer } from "did-jwt-vc";
2
2
  import { Resolver } from "did-resolver";
3
3
  export type PKHDid = {
4
4
  networkId: string;
5
5
  chainId: number;
6
6
  address: `0x${string}`;
7
7
  };
8
+ export interface CreateBearerTokenOptions {
9
+ expiresIn?: number;
10
+ aud?: string;
11
+ }
8
12
  export declare function parsePkhDid(did: string): PKHDid;
9
13
  export declare function verifyAuthBearerToken(jwt: string): Promise<false | import("did-jwt-vc").VerifiedCredential>;
10
- export declare function createAuthBearerToken(chainId: number, networkId: string, address: string, issuer: Issuer): Promise<string>;
14
+ export declare function createAuthBearerToken(chainId: number, networkId: string, address: string, issuer: Issuer, options?: CreateBearerTokenOptions): Promise<string>;
11
15
  export declare const getResolver: () => Resolver;
12
16
  export declare function getIssuer(privateKey: Uint8Array): Promise<Issuer>;
13
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,MAAM,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB/C;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,4DAQtD;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,mBAiBf;AACD,eAAO,MAAM,WAAW,gBAOvB,CAAC;AAEF,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQvE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAwB,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAqB/C;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,4DAmBtD;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;AACD,eAAO,MAAM,WAAW,gBAOvB,CAAC;AAEF,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAQvE"}
package/dist/src/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { getAuthenticatedDID } from "@didtools/key-did";
2
2
  import { EdDSASigner } from "did-jwt";
3
- import { createVerifiableCredentialJwt, verifyCredential, } from "did-jwt-vc";
3
+ import { createVerifiableCredentialJwt, verifyCredential } from "did-jwt-vc";
4
4
  import { Resolver } from "did-resolver";
5
5
  import { getResolver as keyDidResolver } from "key-did-resolver";
6
6
  export function parsePkhDid(did) {
@@ -24,7 +24,17 @@ export function parsePkhDid(did) {
24
24
  }
25
25
  export async function verifyAuthBearerToken(jwt) {
26
26
  try {
27
- const verified = await verifyCredential(jwt, getResolver());
27
+ const now = parseInt(String(Date.now() / 1000));
28
+ const verified = await verifyCredential(jwt, getResolver(), {
29
+ policies: {
30
+ now: parseInt(String(Date.now() / 1000)),
31
+ expirationDate: true,
32
+ issuanceDate: true,
33
+ },
34
+ });
35
+ if (verified.payload.exp && verified.payload.exp < now) {
36
+ return false;
37
+ }
28
38
  return verified;
29
39
  }
30
40
  catch (e) {
@@ -32,7 +42,7 @@ export async function verifyAuthBearerToken(jwt) {
32
42
  return false;
33
43
  }
34
44
  }
35
- export async function createAuthBearerToken(chainId, networkId, address, issuer) {
45
+ export async function createAuthBearerToken(chainId, networkId, address, issuer, options) {
36
46
  const vcPayload = {
37
47
  sub: issuer.did,
38
48
  vc: {
@@ -44,8 +54,11 @@ export async function createAuthBearerToken(chainId, networkId, address, issuer)
44
54
  address,
45
55
  },
46
56
  },
57
+ aud: options?.aud,
47
58
  };
48
- const jwt = await createVerifiableCredentialJwt(vcPayload, issuer);
59
+ const jwt = await createVerifiableCredentialJwt(vcPayload, issuer, {
60
+ expiresIn: options?.expiresIn,
61
+ });
49
62
  return jwt;
50
63
  }
51
64
  export const getResolver = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,gBAAgB,GAGjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOjE,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,CAAC,EAAE,AAAD,EAAG,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;IAEnD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,OAAO;QACP,SAAS;QACT,OAAO,EAAE,OAA4B;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAW;IACrD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAe,EACf,SAAiB,EACjB,OAAe,EACf,MAAc;IAEd,MAAM,SAAS,GAAyB;QACtC,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,EAAE,EAAE;YACF,UAAU,EAAE,CAAC,wCAAwC,CAAC;YACtD,IAAI,EAAE,CAAC,sBAAsB,CAAC;YAC9B,iBAAiB,EAAE;gBACjB,OAAO;gBACP,SAAS;gBACT,OAAO;aACR;SACF;KACF,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,6BAA6B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAsB;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,EAAE;QACX,MAAM;QACN,GAAG,EAAE,OAAO;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=auth.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.test.d.ts","sourceRoot":"","sources":["../../tests/auth.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { generatePrivateKey } from "@didtools/key-did";
2
+ import { describe, expect, it } from "vitest";
3
+ import { createAuthBearerToken, getIssuer, verifyAuthBearerToken, } from "../src/utils.js";
4
+ describe("auth", () => {
5
+ it("should be able to authenticate a user", async () => {
6
+ const randomKey = generatePrivateKey();
7
+ const issuer = await getIssuer(randomKey);
8
+ const token = await createAuthBearerToken(1, "test", "test", issuer);
9
+ const verified = await verifyAuthBearerToken(token);
10
+ expect(verified).toBeDefined();
11
+ });
12
+ });
13
+ //# sourceMappingURL=auth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../tests/auth.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}