keri 0.0.0-dev.3258b67 → 0.0.0-dev.40708fa

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.
Files changed (146) hide show
  1. package/dist/cesr/__main__.d.ts +1 -2
  2. package/dist/cesr/__main__.js +1 -2
  3. package/dist/cesr/__main__.js.map +1 -1
  4. package/dist/cesr/attachments-reader.js +41 -33
  5. package/dist/cesr/attachments-reader.js.map +1 -1
  6. package/dist/cesr/attachments.d.ts +1 -3
  7. package/dist/cesr/attachments.js +3 -11
  8. package/dist/cesr/attachments.js.map +1 -1
  9. package/dist/cesr/counter.d.ts +2 -5
  10. package/dist/cesr/counter.js +8 -23
  11. package/dist/cesr/counter.js.map +1 -1
  12. package/dist/cesr/frame.d.ts +8 -13
  13. package/dist/cesr/frame.js +4 -2
  14. package/dist/cesr/frame.js.map +1 -1
  15. package/dist/cesr/genus.d.ts +0 -3
  16. package/dist/cesr/genus.js +2 -11
  17. package/dist/cesr/genus.js.map +1 -1
  18. package/dist/cesr/groups/generic-map.d.ts +2 -2
  19. package/dist/cesr/groups/generic-map.js +4 -12
  20. package/dist/cesr/groups/generic-map.js.map +1 -1
  21. package/dist/cesr/indexer.d.ts +3 -5
  22. package/dist/cesr/indexer.js +2 -8
  23. package/dist/cesr/indexer.js.map +1 -1
  24. package/dist/cesr/matter.d.ts +2 -5
  25. package/dist/cesr/matter.js +3 -13
  26. package/dist/cesr/matter.js.map +1 -1
  27. package/dist/cesr/message.js +1 -1
  28. package/dist/cesr/message.js.map +1 -1
  29. package/dist/cesr/parse.js +8 -7
  30. package/dist/cesr/parse.js.map +1 -1
  31. package/dist/cesr/version-string.js +1 -2
  32. package/dist/cesr/version-string.js.map +1 -1
  33. package/dist/cli/cli.js +3 -3
  34. package/dist/cli/cli.js.map +1 -1
  35. package/dist/controller/controller.d.ts +9 -25
  36. package/dist/controller/controller.js +5 -5
  37. package/dist/controller/controller.js.map +1 -1
  38. package/dist/core/credential-event.d.ts +5 -9
  39. package/dist/core/credential-event.js +1 -1
  40. package/dist/core/credential-event.js.map +1 -1
  41. package/dist/core/credential.d.ts +1 -1
  42. package/dist/core/credential.js +1 -1
  43. package/dist/core/credential.js.map +1 -1
  44. package/dist/core/digest.js +3 -3
  45. package/dist/core/digest.js.map +1 -1
  46. package/dist/core/endpoint-discovery.d.ts +4 -4
  47. package/dist/core/endpoint-discovery.js.map +1 -1
  48. package/dist/core/events.js +2 -2
  49. package/dist/core/events.js.map +1 -1
  50. package/dist/core/kawa.d.ts +1 -1
  51. package/dist/core/kawa.js +3 -42
  52. package/dist/core/kawa.js.map +1 -1
  53. package/dist/core/key-event-log.d.ts +12 -6
  54. package/dist/core/key-event-log.js +13 -11
  55. package/dist/core/key-event-log.js.map +1 -1
  56. package/dist/core/key-event.d.ts +7 -9
  57. package/dist/core/key-event.js +1 -1
  58. package/dist/core/key-event.js.map +1 -1
  59. package/dist/core/keys.d.ts +2 -1
  60. package/dist/core/keys.js +10 -10
  61. package/dist/core/keys.js.map +1 -1
  62. package/dist/core/mailbox-client.d.ts +1 -1
  63. package/dist/core/mailbox-client.js +2 -2
  64. package/dist/core/mailbox-client.js.map +1 -1
  65. package/dist/core/main.d.ts +9 -7
  66. package/dist/core/main.js +5 -3
  67. package/dist/core/main.js.map +1 -1
  68. package/dist/core/receipt-event.d.ts +2 -2
  69. package/dist/core/receipt-event.js +1 -1
  70. package/dist/core/receipt-event.js.map +1 -1
  71. package/dist/core/registry-event.d.ts +3 -5
  72. package/dist/core/registry-event.js +1 -1
  73. package/dist/core/registry-event.js.map +1 -1
  74. package/dist/core/routed-event.d.ts +7 -13
  75. package/dist/core/routed-event.js +1 -1
  76. package/dist/core/routed-event.js.map +1 -1
  77. package/dist/core/said.js +9 -6
  78. package/dist/core/said.js.map +1 -1
  79. package/dist/core/sign.js +3 -3
  80. package/dist/core/sign.js.map +1 -1
  81. package/dist/core/verify.d.ts +10 -2
  82. package/dist/core/verify.js +30 -11
  83. package/dist/core/verify.js.map +1 -1
  84. package/dist/core/witness-client.d.ts +8 -0
  85. package/dist/core/witness-client.js +39 -0
  86. package/dist/core/witness-client.js.map +1 -0
  87. package/dist/encoding/main.d.ts +2 -0
  88. package/dist/encoding/main.js +3 -0
  89. package/dist/encoding/main.js.map +1 -0
  90. package/dist/main.d.ts +0 -1
  91. package/dist/main.js +0 -1
  92. package/dist/main.js.map +1 -1
  93. package/dist/nodejs-utils/serve.d.ts +5 -0
  94. package/dist/nodejs-utils/serve.js +77 -0
  95. package/dist/nodejs-utils/serve.js.map +1 -0
  96. package/dist/storage/credential-storage.d.ts +8 -0
  97. package/dist/storage/credential-storage.js +2 -0
  98. package/dist/storage/credential-storage.js.map +1 -0
  99. package/dist/storage/key-event-storage.d.ts +10 -0
  100. package/dist/storage/key-event-storage.js +2 -0
  101. package/dist/storage/key-event-storage.js.map +1 -0
  102. package/dist/storage/mailbox-storage.d.ts +4 -0
  103. package/dist/storage/mailbox-storage.js +2 -0
  104. package/dist/storage/mailbox-storage.js.map +1 -0
  105. package/dist/storage/main.d.ts +4 -0
  106. package/dist/storage/main.js +2 -0
  107. package/dist/storage/main.js.map +1 -0
  108. package/dist/storage/private-key-storage.d.ts +5 -0
  109. package/dist/storage/private-key-storage.js +2 -0
  110. package/dist/storage/private-key-storage.js.map +1 -0
  111. package/dist/storage/sqlite/schema.js +25 -19
  112. package/dist/storage/sqlite/schema.js.map +1 -1
  113. package/dist/storage/sqlite/storage-sqlite.d.ts +10 -7
  114. package/dist/storage/sqlite/storage-sqlite.js +10 -8
  115. package/dist/storage/sqlite/storage-sqlite.js.map +1 -1
  116. package/dist/witness/main.d.ts +2 -6
  117. package/dist/witness/main.js +2 -3
  118. package/dist/witness/main.js.map +1 -1
  119. package/dist/witness/witness-router.d.ts +2 -0
  120. package/dist/witness/witness-router.js +103 -0
  121. package/dist/witness/witness-router.js.map +1 -0
  122. package/dist/witness/witness.d.ts +14 -6
  123. package/dist/witness/witness.js +128 -48
  124. package/dist/witness/witness.js.map +1 -1
  125. package/package.json +40 -10
  126. package/dist/cesr/codec.d.ts +0 -26
  127. package/dist/cesr/codec.js +0 -26
  128. package/dist/cesr/codec.js.map +0 -1
  129. package/dist/witness/app.d.ts +0 -9
  130. package/dist/witness/app.js +0 -91
  131. package/dist/witness/app.js.map +0 -1
  132. package/dist/witness/env.d.ts +0 -1
  133. package/dist/witness/env.js +0 -8
  134. package/dist/witness/env.js.map +0 -1
  135. package/dist/witness/event-storage.d.ts +0 -8
  136. package/dist/witness/event-storage.js +0 -2
  137. package/dist/witness/event-storage.js.map +0 -1
  138. package/dist/witness/local.d.ts +0 -1
  139. package/dist/witness/local.js +0 -48
  140. package/dist/witness/local.js.map +0 -1
  141. package/dist/witness/parser.d.ts +0 -3
  142. package/dist/witness/parser.js +0 -7
  143. package/dist/witness/parser.js.map +0 -1
  144. package/dist/witness/seed.d.ts +0 -1
  145. package/dist/witness/seed.js +0 -5
  146. package/dist/witness/seed.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/cesr/codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,CAAC,GAAe,EAAU,EAAE;QACjC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE;QACN,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7C,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7C,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/C,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/C,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACvC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;KACtC;IACD,KAAK,EAAE,OAAO,CAAC,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC,SAAS;CAC5B,CAAC"}
