@turnkey/http 1.0.1 → 1.1.0

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 (58) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +22 -17
  3. package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts +548 -0
  4. package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts.map +1 -0
  5. package/dist/__generated__/services/coordinator/public/v1/public_api.client.js +938 -0
  6. package/dist/__generated__/services/coordinator/public/v1/public_api.client.js.map +1 -0
  7. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts +1516 -281
  8. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts.map +1 -1
  9. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js +25 -9
  10. package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js.map +1 -1
  11. package/dist/__generated__/services/coordinator/public/v1/public_api.swagger.json +437 -706
  12. package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts +210 -789
  13. package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts.map +1 -1
  14. package/dist/async.d.ts +20 -1
  15. package/dist/async.d.ts.map +1 -1
  16. package/dist/async.js +78 -2
  17. package/dist/async.js.map +1 -1
  18. package/dist/base.d.ts +51 -1
  19. package/dist/base.d.ts.map +1 -1
  20. package/dist/base.js +27 -5
  21. package/dist/base.js.map +1 -1
  22. package/dist/config.d.ts +6 -0
  23. package/dist/config.d.ts.map +1 -1
  24. package/dist/config.js +6 -0
  25. package/dist/config.js.map +1 -1
  26. package/dist/encoding.d.ts +0 -4
  27. package/dist/encoding.d.ts.map +1 -1
  28. package/dist/encoding.js +1 -24
  29. package/dist/encoding.js.map +1 -1
  30. package/dist/index.d.ts +5 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -4
  33. package/dist/index.js.map +1 -1
  34. package/dist/shared.d.ts +1 -27
  35. package/dist/shared.d.ts.map +1 -1
  36. package/dist/shared.js +4 -13
  37. package/dist/shared.js.map +1 -1
  38. package/dist/universal.d.ts +1 -3
  39. package/dist/universal.d.ts.map +1 -1
  40. package/dist/universal.js +2 -10
  41. package/dist/universal.js.map +1 -1
  42. package/package.json +4 -2
  43. package/dist/stamp.node.d.ts +0 -3
  44. package/dist/stamp.node.d.ts.map +0 -1
  45. package/dist/stamp.node.js +0 -51
  46. package/dist/stamp.node.js.map +0 -1
  47. package/dist/stamp.webcrypto.d.ts +0 -4
  48. package/dist/stamp.webcrypto.d.ts.map +0 -1
  49. package/dist/stamp.webcrypto.js +0 -110
  50. package/dist/stamp.webcrypto.js.map +0 -1
  51. package/dist/tink/bytes.d.ts +0 -45
  52. package/dist/tink/bytes.d.ts.map +0 -1
  53. package/dist/tink/bytes.js +0 -82
  54. package/dist/tink/bytes.js.map +0 -1
  55. package/dist/tink/elliptic_curves.d.ts +0 -14
  56. package/dist/tink/elliptic_curves.d.ts.map +0 -1
  57. package/dist/tink/elliptic_curves.js +0 -178
  58. package/dist/tink/elliptic_curves.js.map +0 -1
package/dist/encoding.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertTurnkeyApiKeyToJwk = exports.uint8ArrayToHexString = exports.base64StringToBase64UrlEncodedString = exports.stringToBase64urlString = void 0;
4
- const elliptic_curves_1 = require("./tink/elliptic_curves");
3
+ exports.uint8ArrayToHexString = exports.base64StringToBase64UrlEncodedString = exports.stringToBase64urlString = void 0;
5
4
  /**
6
5
  * Code modified from https://github.com/github/webauthn-json/blob/e932b3585fa70b0bd5b5a4012ba7dbad7b0a0d0f/src/webauthn-json/base64url.ts#L23
7
6
  */
@@ -19,26 +18,4 @@ function uint8ArrayToHexString(input) {
19
18
  return input.reduce((result, x) => result + x.toString(16).padStart(2, "0"), "");
20
19
  }
21
20
  exports.uint8ArrayToHexString = uint8ArrayToHexString;
