@dxos/crypto 0.8.4-main.d05673bc65 → 0.8.4-main.dd46787728

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.
@@ -7,20 +7,11 @@ export * from "#subtle";
7
7
  import { invariant } from "@dxos/invariant";
8
8
  import { PUBLIC_KEY_LENGTH, PublicKey, SECRET_KEY_LENGTH } from "@dxos/keys";
9
9
  import crypto from "@dxos/vendor-hypercore/hypercore-crypto";
10
- var __dxlog_file = "/__w/dxos/dxos/packages/common/crypto/src/keys.ts";
11
10
  var SIGNATURE_LENGTH = 64;
12
11
  var createId = () => PublicKey.stringify(randomBytes(32));
13
12
  var createKeyPair = (seed) => {
14
13
  if (seed) {
15
- invariant(seed.length >= 32, "Seedphrase too sort. Expecting length of 32.", {
16
- F: __dxlog_file,
17
- L: 19,
18
- S: void 0,
19
- A: [
20
- "seed.length >= 32",
21
- "'Seedphrase too sort. Expecting length of 32.'"
22
- ]
23
- });
14
+ invariant(seed.length >= 32, "Seedphrase too sort. Expecting length of 32.");
24
15
  return crypto.keyPair(seed.slice(0, 32));
25
16
  }
26
17
  return crypto.keyPair();
@@ -32,54 +23,14 @@ var validateKeyPair = (publicKey, secretKey) => crypto.validateKeyPair({
32
23
  var discoveryKey = (key) => crypto.discoveryKey(PublicKey.from(key).asBuffer().slice(1));
33
24
  var randomBytes = (length = 32) => crypto.randomBytes(length);
34
25
  var sign = (message, secretKey) => {
35
- invariant(Buffer.isBuffer(message), void 0, {
36
- F: __dxlog_file,
37
- L: 49,
38
- S: void 0,
39
- A: [
40
- "Buffer.isBuffer(message)",
41
- ""
42
- ]
43
- });
44
- invariant(Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH, void 0, {
45
- F: __dxlog_file,
46
- L: 50,
47
- S: void 0,
48
- A: [
49
- "Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH",
50
- ""
51
- ]
52
- });
26
+ invariant(Buffer.isBuffer(message));
27
+ invariant(Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH);
53
28
  return crypto.sign(message, secretKey);
54
29
  };
55
30
  var verify = (message, signature, publicKey) => {
56
- invariant(Buffer.isBuffer(message), void 0, {
57
- F: __dxlog_file,
58
- L: 63,
59
- S: void 0,
60
- A: [
61
- "Buffer.isBuffer(message)",
62
- ""
63
- ]
64
- });
65
- invariant(Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH, void 0, {
66
- F: __dxlog_file,
67
- L: 64,
68
- S: void 0,
69
- A: [
70
- "Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH",
71
- ""
72
- ]
73
- });
74
- invariant(Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH, void 0, {
75
- F: __dxlog_file,
76
- L: 65,
77
- S: void 0,
78
- A: [
79
- "Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH",
80
- ""
81
- ]
82
- });
31
+ invariant(Buffer.isBuffer(message));
32
+ invariant(Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH);
33
+ invariant(Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH);
83
34
  return crypto.verify(message, signature, publicKey);
84
35
  };
85
36
 
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts", "../../../src/keys.ts", "../../../src/uuid.ts", "../../../src/validator.ts", "../../../src/verify.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '#subtle';\nexport * from './keys';\nexport type * from './signer';\nexport * from './uuid';\nexport * from './validator';\nexport * from './verify';\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { invariant } from '@dxos/invariant';\nimport { type KeyPair, PUBLIC_KEY_LENGTH, PublicKey, type PublicKeyLike, SECRET_KEY_LENGTH } from '@dxos/keys';\nimport crypto from '@dxos/vendor-hypercore/hypercore-crypto';\n\nexport const SIGNATURE_LENGTH = 64;\n\n/**\n * @deprecated\n */\n// TODO(burdon): Remove.\nexport const createId = (): string => PublicKey.stringify(randomBytes(32));\n\nexport const createKeyPair = (seed?: Buffer): KeyPair => {\n if (seed) {\n invariant(seed.length >= 32, 'Seedphrase too sort. Expecting length of 32.');\n return crypto.keyPair(seed.slice(0, 32));\n }\n\n // TODO(burdon): Enable seed for debugging.\n return crypto.keyPair();\n};\n\n// TODO(burdon): Buffer.\nexport const validateKeyPair = (publicKey: PublicKey, secretKey: Buffer) =>\n crypto.validateKeyPair({ publicKey: publicKey.asBuffer(), secretKey });\n\n// TODO(dmaretskyi): Slicing because webcrypto keys are too long.\nexport const discoveryKey = (key: PublicKeyLike): Buffer =>\n crypto.discoveryKey(PublicKey.from(key).asBuffer().slice(1));\n\n/**\n * Return random bytes of length.\n * @param [length=32]\n * @return {Buffer}\n */\nexport const randomBytes = (length = 32): Buffer => crypto.randomBytes(length);\n\n/**\n * Sign the contents of message with secret_key\n * @param {Buffer} message\n * @param {Buffer} secretKey\n * @returns {Buffer} signature\n */\nexport const sign = (message: Buffer, secretKey: Buffer): Buffer => {\n invariant(Buffer.isBuffer(message));\n invariant(Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH);\n\n return crypto.sign(message, secretKey);\n};\n\n/**\n * Verifies the signature against the message and public_key.\n * @param {Buffer} message\n * @param {Buffer} publicKey\n * @param {Buffer} signature\n * @return {boolean}\n */\nexport const verify = (message: Buffer, signature: Buffer, publicKey: Buffer): boolean => {\n invariant(Buffer.isBuffer(message));\n invariant(Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH);\n invariant(Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH);\n\n return crypto.verify(message, signature, publicKey);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { webcrypto } from '#subtle';\n\nexport const randomUUID = (): string => {\n return webcrypto.randomUUID();\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\nimport { verify } from '@dxos/vendor-hypercore/hypercore-crypto';\n\n/**\n * Generator for signature validation function.\n * @param {String} publicKey\n */\nexport const getSignatureValidator = (publicKey: string) => (message: Buffer, signature: Buffer) =>\n verify(message, signature, PublicKey.bufferize(publicKey));\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type PublicKey } from '@dxos/keys';\n\nimport { subtleCrypto } from '#subtle';\n\n/**\n * Verify a signature with the given key.\n */\nexport const verifySignature = async (\n key: PublicKey,\n message: Uint8Array,\n signature: Uint8Array,\n algorithm: { name: string; namedCurve?: string } = { name: 'ECDSA', namedCurve: 'P-256' },\n): Promise<boolean> => {\n let publicKey!: CryptoKey;\n\n try {\n publicKey = await subtleCrypto.importKey('raw', key.asUint8Array() as Uint8Array<ArrayBuffer>, algorithm, true, [\n 'verify',\n ]);\n } catch {\n return false;\n }\n\n return subtleCrypto.verify(\n {\n name: algorithm.name,\n hash: 'SHA-256',\n },\n publicKey,\n signature as Uint8Array<ArrayBuffer>,\n message as Uint8Array<ArrayBuffer>,\n );\n};\n"],
5
- "mappings": ";;;AAIA,cAAc;;;ACAd,SAASA,iBAAiB;AAC1B,SAAuBC,mBAAmBC,WAA+BC,yBAAyB;AAClG,OAAOC,YAAY;;AAEZ,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcJ,UAAUK,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRV,cAAUU,KAAKC,UAAU,IAAI,gDAAA;;;;;;;;;AAC7B,WAAOP,OAAOQ,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOT,OAAOQ,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDZ,OAAOU,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3Bf,OAAOc,aAAahB,UAAUkB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeP,OAAOI,YAAYG,MAAAA;AAQhE,IAAMU,OAAO,CAACC,SAAiBN,cAAAA;AACpChB,YAAUuB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BtB,YAAUuB,OAAOC,SAASR,SAAAA,KAAcA,UAAUL,WAAWR,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOC,OAAOiB,KAAKC,SAASN,SAAAA;AAC9B;AASO,IAAMS,SAAS,CAACH,SAAiBI,WAAmBX,cAAAA;AACzDf,YAAUuB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BtB,YAAUuB,OAAOC,SAASE,SAAAA,KAAcA,UAAUf,WAAWN,kBAAAA,QAAAA;;;;;;;;;AAC7DL,YAAUuB,OAAOC,SAAST,SAAAA,KAAcA,UAAUJ,WAAWV,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOG,OAAOqB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AC/DA,SAASY,iBAAiB;AAEnB,IAAMC,aAAa,MAAA;AACxB,SAAOC,UAAUD,WAAU;AAC7B;;;ACJA,SAASE,aAAAA,kBAAiB;AAC1B,SAASC,UAAAA,eAAc;AAMhB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EC,QAAOF,SAASC,WAAWE,WAAUC,UAAUL,SAAAA,CAAAA;;;ACNjD,SAASM,oBAAoB;AAKtB,IAAMC,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMC,aAAaC,UAAU,OAAOR,IAAIS,aAAY,GAA+BN,WAAW,MAAM;MAC9G;KACD;EACH,QAAQ;AACN,WAAO;EACT;AAEA,SAAOI,aAAaG,OAClB;IACEN,MAAMD,UAAUC;IAChBO,MAAM;EACR,GACAL,WACAJ,WACAD,OAAAA;AAEJ;",
6
- "names": ["invariant", "PUBLIC_KEY_LENGTH", "PublicKey", "SECRET_KEY_LENGTH", "crypto", "SIGNATURE_LENGTH", "createId", "stringify", "randomBytes", "createKeyPair", "seed", "length", "keyPair", "slice", "validateKeyPair", "publicKey", "secretKey", "asBuffer", "discoveryKey", "key", "from", "sign", "message", "Buffer", "isBuffer", "verify", "signature", "webcrypto", "randomUUID", "webcrypto", "PublicKey", "verify", "getSignatureValidator", "publicKey", "message", "signature", "verify", "PublicKey", "bufferize", "subtleCrypto", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "subtleCrypto", "importKey", "asUint8Array", "verify", "hash"]
5
+ "mappings": ";;;AAIA,cAAc;;;ACAd,SAASA,iBAAiB;AAC1B,SAAuBC,mBAAmBC,WAA+BC,yBAAyB;AAClG,OAAOC,YAAY;AAEZ,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcJ,UAAUK,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRV,cAAUU,KAAKC,UAAU,IAAI,8CAAA;AAC7B,WAAOP,OAAOQ,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOT,OAAOQ,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDZ,OAAOU,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3Bf,OAAOc,aAAahB,UAAUkB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeP,OAAOI,YAAYG,MAAAA;AAQhE,IAAMU,OAAO,CAACC,SAAiBN,cAAAA;AACpChB,YAAUuB,OAAOC,SAASF,OAAAA,CAAAA;AAC1BtB,YAAUuB,OAAOC,SAASR,SAAAA,KAAcA,UAAUL,WAAWR,iBAAAA;AAE7D,SAAOC,OAAOiB,KAAKC,SAASN,SAAAA;AAC9B;AASO,IAAMS,SAAS,CAACH,SAAiBI,WAAmBX,cAAAA;AACzDf,YAAUuB,OAAOC,SAASF,OAAAA,CAAAA;AAC1BtB,YAAUuB,OAAOC,SAASE,SAAAA,KAAcA,UAAUf,WAAWN,gBAAAA;AAC7DL,YAAUuB,OAAOC,SAAST,SAAAA,KAAcA,UAAUJ,WAAWV,iBAAAA;AAE7D,SAAOG,OAAOqB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AC/DA,SAASY,iBAAiB;AAEnB,IAAMC,aAAa,MAAA;AACxB,SAAOD,UAAUC,WAAU;AAC7B;;;ACJA,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,UAAAA,eAAc;AAMhB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EJ,QAAOG,SAASC,WAAWL,WAAUM,UAAUH,SAAAA,CAAAA;;;ACNjD,SAASI,oBAAoB;AAKtB,IAAMC,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMR,aAAaS,UAAU,OAAOP,IAAIQ,aAAY,GAA+BL,WAAW,MAAM;MAC9G;KACD;EACH,QAAQ;AACN,WAAO;EACT;AAEA,SAAOL,aAAaW,OAClB;IACEL,MAAMD,UAAUC;IAChBM,MAAM;EACR,GACAJ,WACAJ,WACAD,OAAAA;AAEJ;",
6
+ "names": ["invariant", "PUBLIC_KEY_LENGTH", "PublicKey", "SECRET_KEY_LENGTH", "crypto", "SIGNATURE_LENGTH", "createId", "stringify", "randomBytes", "createKeyPair", "seed", "length", "keyPair", "slice", "validateKeyPair", "publicKey", "secretKey", "asBuffer", "discoveryKey", "key", "from", "sign", "message", "Buffer", "isBuffer", "verify", "signature", "webcrypto", "randomUUID", "PublicKey", "verify", "getSignatureValidator", "publicKey", "message", "signature", "bufferize", "subtleCrypto", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "importKey", "asUint8Array", "verify", "hash"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/keys.ts":{"bytes":8330,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/uuid.ts":{"bytes":771,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/validator.ts":{"bytes":1516,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/verify.ts":{"bytes":2651,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":817,"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"src/uuid.ts","kind":"import-statement","original":"./uuid"},{"path":"src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"src/verify.ts","kind":"import-statement","original":"./verify"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6317},"dist/lib/browser/index.mjs":{"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","validateKeyPair","verify","verifySignature"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":25},"src/keys.ts":{"bytesInOutput":2242},"src/uuid.ts":{"bytesInOutput":98},"src/validator.ts":{"bytesInOutput":260},"src/verify.ts":{"bytesInOutput":445}},"bytes":3412}}}
1
+ {"inputs":{"src/keys.ts":{"bytes":7088,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/uuid.ts":{"bytes":699,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/validator.ts":{"bytes":1439,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/verify.ts":{"bytes":2573,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":744,"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"src/uuid.ts","kind":"import-statement","original":"./uuid"},{"path":"src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"src/verify.ts","kind":"import-statement","original":"./verify"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6186},"dist/lib/browser/index.mjs":{"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","validateKeyPair","verify","verifySignature"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":25},"src/keys.ts":{"bytesInOutput":1272},"src/uuid.ts":{"bytesInOutput":98},"src/validator.ts":{"bytesInOutput":260},"src/verify.ts":{"bytesInOutput":445}},"bytes":2442}}}
@@ -7,20 +7,11 @@ export * from "#subtle";
7
7
  import { invariant } from "@dxos/invariant";
8
8
  import { PUBLIC_KEY_LENGTH, PublicKey, SECRET_KEY_LENGTH } from "@dxos/keys";
9
9
  import crypto from "@dxos/vendor-hypercore/hypercore-crypto";
10
- var __dxlog_file = "/__w/dxos/dxos/packages/common/crypto/src/keys.ts";
11
10
  var SIGNATURE_LENGTH = 64;
12
11
  var createId = () => PublicKey.stringify(randomBytes(32));
13
12
  var createKeyPair = (seed) => {
14
13
  if (seed) {
15
- invariant(seed.length >= 32, "Seedphrase too sort. Expecting length of 32.", {
16
- F: __dxlog_file,
17
- L: 19,
18
- S: void 0,
19
- A: [
20
- "seed.length >= 32",
21
- "'Seedphrase too sort. Expecting length of 32.'"
22
- ]
23
- });
14
+ invariant(seed.length >= 32, "Seedphrase too sort. Expecting length of 32.");
24
15
  return crypto.keyPair(seed.slice(0, 32));
25
16
  }
26
17
  return crypto.keyPair();
@@ -32,54 +23,14 @@ var validateKeyPair = (publicKey, secretKey) => crypto.validateKeyPair({
32
23
  var discoveryKey = (key) => crypto.discoveryKey(PublicKey.from(key).asBuffer().slice(1));
33
24
  var randomBytes = (length = 32) => crypto.randomBytes(length);
34
25
  var sign = (message, secretKey) => {
35
- invariant(Buffer.isBuffer(message), void 0, {
36
- F: __dxlog_file,
37
- L: 49,
38
- S: void 0,
39
- A: [
40
- "Buffer.isBuffer(message)",
41
- ""
42
- ]
43
- });
44
- invariant(Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH, void 0, {
45
- F: __dxlog_file,
46
- L: 50,
47
- S: void 0,
48
- A: [
49
- "Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH",
50
- ""
51
- ]
52
- });
26
+ invariant(Buffer.isBuffer(message));
27
+ invariant(Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH);
53
28
  return crypto.sign(message, secretKey);
54
29
  };
55
30
  var verify = (message, signature, publicKey) => {
56
- invariant(Buffer.isBuffer(message), void 0, {
57
- F: __dxlog_file,
58
- L: 63,
59
- S: void 0,
60
- A: [
61
- "Buffer.isBuffer(message)",
62
- ""
63
- ]
64
- });
65
- invariant(Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH, void 0, {
66
- F: __dxlog_file,
67
- L: 64,
68
- S: void 0,
69
- A: [
70
- "Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH",
71
- ""
72
- ]
73
- });
74
- invariant(Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH, void 0, {
75
- F: __dxlog_file,
76
- L: 65,
77
- S: void 0,
78
- A: [
79
- "Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH",
80
- ""
81
- ]
82
- });
31
+ invariant(Buffer.isBuffer(message));
32
+ invariant(Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH);
33
+ invariant(Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH);
83
34
  return crypto.verify(message, signature, publicKey);
84
35
  };
85
36
 
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts", "../../../src/keys.ts", "../../../src/uuid.ts", "../../../src/validator.ts", "../../../src/verify.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nexport * from '#subtle';\nexport * from './keys';\nexport type * from './signer';\nexport * from './uuid';\nexport * from './validator';\nexport * from './verify';\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { invariant } from '@dxos/invariant';\nimport { type KeyPair, PUBLIC_KEY_LENGTH, PublicKey, type PublicKeyLike, SECRET_KEY_LENGTH } from '@dxos/keys';\nimport crypto from '@dxos/vendor-hypercore/hypercore-crypto';\n\nexport const SIGNATURE_LENGTH = 64;\n\n/**\n * @deprecated\n */\n// TODO(burdon): Remove.\nexport const createId = (): string => PublicKey.stringify(randomBytes(32));\n\nexport const createKeyPair = (seed?: Buffer): KeyPair => {\n if (seed) {\n invariant(seed.length >= 32, 'Seedphrase too sort. Expecting length of 32.');\n return crypto.keyPair(seed.slice(0, 32));\n }\n\n // TODO(burdon): Enable seed for debugging.\n return crypto.keyPair();\n};\n\n// TODO(burdon): Buffer.\nexport const validateKeyPair = (publicKey: PublicKey, secretKey: Buffer) =>\n crypto.validateKeyPair({ publicKey: publicKey.asBuffer(), secretKey });\n\n// TODO(dmaretskyi): Slicing because webcrypto keys are too long.\nexport const discoveryKey = (key: PublicKeyLike): Buffer =>\n crypto.discoveryKey(PublicKey.from(key).asBuffer().slice(1));\n\n/**\n * Return random bytes of length.\n * @param [length=32]\n * @return {Buffer}\n */\nexport const randomBytes = (length = 32): Buffer => crypto.randomBytes(length);\n\n/**\n * Sign the contents of message with secret_key\n * @param {Buffer} message\n * @param {Buffer} secretKey\n * @returns {Buffer} signature\n */\nexport const sign = (message: Buffer, secretKey: Buffer): Buffer => {\n invariant(Buffer.isBuffer(message));\n invariant(Buffer.isBuffer(secretKey) && secretKey.length === SECRET_KEY_LENGTH);\n\n return crypto.sign(message, secretKey);\n};\n\n/**\n * Verifies the signature against the message and public_key.\n * @param {Buffer} message\n * @param {Buffer} publicKey\n * @param {Buffer} signature\n * @return {boolean}\n */\nexport const verify = (message: Buffer, signature: Buffer, publicKey: Buffer): boolean => {\n invariant(Buffer.isBuffer(message));\n invariant(Buffer.isBuffer(signature) && signature.length === SIGNATURE_LENGTH);\n invariant(Buffer.isBuffer(publicKey) && publicKey.length === PUBLIC_KEY_LENGTH);\n\n return crypto.verify(message, signature, publicKey);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { webcrypto } from '#subtle';\n\nexport const randomUUID = (): string => {\n return webcrypto.randomUUID();\n};\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\nimport { verify } from '@dxos/vendor-hypercore/hypercore-crypto';\n\n/**\n * Generator for signature validation function.\n * @param {String} publicKey\n */\nexport const getSignatureValidator = (publicKey: string) => (message: Buffer, signature: Buffer) =>\n verify(message, signature, PublicKey.bufferize(publicKey));\n", "//\n// Copyright 2022 DXOS.org\n//\n\nimport { type PublicKey } from '@dxos/keys';\n\nimport { subtleCrypto } from '#subtle';\n\n/**\n * Verify a signature with the given key.\n */\nexport const verifySignature = async (\n key: PublicKey,\n message: Uint8Array,\n signature: Uint8Array,\n algorithm: { name: string; namedCurve?: string } = { name: 'ECDSA', namedCurve: 'P-256' },\n): Promise<boolean> => {\n let publicKey!: CryptoKey;\n\n try {\n publicKey = await subtleCrypto.importKey('raw', key.asUint8Array() as Uint8Array<ArrayBuffer>, algorithm, true, [\n 'verify',\n ]);\n } catch {\n return false;\n }\n\n return subtleCrypto.verify(\n {\n name: algorithm.name,\n hash: 'SHA-256',\n },\n publicKey,\n signature as Uint8Array<ArrayBuffer>,\n message as Uint8Array<ArrayBuffer>,\n );\n};\n"],
5
- "mappings": ";;;AAIA,cAAc;;;ACAd,SAASA,iBAAiB;AAC1B,SAAuBC,mBAAmBC,WAA+BC,yBAAyB;AAClG,OAAOC,YAAY;;AAEZ,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcJ,UAAUK,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRV,cAAUU,KAAKC,UAAU,IAAI,gDAAA;;;;;;;;;AAC7B,WAAOP,OAAOQ,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOT,OAAOQ,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDZ,OAAOU,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3Bf,OAAOc,aAAahB,UAAUkB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeP,OAAOI,YAAYG,MAAAA;AAQhE,IAAMU,OAAO,CAACC,SAAiBN,cAAAA;AACpChB,YAAUuB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BtB,YAAUuB,OAAOC,SAASR,SAAAA,KAAcA,UAAUL,WAAWR,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOC,OAAOiB,KAAKC,SAASN,SAAAA;AAC9B;AASO,IAAMS,SAAS,CAACH,SAAiBI,WAAmBX,cAAAA;AACzDf,YAAUuB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BtB,YAAUuB,OAAOC,SAASE,SAAAA,KAAcA,UAAUf,WAAWN,kBAAAA,QAAAA;;;;;;;;;AAC7DL,YAAUuB,OAAOC,SAAST,SAAAA,KAAcA,UAAUJ,WAAWV,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOG,OAAOqB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AC/DA,SAASY,iBAAiB;AAEnB,IAAMC,aAAa,MAAA;AACxB,SAAOC,UAAUD,WAAU;AAC7B;;;ACJA,SAASE,aAAAA,kBAAiB;AAC1B,SAASC,UAAAA,eAAc;AAMhB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EC,QAAOF,SAASC,WAAWE,WAAUC,UAAUL,SAAAA,CAAAA;;;ACNjD,SAASM,oBAAoB;AAKtB,IAAMC,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMC,aAAaC,UAAU,OAAOR,IAAIS,aAAY,GAA+BN,WAAW,MAAM;MAC9G;KACD;EACH,QAAQ;AACN,WAAO;EACT;AAEA,SAAOI,aAAaG,OAClB;IACEN,MAAMD,UAAUC;IAChBO,MAAM;EACR,GACAL,WACAJ,WACAD,OAAAA;AAEJ;",
6
- "names": ["invariant", "PUBLIC_KEY_LENGTH", "PublicKey", "SECRET_KEY_LENGTH", "crypto", "SIGNATURE_LENGTH", "createId", "stringify", "randomBytes", "createKeyPair", "seed", "length", "keyPair", "slice", "validateKeyPair", "publicKey", "secretKey", "asBuffer", "discoveryKey", "key", "from", "sign", "message", "Buffer", "isBuffer", "verify", "signature", "webcrypto", "randomUUID", "webcrypto", "PublicKey", "verify", "getSignatureValidator", "publicKey", "message", "signature", "verify", "PublicKey", "bufferize", "subtleCrypto", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "subtleCrypto", "importKey", "asUint8Array", "verify", "hash"]
5
+ "mappings": ";;;AAIA,cAAc;;;ACAd,SAASA,iBAAiB;AAC1B,SAAuBC,mBAAmBC,WAA+BC,yBAAyB;AAClG,OAAOC,YAAY;AAEZ,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcJ,UAAUK,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRV,cAAUU,KAAKC,UAAU,IAAI,8CAAA;AAC7B,WAAOP,OAAOQ,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOT,OAAOQ,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDZ,OAAOU,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3Bf,OAAOc,aAAahB,UAAUkB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeP,OAAOI,YAAYG,MAAAA;AAQhE,IAAMU,OAAO,CAACC,SAAiBN,cAAAA;AACpChB,YAAUuB,OAAOC,SAASF,OAAAA,CAAAA;AAC1BtB,YAAUuB,OAAOC,SAASR,SAAAA,KAAcA,UAAUL,WAAWR,iBAAAA;AAE7D,SAAOC,OAAOiB,KAAKC,SAASN,SAAAA;AAC9B;AASO,IAAMS,SAAS,CAACH,SAAiBI,WAAmBX,cAAAA;AACzDf,YAAUuB,OAAOC,SAASF,OAAAA,CAAAA;AAC1BtB,YAAUuB,OAAOC,SAASE,SAAAA,KAAcA,UAAUf,WAAWN,gBAAAA;AAC7DL,YAAUuB,OAAOC,SAAST,SAAAA,KAAcA,UAAUJ,WAAWV,iBAAAA;AAE7D,SAAOG,OAAOqB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AC/DA,SAASY,iBAAiB;AAEnB,IAAMC,aAAa,MAAA;AACxB,SAAOD,UAAUC,WAAU;AAC7B;;;ACJA,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,UAAAA,eAAc;AAMhB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EJ,QAAOG,SAASC,WAAWL,WAAUM,UAAUH,SAAAA,CAAAA;;;ACNjD,SAASI,oBAAoB;AAKtB,IAAMC,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMR,aAAaS,UAAU,OAAOP,IAAIQ,aAAY,GAA+BL,WAAW,MAAM;MAC9G;KACD;EACH,QAAQ;AACN,WAAO;EACT;AAEA,SAAOL,aAAaW,OAClB;IACEL,MAAMD,UAAUC;IAChBM,MAAM;EACR,GACAJ,WACAJ,WACAD,OAAAA;AAEJ;",
6
+ "names": ["invariant", "PUBLIC_KEY_LENGTH", "PublicKey", "SECRET_KEY_LENGTH", "crypto", "SIGNATURE_LENGTH", "createId", "stringify", "randomBytes", "createKeyPair", "seed", "length", "keyPair", "slice", "validateKeyPair", "publicKey", "secretKey", "asBuffer", "discoveryKey", "key", "from", "sign", "message", "Buffer", "isBuffer", "verify", "signature", "webcrypto", "randomUUID", "PublicKey", "verify", "getSignatureValidator", "publicKey", "message", "signature", "bufferize", "subtleCrypto", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "importKey", "asUint8Array", "verify", "hash"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/keys.ts":{"bytes":8330,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/uuid.ts":{"bytes":771,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/validator.ts":{"bytes":1516,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/verify.ts":{"bytes":2651,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":817,"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"src/uuid.ts","kind":"import-statement","original":"./uuid"},{"path":"src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"src/verify.ts","kind":"import-statement","original":"./verify"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6317},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","validateKeyPair","verify","verifySignature"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":25},"src/keys.ts":{"bytesInOutput":2242},"src/uuid.ts":{"bytesInOutput":98},"src/validator.ts":{"bytesInOutput":260},"src/verify.ts":{"bytesInOutput":445}},"bytes":3471}}}
1
+ {"inputs":{"src/keys.ts":{"bytes":7088,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/uuid.ts":{"bytes":699,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/validator.ts":{"bytes":1439,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"src/verify.ts":{"bytes":2573,"imports":[{"path":"#subtle","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":744,"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"src/uuid.ts","kind":"import-statement","original":"./uuid"},{"path":"src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"src/verify.ts","kind":"import-statement","original":"./verify"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6186},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/vendor-hypercore/hypercore-crypto","kind":"import-statement","external":true},{"path":"#subtle","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","validateKeyPair","verify","verifySignature"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":25},"src/keys.ts":{"bytesInOutput":1272},"src/uuid.ts":{"bytesInOutput":98},"src/validator.ts":{"bytesInOutput":260},"src/verify.ts":{"bytesInOutput":445}},"bytes":2501}}}
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAqB,SAAS,EAAE,KAAK,aAAa,EAAqB,MAAM,YAAY,CAAC;AAG/G,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;GAEG;AAEH,eAAO,MAAM,QAAQ,QAAO,MAA8C,CAAC;AAE3E,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,OAQ7C,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,WAAW,SAAS,EAAE,WAAW,MAAM,YACC,CAAC;AAGzE,eAAO,MAAM,YAAY,GAAI,KAAK,aAAa,KAAG,MACY,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,eAAW,KAAG,MAAoC,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,MAKzD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,EAAE,WAAW,MAAM,KAAG,OAM9E,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAqB,SAAS,EAAE,KAAK,aAAa,EAAqB,MAAM,YAAY,CAAC;AAG/G,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;GAEG;AAEH,eAAO,MAAM,QAAQ,QAAO,MAA8C,CAAC;AAE3E,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,OAQ7C,CAAC;AAGF,eAAO,MAAM,eAAe,cAAe,SAAS,aAAa,MAAM,YACC,CAAC;AAGzE,eAAO,MAAM,YAAY,QAAS,aAAa,KAAG,MACY,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,WAAW,uBAAkB,MAAoC,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,IAAI,YAAa,MAAM,aAAa,MAAM,KAAG,MAKzD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,YAAa,MAAM,aAAa,MAAM,aAAa,MAAM,KAAG,OAM9E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/validator.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,MAAM,SAAS,MAAM,EAAE,WAAW,MAAM,YACnC,CAAC"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/validator.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,cAAe,MAAM,eAAe,MAAM,aAAa,MAAM,YACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/verify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,SAAS,EACd,SAAS,UAAU,EACnB,WAAW,UAAU,EACrB,YAAW;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAA2C,KACxF,OAAO,CAAC,OAAO,CAoBjB,CAAC"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/verify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;;GAEG;AACH,eAAO,MAAM,eAAe,QACrB,SAAS,WACL,UAAU,aACR,UAAU,cACV;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KAC/C,OAAO,CAAC,OAAO,CAoBjB,CAAC"}