keri 0.0.7 → 0.0.8-dev.86c2aad

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.
@@ -1,8 +1,7 @@
1
- import { cesr, CountCode_10, encodeCounter } from "cesr/__unstable__";
1
+ import { Attachments, decodeMatter, encodeIndexer, IndexCode, MatterCode, Message, parse } from "cesr/__unstable__";
2
2
  import { ControllerEventStore, } from "./events/event-store.js";
3
3
  import { keri, formatDate, } from "./events/events.js";
4
- import { Client, parseKeyEvents } from "./client.js";
5
- import { encodeHexNumber, serializeAttachments, serializeDigestSeal, serializeEventSeal, serializePathedGroup, serializeReceipts, serializeSignatures, serializeWitnessSignatures, } from "./serializer.js";
4
+ import { Client } from "./client.js";
6
5
  export class Controller {
7
6
  #keyManager;
8
7
  #store;
@@ -22,11 +21,12 @@ export class Controller {
22
21
  bt: args.toad ? args.toad.toString(16) : undefined,
23
22
  });
24
23
  const sigs = await this.sign(event, keys.map((key) => key.current));
25
- await this.#store.save({
26
- event,
27
- signatures: sigs,
28
- });
29
- await this.submit(event, sigs);
24
+ await this.#store.save(new Message(event, { ControllerIdxSigs: sigs }));
25
+ const wigs = await this.submit(event, sigs);
26
+ await this.#store.save(new Message(event, {
27
+ ControllerIdxSigs: sigs,
28
+ WitnessIdxSigs: wigs,
29
+ }));
30
30
  return await this.#store.state(event.i);
31
31
  }
32
32
  async interact(args) {
@@ -34,11 +34,12 @@ export class Controller {
34
34
  const sn = (parseInt(state.s ?? "0", 16) + 1).toString(16);
35
35
  const event = keri.interact({ i: state.i, p: state.d, s: sn, a: [args.data] });
36
36
  const sigs = await this.sign(event, state.k);
37
- await this.#store.save({
38
- event,
39
- signatures: sigs,
40
- });
41
- await this.submit(event, sigs);
37
+ await this.#store.save(new Message(event, { ControllerIdxSigs: sigs }));
38
+ const wigs = await this.submit(event, sigs);
39
+ await this.#store.save(new Message(event, {
40
+ ControllerIdxSigs: sigs,
41
+ WitnessIdxSigs: wigs,
42
+ }));
42
43
  return event;
43
44
  }
44
45
  async createRegistry(args) {
@@ -55,19 +56,19 @@ export class Controller {
55
56
  },
56
57
  });
57
58
  const state = await this.state(args.owner);
59
+ const message = new Message(registry, {
60
+ SealSourceCouples: [
61
+ {
62
+ digest: anchor.d,
63
+ snu: anchor.s,
64
+ },
65
+ ],
66
+ });
58
67
  for (const wit of state.b) {
59
68
  const endpoint = await this.getClient(wit);
60
- const attachment = serializeAttachments([serializeDigestSeal(anchor)]);
61
- await endpoint.sendMessage({ event: registry, attachment });
69
+ await endpoint.sendMessage(message);
62
70
  }
63
- await this.#store.save({
64
- event: registry,
65
- seal: {
66
- i: anchor.i,
67
- s: anchor.s,
68
- d: anchor.d,
69
- },
70
- });
71
+ await this.#store.save(message);
71
72
  return registry;
72
73
  }
73
74
  async createCredential(args) {
@@ -75,10 +76,10 @@ export class Controller {
75
76
  if (!registry) {
76
77
  throw new Error(`Registry ${args.registryId} not found`);
77
78
  }
78
- const state = await this.state(registry.event.ii);
79
+ const state = await this.state(registry.body.ii);
79
80
  const acdc = keri.credential({
80
81
  i: state.i,
81
- ri: registry.event.i,
82
+ ri: registry.body.i,
82
83
  s: args.schemaId,
83
84
  u: args.salt,
84
85
  a: {
@@ -91,7 +92,7 @@ export class Controller {
91
92
  });
92
93
  const iss = keri.issue({
93
94
  i: acdc.d,
94
- ri: registry.event.i,
95
+ ri: registry.body.i,
95
96
  dt: formatDate(args.timestamp ?? new Date()),
96
97
  });
97
98
  const anchor = await this.interact({
@@ -104,17 +105,18 @@ export class Controller {
104
105
  });
105
106
  for (const wit of state.b) {
106
107
  const client = await this.getClient(wit);
107
- const attachment = serializeAttachments([serializeDigestSeal(anchor)]);
108
- await client.sendMessage({ event: iss, attachment });
108
+ const message = new Message(iss, {
109
+ SealSourceCouples: [
110
+ {
111
+ digest: anchor.d,
112
+ snu: anchor.s,
113
+ },
114
+ ],
115
+ });
116
+ await client.sendMessage(message);
109
117
  }
110
- await this.#store.save({
111
- event: acdc,
112
- seal: iss,
113
- });
114
- await this.#store.save({
115
- event: iss,
116
- seal: anchor,
117
- });
118
+ await this.#store.save(new Message(acdc, { SealSourceTriples: [{ prefix: anchor.i, digest: iss.d, snu: iss.s }] }));
119
+ await this.#store.save(new Message(iss, { SealSourceCouples: [{ digest: anchor.d, snu: anchor.s }] }));
118
120
  return acdc;
119
121
  }
