@dxos/crypto 0.8.3 → 0.8.4-main.2e9d522

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.
@@ -1,10 +1,10 @@
1
1
  import "@dxos/node-std/globals";
2
2
 
3
- // packages/common/crypto/src/keys.ts
3
+ // src/keys.ts
4
+ import crypto2 from "#hypercore-crypto";
4
5
  import { invariant } from "@dxos/invariant";
5
6
  import { PublicKey, PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH } from "@dxos/keys";
6
- import crypto2 from "#hypercore-crypto";
7
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/crypto/src/keys.ts";
7
+ var __dxlog_file = "/__w/dxos/dxos/packages/common/crypto/src/keys.ts";
8
8
  var SIGNATURE_LENGTH = 64;
9
9
  var createId = () => PublicKey.stringify(randomBytes(32));
10
10
  var createKeyPair = (seed) => {
@@ -80,16 +80,16 @@ var verify = (message, signature, publicKey) => {
80
80
  return crypto2.verify(message, signature, publicKey);
81
81
  };
82
82
 
83
- // packages/common/crypto/src/browser/subtle.ts
83
+ // src/browser/subtle.ts
84
84
  var subtleCrypto = crypto.subtle;
85
85
  var webcrypto = crypto;
86
86
 
87
- // packages/common/crypto/src/validator.ts
88
- import { PublicKey as PublicKey2 } from "@dxos/keys";
87
+ // src/validator.ts
89
88
  import { verify as verify2 } from "#hypercore-crypto";
89
+ import { PublicKey as PublicKey2 } from "@dxos/keys";
90
90
  var getSignatureValidator = (publicKey) => (message, signature) => verify2(message, signature, PublicKey2.bufferize(publicKey));
91
91
 
92
- // packages/common/crypto/src/verify.ts
92
+ // src/verify.ts
93
93
  var verifySignature = async (key, message, signature, algorithm = {
94
94
  name: "ECDSA",
95
95
  namedCurve: "P-256"
@@ -108,7 +108,7 @@ var verifySignature = async (key, message, signature, algorithm = {
108
108
  }, publicKey, signature, message);
109
109
  };
110
110
 
111
- // packages/common/crypto/src/uuid.ts
111
+ // src/uuid.ts
112
112
  var randomUUID = () => {
113
113
  return webcrypto.randomUUID();
114
114
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/keys.ts", "../../../src/browser/subtle.ts", "../../../src/validator.ts", "../../../src/verify.ts", "../../../src/uuid.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport { invariant } from '@dxos/invariant';\nimport { type KeyPair, PublicKey, type PublicKeyLike, PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH } from '@dxos/keys';\n\nimport crypto from '#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 2022 DXOS.org\n//\n\n// Replacement implementation for the browser (see package.json).\n\nexport const subtleCrypto = crypto.subtle;\n\nexport const webcrypto = crypto;\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\n\nimport { verify } from '#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(), algorithm, true, ['verify']);\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,\n message,\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { webcrypto } from './subtle';\n\nexport const randomUUID = (): string => {\n return webcrypto.randomUUID();\n};\n"],
5
- "mappings": ";;;AAIA,SAASA,iBAAiB;AAC1B,SAAuBC,WAA+BC,mBAAmBC,yBAAyB;AAElG,OAAOC,aAAY;;AAEZ,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcL,UAAUM,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRV,cAAUU,KAAKC,UAAU,IAAI,gDAAA;;;;;;;;;AAC7B,WAAOP,QAAOQ,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOT,QAAOQ,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDZ,QAAOU,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3Bf,QAAOc,aAAajB,UAAUmB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeP,QAAOI,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,QAAOiB,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,WAAWT,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOE,QAAOqB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AC9DO,IAAMY,eAAeC,OAAOC;AAE5B,IAAMC,YAAYF;;;ACJzB,SAASG,aAAAA,kBAAiB;AAE1B,SAASC,UAAAA,eAAc;AAMhB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EC,QAAOF,SAASC,WAAWE,WAAUC,UAAUL,SAAAA,CAAAA;;;ACF1C,IAAMM,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMC,aAAaC,UAAU,OAAOR,IAAIS,aAAY,GAAIN,WAAW,MAAM;MAAC;KAAS;EACjG,QAAQ;AACN,WAAO;EACT;AAEA,SAAOI,aAAaG,OAClB;IACEN,MAAMD,UAAUC;IAChBO,MAAM;EACR,GACAL,WACAJ,WACAD,OAAAA;AAEJ;;;AC5BO,IAAMW,aAAa,MAAA;AACxB,SAAOC,UAAUD,WAAU;AAC7B;",
6
- "names": ["invariant", "PublicKey", "PUBLIC_KEY_LENGTH", "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", "subtleCrypto", "crypto", "subtle", "webcrypto", "PublicKey", "verify", "getSignatureValidator", "publicKey", "message", "signature", "verify", "PublicKey", "bufferize", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "subtleCrypto", "importKey", "asUint8Array", "verify", "hash", "randomUUID", "webcrypto"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport crypto from '#hypercore-crypto';\n\nimport { invariant } from '@dxos/invariant';\nimport { type KeyPair, PublicKey, type PublicKeyLike, PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH } from '@dxos/keys';\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 2022 DXOS.org\n//\n\n// Replacement implementation for the browser (see package.json).\n\nexport const subtleCrypto = crypto.subtle;\n\nexport const webcrypto = crypto;\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { verify } from '#hypercore-crypto';\n\nimport { PublicKey } from '@dxos/keys';\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(), algorithm, true, ['verify']);\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,\n message,\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { webcrypto } from './subtle';\n\nexport const randomUUID = (): string => {\n return webcrypto.randomUUID();\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,aAAY;AAEnB,SAASC,iBAAiB;AAC1B,SAAuBC,WAA+BC,mBAAmBC,yBAAyB;;AAE3F,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcJ,UAAUK,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRT,cAAUS,KAAKC,UAAU,IAAI,gDAAA;;;;;;;;;AAC7B,WAAOX,QAAOY,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOb,QAAOY,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDhB,QAAOc,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3BnB,QAAOkB,aAAahB,UAAUkB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeX,QAAOQ,YAAYG,MAAAA;AAQhE,IAAMU,OAAO,CAACC,SAAiBN,cAAAA;AACpCf,YAAUsB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BrB,YAAUsB,OAAOC,SAASR,SAAAA,KAAcA,UAAUL,WAAWP,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOJ,QAAOqB,KAAKC,SAASN,SAAAA;AAC9B;AASO,IAAMS,SAAS,CAACH,SAAiBI,WAAmBX,cAAAA;AACzDd,YAAUsB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BrB,YAAUsB,OAAOC,SAASE,SAAAA,KAAcA,UAAUf,WAAWN,kBAAAA,QAAAA;;;;;;;;;AAC7DJ,YAAUsB,OAAOC,SAAST,SAAAA,KAAcA,UAAUJ,WAAWR,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOH,QAAOyB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AC9DO,IAAMY,eAAeC,OAAOC;AAE5B,IAAMC,YAAYF;;;ACJzB,SAASG,UAAAA,eAAc;AAEvB,SAASC,aAAAA,kBAAiB;AAMnB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EC,QAAOF,SAASC,WAAWE,WAAUC,UAAUL,SAAAA,CAAAA;;;ACF1C,IAAMM,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMC,aAAaC,UAAU,OAAOR,IAAIS,aAAY,GAAIN,WAAW,MAAM;MAAC;KAAS;EACjG,QAAQ;AACN,WAAO;EACT;AAEA,SAAOI,aAAaG,OAClB;IACEN,MAAMD,UAAUC;IAChBO,MAAM;EACR,GACAL,WACAJ,WACAD,OAAAA;AAEJ;;;AC5BO,IAAMW,aAAa,MAAA;AACxB,SAAOC,UAAUD,WAAU;AAC7B;",
6
+ "names": ["crypto", "invariant", "PublicKey", "PUBLIC_KEY_LENGTH", "SECRET_KEY_LENGTH", "SIGNATURE_LENGTH", "createId", "stringify", "randomBytes", "createKeyPair", "seed", "length", "keyPair", "slice", "validateKeyPair", "publicKey", "secretKey", "asBuffer", "discoveryKey", "key", "from", "sign", "message", "Buffer", "isBuffer", "verify", "signature", "subtleCrypto", "crypto", "subtle", "webcrypto", "verify", "PublicKey", "getSignatureValidator", "publicKey", "message", "signature", "verify", "PublicKey", "bufferize", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "subtleCrypto", "importKey", "asUint8Array", "verify", "hash", "randomUUID", "webcrypto"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/common/crypto/src/keys.ts":{"bytes":8293,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"packages/common/crypto/src/signer.ts":{"bytes":778,"imports":[],"format":"esm"},"packages/common/crypto/src/browser/subtle.ts":{"bytes":893,"imports":[],"format":"esm"},"packages/common/crypto/src/validator.ts":{"bytes":1483,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"packages/common/crypto/src/verify.ts":{"bytes":2537,"imports":[{"path":"packages/common/crypto/src/browser/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"packages/common/crypto/src/uuid.ts":{"bytes":785,"imports":[{"path":"packages/common/crypto/src/browser/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"packages/common/crypto/src/index.ts":{"bytes":873,"imports":[{"path":"packages/common/crypto/src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"packages/common/crypto/src/signer.ts","kind":"import-statement","original":"./signer"},{"path":"packages/common/crypto/src/browser/subtle.ts","kind":"import-statement","original":"./subtle"},{"path":"packages/common/crypto/src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"packages/common/crypto/src/verify.ts","kind":"import-statement","original":"./verify"},{"path":"packages/common/crypto/src/uuid.ts","kind":"import-statement","original":"./uuid"}],"format":"esm"}},"outputs":{"packages/common/crypto/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6190},"packages/common/crypto/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","subtleCrypto","validateKeyPair","verify","verifySignature","webcrypto"],"entryPoint":"packages/common/crypto/src/index.ts","inputs":{"packages/common/crypto/src/keys.ts":{"bytesInOutput":2241},"packages/common/crypto/src/index.ts":{"bytesInOutput":0},"packages/common/crypto/src/browser/subtle.ts":{"bytesInOutput":58},"packages/common/crypto/src/validator.ts":{"bytesInOutput":238},"packages/common/crypto/src/verify.ts":{"bytesInOutput":405},"packages/common/crypto/src/uuid.ts":{"bytesInOutput":61}},"bytes":3498}}}
1
+ {"inputs":{"src/keys.ts":{"bytes":8284,"imports":[{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"src/browser/subtle.ts":{"bytes":880,"imports":[],"format":"esm"},"src/validator.ts":{"bytes":1470,"imports":[{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"src/verify.ts":{"bytes":2524,"imports":[{"path":"src/browser/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"src/uuid.ts":{"bytes":772,"imports":[{"path":"src/browser/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"src/index.ts":{"bytes":818,"imports":[{"path":"src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"src/browser/subtle.ts","kind":"import-statement","original":"./subtle"},{"path":"src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"src/verify.ts","kind":"import-statement","original":"./verify"},{"path":"src/uuid.ts","kind":"import-statement","original":"./uuid"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6193},"dist/lib/browser/index.mjs":{"imports":[{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","subtleCrypto","validateKeyPair","verify","verifySignature","webcrypto"],"entryPoint":"src/index.ts","inputs":{"src/keys.ts":{"bytesInOutput":2228},"src/index.ts":{"bytesInOutput":0},"src/browser/subtle.ts":{"bytesInOutput":58},"src/validator.ts":{"bytesInOutput":238},"src/verify.ts":{"bytesInOutput":405},"src/uuid.ts":{"bytesInOutput":61}},"bytes":3370}}}
@@ -1,10 +1,10 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
 
3
- // packages/common/crypto/src/keys.ts
3
+ // src/keys.ts
4
+ import crypto from "#hypercore-crypto";
4
5
  import { invariant } from "@dxos/invariant";
5
6
  import { PublicKey, PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH } from "@dxos/keys";
6
- import crypto from "#hypercore-crypto";
7
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/common/crypto/src/keys.ts";
7
+ var __dxlog_file = "/__w/dxos/dxos/packages/common/crypto/src/keys.ts";
8
8
  var SIGNATURE_LENGTH = 64;
9
9
  var createId = () => PublicKey.stringify(randomBytes(32));
10
10
  var createKeyPair = (seed) => {
@@ -80,17 +80,17 @@ var verify = (message, signature, publicKey) => {
80
80
  return crypto.verify(message, signature, publicKey);
81
81
  };
82
82
 
83
- // packages/common/crypto/src/subtle.ts
83
+ // src/subtle.ts
84
84
  import * as nodeCrypto from "node:crypto";
85
85
  var subtleCrypto = nodeCrypto.webcrypto.subtle;
86
86
  var webcrypto2 = nodeCrypto.webcrypto;
87
87
 
88
- // packages/common/crypto/src/validator.ts
89
- import { PublicKey as PublicKey2 } from "@dxos/keys";
88
+ // src/validator.ts
90
89
  import { verify as verify2 } from "#hypercore-crypto";
90
+ import { PublicKey as PublicKey2 } from "@dxos/keys";
91
91
  var getSignatureValidator = (publicKey) => (message, signature) => verify2(message, signature, PublicKey2.bufferize(publicKey));
92
92
 
93
- // packages/common/crypto/src/verify.ts
93
+ // src/verify.ts
94
94
  var verifySignature = async (key, message, signature, algorithm = {
95
95
  name: "ECDSA",
96
96
  namedCurve: "P-256"
@@ -109,7 +109,7 @@ var verifySignature = async (key, message, signature, algorithm = {
109
109
  }, publicKey, signature, message);
110
110
  };
111
111
 
112
- // packages/common/crypto/src/uuid.ts
112
+ // src/uuid.ts
113
113
  var randomUUID = () => {
114
114
  return webcrypto2.randomUUID();
115
115
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/keys.ts", "../../../src/subtle.ts", "../../../src/validator.ts", "../../../src/verify.ts", "../../../src/uuid.ts"],
4
- "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport { invariant } from '@dxos/invariant';\nimport { type KeyPair, PublicKey, type PublicKeyLike, PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH } from '@dxos/keys';\n\nimport crypto from '#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 2022 DXOS.org\n//\n\nimport * as nodeCrypto from 'node:crypto';\n\nexport const subtleCrypto = nodeCrypto.webcrypto.subtle;\n\nexport const webcrypto = nodeCrypto.webcrypto;\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { PublicKey } from '@dxos/keys';\n\nimport { verify } from '#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(), algorithm, true, ['verify']);\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,\n message,\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { webcrypto } from './subtle';\n\nexport const randomUUID = (): string => {\n return webcrypto.randomUUID();\n};\n"],
5
- "mappings": ";;;AAIA,SAASA,iBAAiB;AAC1B,SAAuBC,WAA+BC,mBAAmBC,yBAAyB;AAElG,OAAOC,YAAY;;AAEZ,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcL,UAAUM,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,aAAajB,UAAUmB,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,WAAWT,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOE,OAAOqB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AChEA,YAAYY,gBAAgB;AAErB,IAAMC,eAA0BC,qBAAUC;AAE1C,IAAMD,aAAuBA;;;ACJpC,SAASE,aAAAA,kBAAiB;AAE1B,SAASC,UAAAA,eAAc;AAMhB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EC,QAAOF,SAASC,WAAWE,WAAUC,UAAUL,SAAAA,CAAAA;;;ACF1C,IAAMM,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMC,aAAaC,UAAU,OAAOR,IAAIS,aAAY,GAAIN,WAAW,MAAM;MAAC;KAAS;EACjG,QAAQ;AACN,WAAO;EACT;AAEA,SAAOI,aAAaG,OAClB;IACEN,MAAMD,UAAUC;IAChBO,MAAM;EACR,GACAL,WACAJ,WACAD,OAAAA;AAEJ;;;AC5BO,IAAMW,aAAa,MAAA;AACxB,SAAOC,WAAUD,WAAU;AAC7B;",
6
- "names": ["invariant", "PublicKey", "PUBLIC_KEY_LENGTH", "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", "nodeCrypto", "subtleCrypto", "webcrypto", "subtle", "PublicKey", "verify", "getSignatureValidator", "publicKey", "message", "signature", "verify", "PublicKey", "bufferize", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "subtleCrypto", "importKey", "asUint8Array", "verify", "hash", "randomUUID", "webcrypto"]
4
+ "sourcesContent": ["//\n// Copyright 2020 DXOS.org\n//\n\nimport crypto from '#hypercore-crypto';\n\nimport { invariant } from '@dxos/invariant';\nimport { type KeyPair, PublicKey, type PublicKeyLike, PUBLIC_KEY_LENGTH, SECRET_KEY_LENGTH } from '@dxos/keys';\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 2022 DXOS.org\n//\n\nimport * as nodeCrypto from 'node:crypto';\n\nexport const subtleCrypto = nodeCrypto.webcrypto.subtle;\n\nexport const webcrypto = nodeCrypto.webcrypto;\n", "//\n// Copyright 2020 DXOS.org\n//\n\nimport { verify } from '#hypercore-crypto';\n\nimport { PublicKey } from '@dxos/keys';\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(), algorithm, true, ['verify']);\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,\n message,\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { webcrypto } from './subtle';\n\nexport const randomUUID = (): string => {\n return webcrypto.randomUUID();\n};\n"],
5
+ "mappings": ";;;AAIA,OAAOA,YAAY;AAEnB,SAASC,iBAAiB;AAC1B,SAAuBC,WAA+BC,mBAAmBC,yBAAyB;;AAE3F,IAAMC,mBAAmB;AAMzB,IAAMC,WAAW,MAAcJ,UAAUK,UAAUC,YAAY,EAAA,CAAA;AAE/D,IAAMC,gBAAgB,CAACC,SAAAA;AAC5B,MAAIA,MAAM;AACRT,cAAUS,KAAKC,UAAU,IAAI,gDAAA;;;;;;;;;AAC7B,WAAOX,OAAOY,QAAQF,KAAKG,MAAM,GAAG,EAAA,CAAA;EACtC;AAGA,SAAOb,OAAOY,QAAO;AACvB;AAGO,IAAME,kBAAkB,CAACC,WAAsBC,cACpDhB,OAAOc,gBAAgB;EAAEC,WAAWA,UAAUE,SAAQ;EAAID;AAAU,CAAA;AAG/D,IAAME,eAAe,CAACC,QAC3BnB,OAAOkB,aAAahB,UAAUkB,KAAKD,GAAAA,EAAKF,SAAQ,EAAGJ,MAAM,CAAA,CAAA;AAOpD,IAAML,cAAc,CAACG,SAAS,OAAeX,OAAOQ,YAAYG,MAAAA;AAQhE,IAAMU,OAAO,CAACC,SAAiBN,cAAAA;AACpCf,YAAUsB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BrB,YAAUsB,OAAOC,SAASR,SAAAA,KAAcA,UAAUL,WAAWP,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOJ,OAAOqB,KAAKC,SAASN,SAAAA;AAC9B;AASO,IAAMS,SAAS,CAACH,SAAiBI,WAAmBX,cAAAA;AACzDd,YAAUsB,OAAOC,SAASF,OAAAA,GAAAA,QAAAA;;;;;;;;;AAC1BrB,YAAUsB,OAAOC,SAASE,SAAAA,KAAcA,UAAUf,WAAWN,kBAAAA,QAAAA;;;;;;;;;AAC7DJ,YAAUsB,OAAOC,SAAST,SAAAA,KAAcA,UAAUJ,WAAWR,mBAAAA,QAAAA;;;;;;;;;AAE7D,SAAOH,OAAOyB,OAAOH,SAASI,WAAWX,SAAAA;AAC3C;;;AChEA,YAAYY,gBAAgB;AAErB,IAAMC,eAA0BC,qBAAUC;AAE1C,IAAMD,aAAuBA;;;ACJpC,SAASE,UAAAA,eAAc;AAEvB,SAASC,aAAAA,kBAAiB;AAMnB,IAAMC,wBAAwB,CAACC,cAAsB,CAACC,SAAiBC,cAC5EC,QAAOF,SAASC,WAAWE,WAAUC,UAAUL,SAAAA,CAAAA;;;ACF1C,IAAMM,kBAAkB,OAC7BC,KACAC,SACAC,WACAC,YAAmD;EAAEC,MAAM;EAASC,YAAY;AAAQ,MAAC;AAEzF,MAAIC;AAEJ,MAAI;AACFA,gBAAY,MAAMC,aAAaC,UAAU,OAAOR,IAAIS,aAAY,GAAIN,WAAW,MAAM;MAAC;KAAS;EACjG,QAAQ;AACN,WAAO;EACT;AAEA,SAAOI,aAAaG,OAClB;IACEN,MAAMD,UAAUC;IAChBO,MAAM;EACR,GACAL,WACAJ,WACAD,OAAAA;AAEJ;;;AC5BO,IAAMW,aAAa,MAAA;AACxB,SAAOC,WAAUD,WAAU;AAC7B;",
6
+ "names": ["crypto", "invariant", "PublicKey", "PUBLIC_KEY_LENGTH", "SECRET_KEY_LENGTH", "SIGNATURE_LENGTH", "createId", "stringify", "randomBytes", "createKeyPair", "seed", "length", "keyPair", "slice", "validateKeyPair", "publicKey", "secretKey", "asBuffer", "discoveryKey", "key", "from", "sign", "message", "Buffer", "isBuffer", "verify", "signature", "nodeCrypto", "subtleCrypto", "webcrypto", "subtle", "verify", "PublicKey", "getSignatureValidator", "publicKey", "message", "signature", "verify", "PublicKey", "bufferize", "verifySignature", "key", "message", "signature", "algorithm", "name", "namedCurve", "publicKey", "subtleCrypto", "importKey", "asUint8Array", "verify", "hash", "randomUUID", "webcrypto"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/common/crypto/src/keys.ts":{"bytes":8293,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"packages/common/crypto/src/signer.ts":{"bytes":778,"imports":[],"format":"esm"},"packages/common/crypto/src/subtle.ts":{"bytes":946,"imports":[{"path":"node:crypto","kind":"import-statement","external":true}],"format":"esm"},"packages/common/crypto/src/validator.ts":{"bytes":1483,"imports":[{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true}],"format":"esm"},"packages/common/crypto/src/verify.ts":{"bytes":2537,"imports":[{"path":"packages/common/crypto/src/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"packages/common/crypto/src/uuid.ts":{"bytes":785,"imports":[{"path":"packages/common/crypto/src/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"packages/common/crypto/src/index.ts":{"bytes":873,"imports":[{"path":"packages/common/crypto/src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"packages/common/crypto/src/signer.ts","kind":"import-statement","original":"./signer"},{"path":"packages/common/crypto/src/subtle.ts","kind":"import-statement","original":"./subtle"},{"path":"packages/common/crypto/src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"packages/common/crypto/src/verify.ts","kind":"import-statement","original":"./verify"},{"path":"packages/common/crypto/src/uuid.ts","kind":"import-statement","original":"./uuid"}],"format":"esm"}},"outputs":{"packages/common/crypto/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6213},"packages/common/crypto/dist/lib/node-esm/index.mjs":{"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","subtleCrypto","validateKeyPair","verify","verifySignature","webcrypto"],"entryPoint":"packages/common/crypto/src/index.ts","inputs":{"packages/common/crypto/src/keys.ts":{"bytesInOutput":2233},"packages/common/crypto/src/index.ts":{"bytesInOutput":0},"packages/common/crypto/src/subtle.ts":{"bytesInOutput":130},"packages/common/crypto/src/validator.ts":{"bytesInOutput":238},"packages/common/crypto/src/verify.ts":{"bytesInOutput":405},"packages/common/crypto/src/uuid.ts":{"bytesInOutput":62}},"bytes":3628}}}
1
+ {"inputs":{"src/keys.ts":{"bytes":8284,"imports":[{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"src/subtle.ts":{"bytes":933,"imports":[{"path":"node:crypto","kind":"import-statement","external":true}],"format":"esm"},"src/validator.ts":{"bytes":1470,"imports":[{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"format":"esm"},"src/verify.ts":{"bytes":2524,"imports":[{"path":"src/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"src/uuid.ts":{"bytes":772,"imports":[{"path":"src/subtle.ts","kind":"import-statement","original":"./subtle"}],"format":"esm"},"src/index.ts":{"bytes":818,"imports":[{"path":"src/keys.ts","kind":"import-statement","original":"./keys"},{"path":"src/subtle.ts","kind":"import-statement","original":"./subtle"},{"path":"src/validator.ts","kind":"import-statement","original":"./validator"},{"path":"src/verify.ts","kind":"import-statement","original":"./verify"},{"path":"src/uuid.ts","kind":"import-statement","original":"./uuid"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6216},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"node:crypto","kind":"import-statement","external":true},{"path":"#hypercore-crypto","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true}],"exports":["SIGNATURE_LENGTH","createId","createKeyPair","discoveryKey","getSignatureValidator","randomBytes","randomUUID","sign","subtleCrypto","validateKeyPair","verify","verifySignature","webcrypto"],"entryPoint":"src/index.ts","inputs":{"src/keys.ts":{"bytesInOutput":2220},"src/index.ts":{"bytesInOutput":0},"src/subtle.ts":{"bytesInOutput":130},"src/validator.ts":{"bytesInOutput":238},"src/verify.ts":{"bytesInOutput":405},"src/uuid.ts":{"bytesInOutput":62}},"bytes":3500}}}
@@ -1,5 +1,5 @@
1
1
  export * from './keys';
2
- export * from './signer';
2
+ export type * from './signer';
3
3
  export * from './subtle';
4
4
  export * from './validator';
5
5
  export * from './verify';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,mBAAmB,UAAU,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/keys.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAwC,MAAM,YAAY,CAAC;AAI/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,QACC,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":"AAOA,OAAO,EAAE,KAAK,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAwC,MAAM,YAAY,CAAC;AAE/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,QACC,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"}