@dxos/keys
Advanced tools
Comparing version 0.5.8-main.f69e6e4 to 0.5.8-next.4b7fabd
@@ -1,1 +0,1 @@ | ||
{"inputs":{"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js":{"bytes":1217,"imports":[],"format":"cjs"},"node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js":{"bytes":410,"imports":[],"format":"esm"},"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js":{"bytes":1266,"imports":[{"path":"node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js","kind":"import-statement","original":"to-data-view"}],"format":"esm"},"packages/common/keys/src/random-bytes.ts":{"bytes":1792,"imports":[{"path":"@dxos/node-std/crypto","kind":"require-call","external":true}],"format":"esm"},"packages/common/keys/src/public-key.ts":{"bytes":30143,"imports":[{"path":"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js","kind":"import-statement","original":"base32-decode"},{"path":"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js","kind":"import-statement","original":"base32-encode"},{"path":"@dxos/node-std/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/keys/src/random-bytes.ts","kind":"import-statement","original":"./random-bytes"}],"format":"esm"},"packages/common/keys/src/types.ts":{"bytes":528,"imports":[],"format":"esm"},"packages/common/keys/src/space-id.ts":{"bytes":5162,"imports":[{"path":"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js","kind":"import-statement","original":"base32-decode"},{"path":"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js","kind":"import-statement","original":"base32-encode"},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/keys/src/random-bytes.ts","kind":"import-statement","original":"./random-bytes"}],"format":"esm"},"packages/common/keys/src/index.ts":{"bytes":667,"imports":[{"path":"packages/common/keys/src/public-key.ts","kind":"import-statement","original":"./public-key"},{"path":"packages/common/keys/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/common/keys/src/space-id.ts","kind":"import-statement","original":"./space-id"}],"format":"esm"}},"outputs":{"packages/common/keys/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22643},"packages/common/keys/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/node-std/crypto","kind":"require-call","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["PUBLIC_KEY_LENGTH","PublicKey","SECRET_KEY_LENGTH","SpaceId"],"entryPoint":"packages/common/keys/src/index.ts","inputs":{"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js":{"bytesInOutput":1554},"packages/common/keys/src/public-key.ts":{"bytesInOutput":7653},"node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js":{"bytesInOutput":395},"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js":{"bytesInOutput":1206},"packages/common/keys/src/random-bytes.ts":{"bytesInOutput":214},"packages/common/keys/src/index.ts":{"bytesInOutput":0},"packages/common/keys/src/space-id.ts":{"bytesInOutput":1431}},"bytes":14705}}} | ||
{"inputs":{"packages/common/keys/src/public-key.ts":{"bytes":29335,"imports":[{"path":"@dxos/node-std/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/node-std/crypto","kind":"require-call","external":true}],"format":"esm"},"packages/common/keys/src/types.ts":{"bytes":673,"imports":[],"format":"esm"},"packages/common/keys/src/index.ts":{"bytes":579,"imports":[{"path":"packages/common/keys/src/public-key.ts","kind":"import-statement","original":"./public-key"},{"path":"packages/common/keys/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"}},"outputs":{"packages/common/keys/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13773},"packages/common/keys/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/node-std/util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/node-std/crypto","kind":"require-call","external":true}],"exports":["PUBLIC_KEY_LENGTH","PublicKey","SECRET_KEY_LENGTH"],"entryPoint":"packages/common/keys/src/index.ts","inputs":{"packages/common/keys/src/public-key.ts":{"bytesInOutput":7265},"packages/common/keys/src/index.ts":{"bytesInOutput":0}},"bytes":7778}}} |
@@ -1,1 +0,1 @@ | ||
{"inputs":{"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js":{"bytes":1217,"imports":[],"format":"cjs"},"node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js":{"bytes":410,"imports":[],"format":"esm"},"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js":{"bytes":1266,"imports":[{"path":"node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js","kind":"import-statement","original":"to-data-view"}],"format":"esm"},"packages/common/keys/src/random-bytes.ts":{"bytes":1792,"imports":[{"path":"node:crypto","kind":"require-call","external":true}],"format":"esm"},"packages/common/keys/src/public-key.ts":{"bytes":30143,"imports":[{"path":"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js","kind":"import-statement","original":"base32-decode"},{"path":"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js","kind":"import-statement","original":"base32-encode"},{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/keys/src/random-bytes.ts","kind":"import-statement","original":"./random-bytes"}],"format":"esm"},"packages/common/keys/src/types.ts":{"bytes":528,"imports":[],"format":"esm"},"packages/common/keys/src/space-id.ts":{"bytes":5162,"imports":[{"path":"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js","kind":"import-statement","original":"base32-decode"},{"path":"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js","kind":"import-statement","original":"base32-encode"},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/common/keys/src/random-bytes.ts","kind":"import-statement","original":"./random-bytes"}],"format":"esm"},"packages/common/keys/src/index.ts":{"bytes":667,"imports":[{"path":"packages/common/keys/src/public-key.ts","kind":"import-statement","original":"./public-key"},{"path":"packages/common/keys/src/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/common/keys/src/space-id.ts","kind":"import-statement","original":"./space-id"}],"format":"esm"}},"outputs":{"packages/common/keys/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22642},"packages/common/keys/dist/lib/node/index.cjs":{"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:crypto","kind":"require-call","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["PUBLIC_KEY_LENGTH","PublicKey","SECRET_KEY_LENGTH","SpaceId"],"entryPoint":"packages/common/keys/src/index.ts","inputs":{"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js":{"bytesInOutput":1554},"packages/common/keys/src/public-key.ts":{"bytesInOutput":7643},"node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js":{"bytesInOutput":395},"node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js":{"bytesInOutput":1206},"packages/common/keys/src/random-bytes.ts":{"bytesInOutput":204},"packages/common/keys/src/index.ts":{"bytesInOutput":0},"packages/common/keys/src/space-id.ts":{"bytesInOutput":1431}},"bytes":14685}}} | ||
{"inputs":{"packages/common/keys/src/public-key.ts":{"bytes":29335,"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:crypto","kind":"require-call","external":true}],"format":"esm"},"packages/common/keys/src/types.ts":{"bytes":673,"imports":[],"format":"esm"},"packages/common/keys/src/index.ts":{"bytes":579,"imports":[{"path":"packages/common/keys/src/public-key.ts","kind":"import-statement","original":"./public-key"},{"path":"packages/common/keys/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"}},"outputs":{"packages/common/keys/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13772},"packages/common/keys/dist/lib/node/index.cjs":{"imports":[{"path":"node:util","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"node:crypto","kind":"require-call","external":true}],"exports":["PUBLIC_KEY_LENGTH","PublicKey","SECRET_KEY_LENGTH"],"entryPoint":"packages/common/keys/src/index.ts","inputs":{"packages/common/keys/src/public-key.ts":{"bytesInOutput":7245},"packages/common/keys/src/index.ts":{"bytesInOutput":0}},"bytes":7758}}} |
export * from './public-key'; | ||
export * from './types'; | ||
export * from './space-id'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -38,3 +38,2 @@ /// <reference types="node" /> | ||
static random(): PublicKey; | ||
static randomOfLength(length: number): PublicKey; | ||
static randomSequence(): Generator<PublicKey>; | ||
@@ -70,3 +69,2 @@ /** | ||
static hash(key: PublicKey): string; | ||
static fromMultibase32(encoded: string): PublicKey; | ||
constructor(_value: Uint8Array); | ||
@@ -78,3 +76,2 @@ toString(): string; | ||
toHex(): string; | ||
toMultibase32(): string; | ||
truncate(length?: undefined): string; | ||
@@ -81,0 +78,0 @@ asBuffer(): Buffer; |
{ | ||
"name": "@dxos/keys", | ||
"version": "0.5.8-main.f69e6e4", | ||
"version": "0.5.8-next.4b7fabd", | ||
"description": "Key utils and definitions.", | ||
@@ -24,10 +24,6 @@ "homepage": "https://dxos.org", | ||
"dependencies": { | ||
"@dxos/debug": "0.5.8-main.f69e6e4", | ||
"@dxos/invariant": "0.5.8-main.f69e6e4", | ||
"@dxos/node-std": "0.5.8-main.f69e6e4" | ||
"@dxos/debug": "0.5.8-next.4b7fabd", | ||
"@dxos/invariant": "0.5.8-next.4b7fabd", | ||
"@dxos/node-std": "0.5.8-next.4b7fabd" | ||
}, | ||
"devDependencies": { | ||
"base32-decode": "^1.0.0", | ||
"base32-encode": "^2.0.0" | ||
}, | ||
"publishConfig": { | ||
@@ -34,0 +30,0 @@ "access": "public" |
@@ -7,2 +7,1 @@ // | ||
export * from './types'; | ||
export * from './space-id'; |
@@ -63,9 +63,2 @@ // | ||
}); | ||
test('base32', () => { | ||
const key = PublicKey.randomOfLength(20); // Space keys will be cut to first 20 bytes of sha-256 hash. | ||
const encoded = key.toMultibase32(); | ||
expect(PublicKey.fromMultibase32(encoded).toHex()).to.equal(key.toHex()); | ||
}); | ||
}); |
@@ -5,4 +5,2 @@ // | ||
import base32Decode from 'base32-decode'; | ||
import base32Encode from 'base32-encode'; | ||
import { inspect, type InspectOptionsStylized } from 'node:util'; | ||
@@ -13,4 +11,2 @@ | ||
import { randomBytes } from './random-bytes'; | ||
export const PUBLIC_KEY_LENGTH = 32; | ||
@@ -98,6 +94,2 @@ export const SECRET_KEY_LENGTH = 64; | ||
static randomOfLength(length: number): PublicKey { | ||
return PublicKey.from(randomBytes(length)); | ||
} | ||
static *randomSequence(): Generator<PublicKey> { | ||
@@ -171,8 +163,2 @@ for (let i = 0; i < 1_0000; i++) { | ||
static fromMultibase32(encoded: string): PublicKey { | ||
invariant(encoded.startsWith('B'), 'Invalid multibase32 encoding'); | ||
return new PublicKey(new Uint8Array(base32Decode(encoded.slice(1), 'RFC4648'))); | ||
} | ||
constructor(private readonly _value: Uint8Array) { | ||
@@ -204,6 +190,2 @@ if (!(_value instanceof Uint8Array)) { | ||
toMultibase32(): string { | ||
return 'B' + base32Encode(this._value, 'RFC4648'); | ||
} | ||
truncate(length = undefined) { | ||
@@ -317,1 +299,11 @@ return truncateKey(this, length); | ||
} | ||
const randomBytes = (length: number) => { | ||
// globalThis.crypto is not available in Node.js when running in vitest even though the documentation says it should be. | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
const webCrypto = globalThis.crypto ?? require('node:crypto').webcrypto; | ||
const bytes = new Uint8Array(length); | ||
webCrypto.getRandomValues(bytes); | ||
return bytes; | ||
}; |
@@ -5,2 +5,3 @@ // | ||
// TODO(burdon): Replace with hypercore-crypto type. | ||
export type KeyPair = { | ||
@@ -7,0 +8,0 @@ publicKey: Buffer; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
0
65617
21
1019
+ Added@dxos/debug@0.5.8-next.4b7fabd(transitive)
+ Added@dxos/invariant@0.5.8-next.4b7fabd(transitive)
+ Added@dxos/node-std@0.5.8-next.4b7fabd(transitive)
- Removed@dxos/debug@0.5.8-main.f69e6e4(transitive)
- Removed@dxos/invariant@0.5.8-main.f69e6e4(transitive)
- Removed@dxos/node-std@0.5.8-main.f69e6e4(transitive)