22
- function convertTurnkeyApiKeyToJwk(input) {
23
- const { uncompressedPrivateKeyHex, compressedPublicKeyHex } = input;
24
- const jwk = (0, elliptic_curves_1.pointDecode)(hexStringToUint8Array(compressedPublicKeyHex));
25
- jwk.d = hexStringToBase64urlString(uncompressedPrivateKeyHex);
26
- return jwk;
27
- }
28
- exports.convertTurnkeyApiKeyToJwk = convertTurnkeyApiKeyToJwk;
29
- function hexStringToUint8Array(input) {
30
- if (input.length === 0 ||
31
- input.length % 2 !== 0 ||
32
- /[^a-fA-F0-9]/u.test(input)) {
33
- throw new Error(`Invalid hex string: ${JSON.stringify(input)}`);
34
- }
35
- return Uint8Array.from(input
36
- .match(/.{2}/g // Split string by every two characters
37
- )
38
- .map((byte) => parseInt(byte, 16)));
39
- }
40
- function hexStringToBase64urlString(input) {
41
- const buffer = hexStringToUint8Array(input);
42
- return stringToBase64urlString(buffer.reduce((result, x) => result + String.fromCharCode(x), ""));
43
- }
44
21
  //# sourceMappingURL=encoding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":";;;AAAA,4DAAqD;AAErD;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjC,OAAO,oCAAoC,CAAC,YAAY,CAAC,CAAC;AAC5D,CAAC;AALD,0DAKC;AAED,SAAgB,oCAAoC,CAAC,KAAa;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAFD,oFAEC;AAED,SAAgB,qBAAqB,CAAC,KAAiB;IACrD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EACvD,EAAE,CACH,CAAC;AACJ,CAAC;AALD,sDAKC;AAED,SAAgB,yBAAyB,CAAC,KAGzC;IACC,MAAM,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC;IAEpE,MAAM,GAAG,GAAG,IAAA,6BAAW,EAAC,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEvE,GAAG,CAAC,CAAC,GAAG,0BAA0B,CAAC,yBAAyB,CAAC,CAAC;IAE9D,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,8DAWC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAC3B;QACA,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;KACjE;IAED,OAAO,UAAU,CAAC,IAAI,CACpB,KAAK;SACF,KAAK,CACJ,OAAO,CAAC,uCAAuC;KAC/C;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,uBAAuB,CAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,mBAAmB;IACnB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAEjC,OAAO,oCAAoC,CAAC,YAAY,CAAC,CAAC;AAC5D,CAAC;AALD,0DAKC;AAED,SAAgB,oCAAoC,CAAC,KAAa;IAChE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAFD,oFAEC;AAED,SAAgB,qBAAqB,CAAC,KAAiB;IACrD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EACvD,EAAE,CACH,CAAC;AACJ,CAAC;AALD,sDAKC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { PublicApiService as TurnkeyApi } from "./__generated__/barrel";
2
2
  export type { definitions as TurnkeyApiTypes } from "./__generated__/services/coordinator/public/v1/public_api.types";
3
+ export { TurnkeyClient } from "./__generated__/services/coordinator/public/v1/public_api.client";
3
4
  export { init, browserInit } from "./config";
4
- export { TurnkeyActivityError, TurnkeyRequestError } from "./shared";
5
- export type { SignedRequest } from "./shared";
5
+ export { TurnkeyRequestError } from "./base";
6
+ export { TurnkeyActivityError } from "./shared";
7
+ export type { SignedRequest, TSignedRequest } from "./base";
6
8
  export { getWebAuthnAttestation } from "./webauthn";
7
- export { withAsyncPolling } from "./async";
9
+ export { withAsyncPolling, createActivityPoller } from "./async";
8
10
  export { TurnkeyApi };
