keri 0.0.8-dev.3be59ff → 0.0.8-dev.4fda712
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 +1 -8
- package/dist/controller/controller.d.ts +109 -0
- package/dist/controller/controller.js +542 -0
- package/dist/controller/controller.js.map +1 -0
- package/dist/controller/encrypt.d.ts +45 -0
- package/dist/controller/encrypt.js +120 -0
- package/dist/controller/encrypt.js.map +1 -0
- package/dist/core/credential-event.d.ts +58 -0
- package/dist/core/credential-event.js +28 -0
- package/dist/core/credential-event.js.map +1 -0
- package/dist/core/credential.d.ts +79 -0
- package/dist/core/credential.js +25 -0
- package/dist/core/credential.js.map +1 -0
- package/dist/core/digest.d.ts +1 -0
- package/dist/core/digest.js +7 -0
- package/dist/core/digest.js.map +1 -0
- package/dist/core/endpoint-discovery.d.ts +20 -0
- package/dist/core/endpoint-discovery.js +60 -0
- package/dist/core/endpoint-discovery.js.map +1 -0
- package/dist/core/events.d.ts +12 -0
- package/dist/core/events.js +25 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/kawa.d.ts +17 -0
- package/dist/core/kawa.js +79 -0
- package/dist/core/kawa.js.map +1 -0
- package/dist/core/key-event-log.d.ts +13 -0
- package/dist/core/key-event-log.js +154 -0
- package/dist/core/key-event-log.js.map +1 -0
- package/dist/core/key-event.d.ts +96 -0
- package/dist/core/key-event.js +89 -0
- package/dist/core/key-event.js.map +1 -0
- package/dist/core/keys.d.ts +9 -0
- package/dist/core/keys.js +17 -0
- package/dist/core/keys.js.map +1 -0
- package/dist/core/mailbox-client.d.ts +17 -0
- package/dist/{client.js → core/mailbox-client.js} +8 -36
- package/dist/core/mailbox-client.js.map +1 -0
- package/dist/core/main.d.ts +47 -0
- package/dist/core/main.js +44 -0
- package/dist/core/main.js.map +1 -0
- package/dist/core/receipt-event.d.ts +15 -0
- package/dist/core/receipt-event.js +13 -0
- package/dist/core/receipt-event.js.map +1 -0
- package/dist/core/registry-event.d.ts +28 -0
- package/dist/core/registry-event.js +18 -0
- package/dist/core/registry-event.js.map +1 -0
- package/dist/core/routed-event.d.ts +73 -0
- package/dist/core/routed-event.js +53 -0
- package/dist/core/routed-event.js.map +1 -0
- package/dist/core/said.d.ts +4 -0
- package/dist/core/said.js +26 -0
- package/dist/core/said.js.map +1 -0
- package/dist/core/sign.d.ts +5 -0
- package/dist/core/sign.js +10 -0
- package/dist/core/sign.js.map +1 -0
- package/dist/core/threshold.d.ts +6 -0
- package/dist/core/threshold.js +58 -0
- package/dist/core/threshold.js.map +1 -0
- package/dist/core/verify.d.ts +14 -0
- package/dist/core/verify.js +43 -0
- package/dist/core/verify.js.map +1 -0
- package/dist/main.d.ts +2 -7
- package/dist/main.js +2 -7
- package/dist/main.js.map +1 -1
- package/dist/storage/sqlite/node-sqlite.d.ts +12 -0
- package/dist/storage/sqlite/node-sqlite.js +25 -0
- package/dist/storage/sqlite/node-sqlite.js.map +1 -0
- package/dist/storage/sqlite/schema.d.ts +2 -0
- package/dist/storage/sqlite/schema.js +49 -0
- package/dist/storage/sqlite/schema.js.map +1 -0
- package/dist/storage/sqlite/sqlite-database.d.ts +13 -0
- package/dist/storage/sqlite/sqlite-database.js +2 -0
- package/dist/storage/sqlite/sqlite-database.js.map +1 -0
- package/dist/storage/sqlite/storage-sqlite.d.ts +26 -0
- package/dist/storage/sqlite/storage-sqlite.js +213 -0
- package/dist/storage/sqlite/storage-sqlite.js.map +1 -0
- package/package.json +10 -11
- package/dist/cli/main.d.ts +0 -2
- package/dist/cli/main.js +0 -179
- package/dist/cli/main.js.map +0 -1
- package/dist/client.d.ts +0 -17
- package/dist/client.js.map +0 -1
- package/dist/controller.d.ts +0 -65
- package/dist/controller.js +0 -481
- package/dist/controller.js.map +0 -1
- package/dist/db/storage-sqlite.d.ts +0 -12
- package/dist/db/storage-sqlite.js +0 -53
- package/dist/db/storage-sqlite.js.map +0 -1
- package/dist/db/storage.d.ts +0 -18
- package/dist/db/storage.js +0 -29
- package/dist/db/storage.js.map +0 -1
- package/dist/events/event-store.d.ts +0 -116
- package/dist/events/event-store.js +0 -254
- package/dist/events/event-store.js.map +0 -1
- package/dist/events/events.d.ts +0 -248
- package/dist/events/events.js +0 -186
- package/dist/events/events.js.map +0 -1
- package/dist/keystore/encrypt.d.ts +0 -11
- package/dist/keystore/encrypt.js +0 -57
- package/dist/keystore/encrypt.js.map +0 -1
- package/dist/keystore/key-manager.d.ts +0 -19
- package/dist/keystore/key-manager.js +0 -64
- package/dist/keystore/key-manager.js.map +0 -1
- package/dist/keystore/pinentry.d.ts +0 -1
- package/dist/keystore/pinentry.js +0 -46
- package/dist/keystore/pinentry.js.map +0 -1
package/dist/controller.js
DELETED
|
@@ -1,481 +0,0 @@
|
|
|
1
|
-
import { ControllerEventStore, } from "./events/event-store.js";
|
|
2
|
-
import { createDigest } from "./keystore/key-manager.js";
|
|
3
|
-
import { keri, formatDate, } from "./events/events.js";
|
|
4
|
-
import { Client } from "./client.js";
|
|
5
|
-
import { Attachments, cesr, Matter, Message, parse } from "cesr";
|
|
6
|
-
export class Controller {
|
|
7
|
-
#keyManager;
|
|
8
|
-
#store;
|
|
9
|
-
get store() {
|
|
10
|
-
return this.#store;
|
|
11
|
-
}
|
|
12
|
-
constructor(deps) {
|
|
13
|
-
this.#store = new ControllerEventStore(deps.storage);
|
|
14
|
-
this.#keyManager = deps.keyManager;
|
|
15
|
-
}
|
|
16
|
-
async createIdentifier(args = {}) {
|
|
17
|
-
const keys = args.keys ?? [await this.#keyManager.incept()];
|
|
18
|
-
const next = args.next ?? [await this.#keyManager.incept()];
|
|
19
|
-
const event = keri.incept({
|
|
20
|
-
k: keys.map((key) => key),
|
|
21
|
-
n: next.map((key) => createDigest(key)),
|
|
22
|
-
b: args.wits,
|
|
23
|
-
bt: args.toad ? args.toad.toString(16) : undefined,
|
|
24
|
-
});
|
|
25
|
-
const sigs = await this.sign(event, event.k);
|
|
26
|
-
await this.#store.save(new Message(event, { ControllerIdxSigs: sigs }));
|
|
27
|
-
const wigs = await this.submit(event, sigs);
|
|
28
|
-
await this.#store.save(new Message(event, {
|
|
29
|
-
ControllerIdxSigs: sigs,
|
|
30
|
-
WitnessIdxSigs: wigs,
|
|
31
|
-
}));
|
|
32
|
-
for (const wit of args.wits ?? []) {
|
|
33
|
-
await this.addMailbox(event.i, wit);
|
|
34
|
-
}
|
|
35
|
-
return await this.#store.state(event.i);
|
|
36
|
-
}
|
|
37
|
-
async addMailbox(aid, eid) {
|
|
38
|
-
const state = await this.state(aid);
|
|
39
|
-
const rpy = keri.reply({
|
|
40
|
-
r: "/end/role/add",
|
|
41
|
-
a: {
|
|
42
|
-
eid,
|
|
43
|
-
cid: state.i,
|
|
44
|
-
role: "mailbox",
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
const sigs = await this.sign(rpy, state.k);
|
|
48
|
-
await this.#store.save(new Message(rpy, { ControllerIdxSigs: sigs }));
|
|
49
|
-
for (const wit of state.b) {
|
|
50
|
-
const client = await this.getClient(wit);
|
|
51
|
-
const message = new Message(rpy, {
|
|
52
|
-
TransIdxSigGroups: [
|
|
53
|
-
{
|
|
54
|
-
snu: state.s,
|
|
55
|
-
digest: state.d,
|
|
56
|
-
prefix: state.i,
|
|
57
|
-
ControllerIdxSigs: sigs,
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
});
|
|
61
|
-
await client.sendMessage(message);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
async interact(args) {
|
|
65
|
-
const state = await this.state(args.aid);
|
|
66
|
-
const sn = (parseInt(state.s ?? "0", 16) + 1).toString(16);
|
|
67
|
-
const event = keri.interact({ i: state.i, p: state.d, s: sn, a: [args.data] });
|
|
68
|
-
const sigs = await this.sign(event, state.k);
|
|
69
|
-
await this.#store.save(new Message(event, { ControllerIdxSigs: sigs }));
|
|
70
|
-
const wigs = await this.submit(event, sigs);
|
|
71
|
-
await this.#store.save(new Message(event, {
|
|
72
|
-
ControllerIdxSigs: sigs,
|
|
73
|
-
WitnessIdxSigs: wigs,
|
|
74
|
-
}));
|
|
75
|
-
return event;
|
|
76
|
-
}
|
|
77
|
-
async createRegistry(args) {
|
|
78
|
-
const registry = keri.registry({
|
|
79
|
-
ii: args.owner,
|
|
80
|
-
n: args.nonce,
|
|
81
|
-
});
|
|
82
|
-
const anchor = await this.interact({
|
|
83
|
-
aid: args.owner,
|
|
84
|
-
data: {
|
|
85
|
-
d: registry.d,
|
|
86
|
-
s: registry.s,
|
|
87
|
-
i: registry.i,
|
|
88
|
-
},
|
|
89
|
-
});
|
|
90
|
-
const state = await this.state(args.owner);
|
|
91
|
-
const message = new Message(registry, {
|
|
92
|
-
SealSourceCouples: [
|
|
93
|
-
{
|
|
94
|
-
digest: anchor.d,
|
|
95
|
-
snu: anchor.s,
|
|
96
|
-
},
|
|
97
|
-
],
|
|
98
|
-
});
|
|
99
|
-
for (const wit of state.b) {
|
|
100
|
-
const endpoint = await this.getClient(wit);
|
|
101
|
-
await endpoint.sendMessage(message);
|
|
102
|
-
}
|
|
103
|
-
await this.#store.save(message);
|
|
104
|
-
return registry;
|
|
105
|
-
}
|
|
106
|
-
async createCredential(args) {
|
|
107
|
-
const [registry] = (await this.#store.list(args.registryId));
|
|
108
|
-
if (!registry) {
|
|
109
|
-
throw new Error(`Registry ${args.registryId} not found`);
|
|
110
|
-
}
|
|
111
|
-
const state = await this.state(registry.body.ii);
|
|
112
|
-
const acdc = keri.credential({
|
|
113
|
-
i: state.i,
|
|
114
|
-
ri: registry.body.i,
|
|
115
|
-
s: args.schemaId,
|
|
116
|
-
u: args.salt,
|
|
117
|
-
a: {
|
|
118
|
-
i: args.holder,
|
|
119
|
-
dt: formatDate(args.timestamp ?? new Date()),
|
|
120
|
-
...args.data,
|
|
121
|
-
},
|
|
122
|
-
r: args.rules,
|
|
123
|
-
e: args.edges,
|
|
124
|
-
});
|
|
125
|
-
const iss = keri.issue({
|
|
126
|
-
i: acdc.d,
|
|
127
|
-
ri: registry.body.i,
|
|
128
|
-
dt: formatDate(args.timestamp ?? new Date()),
|
|
129
|
-
});
|
|
130
|
-
const anchor = await this.interact({
|
|
131
|
-
aid: state.i,
|
|
132
|
-
data: {
|
|
133
|
-
d: iss.d,
|
|
134
|
-
s: iss.s,
|
|
135
|
-
i: iss.i,
|
|
136
|
-
},
|
|
137
|
-
});
|
|
138
|
-
for (const wit of state.b) {
|
|
139
|
-
const client = await this.getClient(wit);
|
|
140
|
-
const message = new Message(iss, {
|
|
141
|
-
SealSourceCouples: [
|
|
142
|
-
{
|
|
143
|
-
digest: anchor.d,
|
|
144
|
-
snu: anchor.s,
|
|
145
|
-
},
|
|
146
|
-
],
|
|
147
|
-
});
|
|
148
|
-
await client.sendMessage(message);
|
|
149
|
-
}
|
|
150
|
-
await this.#store.save(new Message(acdc, { SealSourceTriples: [{ prefix: anchor.i, digest: iss.d, snu: iss.s }] }));
|
|
151
|
-
await this.#store.save(new Message(iss, { SealSourceCouples: [{ digest: anchor.d, snu: anchor.s }] }));
|
|
152
|
-
return acdc;
|
|
153
|
-
}
|
|
154
|
-
async resolve(oobi) {
|
|
155
|
-
const response = await fetch(oobi);
|
|
156
|
-
if (!response.ok) {
|
|
157
|
-
throw new Error(`Failed to fetch oobi: ${response.status} ${response.statusText}`);
|
|
158
|
-
}
|
|
159
|
-
if (!response.body) {
|
|
160
|
-
throw new Error(`No body in response`);
|
|
161
|
-
}
|
|
162
|
-
for await (const event of parse(response.body)) {
|
|
163
|
-
await this.#store.save(event);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
async getClient(cid) {
|
|
167
|
-
const mailbox = await this.#store.endrole(cid, "mailbox");
|
|
168
|
-
const agent = await this.#store.endrole(cid, "agent");
|
|
169
|
-
const controller = await this.#store.endrole(cid, "controller");
|
|
170
|
-
const event = controller || agent || mailbox;
|
|
171
|
-
if (!event || !event.eid || typeof event.eid !== "string" || typeof event.role !== "string") {
|
|
172
|
-
throw new Error(`No valid end role aid found for aid ${cid}`);
|
|
173
|
-
}
|
|
174
|
-
return new Client({ endpoint: await this.getLocation(event.eid), role: event.role });
|
|
175
|
-
}
|
|
176
|
-
async getLocation(aid) {
|
|
177
|
-
const location = await this.#store.location(aid);
|
|
178
|
-
if (!location) {
|
|
179
|
-
throw new Error(`No valid location found for aid ${aid}`);
|
|
180
|
-
}
|
|
181
|
-
if (!location.eid || typeof location.eid !== "string") {
|
|
182
|
-
throw new Error(`No valid EID found for aid ${aid}`);
|
|
183
|
-
}
|
|
184
|
-
if (!location.scheme || typeof location.scheme !== "string") {
|
|
185
|
-
throw new Error(`No valid scheme found for aid ${aid}`);
|
|
186
|
-
}
|
|
187
|
-
return {
|
|
188
|
-
url: new URL(location.url).toString(),
|
|
189
|
-
scheme: location.scheme,
|
|
190
|
-
eid: location.eid,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
async submit(event, signatures) {
|
|
194
|
-
if (!event || !("i" in event && typeof event.i === "string")) {
|
|
195
|
-
throw new Error("No such event");
|
|
196
|
-
}
|
|
197
|
-
const state = await this.state(event.i);
|
|
198
|
-
const receipts = {};
|
|
199
|
-
const wigs = new Set();
|
|
200
|
-
for (const wit of state.b) {
|
|
201
|
-
const client = await this.getClient(wit);
|
|
202
|
-
const message = new Message(event, { ControllerIdxSigs: signatures });
|
|
203
|
-
const response = await client.getReceipt(message);
|
|
204
|
-
if (response.attachments.NonTransReceiptCouples.length > 0) {
|
|
205
|
-
const receiptCouple = response.attachments.NonTransReceiptCouples[0];
|
|
206
|
-
const witnessIndex = state.b.indexOf(receiptCouple.prefix);
|
|
207
|
-
if (witnessIndex !== -1) {
|
|
208
|
-
const signature = Matter.parse(receiptCouple.sig);
|
|
209
|
-
switch (signature.code) {
|
|
210
|
-
case Matter.Code.Ed25519_Sig:
|
|
211
|
-
wigs.add(cesr.crypto.ed25519_sig(signature.raw, witnessIndex).text());
|
|
212
|
-
break;
|
|
213
|
-
case Matter.Code.Ed448_Sig:
|
|
214
|
-
wigs.add(cesr.crypto.ed448_sig(signature.raw, witnessIndex).text());
|
|
215
|
-
break;
|
|
216
|
-
default:
|
|
217
|
-
throw new Error(`Unsupported signature type: ${signature.code}`);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
await this.#store.save(response);
|
|
222
|
-
receipts[wit] = response;
|
|
223
|
-
}
|
|
224
|
-
for (const wit of state.b) {
|
|
225
|
-
const client = await this.getClient(wit);
|
|
226
|
-
for (const [other, receipt] of Object.entries(receipts)) {
|
|
227
|
-
if (other === wit) {
|
|
228
|
-
continue;
|
|
229
|
-
}
|
|
230
|
-
const message = new Message(receipt.body, {
|
|
231
|
-
NonTransReceiptCouples: receipt.attachments.NonTransReceiptCouples,
|
|
232
|
-
});
|
|
233
|
-
await client.sendMessage(message);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
return Array.from(wigs);
|
|
237
|
-
}
|
|
238
|
-
async state(said) {
|
|
239
|
-
if (typeof said !== "string") {
|
|
240
|
-
throw new Error(`said must be a string, got ${typeof said}`);
|
|
241
|
-
}
|
|
242
|
-
if (!said) {
|
|
243
|
-
throw new Error("said cannot be empty string");
|
|
244
|
-
}
|
|
245
|
-
const result = await this.#store.state(said);
|
|
246
|
-
if (!result) {
|
|
247
|
-
throw new Error(`No state found for said ${said}`);
|
|
248
|
-
}
|
|
249
|
-
return result;
|
|
250
|
-
}
|
|
251
|
-
async listEvents(id) {
|
|
252
|
-
return this.#store.list(id);
|
|
253
|
-
}
|
|
254
|
-
async sendCredentialArficats(credential, recipient) {
|
|
255
|
-
const client = await this.getClient(recipient);
|
|
256
|
-
const state = await this.state(credential.i);
|
|
257
|
-
if (credential.e) {
|
|
258
|
-
for (const [, edge] of Object.entries(credential.e)) {
|
|
259
|
-
if (typeof edge === "object" && "n" in edge && typeof edge.n === "string") {
|
|
260
|
-
const source = await this.store.get(edge.n);
|
|
261
|
-
if (!source) {
|
|
262
|
-
throw new Error(`No source found for edge ${edge.n}`);
|
|
263
|
-
}
|
|
264
|
-
if (!source.body.v.startsWith("ACDC")) {
|
|
265
|
-
throw new Error(`Source for edge ${edge.n} is not a credential`);
|
|
266
|
-
}
|
|
267
|
-
await this.sendCredentialArficats(source.body, recipient);
|
|
268
|
-
if ((source.attachments.SealSourceCouples.length || source.attachments.SealSourceTriples.length) &&
|
|
269
|
-
source.body.i &&
|
|
270
|
-
typeof source.body.i === "string") {
|
|
271
|
-
await this.forward({
|
|
272
|
-
message: source,
|
|
273
|
-
recipient: recipient,
|
|
274
|
-
sender: await this.state(source.body.i),
|
|
275
|
-
topic: "credential",
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
// Introduce sender to mailbox
|
|
282
|
-
for (const message of await this.#store.list(state.i)) {
|
|
283
|
-
await client.sendMessage(message);
|
|
284
|
-
}
|
|
285
|
-
// Introduce sender to recipient
|
|
286
|
-
for (const message of await this.#store.list(state.i)) {
|
|
287
|
-
await this.forward({
|
|
288
|
-
message: message,
|
|
289
|
-
recipient: recipient,
|
|
290
|
-
sender: state,
|
|
291
|
-
topic: "credential",
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
// Introduce registry to recipient
|
|
295
|
-
for (const message of await this.#store.list(credential.ri)) {
|
|
296
|
-
if (!message.attachments.SealSourceCouples.length && !message.attachments.SealSourceTriples.length) {
|
|
297
|
-
throw new Error("No seal found for registry");
|
|
298
|
-
}
|
|
299
|
-
await this.forward({
|
|
300
|
-
message: message,
|
|
301
|
-
recipient,
|
|
302
|
-
sender: state,
|
|
303
|
-
topic: "credential",
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
// Introduce transaction to recipient
|
|
307
|
-
for (const message of await this.#store.list(credential.d)) {
|
|
308
|
-
if (!message.attachments.SealSourceCouples.length && !message.attachments.SealSourceTriples.length) {
|
|
309
|
-
throw new Error("No seal found for issuance");
|
|
310
|
-
}
|
|
311
|
-
await this.forward({
|
|
312
|
-
message: message,
|
|
313
|
-
recipient,
|
|
314
|
-
sender: state,
|
|
315
|
-
topic: "credential",
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
async grant(args) {
|
|
320
|
-
const state = await this.state(args.credential.i);
|
|
321
|
-
const [registry] = await this.listEvents(args.credential.ri);
|
|
322
|
-
if (!registry) {
|
|
323
|
-
throw new Error(`Registry not found for said ${args.credential.ri}`);
|
|
324
|
-
}
|
|
325
|
-
const recipient = args.recipient || args.credential.a.i;
|
|
326
|
-
if (!recipient) {
|
|
327
|
-
throw new Error(`No recipient specified and the credential has no issuee`);
|
|
328
|
-
}
|
|
329
|
-
const seal = {
|
|
330
|
-
i: state.i,
|
|
331
|
-
s: state.ee.s,
|
|
332
|
-
d: state.ee.d,
|
|
333
|
-
};
|
|
334
|
-
const transactions = await this.#store.list(args.credential.d);
|
|
335
|
-
const [iss] = transactions;
|
|
336
|
-
if (!iss) {
|
|
337
|
-
throw new Error(`No issuance found for said ${args.credential.d}`);
|
|
338
|
-
}
|
|
339
|
-
const anchorSeal = iss.attachments.SealSourceCouples[0] || iss.attachments.SealSourceTriples[0];
|
|
340
|
-
if (!anchorSeal) {
|
|
341
|
-
throw new Error(`No seal found for issuance ${iss.body.d}`);
|
|
342
|
-
}
|
|
343
|
-
const anchor = await this.#store.get(anchorSeal.digest);
|
|
344
|
-
if (!anchor) {
|
|
345
|
-
throw new Error(`No anchor found for issuance ${iss.body.d}`);
|
|
346
|
-
}
|
|
347
|
-
const grant = keri.exchange({
|
|
348
|
-
i: state.i,
|
|
349
|
-
r: "/ipex/grant",
|
|
350
|
-
dt: args.timestamp,
|
|
351
|
-
q: {},
|
|
352
|
-
a: {
|
|
353
|
-
m: "",
|
|
354
|
-
i: recipient,
|
|
355
|
-
},
|
|
356
|
-
e: {
|
|
357
|
-
acdc: args.credential,
|
|
358
|
-
iss: iss.body,
|
|
359
|
-
anc: anchor.body,
|
|
360
|
-
},
|
|
361
|
-
});
|
|
362
|
-
const grantsigs = await this.sign(grant, state.k);
|
|
363
|
-
const message = new Message(grant, {
|
|
364
|
-
TransIdxSigGroups: [
|
|
365
|
-
{
|
|
366
|
-
snu: seal.s,
|
|
367
|
-
digest: seal.d,
|
|
368
|
-
prefix: seal.i,
|
|
369
|
-
ControllerIdxSigs: grantsigs,
|
|
370
|
-
},
|
|
371
|
-
],
|
|
372
|
-
PathedMaterialCouples: [
|
|
373
|
-
{
|
|
374
|
-
path: "-e-acdc",
|
|
375
|
-
attachments: {
|
|
376
|
-
SealSourceTriples: [
|
|
377
|
-
{
|
|
378
|
-
prefix: iss.body.i,
|
|
379
|
-
snu: iss.body.s,
|
|
380
|
-
digest: iss.body.d,
|
|
381
|
-
},
|
|
382
|
-
],
|
|
383
|
-
},
|
|
384
|
-
},
|
|
385
|
-
{
|
|
386
|
-
path: "-e-iss",
|
|
387
|
-
grouped: true,
|
|
388
|
-
attachments: {
|
|
389
|
-
SealSourceCouples: [
|
|
390
|
-
{
|
|
391
|
-
digest: anchor.body.d,
|
|
392
|
-
snu: anchor.body.s,
|
|
393
|
-
},
|
|
394
|
-
],
|
|
395
|
-
},
|
|
396
|
-
},
|
|
397
|
-
{
|
|
398
|
-
path: "-e-anc",
|
|
399
|
-
grouped: true,
|
|
400
|
-
attachments: {
|
|
401
|
-
ControllerIdxSigs: anchor.attachments.ControllerIdxSigs,
|
|
402
|
-
WitnessIdxSigs: anchor.attachments.WitnessIdxSigs,
|
|
403
|
-
FirstSeenReplayCouples: anchor.attachments.FirstSeenReplayCouples,
|
|
404
|
-
},
|
|
405
|
-
},
|
|
406
|
-
],
|
|
407
|
-
});
|
|
408
|
-
await this.forward({
|
|
409
|
-
message,
|
|
410
|
-
recipient,
|
|
411
|
-
sender: state,
|
|
412
|
-
topic: "credential",
|
|
413
|
-
timestamp: args.timestamp,
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
async forward(args) {
|
|
417
|
-
const client = await this.getClient(args.recipient);
|
|
418
|
-
if (client.role !== "mailbox" && client.role !== "witness") {
|
|
419
|
-
if (args.message.attachments.frames().length > 1) {
|
|
420
|
-
await client.sendMessage(args.message);
|
|
421
|
-
return;
|
|
422
|
-
}
|
|
423
|
-
const sigs = await this.sign(args.message.body, args.sender.k);
|
|
424
|
-
const message = new Message(args.message.body, {
|
|
425
|
-
ControllerIdxSigs: sigs,
|
|
426
|
-
});
|
|
427
|
-
await client.sendMessage(message);
|
|
428
|
-
return;
|
|
429
|
-
}
|
|
430
|
-
const fwd = keri.exchange({
|
|
431
|
-
i: args.sender.i,
|
|
432
|
-
r: "/fwd",
|
|
433
|
-
dt: args.timestamp,
|
|
434
|
-
// rp: args.recipient,
|
|
435
|
-
q: { pre: args.recipient, topic: args.topic },
|
|
436
|
-
a: {},
|
|
437
|
-
e: {
|
|
438
|
-
evt: args.message.body,
|
|
439
|
-
},
|
|
440
|
-
});
|
|
441
|
-
const fwdsigs = await this.sign(fwd, args.sender.k);
|
|
442
|
-
const hasAttachments = args.message.attachments.frames().length > 1;
|
|
443
|
-
const evtatc = hasAttachments
|
|
444
|
-
? args.message.attachments
|
|
445
|
-
: new Attachments({
|
|
446
|
-
TransIdxSigGroups: [
|
|
447
|
-
{
|
|
448
|
-
digest: args.sender.ee.d,
|
|
449
|
-
snu: args.sender.ee.s,
|
|
450
|
-
prefix: args.sender.i,
|
|
451
|
-
ControllerIdxSigs: await this.sign(args.message.body, args.sender.k),
|
|
452
|
-
},
|
|
453
|
-
],
|
|
454
|
-
});
|
|
455
|
-
const atc = new Attachments({
|
|
456
|
-
TransIdxSigGroups: [
|
|
457
|
-
{
|
|
458
|
-
ControllerIdxSigs: fwdsigs,
|
|
459
|
-
snu: args.sender.ee.s,
|
|
460
|
-
digest: args.sender.ee.d,
|
|
461
|
-
prefix: args.sender.i,
|
|
462
|
-
},
|
|
463
|
-
],
|
|
464
|
-
PathedMaterialCouples: [
|
|
465
|
-
{
|
|
466
|
-
path: "-e-evt",
|
|
467
|
-
attachments: evtatc,
|
|
468
|
-
},
|
|
469
|
-
],
|
|
470
|
-
});
|
|
471
|
-
const message = new Message(fwd, atc);
|
|
472
|
-
await client.sendMessage(message);
|
|
473
|
-
}
|
|
474
|
-
async sign(event, keys) {
|
|
475
|
-
const encoder = new TextEncoder();
|
|
476
|
-
const payload = encoder.encode(JSON.stringify(event));
|
|
477
|
-
const sigs = await Promise.all(keys.map((key, idx) => this.#keyManager.sign(key, payload, idx)));
|
|
478
|
-
return sigs;
|
|
479
|
-
}
|
|
480
|
-
}
|
|
481
|
-
//# sourceMappingURL=controller.js.map
|
package/dist/controller.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../src/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { KeyValueStorage } from "../events/event-store.ts";
|
|
2
|
-
export interface SqliteStorageOptions {
|
|
3
|
-
filename?: string;
|
|
4
|
-
}
|
|
5
|
-
export declare class SqliteStorage implements KeyValueStorage {
|
|
6
|
-
#private;
|
|
7
|
-
constructor(options?: SqliteStorageOptions);
|
|
8
|
-
clear(): void;
|
|
9
|
-
init(): void;
|
|
10
|
-
get(key: string): Promise<string | null>;
|
|
11
|
-
set(key: string, value: string): Promise<void>;
|
|
12
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { existsSync, mkdirSync } from "node:fs";
|
|
3
|
-
import { dirname } from "node:path";
|
|
4
|
-
function ensureDirSync(filename) {
|
|
5
|
-
const dir = dirname(filename);
|
|
6
|
-
if (!existsSync(dir)) {
|
|
7
|
-
mkdirSync(dir);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
export class SqliteStorage {
|
|
11
|
-
#db;
|
|
12
|
-
constructor(options = {}) {
|
|
13
|
-
if (options.filename) {
|
|
14
|
-
ensureDirSync(options.filename);
|
|
15
|
-
}
|
|
16
|
-
this.#db = new DatabaseSync(options.filename ?? ":memory:");
|
|
17
|
-
}
|
|
18
|
-
clear() {
|
|
19
|
-
this.#db.exec("DELETE FROM events;");
|
|
20
|
-
}
|
|
21
|
-
init() {
|
|
22
|
-
this.#db.exec([
|
|
23
|
-
"CREATE TABLE IF NOT EXISTS key_events (",
|
|
24
|
-
" event_id TEXT PRIMARY KEY,",
|
|
25
|
-
" event_data JSON NOT NULL",
|
|
26
|
-
");",
|
|
27
|
-
].join("\n"));
|
|
28
|
-
}
|
|
29
|
-
async get(key) {
|
|
30
|
-
const statement = ["SELECT event_data FROM key_events", "WHERE event_id = $event_id", "LIMIT 1;"].join("\n");
|
|
31
|
-
const result = this.#db.prepare(statement).get({ event_id: key });
|
|
32
|
-
if (!result || typeof result !== "object") {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
if (!("event_data" in result)) {
|
|
36
|
-
throw new Error(`Row does not contain key: ${key}`);
|
|
37
|
-
}
|
|
38
|
-
const value = result["event_data"];
|
|
39
|
-
if (typeof value !== "string") {
|
|
40
|
-
throw new Error(`Row key "${key}" is not a string ${typeof value}`);
|
|
41
|
-
}
|
|
42
|
-
return value;
|
|
43
|
-
}
|
|
44
|
-
async set(key, value) {
|
|
45
|
-
const statement = [
|
|
46
|
-
"INSERT INTO key_events (event_id, event_data)",
|
|
47
|
-
"VALUES ($event_id, $event_data)",
|
|
48
|
-
"ON CONFLICT(event_id) DO UPDATE SET event_data = $event_data;",
|
|
49
|
-
].join("\n");
|
|
50
|
-
this.#db.prepare(statement).run({ event_id: key, event_data: value ?? null });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=storage-sqlite.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage-sqlite.js","sourceRoot":"","sources":["../../src/db/storage-sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,aAAa;IACxB,GAAG,CAAe;IAElB,YAAY,UAAgC,EAAE;QAC5C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CACX;YACE,yCAAyC;YACzC,8BAA8B;YAC9B,4BAA4B;YAC5B,IAAI;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,SAAS,GAAG,CAAC,mCAAmC,EAAE,4BAA4B,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7G,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,qBAAqB,OAAO,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,MAAM,SAAS,GAAG;YAChB,+CAA+C;YAC/C,iCAAiC;YACjC,+DAA+D;SAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;CACF"}
|
package/dist/db/storage.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { KeyValueStorage } from "../events/event-store.ts";
|
|
2
|
-
export interface Storage {
|
|
3
|
-
getItem(key: string): string | null;
|
|
4
|
-
setItem(key: string, value: string): void;
|
|
5
|
-
}
|
|
6
|
-
export declare class WebStorage implements KeyValueStorage {
|
|
7
|
-
#private;
|
|
8
|
-
constructor(storage: Storage);
|
|
9
|
-
get(key: string): Promise<string | null>;
|
|
10
|
-
set(key: string, value: string): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export declare class MapStore implements KeyValueStorage {
|
|
13
|
-
#private;
|
|
14
|
-
constructor();
|
|
15
|
-
clear(): void;
|
|
16
|
-
get(key: string): Promise<string | null>;
|
|
17
|
-
set(key: string, value: string): Promise<void>;
|
|
18
|
-
}
|
package/dist/db/storage.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export class WebStorage {
|
|
2
|
-
#storage;
|
|
3
|
-
constructor(storage) {
|
|
4
|
-
this.#storage = storage;
|
|
5
|
-
}
|
|
6
|
-
async get(key) {
|
|
7
|
-
return this.#storage.getItem(key);
|
|
8
|
-
}
|
|
9
|
-
async set(key, value) {
|
|
10
|
-
this.#storage.setItem(key, value);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
export class MapStore {
|
|
14
|
-
#map;
|
|
15
|
-
constructor() {
|
|
16
|
-
this.#map = new Map();
|
|
17
|
-
}
|
|
18
|
-
clear() {
|
|
19
|
-
this.#map.clear();
|
|
20
|
-
}
|
|
21
|
-
async get(key) {
|
|
22
|
-
const result = this.#map.get(key);
|
|
23
|
-
return result ?? null;
|
|
24
|
-
}
|
|
25
|
-
async set(key, value) {
|
|
26
|
-
this.#map.set(key, value);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=storage.js.map
|
package/dist/db/storage.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/db/storage.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,UAAU;IACrB,QAAQ,CAAU;IAElB,YAAY,OAAgB;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,QAAQ;IACnB,IAAI,CAAsB;IAE1B;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;CACF"}
|