120
122
  async resolve(oobi) {
@@ -125,7 +127,7 @@ export class Controller {
125
127
  if (!response.body) {
126
128
  throw new Error(`No body in response`);
127
129
  }
128
- for await (const event of parseKeyEvents(response.body)) {
130
+ for await (const event of parse(response.body)) {
129
131
  await this.#store.save(event);
130
132
  }
131
133
  }
@@ -163,10 +165,23 @@ export class Controller {
163
165
  }
164
166
  const state = await this.state(event.i);
165
167
  const receipts = {};
168
+ const wigs = new Set();
166
169
  for (const wit of state.b) {
167
170
  const client = await this.getClient(wit);
168
- const attachment = serializeAttachments([serializeSignatures(signatures)]);
169
- const response = await client.getReceipt({ event, attachment });
171
+ const message = new Message(event, { ControllerIdxSigs: signatures });
172
+ const response = await client.getReceipt(message);
173
+ if (response.attachments.NonTransReceiptCouples.length > 0) {
174
+ const receiptCouple = response.attachments.NonTransReceiptCouples[0];
175
+ const witnessIndex = state.b.indexOf(receiptCouple.prefix);
176
+ if (witnessIndex !== -1) {
177
+ const signature = decodeMatter(receiptCouple.sig);
178
+ wigs.add(encodeIndexer({
179
+ code: getIndexedCode(signature.code),
180
+ raw: signature.raw,
181
+ index: witnessIndex,
182
+ }));
183
+ }
184
+ }
170
185
  await this.#store.save(response);
171
186
  receipts[wit] = response;
172
187
  }
@@ -176,14 +191,20 @@ export class Controller {
176
191
  if (other === wit) {
177
192
  continue;
178
193
  }
179
- const attachment = serializeAttachments([serializeReceipts(receipt.receipts)]);
180
- await client.sendMessage({ event: receipt.event, attachment });
194
+ const message = new Message(receipt.body, {
195
+ NonTransReceiptCouples: receipt.attachments.NonTransReceiptCouples,
196
+ });
197
+ await client.sendMessage(message);
181
198
  }
182
199
  }
200
+ return Array.from(wigs);
183
201
  }