9
11
  /**
10
12
  * @deprecated use `TurnkeyApi` instead
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,iEAAiE,CAAC;AACtH,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;GAEG;AACH,QAAA,MAAM,gBAAgB,mBAAa,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,iEAAiE,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,kEAAkE,CAAC;AACjG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB;;GAEG;AACH,QAAA,MAAM,gBAAgB,mBAAa,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -1,23 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sealAndStampRequestBody = exports.PublicApiService = exports.TurnkeyApi = exports.withAsyncPolling = exports.getWebAuthnAttestation = exports.TurnkeyRequestError = exports.TurnkeyActivityError = exports.browserInit = exports.init = void 0;
3
+ exports.sealAndStampRequestBody = exports.PublicApiService = exports.TurnkeyApi = exports.createActivityPoller = exports.withAsyncPolling = exports.getWebAuthnAttestation = exports.TurnkeyActivityError = exports.TurnkeyRequestError = exports.browserInit = exports.init = exports.TurnkeyClient = void 0;
4
4
  const barrel_1 = require("./__generated__/barrel");
5
5
  Object.defineProperty(exports, "TurnkeyApi", { enumerable: true, get: function () { return barrel_1.PublicApiService; } });
6
+ var public_api_client_1 = require("./__generated__/services/coordinator/public/v1/public_api.client");
7
+ Object.defineProperty(exports, "TurnkeyClient", { enumerable: true, get: function () { return public_api_client_1.TurnkeyClient; } });
6
8
  var config_1 = require("./config");
7
9
  Object.defineProperty(exports, "init", { enumerable: true, get: function () { return config_1.init; } });
8
10
  Object.defineProperty(exports, "browserInit", { enumerable: true, get: function () { return config_1.browserInit; } });
11
+ var base_1 = require("./base");
12
+ Object.defineProperty(exports, "TurnkeyRequestError", { enumerable: true, get: function () { return base_1.TurnkeyRequestError; } });
9
13
  var shared_1 = require("./shared");
10
14
  Object.defineProperty(exports, "TurnkeyActivityError", { enumerable: true, get: function () { return shared_1.TurnkeyActivityError; } });
11
- Object.defineProperty(exports, "TurnkeyRequestError", { enumerable: true, get: function () { return shared_1.TurnkeyRequestError; } });
12
15
  var webauthn_1 = require("./webauthn");
13
16
  Object.defineProperty(exports, "getWebAuthnAttestation", { enumerable: true, get: function () { return webauthn_1.getWebAuthnAttestation; } });
14
17
  var async_1 = require("./async");
15
18
  Object.defineProperty(exports, "withAsyncPolling", { enumerable: true, get: function () { return async_1.withAsyncPolling; } });
19
+ Object.defineProperty(exports, "createActivityPoller", { enumerable: true, get: function () { return async_1.createActivityPoller; } });
16
20
  /**
17
21
  * @deprecated use `TurnkeyApi` instead
18
22
  */
19
23
  const PublicApiService = barrel_1.PublicApiService;
20
24
  exports.PublicApiService = PublicApiService;
21
- var base_1 = require("./base");
22
- Object.defineProperty(exports, "sealAndStampRequestBody", { enumerable: true, get: function () { return base_1.sealAndStampRequestBody; } });
25
+ var base_2 = require("./base");
26
+ Object.defineProperty(exports, "sealAndStampRequestBody", { enumerable: true, get: function () { return base_2.sealAndStampRequestBody; } });
23
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwE;AAU/D,2FAVoB,yBAAU,OAUpB;AARnB,mCAA6C;AAApC,8FAAA,IAAI,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE1B,mCAAqE;AAA5D,8GAAA,oBAAoB,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAElD,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AAIzB;;GAEG;AACH,MAAM,gBAAgB,GAAG,yBAAU,CAAC;AAE3B,4CAAgB;AAEzB,+BAAiD;AAAxC,+GAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwE;AAY/D,2FAZoB,yBAAU,OAYpB;AAVnB,sGAAiG;AAAxF,kHAAA,aAAa,OAAA;AACtB,mCAA6C;AAApC,8FAAA,IAAI,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE1B,+BAA6C;AAApC,2GAAA,mBAAmB,OAAA;AAC5B,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA;AAE7B,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,iCAAiE;AAAxD,yGAAA,gBAAgB,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAI/C;;GAEG;AACH,MAAM,gBAAgB,GAAG,yBAAU,CAAC;AAE3B,4CAAgB;AAEzB,+BAAiD;AAAxC,+GAAA,uBAAuB,OAAA"}
package/dist/shared.d.ts CHANGED
@@ -17,31 +17,5 @@ export declare class TurnkeyActivityError extends Error {
17
17
  activityType?: TActivityType | null;
18
18
  });
19
19
  }
