keri 0.0.0-dev.5e5dc7c → 0.0.0-dev.7443496
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/README.md +3 -0
- package/dist/cesr/array-utils.d.ts +3 -0
- package/dist/cesr/array-utils.js +29 -0
- package/dist/cesr/array-utils.js.map +1 -0
- package/dist/cesr/attachments-reader.d.ts +10 -0
- package/dist/cesr/attachments-reader.js +281 -0
- package/dist/cesr/attachments-reader.js.map +1 -0
- package/dist/cesr/attachments.d.ts +66 -0
- package/dist/cesr/attachments.js +108 -0
- package/dist/cesr/attachments.js.map +1 -0
- package/dist/cesr/codes.d.ts +1208 -0
- package/dist/cesr/codes.js +309 -0
- package/dist/cesr/codes.js.map +1 -0
- package/dist/cesr/counter.d.ts +114 -0
- package/dist/cesr/counter.js +78 -0
- package/dist/cesr/counter.js.map +1 -0
- package/dist/cesr/frame.d.ts +31 -0
- package/dist/cesr/frame.js +99 -0
- package/dist/cesr/frame.js.map +1 -0
- package/dist/cesr/genus.d.ts +18 -0
- package/dist/cesr/genus.js +57 -0
- package/dist/cesr/genus.js.map +1 -0
- package/dist/cesr/groups/generic-map.d.ts +11 -0
- package/dist/cesr/groups/generic-map.js +51 -0
- package/dist/cesr/groups/generic-map.js.map +1 -0
- package/dist/cesr/indexer.d.ts +68 -0
- package/dist/cesr/indexer.js +171 -0
- package/dist/cesr/indexer.js.map +1 -0
- package/dist/cesr/main.d.ts +9 -0
- package/dist/cesr/main.js +10 -0
- package/dist/cesr/main.js.map +1 -0
- package/dist/cesr/matter.d.ts +160 -0
- package/dist/cesr/matter.js +301 -0
- package/dist/cesr/matter.js.map +1 -0
- package/dist/cesr/message.d.ts +17 -0
- package/dist/cesr/message.js +81 -0
- package/dist/cesr/message.js.map +1 -0
- package/dist/cesr/parse.d.ts +37 -0
- package/dist/cesr/parse.js +138 -0
- package/dist/cesr/parse.js.map +1 -0
- package/dist/cesr/shifting.d.ts +7 -0
- package/dist/cesr/shifting.js +10 -0
- package/dist/cesr/shifting.js.map +1 -0
- package/dist/cesr/version-string.d.ts +35 -0
- package/dist/cesr/version-string.js +146 -0
- package/dist/cesr/version-string.js.map +1 -0
- package/dist/cli/cli.d.ts +5 -0
- package/dist/cli/cli.js +73 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/input.d.ts +1 -0
- package/dist/cli/input.js +22 -0
- package/dist/cli/input.js.map +1 -0
- package/dist/cli/node-cli.d.ts +2 -0
- package/dist/cli/node-cli.js +19 -0
- package/dist/cli/node-cli.js.map +1 -0
- package/dist/controller/controller.d.ts +17 -29
- package/dist/controller/controller.js +64 -8
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/main.d.ts +1 -0
- package/dist/controller/main.js +2 -0
- package/dist/controller/main.js.map +1 -0
- package/dist/core/credential-event.d.ts +5 -9
- package/dist/core/credential-event.js +1 -1
- package/dist/core/credential-event.js.map +1 -1
- package/dist/core/credential.d.ts +1 -1
- package/dist/core/credential.js +1 -1
- package/dist/core/credential.js.map +1 -1
- package/dist/core/digest.js +3 -3
- package/dist/core/digest.js.map +1 -1
- package/dist/core/endpoint-discovery.d.ts +4 -4
- package/dist/core/endpoint-discovery.js.map +1 -1
- package/dist/core/events.js +2 -2
- package/dist/core/events.js.map +1 -1
- package/dist/core/kawa.d.ts +2 -2
- package/dist/core/kawa.js +7 -37
- package/dist/core/kawa.js.map +1 -1
- package/dist/core/key-event-log.d.ts +12 -6
- package/dist/core/key-event-log.js +13 -11
- package/dist/core/key-event-log.js.map +1 -1
- package/dist/core/key-event.d.ts +7 -9
- package/dist/core/key-event.js +1 -1
- package/dist/core/key-event.js.map +1 -1
- package/dist/core/keys.d.ts +2 -1
- package/dist/core/keys.js +10 -10
- package/dist/core/keys.js.map +1 -1
- package/dist/core/mailbox-client.d.ts +7 -1
- package/dist/core/mailbox-client.js +37 -19
- package/dist/core/mailbox-client.js.map +1 -1
- package/dist/core/main.d.ts +17 -10
- package/dist/core/main.js +5 -3
- package/dist/core/main.js.map +1 -1
- package/dist/core/receipt-event.d.ts +2 -2
- package/dist/core/receipt-event.js +1 -1
- package/dist/core/receipt-event.js.map +1 -1
- package/dist/core/registry-event.d.ts +3 -5
- package/dist/core/registry-event.js +1 -1
- package/dist/core/registry-event.js.map +1 -1
- package/dist/core/routed-event.d.ts +7 -13
- package/dist/core/routed-event.js +1 -1
- package/dist/core/routed-event.js.map +1 -1
- package/dist/core/said.js +9 -6
- package/dist/core/said.js.map +1 -1
- package/dist/core/sign.js +3 -3
- package/dist/core/sign.js.map +1 -1
- package/dist/core/verify.d.ts +11 -2
- package/dist/core/verify.js +30 -11
- package/dist/core/verify.js.map +1 -1
- package/dist/core/witness-client.d.ts +8 -0
- package/dist/core/witness-client.js +39 -0
- package/dist/core/witness-client.js.map +1 -0
- package/dist/encoding/base64.d.ts +4 -0
- package/dist/encoding/base64.js +82 -0
- package/dist/encoding/base64.js.map +1 -0
- package/dist/encoding/main.d.ts +2 -0
- package/dist/encoding/main.js +3 -0
- package/dist/encoding/main.js.map +1 -0
- package/dist/encoding/utf8.d.ts +2 -0
- package/dist/encoding/utf8.js +9 -0
- package/dist/encoding/utf8.js.map +1 -0
- package/dist/logging/main.d.ts +15 -0
- package/dist/logging/main.js +25 -0
- package/dist/logging/main.js.map +1 -0
- package/dist/mailbox/mailbox-router.d.ts +6 -0
- package/dist/mailbox/mailbox-router.js +88 -0
- package/dist/mailbox/mailbox-router.js.map +1 -0
- package/dist/mailbox/mailbox.d.ts +27 -0
- package/dist/mailbox/mailbox.js +101 -0
- package/dist/mailbox/mailbox.js.map +1 -0
- package/dist/mailbox/main.d.ts +3 -0
- package/dist/mailbox/main.js +3 -0
- package/dist/mailbox/main.js.map +1 -0
- package/dist/main.d.ts +2 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/nodejs-utils/main.d.ts +2 -0
- package/dist/nodejs-utils/main.js +2 -0
- package/dist/nodejs-utils/main.js.map +1 -0
- package/dist/nodejs-utils/serve.d.ts +6 -0
- package/dist/nodejs-utils/serve.js +68 -0
- package/dist/nodejs-utils/serve.js.map +1 -0
- package/dist/{storage/sqlite/storage-sqlite.d.ts → sqlite-storage/main.d.ts} +9 -7
- package/dist/{storage/sqlite/storage-sqlite.js → sqlite-storage/main.js} +33 -9
- package/dist/sqlite-storage/main.js.map +1 -0
- package/dist/sqlite-storage/node-sqlite.js.map +1 -0
- package/dist/sqlite-storage/schema.js +67 -0
- package/dist/sqlite-storage/schema.js.map +1 -0
- package/dist/sqlite-storage/sqlite-database.js.map +1 -0
- package/dist/storage/credential-storage.d.ts +8 -0
- package/dist/storage/credential-storage.js +2 -0
- package/dist/storage/credential-storage.js.map +1 -0
- package/dist/storage/key-event-storage.d.ts +10 -0
- package/dist/storage/key-event-storage.js +2 -0
- package/dist/storage/key-event-storage.js.map +1 -0
- package/dist/storage/mailbox-server-storage.d.ts +9 -0
- package/dist/storage/mailbox-server-storage.js +2 -0
- package/dist/storage/mailbox-server-storage.js.map +1 -0
- package/dist/storage/mailbox-storage.d.ts +4 -0
- package/dist/storage/mailbox-storage.js +2 -0
- package/dist/storage/mailbox-storage.js.map +1 -0
- package/dist/storage/main.d.ts +5 -0
- package/dist/storage/main.js +2 -0
- package/dist/storage/main.js.map +1 -0
- package/dist/storage/private-key-storage.d.ts +5 -0
- package/dist/storage/private-key-storage.js +2 -0
- package/dist/storage/private-key-storage.js.map +1 -0
- package/dist/witness/main.d.ts +3 -0
- package/dist/witness/main.js +3 -0
- package/dist/witness/main.js.map +1 -0
- package/dist/witness/witness-router.d.ts +6 -0
- package/dist/witness/witness-router.js +120 -0
- package/dist/witness/witness-router.js.map +1 -0
- package/dist/witness/witness.d.ts +26 -0
- package/dist/witness/witness.js +156 -0
- package/dist/witness/witness.js.map +1 -0
- package/package.json +28 -24
- package/dist/storage/sqlite/node-sqlite.js.map +0 -1
- package/dist/storage/sqlite/schema.js +0 -49
- package/dist/storage/sqlite/schema.js.map +0 -1
- package/dist/storage/sqlite/sqlite-database.js.map +0 -1
- package/dist/storage/sqlite/storage-sqlite.js.map +0 -1
- /package/dist/{storage/sqlite → sqlite-storage}/node-sqlite.d.ts +0 -0
- /package/dist/{storage/sqlite → sqlite-storage}/node-sqlite.js +0 -0
- /package/dist/{storage/sqlite → sqlite-storage}/schema.d.ts +0 -0
- /package/dist/{storage/sqlite → sqlite-storage}/sqlite-database.d.ts +0 -0
- /package/dist/{storage/sqlite → sqlite-storage}/sqlite-database.js +0 -0
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import { Message } from "cesr";
|
|
2
|
-
import type {
|
|
3
|
-
export
|
|
1
|
+
import { Message } from "../cesr/main.ts";
|
|
2
|
+
import type { InceptEventBody, InteractEventBody, KeyEventBody, KeyState, RotateEventBody } from "./key-event.ts";
|
|
3
|
+
export interface AppendOptions {
|
|
4
|
+
/** Allow appending an event whose controller signatures don't meet the signing threshold. Individual signatures that are present must still be cryptographically valid. */
|
|
5
|
+
allowPartiallySigned?: boolean;
|
|
6
|
+
/** Allow appending an event whose witness signatures don't meet the backer threshold. Individual signatures that are present must still be cryptographically valid. */
|
|
7
|
+
allowPartiallyWitnessed?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type { InceptEventBody as InceptEvent, InteractEventBody as InteractEvent, KeyState, RotateEventBody as RotateEvent, };
|
|
4
10
|
export declare class KeyEventLog {
|
|
5
11
|
#private;
|
|
6
12
|
private constructor();
|
|
7
13
|
static empty(): KeyEventLog;
|
|
8
|
-
static from(events: Iterable<Message<KeyEventBody
|
|
9
|
-
static parse(stream: AsyncIterable<Uint8Array
|
|
14
|
+
static from(events: Iterable<Message<KeyEventBody>>, options?: AppendOptions): KeyEventLog;
|
|
15
|
+
static parse(stream: AsyncIterable<Uint8Array>, options?: AppendOptions): Promise<KeyEventLog>;
|
|
10
16
|
get state(): KeyState;
|
|
11
17
|
get events(): Message<KeyEventBody>[];
|
|
12
|
-
append(message: Message<KeyEventBody
|
|
18
|
+
append(message: Message<KeyEventBody>, options?: AppendOptions): KeyEventLog;
|
|
13
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Message, parse } from "cesr";
|
|
2
|
-
import {
|
|
1
|
+
import { Message, parse } from "../cesr/main.js";
|
|
2
|
+
import { verifySignaturesOrThrow, verifyThresholdOrThrow } from "./verify.js";
|
|
3
3
|
export class KeyEventLog {
|
|
4
4
|
#events;
|
|
5
5
|
#state;
|
|
@@ -10,19 +10,19 @@ export class KeyEventLog {
|
|
|
10
10
|
static empty() {
|
|
11
11
|
return new KeyEventLog([], null);
|
|
12
12
|
}
|
|
13
|
-
static from(events) {
|
|
13
|
+
static from(events, options) {
|
|
14
14
|
let log = KeyEventLog.empty();
|
|
15
15
|
for (const event of events) {
|
|
16
|
-
log = log.append(event);
|
|
16
|
+
log = log.append(event, options);
|
|
17
17
|
}
|
|
18
18
|
return log;
|
|
19
19
|
}
|
|
20
|
-
static async parse(stream) {
|
|
20
|
+
static async parse(stream, options) {
|
|
21
21
|
let log = KeyEventLog.empty();
|
|
22
22
|
for await (const message of parse(stream)) {
|
|
23
23
|
// TODO: Verify that the message is a valid KeyEventBody before casting
|
|
24
24
|
if (message.body.t === "icp" || message.body.t === "ixn" || message.body.t === "rot") {
|
|
25
|
-
log = log.append(message);
|
|
25
|
+
log = log.append(message, options);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
return log;
|
|
@@ -36,11 +36,13 @@ export class KeyEventLog {
|
|
|
36
36
|
get events() {
|
|
37
37
|
return this.#events;
|
|
38
38
|
}
|
|
39
|
-
append(message) {
|
|
39
|
+
append(message, options) {
|
|
40
40
|
const sigs = message.attachments.ControllerIdxSigs ?? [];
|
|
41
41
|
const wigs = message.attachments.WitnessIdxSigs ?? [];
|
|
42
42
|
const body = message.body;
|
|
43
43
|
const bodyRaw = new Message(body).raw;
|
|
44
|
+
const verifySigning = options?.allowPartiallySigned ? verifySignaturesOrThrow : verifyThresholdOrThrow;
|
|
45
|
+
const verifyWitness = options?.allowPartiallyWitnessed ? verifySignaturesOrThrow : verifyThresholdOrThrow;
|
|
44
46
|
switch (body.t) {
|
|
45
47
|
case "icp": {
|
|
46
48
|
if (this.#state !== null) {
|
|
@@ -50,13 +52,13 @@ export class KeyEventLog {
|
|
|
50
52
|
if (!icp.k || !Array.isArray(icp.k) || icp.k.length === 0) {
|
|
51
53
|
throw new Error("Inception event must have at least one key");
|
|
52
54
|
}
|
|
53
|
-
|
|
55
|
+
verifySigning(bodyRaw, {
|
|
54
56
|
keys: icp.k,
|
|
55
57
|
threshold: icp.kt,
|
|
56
58
|
sigs,
|
|
57
59
|
});
|
|
58
60
|
if (icp.b && Array.isArray(icp.b) && icp.b.length > 0) {
|
|
59
|
-
|
|
61
|
+
verifyWitness(bodyRaw, {
|
|
60
62
|
keys: icp.b,
|
|
61
63
|
threshold: icp.bt,
|
|
62
64
|
sigs: wigs,
|
|
@@ -70,13 +72,13 @@ export class KeyEventLog {
|
|
|
70
72
|
throw new Error("State must be initialized before applying interact or rotate events");
|
|
71
73
|
}
|
|
72
74
|
const state = this.#state;
|
|
73
|
-
|
|
75
|
+
verifySigning(bodyRaw, {
|
|
74
76
|
keys: state.signingKeys,
|
|
75
77
|
threshold: state.signingThreshold,
|
|
76
78
|
sigs,
|
|
77
79
|
});
|
|
78
80
|
if (state.backers && state.backers.length > 0) {
|
|
79
|
-
|
|
81
|
+
verifyWitness(bodyRaw, {
|
|
80
82
|
keys: state.backers,
|
|
81
83
|
threshold: state.backerThreshold,
|
|
82
84
|
sigs: wigs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-event-log.js","sourceRoot":"","sources":["../../src/core/key-event-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"key-event-log.js","sourceRoot":"","sources":["../../src/core/key-event-log.ts"],"names":[],"mappings":"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"}
|
package/dist/core/key-event.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Message } from "cesr";
|
|
1
|
+
import { Message } from "../cesr/main.ts";
|
|
2
2
|
import type { Threshold } from "./threshold.ts";
|
|
3
3
|
export interface KeyState {
|
|
4
4
|
identifier: string;
|
|
@@ -39,7 +39,7 @@ export interface RotateArgs {
|
|
|
39
39
|
ba?: string[];
|
|
40
40
|
bt?: string;
|
|
41
41
|
}
|
|
42
|
-
export type
|
|
42
|
+
export type InceptEventBody = {
|
|
43
43
|
v: string;
|
|
44
44
|
t: "icp";
|
|
45
45
|
d: string;
|
|
@@ -54,7 +54,7 @@ export type InceptEvent = {
|
|
|
54
54
|
c: string[];
|
|
55
55
|
a: Record<string, unknown>[];
|
|
56
56
|
};
|
|
57
|
-
export type
|
|
57
|
+
export type InteractEventBody = {
|
|
58
58
|
v: string;
|
|
59
59
|
t: "ixn";
|
|
60
60
|
d: string;
|
|
@@ -63,7 +63,7 @@ export type InteractEvent = {
|
|
|
63
63
|
p: string;
|
|
64
64
|
a: Record<string, unknown>[];
|
|
65
65
|
};
|
|
66
|
-
export type
|
|
66
|
+
export type RotateEventBody = {
|
|
67
67
|
v: string;
|
|
68
68
|
t: "rot";
|
|
69
69
|
d: string;
|
|
@@ -89,8 +89,6 @@ export type KeyEventBody = {
|
|
|
89
89
|
[key: string]: unknown;
|
|
90
90
|
};
|
|
91
91
|
export type KeyEvent<T extends KeyEventBody = KeyEventBody> = Message<T>;
|
|
92
|
-
export declare function incept(args: InceptArgs):
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
export declare function interact(state: KeyState, args?: InteractArgs): KeyEvent<InteractEvent>;
|
|
96
|
-
export declare function rotate(state: KeyState, args: RotateArgs): KeyEvent<RotateEvent>;
|
|
92
|
+
export declare function incept(args: InceptArgs): KeyEvent<InceptEventBody>;
|
|
93
|
+
export declare function interact(state: KeyState, args?: InteractArgs): KeyEvent<InteractEventBody>;
|
|
94
|
+
export declare function rotate(state: KeyState, args: RotateArgs): KeyEvent<RotateEventBody>;
|
package/dist/core/key-event.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-event.js","sourceRoot":"","sources":["../../src/core/key-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"key-event.js","sourceRoot":"","sources":["../../src/core/key-event.ts"],"names":[],"mappings":"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"}
|
package/dist/core/keys.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface KeyPair {
|
|
|
4
4
|
publicKeyDigest: string;
|
|
5
5
|
}
|
|
6
6
|
export interface GenerateKeyPairOptions {
|
|
7
|
+
seed?: string;
|
|
7
8
|
nonTransferable?: boolean;
|
|
8
9
|
}
|
|
9
|
-
export declare function generateKeyPair(
|
|
10
|
+
export declare function generateKeyPair(options?: GenerateKeyPairOptions): KeyPair;
|
package/dist/core/keys.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { ed25519 } from "@noble/curves/ed25519.js";
|
|
2
2
|
import { blake3 } from "@noble/hashes/blake3.js";
|
|
3
|
-
import {
|
|
4
|
-
export function generateKeyPair(
|
|
5
|
-
const privateKey = seed
|
|
6
|
-
? blake3(new TextEncoder().encode(seed), { dkLen: 32 })
|
|
3
|
+
import { encodeText, Matter } from "../cesr/main.js";
|
|
4
|
+
export function generateKeyPair(options) {
|
|
5
|
+
const privateKey = options?.seed
|
|
6
|
+
? blake3(new TextEncoder().encode(options.seed), { dkLen: 32 })
|
|
7
7
|
: crypto.getRandomValues(new Uint8Array(32));
|
|
8
8
|
const rawPublicKey = ed25519.getPublicKey(privateKey);
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
const code = options?.nonTransferable ? Matter.Code.Ed25519N : Matter.Code.Ed25519;
|
|
10
|
+
const publicKey = encodeText(new Matter({ code, raw: rawPublicKey }));
|
|
11
|
+
const publicKeyDigest = encodeText(new Matter({
|
|
12
|
+
code: Matter.Code.Blake3_256,
|
|
13
|
+
raw: blake3.create({ dkLen: 32 }).update(new TextEncoder().encode(publicKey)).digest(),
|
|
14
|
+
}));
|
|
15
15
|
return { privateKey, publicKey, publicKeyDigest };
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=keys.js.map
|
package/dist/core/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/core/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/core/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAarD,MAAM,UAAU,eAAe,CAAC,OAAgC;IAC9D,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI;QAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC/D,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IACnF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAEtE,MAAM,eAAe,GAAG,UAAU,CAChC,IAAI,MAAM,CAAC;QACT,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;QAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE;KACvF,CAAC,CACH,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Message } from "cesr";
|
|
1
|
+
import { type Message } from "../cesr/main.ts";
|
|
2
2
|
export interface MailboxClientOptions {
|
|
3
3
|
/**
|
|
4
4
|
* The SAID of the mailbox controller.
|
|
@@ -8,8 +8,14 @@ export interface MailboxClientOptions {
|
|
|
8
8
|
* The URL of the mailbox server to send messages to.
|
|
9
9
|
*/
|
|
10
10
|
url: string;
|
|
11
|
+
/**
|
|
12
|
+
* Optional fetch implementation to use for sending messages.
|
|
13
|
+
* Defaults to the global `fetch` function.
|
|
14
|
+
*/
|
|
15
|
+
fetch?: typeof globalThis.fetch;
|
|
11
16
|
}
|
|
12
17
|
export declare class MailboxClient {
|
|
18
|
+
#private;
|
|
13
19
|
readonly url: string;
|
|
14
20
|
readonly id: string;
|
|
15
21
|
constructor(options: MailboxClientOptions);
|
|
@@ -1,20 +1,53 @@
|
|
|
1
|
-
import { parse } from "cesr";
|
|
1
|
+
import { encodeText, parse } from "../cesr/main.js";
|
|
2
|
+
async function parseEventStream(body) {
|
|
3
|
+
const reader = body.getReader();
|
|
4
|
+
const decoder = new TextDecoder();
|
|
5
|
+
const messages = [];
|
|
6
|
+
let buffer = "";
|
|
7
|
+
async function flushLine(line) {
|
|
8
|
+
if (line.startsWith("data: ")) {
|
|
9
|
+
messages.push(...(await Array.fromAsync(parse(line.slice(6)))));
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
while (true) {
|
|
13
|
+
const { done, value } = await reader.read();
|
|
14
|
+
if (done) {
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
buffer += decoder.decode(value, { stream: true });
|
|
18
|
+
const lines = buffer.split("\n");
|
|
19
|
+
buffer = lines.pop() ?? "";
|
|
20
|
+
for (const line of lines) {
|
|
21
|
+
await flushLine(line);
|
|
22
|
+
}
|
|
23
|
+
// Long-poll SSE servers (e.g. KERIpy) keep the stream open after sending
|
|
24
|
+
// a snapshot. Once we have at least one message, stop reading and return.
|
|
25
|
+
if (messages.length > 0) {
|
|
26
|
+
await reader.cancel();
|
|
27
|
+
return messages;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
await flushLine(buffer);
|
|
31
|
+
return messages;
|
|
32
|
+
}
|
|
2
33
|
export class MailboxClient {
|
|
3
34
|
url;
|
|
4
35
|
id;
|
|
36
|
+
#fetch;
|
|
5
37
|
constructor(options) {
|
|
6
38
|
this.url = options.url;
|
|
7
39
|
this.id = options.id;
|
|
40
|
+
this.#fetch = options.fetch ?? globalThis.fetch;
|
|
8
41
|
}
|
|
9
42
|
async sendMessage(message, signal) {
|
|
10
43
|
const url = new URL("/", this.url);
|
|
11
44
|
const body = JSON.stringify(message.body);
|
|
12
45
|
const headers = {
|
|
13
46
|
"Content-Type": "application/cesr+json",
|
|
14
|
-
"CESR-ATTACHMENT": message.attachments.
|
|
47
|
+
"CESR-ATTACHMENT": encodeText(message.attachments.frames()),
|
|
15
48
|
"CESR-DESTINATION": this.id,
|
|
16
49
|
};
|
|
17
|
-
const response = await fetch(url, {
|
|
50
|
+
const response = await this.#fetch(url, {
|
|
18
51
|
method: "POST",
|
|
19
52
|
body,
|
|
20
53
|
headers,
|
|
@@ -31,22 +64,7 @@ export class MailboxClient {
|
|
|
31
64
|
return [];
|
|
32
65
|
}
|
|
33
66
|
if (contentType === "text/event-stream") {
|
|
34
|
-
|
|
35
|
-
while (true) {
|
|
36
|
-
const { done, value } = await reader.read();
|
|
37
|
-
if (done) {
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
const str = new TextDecoder().decode(value);
|
|
41
|
-
for (const line of str.split("\n")) {
|
|
42
|
-
if (line.startsWith("data: ")) {
|
|
43
|
-
const data = line.slice(6);
|
|
44
|
-
const message = await Array.fromAsync(parse(data));
|
|
45
|
-
reader.cancel("Got message, cancelling reader");
|
|
46
|
-
return message;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
67
|
+
return await parseEventStream(response.body);
|
|
50
68
|
}
|
|
51
69
|
if (contentType?.startsWith("application/json")) {
|
|
52
70
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox-client.js","sourceRoot":"","sources":["../../src/core/mailbox-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mailbox-client.js","sourceRoot":"","sources":["../../src/core/mailbox-client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/main.d.ts
CHANGED
|
@@ -8,22 +8,29 @@ import { receipt } from "./receipt-event.ts";
|
|
|
8
8
|
import { incept as registry } from "./registry-event.ts";
|
|
9
9
|
import { exchange, query, reply } from "./routed-event.ts";
|
|
10
10
|
import { sign } from "./sign.ts";
|
|
11
|
-
import {
|
|
12
|
-
export { Attachments, Message } from "cesr";
|
|
13
|
-
export type { Credential, CredentialBody } from "./credential.ts";
|
|
11
|
+
import { verifyThreshold } from "./verify.ts";
|
|
12
|
+
export { Attachments, type AttachmentsInit, type FirstSeenReplayCouple, type Frame, Message, type MessageBody, type NonTransReceiptCouple, type PathedMaterialCouple, type SealSourceCouple, type SealSourceTriple, type TransIdxSigGroup, type TransLastIdxSigGroup, VersionString, } from "../cesr/main.ts";
|
|
13
|
+
export type { Credential, CredentialBody, CredentialBodyInit, CredentialEdges, CredentialRules, CredentialSubject, } from "./credential.ts";
|
|
14
14
|
export { createCredential } from "./credential.ts";
|
|
15
|
-
export type { IssueEvent, RevokeEvent } from "./credential-event.ts";
|
|
15
|
+
export type { IssueEventBody as IssueEvent, IssueEventInit, RevokeEventBody as RevokeEvent, RevokeEventInit, } from "./credential-event.ts";
|
|
16
16
|
export type { Endpoint, EndRoleRecord, LocationRecord } from "./endpoint-discovery.ts";
|
|
17
17
|
export { resolveEndRole, resolveLocation } from "./endpoint-discovery.ts";
|
|
18
|
+
export type { WitnessEndpoint } from "./kawa.ts";
|
|
18
19
|
export { submitToWitnesses } from "./kawa.ts";
|
|
19
|
-
export type {
|
|
20
|
+
export type { InceptArgs, InceptEventBody, InteractArgs, InteractEventBody, KeyEvent, KeyEventBody, KeyState, RotateArgs, RotateEventBody, } from "./key-event.ts";
|
|
20
21
|
export { KeyEventLog } from "./key-event-log.ts";
|
|
21
|
-
export type { KeyPair } from "./keys.ts";
|
|
22
|
+
export type { GenerateKeyPairOptions, KeyPair } from "./keys.ts";
|
|
23
|
+
export { generateKeyPair } from "./keys.ts";
|
|
24
|
+
export type { MailboxClientOptions } from "./mailbox-client.ts";
|
|
22
25
|
export { MailboxClient } from "./mailbox-client.ts";
|
|
23
|
-
export type {
|
|
24
|
-
export type {
|
|
26
|
+
export type { ReceiptEventBody, ReceiptEventInit } from "./receipt-event.ts";
|
|
27
|
+
export type { RegistryInceptEventBody, RegistryInceptEventInit } from "./registry-event.ts";
|
|
28
|
+
export type { ExchangeEventBody, ExchangeEventInit, QueryEventBody, QueryEventInit, ReplyEventBody, ReplyEventInit, } from "./routed-event.ts";
|
|
29
|
+
export type { SignOptions } from "./sign.ts";
|
|
25
30
|
export { sign } from "./sign.ts";
|
|
26
|
-
export type {
|
|
31
|
+
export type { Threshold } from "./threshold.ts";
|
|
32
|
+
export type { VerifyOptions, VerifyResult } from "./verify.ts";
|
|
33
|
+
export { verifySignature } from "./verify.ts";
|
|
27
34
|
export declare const keri: {
|
|
28
35
|
incept: typeof incept;
|
|
29
36
|
interact: typeof interact;
|
|
@@ -38,7 +45,7 @@ export declare const keri: {
|
|
|
38
45
|
receipt: typeof receipt;
|
|
39
46
|
utils: {
|
|
40
47
|
sign: typeof sign;
|
|
41
|
-
|
|
48
|
+
verifyThreshold: typeof verifyThreshold;
|
|
42
49
|
formatDate: typeof formatDate;
|
|
43
50
|
generateKeyPair: typeof generateKeyPair;
|
|
44
51
|
digest: typeof digest;
|
package/dist/core/main.js
CHANGED
|
@@ -8,14 +8,16 @@ import { receipt } from "./receipt-event.js";
|
|
|
8
8
|
import { incept as registry } from "./registry-event.js";
|
|
9
9
|
import { exchange, query, reply } from "./routed-event.js";
|
|
10
10
|
import { sign } from "./sign.js";
|
|
11
|
-
import {
|
|
12
|
-
export { Attachments, Message } from "cesr";
|
|
11
|
+
import { verifyThreshold } from "./verify.js";
|
|
12
|
+
export { Attachments, Message, VersionString, } from "../cesr/main.js";
|
|
13
13
|
export { createCredential } from "./credential.js";
|
|
14
14
|
export { resolveEndRole, resolveLocation } from "./endpoint-discovery.js";
|
|
15
15
|
export { submitToWitnesses } from "./kawa.js";
|
|
16
16
|
export { KeyEventLog } from "./key-event-log.js";
|
|
17
|
+
export { generateKeyPair } from "./keys.js";
|
|
17
18
|
export { MailboxClient } from "./mailbox-client.js";
|
|
18
19
|
export { sign } from "./sign.js";
|
|
20
|
+
export { verifySignature } from "./verify.js";
|
|
19
21
|
export const keri = {
|
|
20
22
|
// Key events
|
|
21
23
|
incept,
|
|
@@ -34,7 +36,7 @@ export const keri = {
|
|
|
34
36
|
receipt,
|
|
35
37
|
utils: {
|
|
36
38
|
sign,
|
|
37
|
-
|
|
39
|
+
verifyThreshold,
|
|
38
40
|
formatDate,
|
|
39
41
|
generateKeyPair,
|
|
40
42
|
digest,
|
package/dist/core/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/core/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/core/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EACL,WAAW,EAIX,OAAO,EAQP,aAAa,GACd,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQnD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAY9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,aAAa;IACb,MAAM;IACN,QAAQ;IACR,MAAM;IACN,WAAW;IACX,QAAQ;IACR,KAAK;IACL,MAAM;IACN,UAAU,EAAE,gBAAgB;IAC5B,SAAS;IACT,QAAQ;IACR,KAAK;IACL,KAAK;IACL,UAAU;IACV,OAAO;IACP,KAAK,EAAE;QACL,IAAI;QACJ,eAAe;QACf,UAAU;QACV,eAAe;QACf,MAAM;KACP;CACF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Message } from "cesr";
|
|
1
|
+
import { Message } from "../cesr/main.ts";
|
|
2
2
|
export interface ReceiptEventInit {
|
|
3
3
|
d: string;
|
|
4
4
|
i: string;
|
|
@@ -12,4 +12,4 @@ export type ReceiptEventBody = {
|
|
|
12
12
|
s: string;
|
|
13
13
|
};
|
|
14
14
|
export type ReceiptEvent = Message<ReceiptEventBody>;
|
|
15
|
-
export declare function receipt(args: ReceiptEventInit):
|
|
15
|
+
export declare function receipt(args: ReceiptEventInit): ReceiptEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt-event.js","sourceRoot":"","sources":["../../src/core/receipt-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"receipt-event.js","sourceRoot":"","sources":["../../src/core/receipt-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmBzD,MAAM,UAAU,OAAO,CAAC,IAAsB;IAC5C,MAAM,IAAI,GAAG,WAAW,CACtB;QACE,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,CACf,CAAC;IAEF,OAAO,IAAI,OAAO,CAAmB,IAAI,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Message } from "cesr";
|
|
1
|
+
import { Message } from "../cesr/main.ts";
|
|
2
2
|
export interface RegistryInceptEventInit {
|
|
3
3
|
ii: string;
|
|
4
4
|
n?: string;
|
|
5
5
|
}
|
|
6
|
-
export type
|
|
6
|
+
export type RegistryInceptEventBody = {
|
|
7
7
|
v: string;
|
|
8
8
|
t: "vcp";
|
|
9
9
|
d: string;
|
|
@@ -23,6 +23,4 @@ export type RegistryEventBody = {
|
|
|
23
23
|
[key: string]: unknown;
|
|
24
24
|
};
|
|
25
25
|
export type RegistryEvent = Message<RegistryEventBody>;
|
|
26
|
-
export declare function incept(args: RegistryInceptEventInit): Message<
|
|
27
|
-
v: string;
|
|
28
|
-
}>;
|
|
26
|
+
export declare function incept(args: RegistryInceptEventInit): Message<RegistryInceptEventBody>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-event.js","sourceRoot":"","sources":["../../src/core/registry-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"registry-event.js","sourceRoot":"","sources":["../../src/core/registry-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA8BtE,MAAM,UAAU,MAAM,CAAC,IAA6B;IAClD,MAAM,IAAI,GAAG,WAAW,CACtB;QACE,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,CAAC,EAAE,GAAG;QACN,CAAC,EAAE,CAAC,IAAI,CAAC;QACT,EAAE,EAAE,GAAG;QACP,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,WAAW,EAAE;KAC3B,EACD,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CACrC,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Message } from "cesr";
|
|
1
|
+
import { Message } from "../cesr/main.ts";
|
|
2
2
|
export interface QueryEventInit {
|
|
3
3
|
dt?: Date;
|
|
4
4
|
r?: string;
|
|
5
5
|
rr?: string;
|
|
6
6
|
q: Record<string, unknown>;
|
|
7
7
|
}
|
|
8
|
-
export type
|
|
8
|
+
export type QueryEventBody = {
|
|
9
9
|
v: string;
|
|
10
10
|
t: "qry";
|
|
11
11
|
d: string;
|
|
@@ -19,7 +19,7 @@ export interface ReplyEventInit {
|
|
|
19
19
|
r: string;
|
|
20
20
|
a: Record<string, unknown>;
|
|
21
21
|
}
|
|
22
|
-
export type
|
|
22
|
+
export type ReplyEventBody = {
|
|
23
23
|
v: string;
|
|
24
24
|
t: "rpy";
|
|
25
25
|
d: string;
|
|
@@ -35,12 +35,8 @@ export type RoutedEventBody = {
|
|
|
35
35
|
[key: string]: unknown;
|
|
36
36
|
};
|
|
37
37
|
export type RoutedEvent = Message<RoutedEventBody>;
|
|
38
|
-
export declare function query(args: QueryEventInit): Message<
|
|
39
|
-
|
|
40
|
-
}>;
|
|
41
|
-
export declare function reply(args: ReplyEventInit): Message<ReplyEvent & {
|
|
42
|
-
v: string;
|
|
43
|
-
}>;
|
|
38
|
+
export declare function query(args: QueryEventInit): Message<QueryEventBody>;
|
|
39
|
+
export declare function reply(args: ReplyEventInit): Message<ReplyEventBody>;
|
|
44
40
|
export interface ExchangeEventInit {
|
|
45
41
|
sender: string;
|
|
46
42
|
recipient?: string;
|
|
@@ -55,7 +51,7 @@ export interface ExchangeEmbedding {
|
|
|
55
51
|
d: string;
|
|
56
52
|
[key: string]: string | Record<string, unknown>;
|
|
57
53
|
}
|
|
58
|
-
export interface
|
|
54
|
+
export interface ExchangeEventBody extends Record<string, unknown> {
|
|
59
55
|
v: string;
|
|
60
56
|
t: "exn";
|
|
61
57
|
d: string;
|
|
@@ -68,6 +64,4 @@ export interface ExchangeEvent extends Record<string, unknown> {
|
|
|
68
64
|
a: Record<string, unknown>;
|
|
69
65
|
e: Record<string, string | Record<string, unknown>>;
|
|
70
66
|
}
|
|
71
|
-
export declare function exchange(args: ExchangeEventInit): Message<
|
|
72
|
-
v: string;
|
|
73
|
-
}>;
|
|
67
|
+
export declare function exchange(args: ExchangeEventInit): Message<ExchangeEventBody>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routed-event.js","sourceRoot":"","sources":["../../src/core/routed-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"routed-event.js","sourceRoot":"","sources":["../../src/core/routed-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,MAAM,IAAI,GAAG,WAAW,CAAiB;QACvC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;QACjB,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAoB;IACxC,MAAM,IAAI,GAAG,WAAW,CAAiB;QACvC,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QACrC,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,CAAC,EAAE,IAAI,CAAC,CAAC;KACV,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAgCD,MAAM,UAAU,QAAQ,CAAC,IAAuB;IAC9C,MAAM,MAAM,GAAsB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3B,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAoB;QAC1C,CAAC,EAAE,aAAa;QAChB,CAAC,EAAE,KAAK;QACR,CAAC,EAAE,EAAE;QACL,CAAC,EAAE,IAAI,CAAC,MAAM;QACd,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;QACxB,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE;QACf,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5C,CAAC,EAAE,IAAI,CAAC,KAAK;QACb,CAAC,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACnB,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACpB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/core/said.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { blake3 } from "@noble/hashes/blake3.js";
|
|
2
|
-
import {
|
|
2
|
+
import { encodeText, Matter } from "../cesr/main.js";
|
|
3
3
|
function calculateSaid(event) {
|
|
4
|
-
const digest =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const digest = encodeText(new Matter({
|
|
5
|
+
code: Matter.Code.Blake3_256,
|
|
6
|
+
raw: blake3
|
|
7
|
+
.create({ dkLen: 32 })
|
|
8
|
+
.update(new TextEncoder().encode(JSON.stringify(event)))
|
|
9
|
+
.digest(),
|
|
10
|
+
}));
|
|
11
|
+
return digest;
|
|
9
12
|
}
|
|
10
13
|
export function saidify(event, labels) {
|
|
11
14
|
if (!labels?.length) {
|