keri 0.0.8-dev.57bf32e → 0.0.8-dev.bfac33d
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/cli/main.js +15 -8
- package/dist/cli/main.js.map +1 -1
- package/dist/client.d.ts +4 -8
- package/dist/client.js +9 -45
- package/dist/client.js.map +1 -1
- package/dist/controller.d.ts +5 -5
- package/dist/controller.js +196 -137
- package/dist/controller.js.map +1 -1
- package/dist/events/event-store.d.ts +6 -16
- package/dist/events/event-store.js +43 -31
- package/dist/events/event-store.js.map +1 -1
- package/dist/events/events.d.ts +1 -1
- package/dist/events/events.js +22 -20
- package/dist/events/events.js.map +1 -1
- package/dist/keystore/encrypt.js +2 -2
- package/dist/keystore/encrypt.js.map +1 -1
- package/dist/keystore/key-manager.js +16 -31
- package/dist/keystore/key-manager.js.map +1 -1
- package/dist/main.d.ts +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/package.json +20 -4
- package/dist/serializer.d.ts +0 -10
- package/dist/serializer.js +0 -83
- package/dist/serializer.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Message } from "cesr";
|
|
1
2
|
import { formatDate, } from "./events.js";
|
|
2
3
|
function assertKeyEvent(event) {
|
|
3
4
|
if (typeof event !== "object") {
|
|
@@ -10,33 +11,38 @@ export class ControllerEventStore {
|
|
|
10
11
|
this.#db = db;
|
|
11
12
|
}
|
|
12
13
|
async save(event) {
|
|
13
|
-
switch (event.
|
|
14
|
+
switch (event.body.t) {
|
|
14
15
|
case "icp":
|
|
15
16
|
case "ixn":
|
|
16
17
|
case "iss":
|
|
17
18
|
case "vcp":
|
|
18
19
|
case "rot": {
|
|
19
|
-
if (!event.
|
|
20
|
-
throw new Error(`Event sequence number (s) is required for key event ${event.
|
|
20
|
+
if (!event.body.s) {
|
|
21
|
+
throw new Error(`Event sequence number (s) is required for key event ${event.body.t}(${event.body.d})`);
|
|
21
22
|
}
|
|
22
|
-
const sn = event.
|
|
23
|
-
await this.#db.set(`key_event.${event.
|
|
24
|
-
event: event.
|
|
23
|
+
const sn = event.body.s.padStart(24, "0");
|
|
24
|
+
await this.#db.set(`key_event.${event.body.d}`, JSON.stringify({
|
|
25
|
+
event: event.body,
|
|
25
26
|
timestamp: new Date().toISOString(),
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
attachments: {
|
|
28
|
+
ControllerIdxSigs: event.attachments.ControllerIdxSigs || [],
|
|
29
|
+
WitnessIdxSigs: event.attachments.WitnessIdxSigs || [],
|
|
30
|
+
NonTransReceiptCouples: event.attachments.NonTransReceiptCouples || [],
|
|
31
|
+
SealSourceCouples: event.attachments.SealSourceCouples || [],
|
|
32
|
+
SealSourceTriples: event.attachments.SealSourceTriples || [],
|
|
33
|
+
},
|
|
28
34
|
}));
|
|
29
|
-
await this.#db.set(`key_event_log.${event.
|
|
35
|
+
await this.#db.set(`key_event_log.${event.body.i}.${sn}`, event.body.d);
|
|
30
36
|
break;
|
|
31
37
|
}
|
|
32
38
|
case "rct": {
|
|
33
|
-
await this.#db.set(`key_event_receipts.${event.
|
|
39
|
+
await this.#db.set(`key_event_receipts.${event.body.d}`, JSON.stringify(event.attachments.NonTransReceiptCouples || []));
|
|
34
40
|
break;
|
|
35
41
|
}
|
|
36
42
|
case "rpy":
|
|
37
|
-
switch (event.
|
|
43
|
+
switch (event.body.r) {
|
|
38
44
|
case "/end/role/add": {
|
|
39
|
-
const record = event.
|
|
45
|
+
const record = event.body.a;
|
|
40
46
|
if (record &&
|
|
41
47
|
typeof record === "object" &&
|
|
42
48
|
"eid" in record &&
|
|
@@ -57,7 +63,7 @@ export class ControllerEventStore {
|
|
|
57
63
|
break;
|
|
58
64
|
}
|
|
59
65
|
case "/loc/scheme": {
|
|
60
|
-
const record = event.
|
|
66
|
+
const record = event.body.a;
|
|
61
67
|
if (record &&
|
|
62
68
|
typeof record === "object" &&
|
|
63
69
|
"eid" in record &&
|
|
@@ -77,11 +83,14 @@ export class ControllerEventStore {
|
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
|
-
if (event.
|
|
81
|
-
await this.#db.set(`key_event.${event.
|
|
82
|
-
event: event.
|
|
86
|
+
if (event.body.v.startsWith("ACDC")) {
|
|
87
|
+
await this.#db.set(`key_event.${event.body.d}`, JSON.stringify({
|
|
88
|
+
event: event.body,
|
|
83
89
|
timestamp: new Date().toISOString(),
|
|
84
|
-
|
|
90
|
+
attachments: {
|
|
91
|
+
SealSourceCouples: event.attachments.SealSourceCouples || [],
|
|
92
|
+
SealSourceTriples: event.attachments.SealSourceTriples || [],
|
|
93
|
+
},
|
|
85
94
|
}));
|
|
86
95
|
}
|
|
87
96
|
}
|
|
@@ -90,7 +99,7 @@ export class ControllerEventStore {
|
|
|
90
99
|
const digest = await this.#db.get(`key_event_log.${said}.${start.toString(16).padStart(24, "0")}`);
|
|
91
100
|
if (digest) {
|
|
92
101
|
const result = await this.get(digest);
|
|
93
|
-
assertKeyEvent(result?.
|
|
102
|
+
assertKeyEvent(result?.body);
|
|
94
103
|
yield result;
|
|
95
104
|
}
|
|
96
105
|
else {
|
|
@@ -104,14 +113,17 @@ export class ControllerEventStore {
|
|
|
104
113
|
return null;
|
|
105
114
|
}
|
|
106
115
|
assertKeyEvent(item.event);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
116
|
+
return new Message(item.event, {
|
|
117
|
+
...item.attachments,
|
|
118
|
+
FirstSeenReplayCouples: ["icp", "ixn", "rot"].includes(item.event.t)
|
|
119
|
+
? [
|
|
120
|
+
{
|
|
121
|
+
fnu: item.event.s,
|
|
122
|
+
dt: new Date(item.timestamp),
|
|
123
|
+
},
|
|
124
|
+
]
|
|
125
|
+
: [],
|
|
126
|
+
});
|
|
115
127
|
}
|
|
116
128
|
async state(said) {
|
|
117
129
|
let state = INITIAL_STATE;
|
|
@@ -189,13 +201,13 @@ const INITIAL_STATE = {
|
|
|
189
201
|
di: "",
|
|
190
202
|
};
|
|
191
203
|
function reduce(state, message) {
|
|
192
|
-
if (!message.
|
|
204
|
+
if (!message.body.v.startsWith("KERI")) {
|
|
193
205
|
return state;
|
|
194
206
|
}
|
|
195
|
-
switch (message.
|
|
207
|
+
switch (message.body.t) {
|
|
196
208
|
case "icp":
|
|
197
209
|
case "dip": {
|
|
198
|
-
const icp = message.
|
|
210
|
+
const icp = message.body;
|
|
199
211
|
return {
|
|
200
212
|
vn: [1, 0],
|
|
201
213
|
i: icp.i,
|
|
@@ -223,7 +235,7 @@ function reduce(state, message) {
|
|
|
223
235
|
}
|
|
224
236
|
case "ixn": {
|
|
225
237
|
assertDefined(state);
|
|
226
|
-
const ixn = message.
|
|
238
|
+
const ixn = message.body;
|
|
227
239
|
if (!state.d) {
|
|
228
240
|
throw new Error("state.d is undefined");
|
|
229
241
|
}
|
|
@@ -236,7 +248,7 @@ function reduce(state, message) {
|
|
|
236
248
|
});
|
|
237
249
|
}
|
|
238
250
|
default:
|
|
239
|
-
throw new Error(`Unsupported event type: ${message.
|
|
251
|
+
throw new Error(`Unsupported event type: ${message.body.t}`);
|
|
240
252
|
}
|
|
241
253
|
}
|
|
242
254
|
//# sourceMappingURL=event-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/events/event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAMX,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/events/event-store.ts"],"names":[],"mappings":"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"}
|
package/dist/events/events.d.ts
CHANGED
package/dist/events/events.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import { blake3 } from "@noble/hashes/blake3.js";
|
|
2
|
-
import { cesr,
|
|
2
|
+
import { cesr, Matter, Message, VersionString } from "cesr";
|
|
3
3
|
export function formatDate(date) {
|
|
4
4
|
return date.toISOString().replace("Z", "000+00:00");
|
|
5
5
|
}
|
|
6
6
|
export function randomNonce() {
|
|
7
|
-
return
|
|
7
|
+
return Matter.from(Matter.Code.Salt_128, crypto.getRandomValues(new Uint8Array(16))).text();
|
|
8
8
|
}
|
|
9
9
|
function calculateSaid(event) {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.update(encoder.encode(JSON.stringify(event)))
|
|
16
|
-
.digest(),
|
|
17
|
-
});
|
|
18
|
-
return digest;
|
|
10
|
+
const digest = cesr.crypto.blake3_256(blake3
|
|
11
|
+
.create({ dkLen: 32 })
|
|
12
|
+
.update(new TextEncoder().encode(JSON.stringify(event)))
|
|
13
|
+
.digest());
|
|
14
|
+
return digest.text();
|
|
19
15
|
}
|
|
20
16
|
export function saidify(event, labels) {
|
|
21
17
|
if (!labels?.length) {
|
|
@@ -28,11 +24,11 @@ export function saidify(event, labels) {
|
|
|
28
24
|
return event;
|
|
29
25
|
}
|
|
30
26
|
function isTransferable(key) {
|
|
31
|
-
const raw =
|
|
27
|
+
const raw = Matter.parse(key);
|
|
32
28
|
switch (raw.code) {
|
|
33
|
-
case
|
|
34
|
-
case
|
|
35
|
-
case
|
|
29
|
+
case Matter.Code.ECDSA_256k1N:
|
|
30
|
+
case Matter.Code.Ed25519N:
|
|
31
|
+
case Matter.Code.Ed448N:
|
|
36
32
|
return false;
|
|
37
33
|
default:
|
|
38
34
|
return true;
|
|
@@ -62,8 +58,10 @@ export class KeriEventCreator {
|
|
|
62
58
|
}
|
|
63
59
|
data[label] = "#".repeat(44);
|
|
64
60
|
}
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
return saidify(new Message({
|
|
62
|
+
v: VersionString.encode({ protocol: "KERI", legacy: this.#version === 1 }),
|
|
63
|
+
...data,
|
|
64
|
+
}).body, labels);
|
|
67
65
|
}
|
|
68
66
|
registry(args) {
|
|
69
67
|
return this.#encode({
|
|
@@ -164,7 +162,11 @@ export class KeriEventCreator {
|
|
|
164
162
|
});
|
|
165
163
|
}
|
|
166
164
|
credential(data) {
|
|
167
|
-
const
|
|
165
|
+
const body = new Message({
|
|
166
|
+
v: VersionString.encode({
|
|
167
|
+
protocol: "ACDC",
|
|
168
|
+
legacy: this.#version === 1,
|
|
169
|
+
}),
|
|
168
170
|
d: "#".repeat(44),
|
|
169
171
|
...(data.u && { u: data.u }),
|
|
170
172
|
i: data.i,
|
|
@@ -176,8 +178,8 @@ export class KeriEventCreator {
|
|
|
176
178
|
}, ["d"]),
|
|
177
179
|
...(data.e && { e: saidify({ d: "#".repeat(44), ...data.e }, ["d"]) }),
|
|
178
180
|
r: saidify({ d: "#".repeat(44), ...data.r }, ["d"]),
|
|
179
|
-
}
|
|
180
|
-
return saidify(
|
|
181
|
+
}).body;
|
|
182
|
+
return saidify(body, ["d"]);
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
185
|
export const keri = new KeriEventCreator({ version: 1 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events/events.ts"],"names":[],"mappings":"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"}
|
package/dist/keystore/encrypt.js
CHANGED
|
@@ -6,7 +6,7 @@ async function deriveKey(passphrase, salt) {
|
|
|
6
6
|
]);
|
|
7
7
|
const key = await crypto.subtle.deriveKey({
|
|
8
8
|
name: "PBKDF2",
|
|
9
|
-
salt,
|
|
9
|
+
salt: Uint8Array.from(salt),
|
|
10
10
|
iterations: 100000,
|
|
11
11
|
hash: "SHA-256",
|
|
12
12
|
}, encryptionKey, { name: "AES-GCM", length: 256 }, true, ["encrypt", "decrypt"]);
|
|
@@ -21,7 +21,7 @@ export class PassphraseEncrypter {
|
|
|
21
21
|
const salt = crypto.getRandomValues(new Uint8Array(16));
|
|
22
22
|
const iv = crypto.getRandomValues(new Uint8Array(16));
|
|
23
23
|
const key = await deriveKey(this.#passphrase, salt);
|
|
24
|
-
const encrypted = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, data);
|
|
24
|
+
const encrypted = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, Uint8Array.from(data));
|
|
25
25
|
const result = new Uint8Array(salt.byteLength + iv.byteLength + encrypted.byteLength);
|
|
26
26
|
result.set(salt, 0);
|
|
27
27
|
result.set(iv, salt.byteLength);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../src/keystore/encrypt.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,IAAgB;IAC3D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACtG,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC;QACE,IAAI,EAAE,QAAQ;QACd,IAAI;
|
|
1
|
+
{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../src/keystore/encrypt.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,SAAS,CAAC,UAAkB,EAAE,IAAgB;IAC3D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;QACtG,YAAY;QACZ,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,SAAS;KAChB,EACD,aAAa,EACb,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAChC,IAAI,EACJ,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,OAAO,mBAAmB;IAC9B,WAAW,CAAS;IAEpB,YAAY,UAAkB;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAgB;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnG,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAsB;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEvC,OAAO,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { ed25519 } from "@noble/curves/ed25519.js";
|
|
2
2
|
import { blake3 } from "@noble/hashes/blake3.js";
|
|
3
|
-
import {
|
|
3
|
+
import {} from "../events/event-store.js";
|
|
4
|
+
import { cesr, Matter } from "cesr";
|
|
5
|
+
import { decodeBase64Url, encodeBase64Url } from "cesr/__unstable__";
|
|
4
6
|
function createDigest(key) {
|
|
5
|
-
const encoded =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const next = encodeMatter({
|
|
10
|
-
code: MatterCode.Blake3_256,
|
|
11
|
-
raw: blake3.create({ dkLen: 32 }).update(new TextEncoder().encode(encoded)).digest(),
|
|
12
|
-
});
|
|
7
|
+
const encoded = cesr.crypto.ed25519(ed25519.getPublicKey(key)).text();
|
|
8
|
+
const next = cesr.crypto
|
|
9
|
+
.blake3_256(blake3.create({ dkLen: 32 }).update(new TextEncoder().encode(encoded)).digest())
|
|
10
|
+
.text();
|
|
13
11
|
return next;
|
|
14
12
|
}
|
|
15
13
|
export class KeyManager {
|
|
@@ -28,10 +26,7 @@ export class KeyManager {
|
|
|
28
26
|
return [await this.encrypter.decrypt(decodeBase64Url(key0)), await this.encrypter.decrypt(decodeBase64Url(key1))];
|
|
29
27
|
}
|
|
30
28
|
async import(key0, key1) {
|
|
31
|
-
const current =
|
|
32
|
-
code: MatterCode.Ed25519,
|
|
33
|
-
raw: ed25519.getPublicKey(key0),
|
|
34
|
-
});
|
|
29
|
+
const current = cesr.crypto.ed25519(ed25519.getPublicKey(key0)).text();
|
|
35
30
|
const next = createDigest(key1);
|
|
36
31
|
await this.storage.set(`keys.${current}`, [
|
|
37
32
|
encodeBase64Url(await this.encrypter.encrypt(key0)),
|
|
@@ -48,10 +43,7 @@ export class KeyManager {
|
|
|
48
43
|
async rotate(publicKey) {
|
|
49
44
|
const [, key0] = await this.load(publicKey);
|
|
50
45
|
const key1 = ed25519.utils.randomSecretKey();
|
|
51
|
-
const current =
|
|
52
|
-
code: MatterCode.Ed25519,
|
|
53
|
-
raw: ed25519.getPublicKey(key0),
|
|
54
|
-
});
|
|
46
|
+
const current = cesr.crypto.ed25519(ed25519.getPublicKey(key0)).text();
|
|
55
47
|
const next = createDigest(key1);
|
|
56
48
|
await this.import(key0, key1);
|
|
57
49
|
return { current, next };
|
|
@@ -60,26 +52,19 @@ export class KeyManager {
|
|
|
60
52
|
const [key] = await this.load(publicKey);
|
|
61
53
|
const signature = ed25519.sign(message, key);
|
|
62
54
|
if (index !== undefined) {
|
|
63
|
-
return
|
|
64
|
-
code: IndexCode.Ed25519_Sig,
|
|
65
|
-
raw: signature,
|
|
66
|
-
index,
|
|
67
|
-
});
|
|
55
|
+
return cesr.crypto.ed25519_sig(signature, index).text();
|
|
68
56
|
}
|
|
69
|
-
return
|
|
70
|
-
code: MatterCode.Ed25519_Sig,
|
|
71
|
-
raw: signature,
|
|
72
|
-
});
|
|
57
|
+
return cesr.crypto.ed25519_sig(signature).text();
|
|
73
58
|
}
|
|
74
59
|
}
|
|
75
60
|
export function verify(publicKey, message, signature) {
|
|
76
|
-
const key =
|
|
77
|
-
const sig =
|
|
61
|
+
const key = Matter.parse(publicKey);
|
|
62
|
+
const sig = Matter.parse(signature);
|
|
78
63
|
switch (key.code) {
|
|
79
|
-
case
|
|
80
|
-
case
|
|
64
|
+
case Matter.Code.Ed25519:
|
|
65
|
+
case Matter.Code.Ed25519N:
|
|
81
66
|
switch (sig.code) {
|
|
82
|
-
case
|
|
67
|
+
case Matter.Code.Ed25519_Sig:
|
|
83
68
|
return ed25519.verify(sig.raw, message, key.raw);
|
|
84
69
|
default:
|
|
85
70
|
throw new Error(`Unsupported signature code: ${sig.code}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-manager.js","sourceRoot":"","sources":["../../src/keystore/key-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"key-manager.js","sourceRoot":"","sources":["../../src/keystore/key-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
package/dist/main.js
CHANGED
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "keri",
|
|
3
|
-
"version": "0.0.8-dev.
|
|
3
|
+
"version": "0.0.8-dev.bfac33d",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "tsc -p tsconfig.build.json",
|
|
6
6
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
7
7
|
"test": "node --test --test-reporter=spec --no-warnings --experimental-strip-types",
|
|
8
8
|
"test:integration": "npm test -- 'test_integration/**/*.ts'",
|
|
9
|
-
"test:scripts": "node --no-warnings
|
|
9
|
+
"test:scripts": "node --no-warnings scripts/run-scripts.ts",
|
|
10
|
+
"test:example": "./test_examples.sh",
|
|
10
11
|
"lint": "eslint",
|
|
11
|
-
"
|
|
12
|
+
"check": "tsc --noEmit",
|
|
13
|
+
"clean": "node scripts/clean.ts",
|
|
14
|
+
"format": "prettier --write .",
|
|
15
|
+
"format:check": "prettier --check ."
|
|
12
16
|
},
|
|
13
17
|
"bin": {
|
|
14
18
|
"keri": "dist/cli/main.js"
|
|
@@ -24,6 +28,18 @@
|
|
|
24
28
|
"author": "Daniel Lenksjö",
|
|
25
29
|
"license": "Apache-2.0",
|
|
26
30
|
"description": "KERI for JavaScript",
|
|
31
|
+
"devEngines": {
|
|
32
|
+
"runtime": {
|
|
33
|
+
"name": "node",
|
|
34
|
+
"version": ">=24",
|
|
35
|
+
"onFail": "warn"
|
|
36
|
+
},
|
|
37
|
+
"packageManager": {
|
|
38
|
+
"name": "npm",
|
|
39
|
+
"version": ">=11",
|
|
40
|
+
"onFail": "warn"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
27
43
|
"engines": {
|
|
28
44
|
"node": ">=22"
|
|
29
45
|
},
|
|
@@ -32,7 +48,7 @@
|
|
|
32
48
|
"@noble/ed25519": "^3.0.0",
|
|
33
49
|
"@noble/hashes": "^2.0.0",
|
|
34
50
|
"@noble/secp256k1": "^3.0.0",
|
|
35
|
-
"cesr": "^0.0.
|
|
51
|
+
"cesr": "^0.0.21",
|
|
36
52
|
"commander": "^14.0.0"
|
|
37
53
|
},
|
|
38
54
|
"devDependencies": {
|
package/dist/serializer.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type KeyEventReceipt, type KeyEventSeal } from "./events/event-store.ts";
|
|
2
|
-
export declare function encodeHexNumber(num: string): string;
|
|
3
|
-
export declare function serializeSignatures(sigs: string[], seal?: KeyEventSeal): string;
|
|
4
|
-
export declare function serializeWitnessSignatures(receipts: KeyEventReceipt[], backers: string[]): string;
|
|
5
|
-
export declare function serializeReceipts(receipts: KeyEventReceipt[]): string;
|
|
6
|
-
export declare function serializePathedGroup(path: string[], attachments: string[]): string;
|
|
7
|
-
export declare function serializeAttachments(attachments: string[]): string;
|
|
8
|
-
export declare function serializeEventSeal(seal: KeyEventSeal): string;
|
|
9
|
-
export declare function serializeDigestSeal(seal: KeyEventSeal): string;
|
|
10
|
-
export declare function getIndexedCode(code: string): string;
|
package/dist/serializer.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { cesr, CountCode_10, encodeAttachmentsV1, encodeBase64Int, encodeCounter, encodeString, IndexCode, MatterCode, } from "cesr/__unstable__";
|
|
2
|
-
export function encodeHexNumber(num) {
|
|
3
|
-
return `${MatterCode.Salt_128}${encodeBase64Int(parseInt(num, 16), 22)}`;
|
|
4
|
-
}
|
|
5
|
-
export function serializeSignatures(sigs, seal) {
|
|
6
|
-
const result = [];
|
|
7
|
-
if (sigs && sigs.length > 0) {
|
|
8
|
-
if (seal && seal.i && seal.s && seal.d) {
|
|
9
|
-
result.push(encodeCounter({
|
|
10
|
-
code: CountCode_10.TransIdxSigGroups,
|
|
11
|
-
count: 1,
|
|
12
|
-
}));
|
|
13
|
-
result.push(seal.i);
|
|
14
|
-
result.push(encodeHexNumber(seal.s));
|
|
15
|
-
result.push(seal.d);
|
|
16
|
-
}
|
|
17
|
-
result.push(encodeCounter({ code: CountCode_10.ControllerIdxSigs, count: sigs.length }));
|
|
18
|
-
result.push(...sigs);
|
|
19
|
-
}
|
|
20
|
-
return result.join("");
|
|
21
|
-
}
|
|
22
|
-
export function serializeWitnessSignatures(receipts, backers) {
|
|
23
|
-
const result = [];
|
|
24
|
-
if (receipts.length > 0) {
|
|
25
|
-
result.push(encodeCounter({ code: CountCode_10.WitnessIdxSigs, count: receipts.length }));
|
|
26
|
-
for (const sig of receipts) {
|
|
27
|
-
const signature = cesr.decodeMatter(sig.signature);
|
|
28
|
-
const index = backers.indexOf(sig.backer);
|
|
29
|
-
if (index === -1) {
|
|
30
|
-
throw new Error(`Unknown backer ${sig.backer}`);
|
|
31
|
-
}
|
|
32
|
-
result.push(cesr.encodeIndexer({
|
|
33
|
-
code: getIndexedCode(signature.code),
|
|
34
|
-
raw: signature.raw,
|
|
35
|
-
index: index,
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return result.join("");
|
|
40
|
-
}
|
|
41
|
-
export function serializeReceipts(receipts) {
|
|
42
|
-
const result = [];
|
|
43
|
-
if (receipts.length > 0) {
|
|
44
|
-
result.push(encodeCounter({ code: CountCode_10.NonTransReceiptCouples, count: receipts.length }));
|
|
45
|
-
result.push(...receipts.map((receipt) => receipt.backer + receipt.signature));
|
|
46
|
-
}
|
|
47
|
-
return result.join("");
|
|
48
|
-
}
|
|
49
|
-
export function serializePathedGroup(path, attachments) {
|
|
50
|
-
const result = [];
|
|
51
|
-
result.push(encodeString(`-${path.join("-")}`));
|
|
52
|
-
result.push(...attachments);
|
|
53
|
-
return (encodeCounter({
|
|
54
|
-
code: CountCode_10.PathedMaterialCouples,
|
|
55
|
-
count: result.join("").length / 4,
|
|
56
|
-
}) + result.join(""));
|
|
57
|
-
}
|
|
58
|
-
export function serializeAttachments(attachments) {
|
|
59
|
-
const result = attachments.join("");
|
|
60
|
-
return `${encodeAttachmentsV1(result.length / 4)}${result}`;
|
|
61
|
-
}
|
|
62
|
-
export function serializeEventSeal(seal) {
|
|
63
|
-
return [
|
|
64
|
-
encodeCounter({ code: CountCode_10.SealSourceTriples, count: 1 }),
|
|
65
|
-
seal.i,
|
|
66
|
-
encodeHexNumber(seal.s),
|
|
67
|
-
seal.d,
|
|
68
|
-
].join("");
|
|
69
|
-
}
|
|
70
|
-
export function serializeDigestSeal(seal) {
|
|
71
|
-
return [encodeCounter({ code: CountCode_10.SealSourceCouples, count: 1 }), encodeHexNumber(seal.s), seal.d].join("");
|
|
72
|
-
}
|
|
73
|
-
export function getIndexedCode(code) {
|
|
74
|
-
switch (code) {
|
|
75
|
-
case MatterCode.Ed25519_Sig:
|
|
76
|
-
return IndexCode.Ed25519_Sig;
|
|
77
|
-
case MatterCode.Ed448_Sig:
|
|
78
|
-
return IndexCode.Ed448_Sig;
|
|
79
|
-
default:
|
|
80
|
-
throw new Error(`Unsupported indexed signature type: ${code}`);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=serializer.js.map
|
package/dist/serializer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|