20
- export type TStamper = (input: {
21
- content: string;
22
- publicKey: string;
23
- privateKey: string;
24
- }) => Promise<{
25
- publicKey: string;
26
- scheme: string;
27
- signature: string;
28
- }>;
29
- export type GrpcStatus = {
30
- message: string;
31
- code: number;
32
- details: unknown[] | null;
33
- };
34
- export declare class TurnkeyRequestError extends Error {
35
- details: any[] | null;
36
- code: number;
37
- constructor(input: GrpcStatus);
38
- }
39
- /**
40
- * Represents a signed request ready to be POSTed to Turnkey
41
- */
42
- export type SignedRequest = {
43
- body: string;
44
- stamp: string;
45
- url: string;
46
- };
20
+ export declare function stableStringify(input: Record<string, any>): string;
47
21
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAEnG,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9C,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;gBAER,KAAK,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACxC,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;KACrC;CAUF;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAK,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;gBAED,KAAK,EAAE,UAAU;CAa9B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iEAAiE,CAAC;AAEnG,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAC1C,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9C,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,eAAe,GAAG,IAAI,CAAC;IACvC,YAAY,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;gBAER,KAAK,EAAE;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;QACrB,UAAU,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;QAChC,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACxC,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;KACrC;CAUF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAElE"}
package/dist/shared.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TurnkeyRequestError = exports.TurnkeyActivityError = void 0;
3
+ exports.stableStringify = exports.TurnkeyActivityError = void 0;
4
4
  class TurnkeyActivityError extends Error {
5
5
  constructor(input) {
6
6
  const { message, cause, activityId, activityStatus, activityType } = input;
@@ -13,17 +13,8 @@ class TurnkeyActivityError extends Error {
13
13
  }
14
14
  }
15
15
  exports.TurnkeyActivityError = TurnkeyActivityError;
16
- class TurnkeyRequestError extends Error {
17
- constructor(input) {
18
- let turnkeyErrorMessage = `Turnkey error ${input.code}: ${input.message}`;
19
- if (input.details != null) {
20
- turnkeyErrorMessage += ` (Details: ${JSON.stringify(input.details)})`;
21
- }
22
- super(turnkeyErrorMessage);
23
- this.name = "TurnkeyRequestError";
24
- this.details = input.details ?? null;
25
- this.code = input.code;
26
- }
16
+ function stableStringify(input) {
17
+ return JSON.stringify(input);
27
18
  }
28
- exports.TurnkeyRequestError = TurnkeyRequestError;
19
+ exports.stableStringify = stableStringify;
29
20
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":";;;AAQA,MAAa,oBAAqB,SAAQ,KAAK;IAM7C,YAAY,KAMX;QACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;CACF;AAtBD,oDAsBC;AAkBD,MAAa,mBAAoB,SAAQ,KAAK;IAI5C,YAAY,KAAiB;QAC3B,IAAI,mBAAmB,GAAG,iBAAiB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QAE1E,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE;YACzB,mBAAmB,IAAI,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;SACvE;QAED,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAjBD,kDAiBC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":";;;AAQA,MAAa,oBAAqB,SAAQ,KAAK;IAM7C,YAAY,KAMX;QACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;IAC7B,CAAC;CACF;AAtBD,oDAsBC;AAED,SAAgB,eAAe,CAAC,KAA0B;IACxD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAFD,0CAEC"}
@@ -1,6 +1,4 @@
1
1
  /// <reference lib="dom" />
2
- import type { TStamper } from "./shared";
3
2
  declare let fetch: typeof globalThis.fetch;
4
- declare let stamp: TStamper;
5
- export { fetch, stamp };
3
+ export { fetch };
6
4
  //# sourceMappingURL=universal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,QAAA,IAAI,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;AAQnC,QAAA,IAAI,KAAK,EAAE,QAAQ,CAAC;AAQpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";AACA,QAAA,IAAI,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;AAQnC,OAAO,EAAE,KAAK,EAAE,CAAC"}
package/dist/universal.js CHANGED
@@ -1,20 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stamp = exports.fetch = void 0;
3
+ exports.fetch = void 0;
4
+ /// <reference lib="dom" />
4
5
  let fetch;
5
- exports.fetch = fetch;
6
6
  if (typeof globalThis?.fetch !== "undefined") {
7
7
  exports.fetch = fetch = globalThis.fetch;
8
8
  }
9
9
  else {
10
10
  exports.fetch = fetch = require("cross-fetch");
11
11
  }
12
- let stamp;
13
- exports.stamp = stamp;
14
- if (typeof globalThis?.crypto?.subtle !== "undefined") {
15
- exports.stamp = stamp = require("./stamp.webcrypto").stamp;
16
- }
17
- else {
18
- exports.stamp = stamp = require("./stamp.node").stamp;
19
- }
20
12
  //# sourceMappingURL=universal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"universal.js","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";;;AAGA,IAAI,KAA8B,CAAC;AAgB1B,sBAAK;AAdd,IAAI,OAAO,UAAU,EAAE,KAAK,KAAK,WAAW,EAAE;IAC5C,gBAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;CAC1B;KAAM;IACL,gBAAA,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAChC;AAED,IAAI,KAAe,CAAC;AAQJ,sBAAK;AANrB,IAAI,OAAO,UAAU,EAAE,MAAM,EAAE,MAAM,KAAK,WAAW,EAAE;IACrD,gBAAA,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC;CAC5C;KAAM;IACL,gBAAA,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;CACvC"}
1
+ {"version":3,"file":"universal.js","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,IAAI,KAA8B,CAAC;AAEnC,IAAI,OAAO,UAAU,EAAE,KAAK,KAAK,WAAW,EAAE;IAC5C,gBAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;CAC1B;KAAM;IACL,gBAAA,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@turnkey/http",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "Apache-2.0",
@@ -29,7 +29,9 @@
29
29
  "access": "public"
30
30
  },
31
31
  "dependencies": {
32
- "cross-fetch": "^3.1.5"
32
+ "cross-fetch": "^3.1.5",
33
+ "@turnkey/api-key-stamper": "0.1.0",
34
+ "@turnkey/webauthn-stamper": "0.1.0"
33
35
  },
34
36
  "engines": {
35
37
  "node": ">=16.0.0"
@@ -1,3 +0,0 @@
1
- import type { TStamper } from "./shared";
2
- export declare const stamp: TStamper;
3
- //# sourceMappingURL=stamp.node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stamp.node.d.ts","sourceRoot":"","sources":["../src/stamp.node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,KAAK,EAAE,QA4BnB,CAAC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.stamp = void 0;
27
- const crypto = __importStar(require("crypto"));
28
- const encoding_1 = require("./encoding");
29
- const stamp = async (input) => {
30
- const { content, publicKey, privateKey } = input;
31
- const privateKeyObject = crypto.createPrivateKey({
32
- // @ts-expect-error -- the key can be a JWK object since Node v15.12.0
33
- // https://nodejs.org/api/crypto.html#cryptocreateprivatekeykey
34
- key: (0, encoding_1.convertTurnkeyApiKeyToJwk)({
35
- uncompressedPrivateKeyHex: privateKey,
36
- compressedPublicKeyHex: publicKey,
37
- }),
38
- format: "jwk",
39
- });
40
- const sign = crypto.createSign("SHA256");
41
- sign.write(Buffer.from(content));
42
- sign.end();
43
- const signature = sign.sign(privateKeyObject, "hex");
44
- return {
45
- publicKey: publicKey,
46
- scheme: "SIGNATURE_SCHEME_TK_API_P256",
47
- signature: signature,
48
- };
49
- };
50
- exports.stamp = stamp;
51
- //# sourceMappingURL=stamp.node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stamp.node.js","sourceRoot":"","sources":["../src/stamp.node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,yCAAuD;AAGhD,MAAM,KAAK,GAAa,KAAK,EAAE,KAIrC,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEjD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC/C,sEAAsE;QACtE,+DAA+D;QAC/D,GAAG,EAAE,IAAA,oCAAyB,EAAC;YAC7B,yBAAyB,EAAE,UAAU;YACrC,sBAAsB,EAAE,SAAS;SAClC,CAAC;QACF,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,EAAE,CAAC;IAEX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAErD,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,KAAK,SA4BhB"}
@@ -1,4 +0,0 @@
1
- /// <reference lib="dom" />
2
- import type { TStamper } from "./shared";
3
- export declare const stamp: TStamper;
4
- //# sourceMappingURL=stamp.webcrypto.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stamp.webcrypto.d.ts","sourceRoot":"","sources":["../src/stamp.webcrypto.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,KAAK,EAAE,QAkBnB,CAAC"}
@@ -1,110 +0,0 @@
1
- "use strict";
2
- /// <reference lib="dom" />
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.stamp = void 0;
5
- const encoding_1 = require("./encoding");
6
- const stamp = async (input) => {
7
- const { content, publicKey, privateKey } = input;
8
- const key = await importTurnkeyApiKey({
9
- uncompressedPrivateKeyHex: privateKey,
10
- compressedPublicKeyHex: publicKey,
11
- });
12
- const signature = await signMessage({ key, content });
13
- return {
14
- publicKey: publicKey,
15
- scheme: "SIGNATURE_SCHEME_TK_API_P256",
16
- signature: signature,
17
- };
18
- };
19
- exports.stamp = stamp;
20
- async function importTurnkeyApiKey(input) {
21
- const { uncompressedPrivateKeyHex, compressedPublicKeyHex } = input;
22
- const jwk = (0, encoding_1.convertTurnkeyApiKeyToJwk)({
23
- uncompressedPrivateKeyHex,
24
- compressedPublicKeyHex,
25
- });
26
- return await crypto.subtle.importKey("jwk", jwk, {
27
- name: "ECDSA",
28
- namedCurve: "P-256",
29
- }, false, // not extractable
30
- ["sign"] // allow signing
31
- );
32
- }
33
- async function signMessage(input) {
34
- const { key, content } = input;
35
- const signatureIeee1363 = await crypto.subtle.sign({
36
- name: "ECDSA",
37
- hash: "SHA-256",
38
- }, key, new TextEncoder().encode(content));
39
- const signatureDer = convertEcdsaIeee1363ToDer(new Uint8Array(signatureIeee1363));
40
- return (0, encoding_1.uint8ArrayToHexString)(signatureDer);
41
- }
42
- /**
43
- * `SubtleCrypto.sign(...)` outputs signature in IEEE P1363 format:
44
- * - https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/sign#ecdsa
45
- *
46
- * Turnkey expects the signature encoding to be DER-encoded ASN.1:
47
- * - https://github.com/tkhq/tkcli/blob/7f0159af5a73387ff050647180d1db4d3a3aa033/src/internal/apikey/apikey.go#L149
48
- *
49
- * Code modified from https://github.com/google/tink/blob/6f74b99a2bfe6677e3670799116a57268fd067fa/javascript/subtle/elliptic_curves.ts#L114
50
- *
51
- * Transform an ECDSA signature in IEEE 1363 encoding to DER encoding.
52
- *
53
- * @param ieee the ECDSA signature in IEEE encoding
54
- * @return ECDSA signature in DER encoding
55
- */
56
- function convertEcdsaIeee1363ToDer(ieee) {
57
- if (ieee.length % 2 != 0 || ieee.length == 0 || ieee.length > 132) {
58
- throw new Error("Invalid IEEE P1363 signature encoding. Length: " + ieee.length);
59
- }
60
- const r = toUnsignedBigNum(ieee.subarray(0, ieee.length / 2));
61
- const s = toUnsignedBigNum(ieee.subarray(ieee.length / 2, ieee.length));
62
- let offset = 0;
63
- const length = 1 + 1 + r.length + 1 + 1 + s.length;
64
- let der;
65
- if (length >= 128) {
66
- der = new Uint8Array(length + 3);
67
- der[offset++] = 48;
68
- der[offset++] = 128 + 1;
69
- der[offset++] = length;
70
- }
71
- else {
72
- der = new Uint8Array(length + 2);
73
- der[offset++] = 48;
74
- der[offset++] = length;
75
- }
76
- der[offset++] = 2;
77
- der[offset++] = r.length;
78
- der.set(r, offset);
79
- offset += r.length;
80
- der[offset++] = 2;
81
- der[offset++] = s.length;
82
- der.set(s, offset);
83
- return der;
84
- }
85
- /**
86
- * Code modified from https://github.com/google/tink/blob/6f74b99a2bfe6677e3670799116a57268fd067fa/javascript/subtle/elliptic_curves.ts#L311
87
- *
88
- * Transform a big integer in big endian to minimal unsigned form which has
89
- * no extra zero at the beginning except when the highest bit is set.
90
- */
91
- function toUnsignedBigNum(bytes) {
92
- // Remove zero prefixes.
93
- let start = 0;
94
- while (start < bytes.length && bytes[start] == 0) {
95
- start++;
96
- }
97
- if (start == bytes.length) {
98
- start = bytes.length - 1;
99
- }
100
- let extraZero = 0;
101
- // If the 1st bit is not zero, add 1 zero byte.
102
- if ((bytes[start] & 128) == 128) {
103
- // Add extra zero.
104
- extraZero = 1;
105
- }
106
- const res = new Uint8Array(bytes.length - start + extraZero);
107
- res.set(bytes.subarray(start), extraZero);
108
- return res;
109
- }
110
- //# sourceMappingURL=stamp.webcrypto.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stamp.webcrypto.js","sourceRoot":"","sources":["../src/stamp.webcrypto.ts"],"names":[],"mappings":";AAAA,2BAA2B;;;AAE3B,yCAA8E;AAGvE,MAAM,KAAK,GAAa,KAAK,EAAE,KAIrC,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEjD,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC;QACpC,yBAAyB,EAAE,UAAU;QACrC,sBAAsB,EAAE,SAAS;KAClC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAEtD,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,8BAA8B;QACtC,SAAS,EAAE,SAAS;KACrB,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,KAAK,SAkBhB;AAEF,KAAK,UAAU,mBAAmB,CAAC,KAGlC;IACC,MAAM,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC;IAEpE,MAAM,GAAG,GAAG,IAAA,oCAAyB,EAAC;QACpC,yBAAyB;QACzB,sBAAsB;KACvB,CAAC,CAAC;IAEH,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAClC,KAAK,EACL,GAAG,EACH;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,OAAO;KACpB,EACD,KAAK,EAAE,kBAAkB;IACzB,CAAC,MAAM,CAAC,CAAC,gBAAgB;KAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAG1B;IACC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE/B,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAChD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;KAChB,EACD,GAAG,EACH,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,MAAM,YAAY,GAAG,yBAAyB,CAC5C,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAClC,CAAC;IAEF,OAAO,IAAA,gCAAqB,EAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,yBAAyB,CAAC,IAAgB;IACjD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;QACjE,MAAM,IAAI,KAAK,CACb,iDAAiD,GAAG,IAAI,CAAC,MAAM,CAChE,CAAC;KACH;IACD,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,GAAG,CAAC;IACR,IAAI,MAAM,IAAI,GAAG,EAAE;QACjB,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACxB,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;KACxB;SAAM;QACL,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;KACxB;IACD,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnB,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;IACnB,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAiB;IACzC,wBAAwB;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAChD,KAAK,EAAE,CAAC;KACT;IACD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;QACzB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;KAC1B;IACD,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,+CAA+C;IAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE;QAChC,kBAAkB;QAClB,SAAS,GAAG,CAAC,CAAC;KACf;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;IAC7D,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Code modified from https://github.com/google/tink/blob/6f74b99a2bfe6677e3670799116a57268fd067fa/javascript/subtle/bytes.ts
3
- *
4
- * @license
5
- * Copyright 2020 Google LLC
6
- * SPDX-License-Identifier: Apache-2.0
7
- */
8
- /**
9
- * Converts the hex string to a byte array.
10
- *
11
- * @param hex the input
12
- * @return the byte array output
13
- * @throws {!Error}
14
- * @static
15
- */
16
- export declare function fromHex(hex: string): Uint8Array;
17
- /**
18
- * Converts a byte array to hex.
19
- *
20
- * @param bytes the byte array input
21
- * @return hex the output
22
- * @static
23
- */
24
- export declare function toHex(bytes: Uint8Array): string;
25
- /**
26
- * Base64 encode a byte array.
27
- *
28
- * @param bytes the byte array input
29
- * @param opt_webSafe True indicates we should use the alternative
30
- * alphabet, which does not require escaping for use in URLs.
31
- * @return base64 output
32
- * @static
33
- */
34
- export declare function toBase64(bytes: Uint8Array, opt_webSafe?: boolean): string;
35
- /**
36
- * Turns a byte array into the string given by the concatenation of the
37
- * characters to which the numbers correspond. Each byte is corresponding to a
38
- * character. Does not support multi-byte characters.
39
- *
40
- * @param bytes Array of numbers representing
41
- * characters.
42
- * @return Stringification of the array.
43
- */
44
- export declare function toByteString(bytes: Uint8Array): string;
45
- //# sourceMappingURL=bytes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/tink/bytes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAS/C;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAO/C;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CASzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMtD"}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- /**
3
- * Code modified from https://github.com/google/tink/blob/6f74b99a2bfe6677e3670799116a57268fd067fa/javascript/subtle/bytes.ts
4
- *
5
- * @license
6
- * Copyright 2020 Google LLC
7
- * SPDX-License-Identifier: Apache-2.0
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.toByteString = exports.toBase64 = exports.toHex = exports.fromHex = void 0;
11
- /**
12
- * Converts the hex string to a byte array.
13
- *
14
- * @param hex the input
15
- * @return the byte array output
16
- * @throws {!Error}
17
- * @static
18
- */
19
- function fromHex(hex) {
20
- if (hex.length % 2 != 0) {
21
- throw new Error("Hex string length must be multiple of 2");
22
- }
23
- const arr = new Uint8Array(hex.length / 2);
24
- for (let i = 0; i < hex.length; i += 2) {
25
- arr[i / 2] = parseInt(hex.substring(i, i + 2), 16);
26
- }
27
- return arr;
28
- }
29
- exports.fromHex = fromHex;
30
- /**
31
- * Converts a byte array to hex.
32
- *
33
- * @param bytes the byte array input
34
- * @return hex the output
35
- * @static
36
- */
37
- function toHex(bytes) {
38
- let result = "";
39
- for (let i = 0; i < bytes.length; i++) {
40
- const hexByte = bytes[i].toString(16);
41
- result += hexByte.length > 1 ? hexByte : "0" + hexByte;
42
- }
43
- return result;
44
- }
45
- exports.toHex = toHex;
46
- /**
47
- * Base64 encode a byte array.
48
- *
49
- * @param bytes the byte array input
50
- * @param opt_webSafe True indicates we should use the alternative
51
- * alphabet, which does not require escaping for use in URLs.
52
- * @return base64 output
53
- * @static
54
- */
55
- function toBase64(bytes, opt_webSafe) {
56
- const encoded = btoa(
57
- /* padding */
58
- toByteString(bytes)).replace(/=/g, "");
59
- if (opt_webSafe) {
60
- return encoded.replace(/\+/g, "-").replace(/\//g, "_");
61
- }
62
- return encoded;
63
- }
64
- exports.toBase64 = toBase64;
65
- /**
66
- * Turns a byte array into the string given by the concatenation of the
67
- * characters to which the numbers correspond. Each byte is corresponding to a
68
- * character. Does not support multi-byte characters.
69
- *
70
- * @param bytes Array of numbers representing
71
- * characters.
72
- * @return Stringification of the array.
73
- */
74
- function toByteString(bytes) {
75
- let str = "";
76
- for (let i = 0; i < bytes.length; i += 1) {
77
- str += String.fromCharCode(bytes[i]);
78
- }
79
- return str;
80
- }
81
- exports.toByteString = toByteString;
82
- //# sourceMappingURL=bytes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/tink/bytes.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;;;;;GAOG;AACH,SAAgB,OAAO,CAAC,GAAW;IACjC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACtC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KACpD;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AATD,0BASC;AAED;;;;;;GAMG;AACH,SAAgB,KAAK,CAAC,KAAiB;IACrC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;KACxD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,sBAOC;AAED;;;;;;;;GAQG;AACH,SAAgB,QAAQ,CAAC,KAAiB,EAAE,WAAqB;IAC/D,MAAM,OAAO,GAAG,IAAI;IAClB,aAAa;IACb,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,IAAI,WAAW,EAAE;QACf,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACxD;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AATD,4BASC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,KAAiB;IAC5C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACxC,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;KACvC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAND,oCAMC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Code modified from https://github.com/google/tink/blob/6f74b99a2bfe6677e3670799116a57268fd067fa/javascript/subtle/elliptic_curves.ts
3
- *
4
- * @license
5
- * Copyright 2020 Google LLC
6
- * SPDX-License-Identifier: Apache-2.0
7
- */
8
- /**
9
- * Decodes a public key in _compressed_ format.
10
- *
11
- * P-256 only
12
- */
13
- export declare function pointDecode(point: Uint8Array): JsonWebKey;
14
- //# sourceMappingURL=elliptic_curves.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"elliptic_curves.d.ts","sourceRoot":"","sources":["../../src/tink/elliptic_curves.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2HH;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAwBzD"}