@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.
- package/CHANGELOG.md +24 -0
- package/README.md +22 -17
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts +548 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.d.ts.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.js +938 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.client.js.map +1 -0
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts +1516 -281
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.d.ts.map +1 -1
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js +25 -9
- package/dist/__generated__/services/coordinator/public/v1/public_api.fetcher.js.map +1 -1
- package/dist/__generated__/services/coordinator/public/v1/public_api.swagger.json +437 -706
- package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts +210 -789
- package/dist/__generated__/services/coordinator/public/v1/public_api.types.d.ts.map +1 -1
- package/dist/async.d.ts +20 -1
- package/dist/async.d.ts.map +1 -1
- package/dist/async.js +78 -2
- package/dist/async.js.map +1 -1
- package/dist/base.d.ts +51 -1
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +27 -5
- package/dist/base.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/encoding.d.ts +0 -4
- package/dist/encoding.d.ts.map +1 -1
- package/dist/encoding.js +1 -24
- package/dist/encoding.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -4
- package/dist/index.js.map +1 -1
- package/dist/shared.d.ts +1 -27
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +4 -13
- package/dist/shared.js.map +1 -1
- package/dist/universal.d.ts +1 -3
- package/dist/universal.d.ts.map +1 -1
- package/dist/universal.js +2 -10
- package/dist/universal.js.map +1 -1
- package/package.json +4 -2
- package/dist/stamp.node.d.ts +0 -3
- package/dist/stamp.node.d.ts.map +0 -1
- package/dist/stamp.node.js +0 -51
- package/dist/stamp.node.js.map +0 -1
- package/dist/stamp.webcrypto.d.ts +0 -4
- package/dist/stamp.webcrypto.d.ts.map +0 -1
- package/dist/stamp.webcrypto.js +0 -110
- package/dist/stamp.webcrypto.js.map +0 -1
- package/dist/tink/bytes.d.ts +0 -45
- package/dist/tink/bytes.d.ts.map +0 -1
- package/dist/tink/bytes.js +0 -82
- package/dist/tink/bytes.js.map +0 -1
- package/dist/tink/elliptic_curves.d.ts +0 -14
- package/dist/tink/elliptic_curves.d.ts.map +0 -1
- package/dist/tink/elliptic_curves.js +0 -178
- 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.
|
|
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
|
package/dist/encoding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.js","sourceRoot":"","sources":["../src/encoding.ts"],"names":[],"mappings":";;;AAAA
|
|
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 {
|
|
5
|
-
export
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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
|
|
22
|
-
Object.defineProperty(exports, "sealAndStampRequestBody", { enumerable: true, get: function () { return
|
|
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;
|
|
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
|
|
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
|
package/dist/shared.d.ts.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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
|
-
|
|
17
|
-
|
|
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.
|
|
19
|
+
exports.stableStringify = stableStringify;
|
|
29
20
|
//# sourceMappingURL=shared.js.map
|
package/dist/shared.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/universal.d.ts
CHANGED
package/dist/universal.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";AACA,
|
|
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.
|
|
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
|
package/dist/universal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"universal.js","sourceRoot":"","sources":["../src/universal.ts"],"names":[],"mappings":";;;
|
|
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
|
|
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"
|
package/dist/stamp.node.d.ts
DELETED
package/dist/stamp.node.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/stamp.node.js
DELETED
|
@@ -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
|
package/dist/stamp.node.js.map
DELETED
|
@@ -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 +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"}
|
package/dist/stamp.webcrypto.js
DELETED
|
@@ -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"}
|
package/dist/tink/bytes.d.ts
DELETED
|
@@ -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
|
package/dist/tink/bytes.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/tink/bytes.js
DELETED
|
@@ -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
|
package/dist/tink/bytes.js.map
DELETED
|
@@ -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"}
|