184
202
  async state(said) {
185
- if (!said || typeof said !== "string") {
186
- throw new Error(`said must be a string, got ${said}`);
203
+ if (typeof said !== "string") {
204
+ throw new Error(`said must be a string, got ${typeof said}`);
205
+ }
206
+ if (!said) {
207
+ throw new Error("said cannot be empty string");
187
208
  }
188
209
  const result = await this.#store.state(said);
189
210
  if (!result) {
@@ -201,90 +222,67 @@ export class Controller {
201
222
  for (const [, edge] of Object.entries(credential.e)) {
202
223
  if (typeof edge === "object" && "n" in edge && typeof edge.n === "string") {
203
224
  const source = await this.store.get(edge.n);
204
- if (source && source.event.v.startsWith("ACDC")) {
205
- await this.sendCredentialArficats(source.event, recipient);
206
- if (source.seal && source.event.i) {
207
- await this.forward(client, {
208
- event: source.event,
209
- recipient: recipient,
210
- sender: await this.state(source.event.i),
211
- topic: "credential",
212
- attachment: serializeEventSeal(source.seal),
213
- });
214
- }
225
+ if (!source) {
226
+ throw new Error(`No source found for edge ${edge.n}`);
227
+ }
228
+ if (!source.body.v.startsWith("ACDC")) {
229
+ throw new Error(`Source for edge ${edge.n} is not a credential`);
230
+ }
231
+ await this.sendCredentialArficats(source.body, recipient);
232
+ if ((source.attachments.SealSourceCouples.length || source.attachments.SealSourceTriples.length) &&
233
+ source.body.i &&
234
+ typeof source.body.i === "string") {
235
+ await this.forward(client, {
236
+ message: source,
237
+ recipient: recipient,
238
+ sender: await this.state(source.body.i),
239
+ topic: "credential",
240
+ });
215
241
  }
216
242
  }
217
243
  }
218
244
  }
219
245
  // Introduce sender to mailbox
220
- for (const event of await this.#store.list(state.i)) {
221
- if ("t" in event.event) {
222
- await client.sendMessage({
223
- event: event.event,
224
- attachment: serializeAttachments([
225
- serializeSignatures(event.signatures),
226
- serializeWitnessSignatures(event.receipts, state.b),
227
- encodeCounter({
228
- code: CountCode_10.FirstSeenReplayCouples,
229
- count: 1,
230
- }),
231
- encodeHexNumber(event.event.s ?? "0"),
232
- cesr.encodeDate(event.timestamp),
233
- ]),
234
- });
235
- }
246
+ for (const message of await this.#store.list(state.i)) {
247
+ await client.sendMessage(message);
236
248
  }
237
249
  // Introduce sender to recipient
238
- for (const event of await this.#store.list(state.i)) {
239
- if ("t" in event.event) {
240
- await this.forward(client, {
241
- event: event.event,
242
- recipient: recipient,
243
- sender: state,
244
- topic: "credential",
245
- attachment: serializeAttachments([
246
- serializeSignatures(event.signatures),
247
- serializeWitnessSignatures(event.receipts, state.b),
248
- encodeCounter({
249
- code: CountCode_10.FirstSeenReplayCouples,
250
- count: 1,
251
- }),
252
- encodeHexNumber(event.event.s ?? "0"),
253
- cesr.encodeDate(event.timestamp),
254
- ]),
255
- });
256
- }
250
+ for (const message of await this.#store.list(state.i)) {
251
+ await this.forward(client, {
252
+ message: message,
253
+ recipient: recipient,
254
+ sender: state,
255
+ topic: "credential",
256
+ });
257
257
  }
258
258
  // Introduce registry to recipient
259
- for (const event of await this.#store.list(credential.ri)) {
260
- if (!event.seal) {
259
+ for (const message of await this.#store.list(credential.ri)) {
260
+ if (!message.attachments.SealSourceCouples.length && !message.attachments.SealSourceTriples.length) {
261
261
  throw new Error("No seal found for registry");
262
262
  }
263
263
  await this.forward(client, {
264
- event: event.event,
264
+ message: message,
265
265
  recipient,
266
266
  sender: state,
267
267
  topic: "credential",
268
- attachment: serializeAttachments([serializeDigestSeal(event.seal)]),
269
268
  });
270
269
  }
271
270
  // Introduce transaction to recipient
272
- for (const event of await this.#store.list(credential.d)) {
273
- if (!event.seal) {
271
+ for (const message of await this.#store.list(credential.d)) {
272
+ if (!message.attachments.SealSourceCouples.length && !message.attachments.SealSourceTriples.length) {
274
273
  throw new Error("No seal found for issuance");
275
274
  }
276
275
  await this.forward(client, {
277
- event: event.event,
276
+ message: message,
278
277
  recipient,
279
278
  sender: state,
280
279
  topic: "credential",
281
- attachment: serializeAttachments([serializeDigestSeal(event.seal)]),
282
280
  });
283
281
  }
284
282
  }
285
283
  async grant(args) {
286
284
  const state = await this.state(args.credential.i);
287
- const [registry] = (await this.listEvents(args.credential.ri));
285
+ const [registry] = await this.listEvents(args.credential.ri);
288
286
  if (!registry) {
289
287
  throw new Error(`Registry not found for said ${args.credential.ri}`);
290
288
  }
@@ -303,12 +301,13 @@ export class Controller {
303
301
  if (!iss) {
304
302
  throw new Error(`No issuance found for said ${args.credential.d}`);
305
303
  }
306
- if (!iss.seal) {
307
- throw new Error(`No seal found for issuance ${iss.event.d}`);
304
+ const anchorSeal = iss.attachments.SealSourceCouples[0] || iss.attachments.SealSourceTriples[0];
305
+ if (!anchorSeal) {
306
+ throw new Error(`No seal found for issuance ${iss.body.d}`);
308
307
  }
309
- const anchor = await this.#store.get(iss.seal.d);
308
+ const anchor = await this.#store.get(anchorSeal.digest);
310
309
  if (!anchor) {
311
- throw new Error(`No anchor found for issuance ${iss.event.d}`);
310
+ throw new Error(`No anchor found for issuance ${iss.body.d}`);
312
311
  }
313
312
  const grant = keri.exchange({
314
313
  i: state.i,
@@ -321,48 +320,81 @@ export class Controller {
321
320
  },
322
321
  e: {
323
322
  acdc: args.credential,
324
- iss: iss.event,
325
- anc: anchor.event,
323
+ iss: iss.body,
324
+ anc: anchor.body,
326
325
  },
327
326
  });
328
327
  const grantsigs = await this.sign(grant, state.k);
328
+ const message = new Message(grant, {
329
+ grouped: false,
330
+ TransIdxSigGroups: [
331
+ {
332
+ snu: seal.s,
333
+ digest: seal.d,
334
+ prefix: seal.i,
335
+ ControllerIdxSigs: grantsigs,
336
+ },
337
+ ],
338
+ PathedMaterialCouples: [
339
+ {
340
+ path: "-e-acdc",
341
+ attachments: {
342
+ grouped: false,
343
+ SealSourceTriples: [
344
+ {
345
+ prefix: iss.body.i,
346
+ snu: iss.body.s,
347
+ digest: iss.body.d,
348
+ },
349
+ ],
350
+ },
351
+ },
352
+ {
353
+ path: "-e-iss",
354
+ attachments: {
355
+ grouped: true,
356
+ SealSourceCouples: [
357
+ {
358
+ digest: anchor.body.d,
359
+ snu: anchor.body.s,
360
+ },
361
+ ],
362
+ },
363
+ },
364
+ {
365
+ path: "-e-anc",
366
+ attachments: {
367
+ grouped: true,
368
+ ControllerIdxSigs: anchor.attachments.ControllerIdxSigs,
369
+ WitnessIdxSigs: anchor.attachments.WitnessIdxSigs,
370
+ FirstSeenReplayCouples: anchor.attachments.FirstSeenReplayCouples,
371
+ },
372
+ },
373
+ ],
374
+ });
329
375
  await this.forward(client, {
330
- event: grant,
376
+ message,
331
377
  recipient,
332
378
  sender: state,
333
379
  topic: "credential",
334
380
  timestamp: args.timestamp,
335
- attachment: [
336
- serializeSignatures(grantsigs, seal),
337
- serializePathedGroup(["e", "acdc"], [serializeEventSeal(iss.event)]),
338
- serializePathedGroup(["e", "iss"], [serializeAttachments([serializeDigestSeal(anchor.event)])]),
339
- serializePathedGroup(["e", "anc"], [
340
- serializeAttachments([
341
- serializeSignatures(anchor.signatures),
342
- serializeWitnessSignatures(anchor.receipts, state.b),
343
- encodeCounter({
344
- code: CountCode_10.FirstSeenReplayCouples,
345
- count: 1,
346
- }),
347
- encodeHexNumber(anchor.event.s ?? "0"),
348
- cesr.encodeDate(anchor.timestamp),
349
- ]),
350
- ]),
351
- ].join(""),
352
381
  });
353
382
  }
354
383
  async forward(client, args) {
355
384
  if (client.role !== "mailbox" && client.role !== "witness") {
356
- const sigs = await this.sign(args.event, args.sender.k);
357
- const attachments = [args.attachment ? [args.attachment] : [serializeSignatures(sigs)]].join("");
358
- await client.sendMessage({ event: args.event, attachment: attachments });
385
+ // throw new Error("Can only forward to mailbox or witness endpoints");
386
+ if (args.message.attachments.frames().length > 1) {
387
+ await client.sendMessage(args.message);
388
+ return;
389
+ }
390
+ const sigs = await this.sign(args.message.body, args.sender.k);
391
+ const message = new Message(args.message.body, {
392
+ grouped: false,
393
+ ControllerIdxSigs: sigs,
394
+ });
395
+ await client.sendMessage(message);
359
396
  return;
360
397
  }
361
- const seal = {
362
- i: args.sender.i,
363
- s: args.sender.ee.s,
364
- d: args.sender.ee.d,
365
- };
366
398
  const fwd = keri.exchange({
367
399
  i: args.sender.i,
368
400
  r: "/fwd",
@@ -371,16 +403,43 @@ export class Controller {
371
403
  q: { pre: args.recipient, topic: args.topic },
372
404
  a: {},
373
405
  e: {
374
- evt: args.event,
406
+ evt: args.message.body,
375
407
  },
376
408
  });
377
409
  const fwdsigs = await this.sign(fwd, args.sender.k);
378
- const evtsigs = await this.sign(args.event, args.sender.k);
379
- const attachments = [
380
- serializeSignatures(fwdsigs, seal),
381
- serializePathedGroup(["e", "evt"], args.attachment ? [args.attachment] : [serializeSignatures(evtsigs, seal)]),
382
- ].join("");
383
- await client.sendMessage({ event: fwd, attachment: attachments });
410
+ const hasAttachments = args.message.attachments.frames().length > 1;
411
+ const evtatc = hasAttachments
412
+ ? args.message.attachments
413
+ : new Attachments({
414
+ grouped: false,
415
+ TransIdxSigGroups: [
416
+ {
417
+ digest: args.sender.ee.d,
418
+ snu: args.sender.ee.s,
419
+ prefix: args.sender.i,
420
+ ControllerIdxSigs: await this.sign(args.message.body, args.sender.k),
421
+ },
422
+ ],
423
+ });
424
+ const atc = new Attachments({
425
+ grouped: false,
426
+ TransIdxSigGroups: [
427
+ {
428
+ ControllerIdxSigs: fwdsigs,
429
+ snu: args.sender.ee.s,
430
+ digest: args.sender.ee.d,
431
+ prefix: args.sender.i,
432
+ },
433
+ ],
434
+ PathedMaterialCouples: [
435
+ {
436
+ path: "-e-evt",
437
+ attachments: evtatc,
438
+ },
439
+ ],
440
+ });
441
+ const message = new Message(fwd, atc);
442
+ await client.sendMessage(message);
384
443
  }
385
444
  async sign(event, keys) {
386
445
  const encoder = new TextEncoder();
@@ -389,4 +448,14 @@ export class Controller {
389
448
  return sigs;
390
449
  }
391
450
  }
451
+ export function getIndexedCode(code) {
452
+ switch (code) {
453
+ case MatterCode.Ed25519_Sig:
454
+ return IndexCode.Ed25519_Sig;
455
+ case MatterCode.Ed448_Sig:
456
+ return IndexCode.Ed448_Sig;
457
+ default:
458
+ throw new Error(`Unsupported indexed signature type: ${code}`);
459
+ }
460
+ }
392
461
  //# sourceMappingURL=controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,5 @@
1
+ import { Message } from "cesr";
1
2
  import { type KeyEvent, type Threshold } from "./events.ts";
2
- export interface KeyEventMessageInput<T extends KeyEvent = KeyEvent> {
3
- event: T;
4
- seal?: KeyEventSeal;
5
- signatures?: string[];
6
- receipts?: KeyEventReceipt[];
7
- }
8
- export interface KeyEventMessage<T extends KeyEvent = KeyEvent> extends KeyEventMessageInput<T> {
9
- timestamp: Date;
10
- signatures: string[];
11
- receipts: KeyEventReceipt[];
12
- }
13
3
  export interface LocationRecord {
14
4
  url: string;
15
5
  scheme: string;
@@ -36,11 +26,11 @@ export interface KeyValueStorage {
36
26
  export declare class ControllerEventStore {
37
27
  #private;
38
28
  constructor(db: KeyValueStorage);
39
- save(event: KeyEventMessageInput): Promise<void>;
40
- iter(said: string, from?: number): AsyncIterable<KeyEventMessage>;
41
- get(said: string): Promise<KeyEventMessage | null>;
29
+ save(event: Message<KeyEvent>): Promise<void>;
30
+ iter(said: string, from?: number): AsyncIterable<Message<KeyEvent>>;
31
+ get(said: string): Promise<Message<KeyEvent> | null>;
42
32
  state(said: string): Promise<KeyState>;
43
- list(said: string, from?: number): Promise<KeyEventMessage[]>;
33
+ list(said: string, from?: number): Promise<Message<KeyEvent>[]>;
44
34
  location(cid: string): Promise<LocationRecord | null>;
45
35
  endrole(cid: string, role: string): Promise<EndRoleRecord | null>;
46
36
  }
@@ -123,4 +113,4 @@ export interface KeyStateEstablishmentRecord {
123
113
  */
124
114
  ba: string[];
125
115
  }
126
- export declare function resolveKeyState(event: Iterable<KeyEventMessage> | AsyncIterable<KeyEventMessage>): Promise<KeyState>;
116
+ export declare function resolveKeyState(event: Iterable<Message<KeyEvent>> | AsyncIterable<Message<KeyEvent>>): Promise<KeyState>;