@dxos/keys 0.8.3 → 0.8.4-main.28f8d3d
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/dist/lib/browser/index.mjs +158 -185
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +156 -183
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/dxn.d.ts +16 -6
- package/dist/types/src/dxn.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/public-key.d.ts +2 -2
- package/dist/types/src/public-key.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -10
- package/src/dxn.ts +60 -32
- package/src/index.ts +1 -1
- package/src/object-id.ts +2 -2
- package/src/public-key.ts +4 -3
- package/src/random-bytes.ts +1 -1
- package/dist/lib/node/index.cjs +0 -866
- package/dist/lib/node/index.cjs.map +0 -7
- package/dist/lib/node/meta.json +0 -1
|
@@ -44,9 +44,9 @@ var init_inject_globals = __esm({
|
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
|
|
47
|
-
// node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js
|
|
47
|
+
// ../../../node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js
|
|
48
48
|
var require_base32_decode = __commonJS({
|
|
49
|
-
"node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js"(exports, module) {
|
|
49
|
+
"../../../node_modules/.pnpm/base32-decode@1.0.0/node_modules/base32-decode/index.js"(exports, module) {
|
|
50
50
|
init_inject_globals();
|
|
51
51
|
var RFC46482 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
|
|
52
52
|
var RFC4648_HEX2 = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
|
|
@@ -95,21 +95,21 @@ var require_base32_decode = __commonJS({
|
|
|
95
95
|
}
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
//
|
|
98
|
+
// src/index.ts
|
|
99
99
|
init_inject_globals();
|
|
100
100
|
|
|
101
|
-
//
|
|
101
|
+
// src/dxn.ts
|
|
102
102
|
init_inject_globals();
|
|
103
103
|
import { Schema as Schema3 } from "effect";
|
|
104
104
|
import { devtoolsFormatter, inspectCustom } from "@dxos/debug";
|
|
105
|
-
import { invariant as invariant2 } from "@dxos/invariant";
|
|
105
|
+
import { assertArgument, invariant as invariant2 } from "@dxos/invariant";
|
|
106
106
|
|
|
107
|
-
//
|
|
107
|
+
// src/object-id.ts
|
|
108
108
|
init_inject_globals();
|
|
109
109
|
import { Schema } from "effect";
|
|
110
110
|
import { ulid } from "ulidx";
|
|
111
111
|
var ObjectIdSchema = Schema.String.pipe(Schema.pattern(/^[0-7][0-9A-HJKMNP-TV-Z]{25}$/i)).annotations({
|
|
112
|
-
description: "
|
|
112
|
+
description: "A Universally Unique Lexicographically Sortable Identifier",
|
|
113
113
|
pattern: "^[0-7][0-9A-HJKMNP-TV-Z]{25}$"
|
|
114
114
|
});
|
|
115
115
|
var ObjectId = class extends ObjectIdSchema {
|
|
@@ -117,7 +117,7 @@ var ObjectId = class extends ObjectIdSchema {
|
|
|
117
117
|
try {
|
|
118
118
|
Schema.decodeSync(ObjectId)(id);
|
|
119
119
|
return true;
|
|
120
|
-
} catch
|
|
120
|
+
} catch {
|
|
121
121
|
return false;
|
|
122
122
|
}
|
|
123
123
|
}
|
|
@@ -126,14 +126,14 @@ var ObjectId = class extends ObjectIdSchema {
|
|
|
126
126
|
}
|
|
127
127
|
};
|
|
128
128
|
|
|
129
|
-
//
|
|
129
|
+
// src/space-id.ts
|
|
130
130
|
init_inject_globals();
|
|
131
131
|
var import_base32_decode = __toESM(require_base32_decode(), 1);
|
|
132
132
|
|
|
133
|
-
// node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js
|
|
133
|
+
// ../../../node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js
|
|
134
134
|
init_inject_globals();
|
|
135
135
|
|
|
136
|
-
// node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js
|
|
136
|
+
// ../../../node_modules/.pnpm/to-data-view@2.0.0/node_modules/to-data-view/index.js
|
|
137
137
|
init_inject_globals();
|
|
138
138
|
function toDataView(data) {
|
|
139
139
|
if (data instanceof Int8Array || data instanceof Uint8Array || data instanceof Uint8ClampedArray) {
|
|
@@ -145,7 +145,7 @@ function toDataView(data) {
|
|
|
145
145
|
throw new TypeError("Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray");
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
// node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js
|
|
148
|
+
// ../../../node_modules/.pnpm/base32-encode@2.0.0/node_modules/base32-encode/index.js
|
|
149
149
|
var RFC4648 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
|
|
150
150
|
var RFC4648_HEX = "0123456789ABCDEFGHIJKLMNOPQRSTUV";
|
|
151
151
|
var CROCKFORD = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
@@ -193,11 +193,11 @@ function base32Encode(data, variant, options) {
|
|
|
193
193
|
return output;
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
//
|
|
196
|
+
// src/space-id.ts
|
|
197
197
|
import { Schema as Schema2 } from "effect";
|
|
198
198
|
import { invariant } from "@dxos/invariant";
|
|
199
199
|
|
|
200
|
-
//
|
|
200
|
+
// src/random-bytes.ts
|
|
201
201
|
init_inject_globals();
|
|
202
202
|
var randomBytes = (length) => {
|
|
203
203
|
const webCrypto = globalThis.crypto ?? __require("@dxos/node-std/crypto").webcrypto;
|
|
@@ -206,116 +206,104 @@ var randomBytes = (length) => {
|
|
|
206
206
|
return bytes;
|
|
207
207
|
};
|
|
208
208
|
|
|
209
|
-
//
|
|
210
|
-
var __dxlog_file = "/
|
|
209
|
+
// src/space-id.ts
|
|
210
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/common/keys/src/space-id.ts";
|
|
211
211
|
var MULTIBASE_PREFIX = "B";
|
|
212
212
|
var ENCODED_LENGTH = 33;
|
|
213
213
|
var isValid = (value) => {
|
|
214
214
|
return typeof value === "string" && value.startsWith(MULTIBASE_PREFIX) && value.length === ENCODED_LENGTH;
|
|
215
215
|
};
|
|
216
216
|
var SpaceId = class extends Schema2.String.pipe(Schema2.filter(isValid)) {
|
|
217
|
-
static
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
static {
|
|
258
|
-
this.isValid = isValid;
|
|
259
|
-
}
|
|
260
|
-
static {
|
|
261
|
-
this.random = () => {
|
|
262
|
-
return SpaceId.encode(randomBytes(SpaceId.byteLength));
|
|
263
|
-
};
|
|
264
|
-
}
|
|
217
|
+
static byteLength = 20;
|
|
218
|
+
static encode = (value) => {
|
|
219
|
+
invariant(value instanceof Uint8Array, "Invalid type", {
|
|
220
|
+
F: __dxlog_file,
|
|
221
|
+
L: 43,
|
|
222
|
+
S: this,
|
|
223
|
+
A: [
|
|
224
|
+
"value instanceof Uint8Array",
|
|
225
|
+
"'Invalid type'"
|
|
226
|
+
]
|
|
227
|
+
});
|
|
228
|
+
invariant(value.length === SpaceId.byteLength, "Invalid length", {
|
|
229
|
+
F: __dxlog_file,
|
|
230
|
+
L: 44,
|
|
231
|
+
S: this,
|
|
232
|
+
A: [
|
|
233
|
+
"value.length === SpaceId.byteLength",
|
|
234
|
+
"'Invalid length'"
|
|
235
|
+
]
|
|
236
|
+
});
|
|
237
|
+
return MULTIBASE_PREFIX + base32Encode(value, "RFC4648");
|
|
238
|
+
};
|
|
239
|
+
static decode = (value) => {
|
|
240
|
+
invariant(value.startsWith(MULTIBASE_PREFIX), "Invalid multibase32 encoding", {
|
|
241
|
+
F: __dxlog_file,
|
|
242
|
+
L: 49,
|
|
243
|
+
S: this,
|
|
244
|
+
A: [
|
|
245
|
+
"value.startsWith(MULTIBASE_PREFIX)",
|
|
246
|
+
"'Invalid multibase32 encoding'"
|
|
247
|
+
]
|
|
248
|
+
});
|
|
249
|
+
return new Uint8Array((0, import_base32_decode.default)(value.slice(1), "RFC4648"));
|
|
250
|
+
};
|
|
251
|
+
static isValid = isValid;
|
|
252
|
+
static random = () => {
|
|
253
|
+
return SpaceId.encode(randomBytes(SpaceId.byteLength));
|
|
254
|
+
};
|
|
265
255
|
};
|
|
266
256
|
|
|
267
|
-
//
|
|
268
|
-
var __dxlog_file2 = "/
|
|
257
|
+
// src/dxn.ts
|
|
258
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/keys/src/dxn.ts";
|
|
269
259
|
var LOCAL_SPACE_TAG = "@";
|
|
260
|
+
var DXN_ECHO_REGEXP = /@(dxn:[a-zA-Z0-p:@]+)/;
|
|
270
261
|
var QueueSubspaceTags = Object.freeze({
|
|
271
262
|
DATA: "data",
|
|
272
263
|
TRACE: "trace"
|
|
273
264
|
});
|
|
274
265
|
var DXN = class _DXN {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}
|
|
266
|
+
// TODO(burdon): Rename to DXN (i.e., DXN.DXN).
|
|
267
|
+
// TODO(dmaretskyi): Should this be a transformation into the DXN type?
|
|
268
|
+
static Schema = Schema3.NonEmptyString.pipe(
|
|
269
|
+
Schema3.pattern(/^dxn:([^:]+):(?:[^:]+:?)+[^:]$/),
|
|
270
|
+
// TODO(dmaretskyi): To set the format we need to move the annotation IDs out of the echo-schema package.
|
|
271
|
+
// FormatAnnotation.set(FormatEnum.DXN),
|
|
272
|
+
Schema3.annotations({
|
|
273
|
+
title: "DXN",
|
|
274
|
+
description: "DXN URI",
|
|
275
|
+
examples: [
|
|
276
|
+
"dxn:type:example.com/type/MyType",
|
|
277
|
+
"dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"
|
|
278
|
+
]
|
|
279
|
+
})
|
|
280
|
+
);
|
|
291
281
|
static hash(dxn) {
|
|
292
282
|
return dxn.toString();
|
|
293
283
|
}
|
|
294
|
-
|
|
284
|
+
/**
|
|
285
|
+
* Kind constants.
|
|
286
|
+
*/
|
|
287
|
+
static kind = Object.freeze({
|
|
295
288
|
/**
|
|
296
|
-
*
|
|
289
|
+
* dxn:type:<type name>[:<version>]
|
|
297
290
|
*/
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
* dxn:queue:trace:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6
|
|
315
|
-
*/
|
|
316
|
-
QUEUE: "queue"
|
|
317
|
-
});
|
|
318
|
-
}
|
|
291
|
+
TYPE: "type",
|
|
292
|
+
/**
|
|
293
|
+
* dxn:echo:<space id>:<echo id>
|
|
294
|
+
* dxn:echo:@:<echo id>
|
|
295
|
+
*/
|
|
296
|
+
// TODO(burdon): Rename to OBJECT? (BREAKING CHANGE).
|
|
297
|
+
// TODO(burdon): Add separate Kind for space.
|
|
298
|
+
ECHO: "echo",
|
|
299
|
+
/**
|
|
300
|
+
* The subspace tag enables us to partition queues by usage within the context of a space.
|
|
301
|
+
* dxn:queue:<subspace_tag>:<space_id>:<queue_id>[:object_id]
|
|
302
|
+
* dxn:queue:data:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6
|
|
303
|
+
* dxn:queue:trace:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6
|
|
304
|
+
*/
|
|
305
|
+
QUEUE: "queue"
|
|
306
|
+
});
|
|
319
307
|
get kind() {
|
|
320
308
|
return this.#kind;
|
|
321
309
|
}
|
|
@@ -345,7 +333,7 @@ var DXN = class _DXN {
|
|
|
345
333
|
static tryParse(dxn) {
|
|
346
334
|
try {
|
|
347
335
|
return _DXN.parse(dxn);
|
|
348
|
-
} catch
|
|
336
|
+
} catch {
|
|
349
337
|
return void 0;
|
|
350
338
|
}
|
|
351
339
|
}
|
|
@@ -368,42 +356,30 @@ var DXN = class _DXN {
|
|
|
368
356
|
]);
|
|
369
357
|
}
|
|
370
358
|
/**
|
|
359
|
+
* @example `dxn:echo:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6`
|
|
360
|
+
*/
|
|
361
|
+
static fromSpaceAndObjectId(spaceId, objectId) {
|
|
362
|
+
assertArgument(SpaceId.isValid(spaceId), `Invalid space ID: ${spaceId}`);
|
|
363
|
+
assertArgument(ObjectId.isValid(objectId), `Invalid object ID: ${objectId}`);
|
|
364
|
+
return new _DXN(_DXN.kind.ECHO, [
|
|
365
|
+
spaceId,
|
|
366
|
+
objectId
|
|
367
|
+
]);
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
371
370
|
* @example `dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6`
|
|
372
371
|
*/
|
|
373
372
|
static fromLocalObjectId(id) {
|
|
373
|
+
assertArgument(ObjectId.isValid(id), `Invalid object ID: ${id}`);
|
|
374
374
|
return new _DXN(_DXN.kind.ECHO, [
|
|
375
375
|
LOCAL_SPACE_TAG,
|
|
376
376
|
id
|
|
377
377
|
]);
|
|
378
378
|
}
|
|
379
379
|
static fromQueue(subspaceTag, spaceId, queueId, objectId) {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
S: this,
|
|
384
|
-
A: [
|
|
385
|
-
"SpaceId.isValid(spaceId)",
|
|
386
|
-
""
|
|
387
|
-
]
|
|
388
|
-
});
|
|
389
|
-
invariant2(ObjectId.isValid(queueId), void 0, {
|
|
390
|
-
F: __dxlog_file2,
|
|
391
|
-
L: 151,
|
|
392
|
-
S: this,
|
|
393
|
-
A: [
|
|
394
|
-
"ObjectId.isValid(queueId)",
|
|
395
|
-
""
|
|
396
|
-
]
|
|
397
|
-
});
|
|
398
|
-
invariant2(!objectId || ObjectId.isValid(objectId), void 0, {
|
|
399
|
-
F: __dxlog_file2,
|
|
400
|
-
L: 152,
|
|
401
|
-
S: this,
|
|
402
|
-
A: [
|
|
403
|
-
"!objectId || ObjectId.isValid(objectId)",
|
|
404
|
-
""
|
|
405
|
-
]
|
|
406
|
-
});
|
|
380
|
+
assertArgument(SpaceId.isValid(spaceId), `Invalid space ID: ${spaceId}`);
|
|
381
|
+
assertArgument(ObjectId.isValid(queueId), `Invalid queue ID: ${queueId}`);
|
|
382
|
+
assertArgument(!objectId || ObjectId.isValid(objectId), `Invalid object ID: ${objectId}`);
|
|
407
383
|
return new _DXN(_DXN.kind.QUEUE, [
|
|
408
384
|
subspaceTag,
|
|
409
385
|
spaceId,
|
|
@@ -416,24 +392,8 @@ var DXN = class _DXN {
|
|
|
416
392
|
#kind;
|
|
417
393
|
#parts;
|
|
418
394
|
constructor(kind, parts) {
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
L: 161,
|
|
422
|
-
S: this,
|
|
423
|
-
A: [
|
|
424
|
-
"parts.length > 0",
|
|
425
|
-
""
|
|
426
|
-
]
|
|
427
|
-
});
|
|
428
|
-
invariant2(parts.every((part) => typeof part === "string" && part.length > 0 && part.indexOf(":") === -1), void 0, {
|
|
429
|
-
F: __dxlog_file2,
|
|
430
|
-
L: 162,
|
|
431
|
-
S: this,
|
|
432
|
-
A: [
|
|
433
|
-
"parts.every((part) => typeof part === 'string' && part.length > 0 && part.indexOf(':') === -1)",
|
|
434
|
-
""
|
|
435
|
-
]
|
|
436
|
-
});
|
|
395
|
+
assertArgument(parts.length > 0, `Invalid DXN: ${parts}`);
|
|
396
|
+
assertArgument(parts.every((part) => typeof part === "string" && part.length > 0 && part.indexOf(":") === -1), `Invalid DXN: ${parts}`);
|
|
437
397
|
switch (kind) {
|
|
438
398
|
case _DXN.kind.TYPE:
|
|
439
399
|
if (parts.length > 2) {
|
|
@@ -449,6 +409,34 @@ var DXN = class _DXN {
|
|
|
449
409
|
this.#kind = kind;
|
|
450
410
|
this.#parts = parts;
|
|
451
411
|
}
|
|
412
|
+
toString() {
|
|
413
|
+
return `dxn:${this.#kind}:${this.#parts.join(":")}`;
|
|
414
|
+
}
|
|
415
|
+
toJSON() {
|
|
416
|
+
return this.toString();
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Used by Node.js to get textual representation of this object when it's printed with a `console.log` statement.
|
|
420
|
+
*/
|
|
421
|
+
[inspectCustom](depth, options, inspectFn) {
|
|
422
|
+
const printControlCode = (code) => {
|
|
423
|
+
return `\x1B[${code}m`;
|
|
424
|
+
};
|
|
425
|
+
return printControlCode(inspectFn.colors.blueBright[0]) + this.toString() + printControlCode(inspectFn.colors.reset[0]);
|
|
426
|
+
}
|
|
427
|
+
get [devtoolsFormatter]() {
|
|
428
|
+
return {
|
|
429
|
+
header: () => {
|
|
430
|
+
return [
|
|
431
|
+
"span",
|
|
432
|
+
{
|
|
433
|
+
style: "font-weight: bold;"
|
|
434
|
+
},
|
|
435
|
+
this.toString()
|
|
436
|
+
];
|
|
437
|
+
}
|
|
438
|
+
};
|
|
439
|
+
}
|
|
452
440
|
get parts() {
|
|
453
441
|
return this.#parts;
|
|
454
442
|
}
|
|
@@ -456,7 +444,7 @@ var DXN = class _DXN {
|
|
|
456
444
|
get typename() {
|
|
457
445
|
invariant2(this.#kind === _DXN.kind.TYPE, void 0, {
|
|
458
446
|
F: __dxlog_file2,
|
|
459
|
-
L:
|
|
447
|
+
L: 234,
|
|
460
448
|
S: this,
|
|
461
449
|
A: [
|
|
462
450
|
"this.#kind === DXN.kind.TYPE",
|
|
@@ -477,6 +465,7 @@ var DXN = class _DXN {
|
|
|
477
465
|
}
|
|
478
466
|
const [type, version] = this.#parts;
|
|
479
467
|
return {
|
|
468
|
+
// TODO(wittjosiah): Should be `typename` for consistency.
|
|
480
469
|
type,
|
|
481
470
|
version
|
|
482
471
|
};
|
|
@@ -506,38 +495,22 @@ var DXN = class _DXN {
|
|
|
506
495
|
objectId
|
|
507
496
|
};
|
|
508
497
|
}
|
|
509
|
-
toString() {
|
|
510
|
-
return `dxn:${this.#kind}:${this.#parts.join(":")}`;
|
|
511
|
-
}
|
|
512
498
|
/**
|
|
513
|
-
*
|
|
499
|
+
* Produces a new DXN with the given parts appended.
|
|
514
500
|
*/
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
}
|
|
521
|
-
get [devtoolsFormatter]() {
|
|
522
|
-
return {
|
|
523
|
-
header: () => {
|
|
524
|
-
return [
|
|
525
|
-
"span",
|
|
526
|
-
{
|
|
527
|
-
style: "font-weight: bold;"
|
|
528
|
-
},
|
|
529
|
-
this.toString()
|
|
530
|
-
];
|
|
531
|
-
}
|
|
532
|
-
};
|
|
501
|
+
extend(parts) {
|
|
502
|
+
return new _DXN(this.#kind, [
|
|
503
|
+
...this.#parts,
|
|
504
|
+
...parts
|
|
505
|
+
]);
|
|
533
506
|
}
|
|
534
507
|
};
|
|
535
508
|
|
|
536
|
-
//
|
|
509
|
+
// src/identity-did.ts
|
|
537
510
|
init_inject_globals();
|
|
538
511
|
var import_base32_decode2 = __toESM(require_base32_decode(), 1);
|
|
539
512
|
import { invariant as invariant3 } from "@dxos/invariant";
|
|
540
|
-
var __dxlog_file3 = "/
|
|
513
|
+
var __dxlog_file3 = "/__w/dxos/dxos/packages/common/keys/src/identity-did.ts";
|
|
541
514
|
var IdentityDid = Object.freeze({
|
|
542
515
|
byteLength: 20,
|
|
543
516
|
encode: (value) => {
|
|
@@ -584,19 +557,18 @@ var MULTIBASE_PREFIX2 = "B";
|
|
|
584
557
|
var DID_PREFIX = "did:halo:";
|
|
585
558
|
var ENCODED_LENGTH2 = 42;
|
|
586
559
|
|
|
587
|
-
//
|
|
560
|
+
// src/public-key.ts
|
|
588
561
|
init_inject_globals();
|
|
589
562
|
var import_base32_decode3 = __toESM(require_base32_decode(), 1);
|
|
590
563
|
import { devtoolsFormatter as devtoolsFormatter2, equalsSymbol, inspectCustom as inspectCustom2, truncateKey } from "@dxos/debug";
|
|
591
564
|
import { invariant as invariant4 } from "@dxos/invariant";
|
|
592
|
-
var __dxlog_file4 = "/
|
|
565
|
+
var __dxlog_file4 = "/__w/dxos/dxos/packages/common/keys/src/public-key.ts";
|
|
593
566
|
var PUBLIC_KEY_LENGTH = 32;
|
|
594
567
|
var SECRET_KEY_LENGTH = 64;
|
|
595
568
|
var isLikeArrayBuffer = (value) => typeof value === "object" && value !== null && Object.getPrototypeOf(value).constructor.name === "ArrayBuffer";
|
|
596
569
|
var PublicKey = class _PublicKey {
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
}
|
|
570
|
+
_value;
|
|
571
|
+
static ZERO = _PublicKey.from("00".repeat(PUBLIC_KEY_LENGTH));
|
|
600
572
|
/**
|
|
601
573
|
* Creates new instance of PublicKey automatically determining the input format.
|
|
602
574
|
* @param source A Buffer, or Uint8Array, or hex encoded string, or something with an `asUint8Array` method on it
|
|
@@ -605,7 +577,7 @@ var PublicKey = class _PublicKey {
|
|
|
605
577
|
static from(source) {
|
|
606
578
|
invariant4(source, void 0, {
|
|
607
579
|
F: __dxlog_file4,
|
|
608
|
-
L:
|
|
580
|
+
L: 50,
|
|
609
581
|
S: this,
|
|
610
582
|
A: [
|
|
611
583
|
"source",
|
|
@@ -697,7 +669,7 @@ var PublicKey = class _PublicKey {
|
|
|
697
669
|
static bufferize(str) {
|
|
698
670
|
invariant4(typeof str === "string", "Invalid type", {
|
|
699
671
|
F: __dxlog_file4,
|
|
700
|
-
L:
|
|
672
|
+
L: 153,
|
|
701
673
|
S: this,
|
|
702
674
|
A: [
|
|
703
675
|
"typeof str === 'string'",
|
|
@@ -720,7 +692,7 @@ var PublicKey = class _PublicKey {
|
|
|
720
692
|
}
|
|
721
693
|
invariant4(key instanceof Buffer2, "Invalid type", {
|
|
722
694
|
F: __dxlog_file4,
|
|
723
|
-
L:
|
|
695
|
+
L: 172,
|
|
724
696
|
S: this,
|
|
725
697
|
A: [
|
|
726
698
|
"key instanceof Buffer",
|
|
@@ -739,7 +711,7 @@ var PublicKey = class _PublicKey {
|
|
|
739
711
|
static fromMultibase32(encoded) {
|
|
740
712
|
invariant4(encoded.startsWith("B"), "Invalid multibase32 encoding", {
|
|
741
713
|
F: __dxlog_file4,
|
|
742
|
-
L:
|
|
714
|
+
L: 185,
|
|
743
715
|
S: this,
|
|
744
716
|
A: [
|
|
745
717
|
"encoded.startsWith('B')",
|
|
@@ -878,6 +850,7 @@ var PublicKey = class _PublicKey {
|
|
|
878
850
|
};
|
|
879
851
|
export {
|
|
880
852
|
DXN,
|
|
853
|
+
DXN_ECHO_REGEXP,
|
|
881
854
|
IdentityDid,
|
|
882
855
|
LOCAL_SPACE_TAG,
|
|
883
856
|
ObjectId,
|