@dxos/keys 0.8.4-main.2e9d522 → 0.8.4-main.3c1ae3b
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 +178 -156
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +178 -156
- 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 +32 -15
- package/dist/types/src/dxn.d.ts.map +1 -1
- package/dist/types/src/object-id.d.ts +50 -1
- package/dist/types/src/object-id.d.ts.map +1 -1
- package/dist/types/src/prng.d.ts +32 -0
- package/dist/types/src/prng.d.ts.map +1 -0
- package/dist/types/src/public-key.d.ts +2 -2
- package/dist/types/src/public-key.d.ts.map +1 -1
- package/dist/types/src/space-id.d.ts +2 -2
- package/dist/types/src/space-id.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -10
- package/src/dxn.ts +76 -56
- package/src/object-id.ts +94 -5
- package/src/prng.ts +54 -0
- package/src/public-key.ts +4 -3
- package/src/space-id.ts +3 -3
|
@@ -100,29 +100,70 @@ init_inject_globals();
|
|
|
100
100
|
|
|
101
101
|
// src/dxn.ts
|
|
102
102
|
init_inject_globals();
|
|
103
|
-
import
|
|
103
|
+
import * as Schema3 from "effect/Schema";
|
|
104
104
|
import { devtoolsFormatter, inspectCustom } from "@dxos/debug";
|
|
105
105
|
import { assertArgument, invariant as invariant2 } from "@dxos/invariant";
|
|
106
106
|
|
|
107
107
|
// src/object-id.ts
|
|
108
108
|
init_inject_globals();
|
|
109
|
-
import
|
|
110
|
-
import {
|
|
109
|
+
import * as Schema from "effect/Schema";
|
|
110
|
+
import { monotonicFactory } 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 {
|
|
116
|
+
static #factory = monotonicFactory();
|
|
117
|
+
static #seedTime = void 0;
|
|
116
118
|
static isValid(id) {
|
|
117
119
|
try {
|
|
118
120
|
Schema.decodeSync(ObjectId)(id);
|
|
119
121
|
return true;
|
|
120
|
-
} catch
|
|
122
|
+
} catch {
|
|
121
123
|
return false;
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
126
|
static random() {
|
|
125
|
-
return
|
|
127
|
+
return this.#factory(this.#seedTime);
|
|
128
|
+
}
|
|
129
|
+
static dangerouslyDisableRandomness() {
|
|
130
|
+
this.#factory = monotonicFactory(makeTestPRNG());
|
|
131
|
+
this.#seedTime = (/* @__PURE__ */ new Date("2025-01-01")).getTime();
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
var makeTestPRNG = () => {
|
|
135
|
+
const rng = new SimplePRNG();
|
|
136
|
+
return () => {
|
|
137
|
+
return rng.next();
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
var SimplePRNG = class _SimplePRNG {
|
|
141
|
+
#seed;
|
|
142
|
+
// LCG parameters (from Numerical Recipes)
|
|
143
|
+
static #a = 1664525;
|
|
144
|
+
static #c = 1013904223;
|
|
145
|
+
static #m = Math.pow(2, 32);
|
|
146
|
+
/**
|
|
147
|
+
* Creates a new PRNG instance.
|
|
148
|
+
* @param seed - Initial seed value. If not provided, uses 0.
|
|
149
|
+
*/
|
|
150
|
+
constructor(seed = 0) {
|
|
151
|
+
this.#seed = seed;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Generates the next pseudo-random number in the range [0, 1).
|
|
155
|
+
* @returns A pseudo-random number between 0 (inclusive) and 1 (exclusive).
|
|
156
|
+
*/
|
|
157
|
+
next() {
|
|
158
|
+
this.#seed = (_SimplePRNG.#a * this.#seed + _SimplePRNG.#c) % _SimplePRNG.#m;
|
|
159
|
+
return this.#seed / _SimplePRNG.#m;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Resets the generator with a new seed.
|
|
163
|
+
* @param seed - New seed value.
|
|
164
|
+
*/
|
|
165
|
+
reset(seed) {
|
|
166
|
+
this.#seed = seed;
|
|
126
167
|
}
|
|
127
168
|
};
|
|
128
169
|
|
|
@@ -194,7 +235,7 @@ function base32Encode(data, variant, options) {
|
|
|
194
235
|
}
|
|
195
236
|
|
|
196
237
|
// src/space-id.ts
|
|
197
|
-
import
|
|
238
|
+
import * as Schema2 from "effect/Schema";
|
|
198
239
|
import { invariant } from "@dxos/invariant";
|
|
199
240
|
|
|
200
241
|
// src/random-bytes.ts
|
|
@@ -214,114 +255,107 @@ var isValid = (value) => {
|
|
|
214
255
|
return typeof value === "string" && value.startsWith(MULTIBASE_PREFIX) && value.length === ENCODED_LENGTH;
|
|
215
256
|
};
|
|
216
257
|
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
|
-
}
|
|
258
|
+
static byteLength = 20;
|
|
259
|
+
static encode = (value) => {
|
|
260
|
+
invariant(value instanceof Uint8Array, "Invalid type", {
|
|
261
|
+
F: __dxlog_file,
|
|
262
|
+
L: 43,
|
|
263
|
+
S: this,
|
|
264
|
+
A: [
|
|
265
|
+
"value instanceof Uint8Array",
|
|
266
|
+
"'Invalid type'"
|
|
267
|
+
]
|
|
268
|
+
});
|
|
269
|
+
invariant(value.length === SpaceId.byteLength, "Invalid length", {
|
|
270
|
+
F: __dxlog_file,
|
|
271
|
+
L: 44,
|
|
272
|
+
S: this,
|
|
273
|
+
A: [
|
|
274
|
+
"value.length === SpaceId.byteLength",
|
|
275
|
+
"'Invalid length'"
|
|
276
|
+
]
|
|
277
|
+
});
|
|
278
|
+
return MULTIBASE_PREFIX + base32Encode(value, "RFC4648");
|
|
279
|
+
};
|
|
280
|
+
static decode = (value) => {
|
|
281
|
+
invariant(value.startsWith(MULTIBASE_PREFIX), "Invalid multibase32 encoding", {
|
|
282
|
+
F: __dxlog_file,
|
|
283
|
+
L: 49,
|
|
284
|
+
S: this,
|
|
285
|
+
A: [
|
|
286
|
+
"value.startsWith(MULTIBASE_PREFIX)",
|
|
287
|
+
"'Invalid multibase32 encoding'"
|
|
288
|
+
]
|
|
289
|
+
});
|
|
290
|
+
return new Uint8Array((0, import_base32_decode.default)(value.slice(1), "RFC4648"));
|
|
291
|
+
};
|
|
292
|
+
static isValid = isValid;
|
|
293
|
+
static random = () => {
|
|
294
|
+
return SpaceId.encode(randomBytes(SpaceId.byteLength));
|
|
295
|
+
};
|
|
265
296
|
};
|
|
266
297
|
|
|
267
298
|
// src/dxn.ts
|
|
268
299
|
var __dxlog_file2 = "/__w/dxos/dxos/packages/common/keys/src/dxn.ts";
|
|
269
300
|
var LOCAL_SPACE_TAG = "@";
|
|
301
|
+
var DXN_ECHO_REGEXP = /@(dxn:[a-zA-Z0-p:@]+)/;
|
|
270
302
|
var QueueSubspaceTags = Object.freeze({
|
|
271
303
|
DATA: "data",
|
|
272
304
|
TRACE: "trace"
|
|
273
305
|
});
|
|
274
306
|
var DXN = class _DXN {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}
|
|
307
|
+
// TODO(burdon): Rename to DXN (i.e., DXN.DXN).
|
|
308
|
+
// TODO(dmaretskyi): Should this be a transformation into the DXN type?
|
|
309
|
+
static Schema = Schema3.NonEmptyString.pipe(
|
|
310
|
+
Schema3.pattern(/^dxn:([^:]+):(?:[^:]+:?)+[^:]$/),
|
|
311
|
+
// TODO(dmaretskyi): To set the format we need to move the annotation IDs out of the echo-schema package.
|
|
312
|
+
// FormatAnnotation.set(TypeFormat.DXN),
|
|
313
|
+
Schema3.annotations({
|
|
314
|
+
title: "DXN",
|
|
315
|
+
description: "DXN URI",
|
|
316
|
+
examples: [
|
|
317
|
+
"dxn:type:example.com/type/MyType",
|
|
318
|
+
"dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6"
|
|
319
|
+
]
|
|
320
|
+
})
|
|
321
|
+
);
|
|
291
322
|
static hash(dxn) {
|
|
292
323
|
return dxn.toString();
|
|
293
324
|
}
|
|
294
|
-
|
|
325
|
+
/**
|
|
326
|
+
* Kind constants.
|
|
327
|
+
*/
|
|
328
|
+
static kind = Object.freeze({
|
|
295
329
|
/**
|
|
296
|
-
*
|
|
330
|
+
* dxn:type:<type_name>[:<version>]
|
|
297
331
|
*/
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
get kind() {
|
|
320
|
-
return this.#kind;
|
|
321
|
-
}
|
|
332
|
+
TYPE: "type",
|
|
333
|
+
/**
|
|
334
|
+
* dxn:echo:<space_id>:<echo_id>
|
|
335
|
+
* dxn:echo:@:<echo_id>
|
|
336
|
+
*/
|
|
337
|
+
// TODO(burdon): Rename to OBJECT? (BREAKING CHANGE to update "echo").
|
|
338
|
+
// TODO(burdon): Add separate Kind for space?
|
|
339
|
+
ECHO: "echo",
|
|
340
|
+
/**
|
|
341
|
+
* The subspace tag enables us to partition queues by usage within the context of a space.
|
|
342
|
+
* dxn:queue:<subspace_tag>:<space_id>:<queue_id>[:object_id]
|
|
343
|
+
* dxn:queue:data:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6
|
|
344
|
+
* dxn:queue:trace:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6
|
|
345
|
+
*/
|
|
346
|
+
QUEUE: "queue"
|
|
347
|
+
});
|
|
348
|
+
/**
|
|
349
|
+
* Exactly equals.
|
|
350
|
+
*/
|
|
322
351
|
static equals(a, b) {
|
|
323
352
|
return a.kind === b.kind && a.parts.length === b.parts.length && a.parts.every((part, i) => part === b.parts[i]);
|
|
324
353
|
}
|
|
354
|
+
static equalsEchoId(a, b) {
|
|
355
|
+
const a1 = a.asEchoDXN();
|
|
356
|
+
const b1 = b.asEchoDXN();
|
|
357
|
+
return !!a1 && !!b1 && a1.echoId === b1.echoId;
|
|
358
|
+
}
|
|
325
359
|
// TODO(burdon): Rename isValid.
|
|
326
360
|
static isDXNString(dxn) {
|
|
327
361
|
return dxn.startsWith("dxn:");
|
|
@@ -345,12 +379,12 @@ var DXN = class _DXN {
|
|
|
345
379
|
static tryParse(dxn) {
|
|
346
380
|
try {
|
|
347
381
|
return _DXN.parse(dxn);
|
|
348
|
-
} catch
|
|
382
|
+
} catch {
|
|
349
383
|
return void 0;
|
|
350
384
|
}
|
|
351
385
|
}
|
|
352
386
|
/**
|
|
353
|
-
* @example `dxn:type:example.com/type/
|
|
387
|
+
* @example `dxn:type:example.com/type/Person`
|
|
354
388
|
*/
|
|
355
389
|
static fromTypename(typename) {
|
|
356
390
|
return new _DXN(_DXN.kind.TYPE, [
|
|
@@ -358,7 +392,7 @@ var DXN = class _DXN {
|
|
|
358
392
|
]);
|
|
359
393
|
}
|
|
360
394
|
/**
|
|
361
|
-
* @example `dxn:type:example.com/type/
|
|
395
|
+
* @example `dxn:type:example.com/type/Person:0.1.0`
|
|
362
396
|
*/
|
|
363
397
|
// TODO(dmaretskyi): Consider using @ as the version separator.
|
|
364
398
|
static fromTypenameAndVersion(typename, version) {
|
|
@@ -368,43 +402,30 @@ var DXN = class _DXN {
|
|
|
368
402
|
]);
|
|
369
403
|
}
|
|
370
404
|
/**
|
|
405
|
+
* @example `dxn:echo:BA25QRC2FEWCSAMRP4RZL65LWJ7352CKE:01J00J9B45YHYSGZQTQMSKMGJ6`
|
|
406
|
+
*/
|
|
407
|
+
static fromSpaceAndObjectId(spaceId, objectId) {
|
|
408
|
+
assertArgument(SpaceId.isValid(spaceId), `Invalid space ID: ${spaceId}`);
|
|
409
|
+
assertArgument(ObjectId.isValid(objectId), "objectId", `Invalid object ID: ${objectId}`);
|
|
410
|
+
return new _DXN(_DXN.kind.ECHO, [
|
|
411
|
+
spaceId,
|
|
412
|
+
objectId
|
|
413
|
+
]);
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
371
416
|
* @example `dxn:echo:@:01J00J9B45YHYSGZQTQMSKMGJ6`
|
|
372
417
|
*/
|
|
373
418
|
static fromLocalObjectId(id) {
|
|
374
|
-
assertArgument(ObjectId.isValid(id), `Invalid object ID: ${id}`);
|
|
419
|
+
assertArgument(ObjectId.isValid(id), "id", `Invalid object ID: ${id}`);
|
|
375
420
|
return new _DXN(_DXN.kind.ECHO, [
|
|
376
421
|
LOCAL_SPACE_TAG,
|
|
377
422
|
id
|
|
378
423
|
]);
|
|
379
424
|
}
|
|
380
425
|
static fromQueue(subspaceTag, spaceId, queueId, objectId) {
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
S: this,
|
|
385
|
-
A: [
|
|
386
|
-
"SpaceId.isValid(spaceId)",
|
|
387
|
-
""
|
|
388
|
-
]
|
|
389
|
-
});
|
|
390
|
-
invariant2(ObjectId.isValid(queueId), void 0, {
|
|
391
|
-
F: __dxlog_file2,
|
|
392
|
-
L: 152,
|
|
393
|
-
S: this,
|
|
394
|
-
A: [
|
|
395
|
-
"ObjectId.isValid(queueId)",
|
|
396
|
-
""
|
|
397
|
-
]
|
|
398
|
-
});
|
|
399
|
-
invariant2(!objectId || ObjectId.isValid(objectId), void 0, {
|
|
400
|
-
F: __dxlog_file2,
|
|
401
|
-
L: 153,
|
|
402
|
-
S: this,
|
|
403
|
-
A: [
|
|
404
|
-
"!objectId || ObjectId.isValid(objectId)",
|
|
405
|
-
""
|
|
406
|
-
]
|
|
407
|
-
});
|
|
426
|
+
assertArgument(SpaceId.isValid(spaceId), `Invalid space ID: ${spaceId}`);
|
|
427
|
+
assertArgument(ObjectId.isValid(queueId), "queueId", `Invalid queue ID: ${queueId}`);
|
|
428
|
+
assertArgument(!objectId || ObjectId.isValid(objectId), "objectId", `Invalid object ID: ${objectId}`);
|
|
408
429
|
return new _DXN(_DXN.kind.QUEUE, [
|
|
409
430
|
subspaceTag,
|
|
410
431
|
spaceId,
|
|
@@ -417,33 +438,17 @@ var DXN = class _DXN {
|
|
|
417
438
|
#kind;
|
|
418
439
|
#parts;
|
|
419
440
|
constructor(kind, parts) {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
L: 162,
|
|
423
|
-
S: this,
|
|
424
|
-
A: [
|
|
425
|
-
"parts.length > 0",
|
|
426
|
-
""
|
|
427
|
-
]
|
|
428
|
-
});
|
|
429
|
-
invariant2(parts.every((part) => typeof part === "string" && part.length > 0 && part.indexOf(":") === -1), void 0, {
|
|
430
|
-
F: __dxlog_file2,
|
|
431
|
-
L: 163,
|
|
432
|
-
S: this,
|
|
433
|
-
A: [
|
|
434
|
-
"parts.every((part) => typeof part === 'string' && part.length > 0 && part.indexOf(':') === -1)",
|
|
435
|
-
""
|
|
436
|
-
]
|
|
437
|
-
});
|
|
441
|
+
assertArgument(parts.length > 0, "parts", `Invalid DXN: ${parts}`);
|
|
442
|
+
assertArgument(parts.every((part) => typeof part === "string" && part.length > 0 && part.indexOf(":") === -1), "parts", `Invalid DXN: ${parts}`);
|
|
438
443
|
switch (kind) {
|
|
439
444
|
case _DXN.kind.TYPE:
|
|
440
445
|
if (parts.length > 2) {
|
|
441
|
-
throw new Error(
|
|
446
|
+
throw new Error("Invalid DXN.kind.TYPE");
|
|
442
447
|
}
|
|
443
448
|
break;
|
|
444
449
|
case _DXN.kind.ECHO:
|
|
445
450
|
if (parts.length !== 2) {
|
|
446
|
-
throw new Error(
|
|
451
|
+
throw new Error("Invalid DXN.kind.ECHO");
|
|
447
452
|
}
|
|
448
453
|
break;
|
|
449
454
|
}
|
|
@@ -478,6 +483,9 @@ var DXN = class _DXN {
|
|
|
478
483
|
}
|
|
479
484
|
};
|
|
480
485
|
}
|
|
486
|
+
get kind() {
|
|
487
|
+
return this.#kind;
|
|
488
|
+
}
|
|
481
489
|
get parts() {
|
|
482
490
|
return this.#parts;
|
|
483
491
|
}
|
|
@@ -485,7 +493,7 @@ var DXN = class _DXN {
|
|
|
485
493
|
get typename() {
|
|
486
494
|
invariant2(this.#kind === _DXN.kind.TYPE, void 0, {
|
|
487
495
|
F: __dxlog_file2,
|
|
488
|
-
L:
|
|
496
|
+
L: 250,
|
|
489
497
|
S: this,
|
|
490
498
|
A: [
|
|
491
499
|
"this.#kind === DXN.kind.TYPE",
|
|
@@ -494,6 +502,9 @@ var DXN = class _DXN {
|
|
|
494
502
|
});
|
|
495
503
|
return this.#parts[0];
|
|
496
504
|
}
|
|
505
|
+
equals(other) {
|
|
506
|
+
return _DXN.equals(this, other);
|
|
507
|
+
}
|
|
497
508
|
hasTypenameOf(typename) {
|
|
498
509
|
return this.#kind === _DXN.kind.TYPE && this.#parts.length === 1 && this.#parts[0] === typename;
|
|
499
510
|
}
|
|
@@ -518,6 +529,7 @@ var DXN = class _DXN {
|
|
|
518
529
|
const [spaceId, echoId] = this.#parts;
|
|
519
530
|
return {
|
|
520
531
|
spaceId: spaceId === LOCAL_SPACE_TAG ? void 0 : spaceId,
|
|
532
|
+
// TODO(burdon): objectId.
|
|
521
533
|
echoId
|
|
522
534
|
};
|
|
523
535
|
}
|
|
@@ -536,6 +548,15 @@ var DXN = class _DXN {
|
|
|
536
548
|
objectId
|
|
537
549
|
};
|
|
538
550
|
}
|
|
551
|
+
/**
|
|
552
|
+
* Produces a new DXN with the given parts appended.
|
|
553
|
+
*/
|
|
554
|
+
extend(parts) {
|
|
555
|
+
return new _DXN(this.#kind, [
|
|
556
|
+
...this.#parts,
|
|
557
|
+
...parts
|
|
558
|
+
]);
|
|
559
|
+
}
|
|
539
560
|
};
|
|
540
561
|
|
|
541
562
|
// src/identity-did.ts
|
|
@@ -599,9 +620,8 @@ var PUBLIC_KEY_LENGTH = 32;
|
|
|
599
620
|
var SECRET_KEY_LENGTH = 64;
|
|
600
621
|
var isLikeArrayBuffer = (value) => typeof value === "object" && value !== null && Object.getPrototypeOf(value).constructor.name === "ArrayBuffer";
|
|
601
622
|
var PublicKey = class _PublicKey {
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
}
|
|
623
|
+
_value;
|
|
624
|
+
static ZERO = _PublicKey.from("00".repeat(PUBLIC_KEY_LENGTH));
|
|
605
625
|
/**
|
|
606
626
|
* Creates new instance of PublicKey automatically determining the input format.
|
|
607
627
|
* @param source A Buffer, or Uint8Array, or hex encoded string, or something with an `asUint8Array` method on it
|
|
@@ -610,7 +630,7 @@ var PublicKey = class _PublicKey {
|
|
|
610
630
|
static from(source) {
|
|
611
631
|
invariant4(source, void 0, {
|
|
612
632
|
F: __dxlog_file4,
|
|
613
|
-
L:
|
|
633
|
+
L: 50,
|
|
614
634
|
S: this,
|
|
615
635
|
A: [
|
|
616
636
|
"source",
|
|
@@ -702,7 +722,7 @@ var PublicKey = class _PublicKey {
|
|
|
702
722
|
static bufferize(str) {
|
|
703
723
|
invariant4(typeof str === "string", "Invalid type", {
|
|
704
724
|
F: __dxlog_file4,
|
|
705
|
-
L:
|
|
725
|
+
L: 153,
|
|
706
726
|
S: this,
|
|
707
727
|
A: [
|
|
708
728
|
"typeof str === 'string'",
|
|
@@ -725,7 +745,7 @@ var PublicKey = class _PublicKey {
|
|
|
725
745
|
}
|
|
726
746
|
invariant4(key instanceof Buffer2, "Invalid type", {
|
|
727
747
|
F: __dxlog_file4,
|
|
728
|
-
L:
|
|
748
|
+
L: 172,
|
|
729
749
|
S: this,
|
|
730
750
|
A: [
|
|
731
751
|
"key instanceof Buffer",
|
|
@@ -744,7 +764,7 @@ var PublicKey = class _PublicKey {
|
|
|
744
764
|
static fromMultibase32(encoded) {
|
|
745
765
|
invariant4(encoded.startsWith("B"), "Invalid multibase32 encoding", {
|
|
746
766
|
F: __dxlog_file4,
|
|
747
|
-
L:
|
|
767
|
+
L: 185,
|
|
748
768
|
S: this,
|
|
749
769
|
A: [
|
|
750
770
|
"encoded.startsWith('B')",
|
|
@@ -883,6 +903,7 @@ var PublicKey = class _PublicKey {
|
|
|
883
903
|
};
|
|
884
904
|
export {
|
|
885
905
|
DXN,
|
|
906
|
+
DXN_ECHO_REGEXP,
|
|
886
907
|
IdentityDid,
|
|
887
908
|
LOCAL_SPACE_TAG,
|
|
888
909
|
ObjectId,
|
|
@@ -890,6 +911,7 @@ export {
|
|
|
890
911
|
PublicKey,
|
|
891
912
|
QueueSubspaceTags,
|
|
892
913
|
SECRET_KEY_LENGTH,
|
|
914
|
+
SimplePRNG,
|
|
893
915
|
SpaceId
|
|
894
916
|
};
|
|
895
917
|
//# sourceMappingURL=index.mjs.map
|