@@ -1,9 +0,0 @@
1
- import { Hono } from "hono";
2
- import type { EventStorage } from "./event-storage.ts";
3
- import type { Witness } from "./witness.ts";
4
- export interface WitnessOptions {
5
- witness: Witness;
6
- storage: EventStorage;
7
- logger?: (message: string, context: Record<string, unknown>) => void;
8
- }
9
- export declare function createApp(options: WitnessOptions): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
@@ -1,91 +0,0 @@
1
- import { Hono } from "hono";
2
- import { Attachments, Message } from "../cesr/__main__.js";
3
- import { parseKeyEvents } from "./parser.js";
4
- function createResponse(events) {
5
- const body = events
6
- .flatMap(({ message, timestamp }) => {
7
- const atc = new Attachments({
8
- ControllerIdxSigs: message.attachments.ControllerIdxSigs,
9
- WitnessIdxSigs: message.attachments.WitnessIdxSigs,
10
- NonTransReceiptCouples: message.attachments.NonTransReceiptCouples,
11
- FirstSeenReplayCouples: [{ fnu: String(message.body.s ?? "0"), dt: timestamp }],
12
- });
13
- return [new TextDecoder().decode(message.raw), atc.text()];
14
- })
15
- .join("");
16
- return new Response(body, {
17
- status: 200,
18
- headers: { "Content-Type": "application/json+cesr" },
19
- });
20
- }
21
- export function createApp(options) {
22
- const { witness } = options;
23
- const app = new Hono();
24
- app.get("/", (c) => c.json({ message: "OK" }));
25
- app.use(async (c, next) => {
26
- const start = Date.now();
27
- try {
28
- await next();
29
- }
30
- finally {
31
- const ms = Date.now() - start;
32
- options.logger?.(`${c.req.method} ${c.req.url} - ${c.res.status} - ${ms}ms`, {
33
- request: {
34
- url: c.req.url,
35
- method: c.req.method,
36
- headers: c.req.header(),
37
- },
38
- response: {
39
- status: c.res.status,
40
- headers: Object.fromEntries(c.res.headers),
41
- },
42
- });
43
- }
44
- });
45
- app.get("/oobi", () => {
46
- const response = createResponse(options.witness.events);
47
- response.headers.set("Keri-Aid", options.witness.aid);
48
- return response;
49
- });
50
- app.get(`/oobi/${witness.aid}`, () => {
51
- return createResponse(witness.events);
52
- });
53
- app.get("/oobi/:aid/:role?/:eid?", async (c) => {
54
- const aid = c.req.param("aid");
55
- const events = await options.storage.listEvents({ i: aid });
56
- if (events.length === 0) {
57
- return c.notFound();
58
- }
59
- return createResponse(events);
60
- });
61
- app.post("/receipts", async (c) => {
62
- const atc = c.req.header("CESR-ATTACHMENT");
63
- if (!atc) {
64
- return Response.json({ error: "Bad Request" }, { status: 400 });
65
- }
66
- const bodyText = await c.req.text();
67
- const receipts = [];
68
- for await (const witnessEvent of parseKeyEvents(bodyText + atc)) {
69
- const body = witnessEvent.message.body;
70
- if (typeof body.i !== "string" || typeof body.d !== "string" || typeof body.s !== "string") {
71
- return Response.json({ error: "Bad Request" }, { status: 400 });
72
- }
73
- if (witnessEvent.message.attachments.ControllerIdxSigs.length === 0) {
74
- return Response.json({ error: "Bad Request" }, { status: 400 });
75
- }
76
- const receipt = witness.endorse(witnessEvent.message);
77
- receipts.push({ message: receipt, timestamp: new Date() });
78
- const storedMessage = new Message(witnessEvent.message.body, {
79
- ControllerIdxSigs: witnessEvent.message.attachments.ControllerIdxSigs,
80
- NonTransReceiptCouples: [
81
- ...witnessEvent.message.attachments.NonTransReceiptCouples,
82
- ...receipt.attachments.NonTransReceiptCouples,
83
- ],
84
- });
85
- await options.storage.saveEvent({ message: storedMessage, timestamp: witnessEvent.timestamp });
86
- }
87
- return createResponse(receipts);
88
- });
89
- return app;
90
- }
91
- //# sourceMappingURL=app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/witness/app.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function get(key: string, defaultValue?: string): string;
@@ -1,8 +0,0 @@
1
- export function get(key, defaultValue) {
2
- const value = process.env[key] || defaultValue;
3
- if (!value) {
4
- throw new Error(`Environment variable ${key} is not set`);
5
- }
6
- return value;
7
- }
8
- //# sourceMappingURL=env.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/witness/env.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,YAAqB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC;IAE/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,aAAa,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { WitnessEvent } from "./witness.ts";
2
- export interface ListEventArgs {
3
- i: string;
4
- }
5
- export interface EventStorage {
6
- saveEvent(event: WitnessEvent): Promise<void>;
7
- listEvents(args: ListEventArgs): Promise<WitnessEvent[]>;
8
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=event-storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-storage.js","sourceRoot":"","sources":["../../src/witness/event-storage.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- export {};
@@ -1,48 +0,0 @@
1
- /** biome-ignore-all lint/suspicious/noConsole: Development */
2
- import { styleText } from "node:util";
3
- import { serve } from "@hono/node-server";
4
- import { ed25519 } from "@noble/curves/ed25519.js";
5
- import { createApp } from "./app.js";
6
- import { get } from "./env.js";
7
- import { createSeed } from "./seed.js";
8
- import { createWitness } from "./witness.js";
9
- class MemoryEventStorage {
10
- events = new Map();
11
- async saveEvent(event) {
12
- const key = event.message.body.i ?? "";
13
- const existing = this.events.get(key) ?? [];
14
- existing.push(event);
15
- this.events.set(key, existing);
16
- }
17
- async listEvents(args) {
18
- return this.events.get(args.i) ?? [];
19
- }
20
- }
21
- const port = parseInt(get("PORT", "3000"), 10);
22
- const passphrase = get("PASSPHRASE", "password");
23
- const salt = get("SALT", "salt");
24
- const url = get("WITNESS_URL", `http://localhost:${port}`);
25
- const storage = new MemoryEventStorage();
26
- const privateKey = ed25519.utils.randomSecretKey(createSeed(passphrase, salt));
27
- const witness = createWitness({ privateKey, url });
28
- const app = createApp({
29
- witness,
30
- storage,
31
- logger: (message) => console.log(message),
32
- });
33
- const server = serve({ fetch: app.fetch, port }, (info) => {
34
- console.log([
35
- "",
36
- styleText("green", "Witness running at:"),
37
- styleText("cyan", ` http://localhost:${info.port}`),
38
- styleText("cyan", ` http://localhost:${info.port}/oobi`),
39
- styleText("cyan", ` http://localhost:${info.port}/oobi/${witness.aid}`),
40
- "",
41
- styleText("yellow", "Press Ctrl+C to stop"),
42
- "",
43
- ].join("\n"));
44
- });
45
- process.on("SIGTERM", () => {
46
- server.close();
47
- });
48
- //# sourceMappingURL=local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/witness/local.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,kBAAkB;IACL,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE5D,KAAK,CAAC,SAAS,CAAC,KAAmB;QACjC,MAAM,GAAG,GAAI,KAAK,CAAC,OAAO,CAAC,IAAuB,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAmB;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;AAE3D,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;AACzC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;AAEnD,MAAM,GAAG,GAAG,SAAS,CAAC;IACpB,OAAO;IACP,OAAO;IACP,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;IACxD,OAAO,CAAC,GAAG,CACT;QACE,EAAE;QACF,SAAS,CAAC,OAAO,EAAE,qBAAqB,CAAC;QACzC,SAAS,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC;QACpD,SAAS,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,IAAI,OAAO,CAAC;QACzD,SAAS,CAAC,MAAM,EAAE,sBAAsB,IAAI,CAAC,IAAI,SAAS,OAAO,CAAC,GAAG,EAAE,CAAC;QACxE,EAAE;QACF,SAAS,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QAC3C,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import { type ParseInput } from "../cesr/__main__.ts";
2
- import type { WitnessEvent } from "./witness.ts";
3
- export declare function parseKeyEvents(input: ParseInput): AsyncIterableIterator<WitnessEvent>;
@@ -1,7 +0,0 @@
1
- import { parse } from "../cesr/__main__.js";
2
- export async function* parseKeyEvents(input) {
3
- for await (const message of parse(input)) {
4
- yield { message, timestamp: new Date() };
5
- }
6
- }
7
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/witness/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CAAC,KAAiB;IACrD,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- export declare function createSeed(passphrase: string, salt: string): Uint8Array;
@@ -1,5 +0,0 @@
1
- import { scrypt } from "@noble/hashes/scrypt.js";
2
- export function createSeed(passphrase, salt) {
3
- return scrypt(passphrase, salt, { N: 16384, r: 8, p: 1, dkLen: 32 });
4
- }
5
- //# sourceMappingURL=seed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seed.js","sourceRoot":"","sources":["../../src/witness/seed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,IAAY;IACzD,OAAO,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC"}