keri 0.0.0-dev.fc3df9d → 0.0.4
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/LICENSE +201 -0
- package/README.md +10 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.js +175 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.js +88 -0
- package/dist/client.js.map +1 -0
- package/dist/controller.d.ts +64 -0
- package/dist/controller.js +472 -0
- package/dist/controller.js.map +1 -0
- package/dist/db/storage-sqlite.d.ts +12 -0
- package/dist/db/storage-sqlite.js +53 -0
- package/dist/db/storage-sqlite.js.map +1 -0
- package/dist/db/storage.d.ts +18 -0
- package/dist/db/storage.js +29 -0
- package/dist/db/storage.js.map +1 -0
- package/dist/events/event-store.d.ts +126 -0
- package/dist/events/event-store.js +242 -0
- package/dist/events/event-store.js.map +1 -0
- package/dist/events/events.d.ts +248 -0
- package/dist/events/events.js +184 -0
- package/dist/events/events.js.map +1 -0
- package/dist/keystore/encrypt.d.ts +10 -2
- package/dist/keystore/encrypt.js +26 -25
- package/dist/keystore/encrypt.js.map +1 -0
- package/dist/keystore/key-manager.d.ts +26 -0
- package/dist/keystore/key-manager.js +70 -0
- package/dist/keystore/key-manager.js.map +1 -0
- package/dist/main.d.ts +6 -2
- package/dist/main.js +7 -2
- package/dist/main.js.map +1 -0
- package/package.json +27 -24
- package/dist/data-type.d.ts +0 -9
- package/dist/data-type.js +0 -1
- package/dist/db/sqlite-db.d.ts +0 -14
- package/dist/db/sqlite-db.js +0 -90
- package/dist/event.d.ts +0 -45
- package/dist/event.js +0 -44
- package/dist/keri.d.ts +0 -1
- package/dist/keri.js +0 -110
- package/dist/keystore/keystore-fs.d.ts +0 -13
- package/dist/keystore/keystore-fs.js +0 -50
- package/dist/keystore/keystore-web.d.ts +0 -12
- package/dist/keystore/keystore-web.js +0 -48
- package/dist/keystore/keystore.d.ts +0 -15
- package/dist/keystore/keystore.js +0 -1
- package/dist/main-common.d.ts +0 -7
- package/dist/main-common.js +0 -7
- package/dist/main-web.d.ts +0 -2
- package/dist/main-web.js +0 -2
- package/dist/parser/base64.d.ts +0 -6
- package/dist/parser/base64.js +0 -74
- package/dist/parser/cesr-encoding.d.ts +0 -34
- package/dist/parser/cesr-encoding.js +0 -158
- package/dist/parser/codes.d.ts +0 -143
- package/dist/parser/codes.js +0 -266
- package/dist/parser/parser.d.ts +0 -11
- package/dist/parser/parser.js +0 -150
- package/dist/parser/version.d.ts +0 -11
- package/dist/parser/version.js +0 -56
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
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
|
+
export interface LocationRecord {
|
|
14
|
+
url: string;
|
|
15
|
+
scheme: string;
|
|
16
|
+
eid: string;
|
|
17
|
+
}
|
|
18
|
+
export interface EndRoleRecord {
|
|
19
|
+
cid: string;
|
|
20
|
+
role: string;
|
|
21
|
+
eid: string;
|
|
22
|
+
}
|
|
23
|
+
export interface KeyEventSeal {
|
|
24
|
+
i: string;
|
|
25
|
+
s: string;
|
|
26
|
+
d: string;
|
|
27
|
+
}
|
|
28
|
+
export interface KeyEventReceipt {
|
|
29
|
+
backer: string;
|
|
30
|
+
signature: string;
|
|
31
|
+
}
|
|
32
|
+
export interface KeyValueStorage {
|
|
33
|
+
set(key: string, value: string): Promise<void>;
|
|
34
|
+
get(key: string): Promise<string | null>;
|
|
35
|
+
}
|
|
36
|
+
export declare class ControllerEventStore {
|
|
37
|
+
#private;
|
|
38
|
+
constructor(db: KeyValueStorage);
|
|
39
|
+
save(event: KeyEventMessageInput): Promise<void>;
|
|
40
|
+
iter(said: string, from?: number): AsyncIterable<KeyEventMessage>;
|
|
41
|
+
get(said: string): Promise<KeyEventMessage | null>;
|
|
42
|
+
state(said: string): Promise<KeyState>;
|
|
43
|
+
list(said: string, from?: number): Promise<KeyEventMessage[]>;
|
|
44
|
+
location(cid: string): Promise<LocationRecord | null>;
|
|
45
|
+
endrole(cid: string, role: string): Promise<EndRoleRecord | null>;
|
|
46
|
+
}
|
|
47
|
+
export interface KeyState {
|
|
48
|
+
vn: [number, number];
|
|
49
|
+
/**
|
|
50
|
+
* Key state identifier
|
|
51
|
+
*/
|
|
52
|
+
i: string;
|
|
53
|
+
/**
|
|
54
|
+
* Sequence number of latest event in Key Event Log
|
|
55
|
+
*/
|
|
56
|
+
s: string;
|
|
57
|
+
/**
|
|
58
|
+
* Digest of prior event
|
|
59
|
+
*/
|
|
60
|
+
p: string;
|
|
61
|
+
/**
|
|
62
|
+
* Digest of latest event
|
|
63
|
+
*/
|
|
64
|
+
d: string;
|
|
65
|
+
/**
|
|
66
|
+
* Ordinal number of latest event in KEL
|
|
67
|
+
*/
|
|
68
|
+
f: string;
|
|
69
|
+
/**
|
|
70
|
+
* Datetime iso-8601 of when this key state was derived
|
|
71
|
+
*/
|
|
72
|
+
dt: string;
|
|
73
|
+
/**
|
|
74
|
+
* Type of latest event
|
|
75
|
+
*/
|
|
76
|
+
et: string;
|
|
77
|
+
/**
|
|
78
|
+
* Current key state threshold
|
|
79
|
+
*/
|
|
80
|
+
kt: Threshold;
|
|
81
|
+
/**
|
|
82
|
+
* Current signing keys
|
|
83
|
+
*/
|
|
84
|
+
k: string[];
|
|
85
|
+
/**
|
|
86
|
+
* Next key state threshold
|
|
87
|
+
*/
|
|
88
|
+
nt: Threshold;
|
|
89
|
+
/**
|
|
90
|
+
* Digests of next signing keys
|
|
91
|
+
*/
|
|
92
|
+
n: string[];
|
|
93
|
+
/**
|
|
94
|
+
* Backer threshold
|
|
95
|
+
*/
|
|
96
|
+
bt: string;
|
|
97
|
+
/**
|
|
98
|
+
* Backers
|
|
99
|
+
*/
|
|
100
|
+
b: string[];
|
|
101
|
+
c: string[];
|
|
102
|
+
/**
|
|
103
|
+
* Latest establishment event
|
|
104
|
+
*/
|
|
105
|
+
ee: KeyStateEstablishmentRecord;
|
|
106
|
+
di: string;
|
|
107
|
+
}
|
|
108
|
+
export interface KeyStateEstablishmentRecord {
|
|
109
|
+
/**
|
|
110
|
+
* Sequence number of latest establishment event
|
|
111
|
+
*/
|
|
112
|
+
s: string;
|
|
113
|
+
/**
|
|
114
|
+
* Digest of latest establishment event
|
|
115
|
+
*/
|
|
116
|
+
d: string;
|
|
117
|
+
/**
|
|
118
|
+
* Backers removed in latest establishment event
|
|
119
|
+
*/
|
|
120
|
+
br: string[];
|
|
121
|
+
/**
|
|
122
|
+
* Backers added in latest establishment event
|
|
123
|
+
*/
|
|
124
|
+
ba: string[];
|
|
125
|
+
}
|
|
126
|
+
export declare function resolveKeyState(event: Iterable<KeyEventMessage> | AsyncIterable<KeyEventMessage>): Promise<KeyState>;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { formatDate, } from "./events.js";
|
|
2
|
+
function assertKeyEvent(event) {
|
|
3
|
+
if (typeof event !== "object") {
|
|
4
|
+
throw new Error(`Expected event to be an object. Got ${typeof event}`);
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class ControllerEventStore {
|
|
8
|
+
#db;
|
|
9
|
+
constructor(db) {
|
|
10
|
+
this.#db = db;
|
|
11
|
+
}
|
|
12
|
+
async save(event) {
|
|
13
|
+
switch (event.event.t) {
|
|
14
|
+
case "icp":
|
|
15
|
+
case "ixn":
|
|
16
|
+
case "iss":
|
|
17
|
+
case "vcp":
|
|
18
|
+
case "rot": {
|
|
19
|
+
if (!event.event.s) {
|
|
20
|
+
throw new Error(`Event sequence number (s) is required for key event ${event.event.t}(${event.event.d})`);
|
|
21
|
+
}
|
|
22
|
+
const sn = event.event.s.padStart(24, "0");
|
|
23
|
+
await this.#db.set(`key_event.${event.event.d}`, JSON.stringify({
|
|
24
|
+
event: event.event,
|
|
25
|
+
timestamp: new Date().toISOString(),
|
|
26
|
+
seal: event.seal || null,
|
|
27
|
+
sigs: event.signatures || [],
|
|
28
|
+
}));
|
|
29
|
+
await this.#db.set(`key_event_log.${event.event.i}.${sn}`, event.event.d);
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
case "rct": {
|
|
33
|
+
await this.#db.set(`key_event_receipts.${event.event.d}`, JSON.stringify(event.receipts));
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case "rpy":
|
|
37
|
+
switch (event.event.r) {
|
|
38
|
+
case "/end/role/add": {
|
|
39
|
+
const record = event.event.a;
|
|
40
|
+
if (record &&
|
|
41
|
+
typeof record === "object" &&
|
|
42
|
+
"eid" in record &&
|
|
43
|
+
typeof record.eid === "string" &&
|
|
44
|
+
"cid" in record &&
|
|
45
|
+
typeof record.cid === "string" &&
|
|
46
|
+
"role" in record &&
|
|
47
|
+
typeof record.role === "string") {
|
|
48
|
+
await this.#db.set(`end_role.${record.cid}.${record.role}`, JSON.stringify({
|
|
49
|
+
cid: record.cid,
|
|
50
|
+
role: record.role,
|
|
51
|
+
eid: record.eid,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new Error("Damn");
|
|
56
|
+
}
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
case "/loc/scheme": {
|
|
60
|
+
const record = event.event.a;
|
|
61
|
+
if (record &&
|
|
62
|
+
typeof record === "object" &&
|
|
63
|
+
"eid" in record &&
|
|
64
|
+
typeof record.eid === "string" &&
|
|
65
|
+
"scheme" in record &&
|
|
66
|
+
typeof record.scheme === "string" &&
|
|
67
|
+
"url" in record &&
|
|
68
|
+
typeof record.url === "string" &&
|
|
69
|
+
["http", "https"].includes(record.scheme)) {
|
|
70
|
+
await this.#db.set(`location.${record.eid}`, JSON.stringify({
|
|
71
|
+
scheme: record.scheme,
|
|
72
|
+
url: record.url,
|
|
73
|
+
eid: record.eid,
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (event.event.v.startsWith("ACDC")) {
|
|
81
|
+
await this.#db.set(`key_event.${event.event.d}`, JSON.stringify({
|
|
82
|
+
event: event.event,
|
|
83
|
+
timestamp: new Date().toISOString(),
|
|
84
|
+
seal: event.seal || null,
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
async *iter(said, from = 0) {
|
|
89
|
+
for (let start = from; start < Number.MAX_SAFE_INTEGER; start++) {
|
|
90
|
+
const digest = await this.#db.get(`key_event_log.${said}.${start.toString(16).padStart(24, "0")}`);
|
|
91
|
+
if (digest) {
|
|
92
|
+
const result = await this.get(digest);
|
|
93
|
+
assertKeyEvent(result?.event);
|
|
94
|
+
yield result;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async get(said) {
|
|
102
|
+
const item = JSON.parse((await this.#db.get(`key_event.${said}`)) ?? JSON.stringify(null));
|
|
103
|
+
if (!item) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
assertKeyEvent(item.event);
|
|
107
|
+
const receipts = JSON.parse((await this.#db.get(`key_event_receipts.${said}`)) ?? "[]");
|
|
108
|
+
return {
|
|
109
|
+
event: item.event,
|
|
110
|
+
signatures: item.sigs,
|
|
111
|
+
receipts: receipts,
|
|
112
|
+
timestamp: new Date(Date.parse(item.timestamp)),
|
|
113
|
+
seal: item.seal,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
async state(said) {
|
|
117
|
+
let state = INITIAL_STATE;
|
|
118
|
+
for await (const message of this.iter(said)) {
|
|
119
|
+
state = reduce(state, message);
|
|
120
|
+
}
|
|
121
|
+
return state;
|
|
122
|
+
}
|
|
123
|
+
async list(said, from = 0) {
|
|
124
|
+
const messages = [];
|
|
125
|
+
for await (const message of this.iter(said, from)) {
|
|
126
|
+
messages.push(message);
|
|
127
|
+
}
|
|
128
|
+
return messages;
|
|
129
|
+
}
|
|
130
|
+
async location(cid) {
|
|
131
|
+
const result = JSON.parse((await this.#db.get(`location.${cid}`)) ?? JSON.stringify(null));
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
async endrole(cid, role) {
|
|
135
|
+
const result = JSON.parse((await this.#db.get(`end_role.${cid}.${role}`)) ?? JSON.stringify(null));
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function assertDefined(obj) {
|
|
140
|
+
if (obj === null) {
|
|
141
|
+
throw new Error("Object is null");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
function merge(a, b) {
|
|
145
|
+
return {
|
|
146
|
+
vn: [1, 0],
|
|
147
|
+
i: b.i ?? a.i,
|
|
148
|
+
s: b.s ?? a.s,
|
|
149
|
+
p: b.p ?? a.p,
|
|
150
|
+
d: b.d ?? a.d,
|
|
151
|
+
f: b.f ?? a.f,
|
|
152
|
+
dt: b.dt ?? a.dt ?? formatDate(new Date()),
|
|
153
|
+
et: b.et ?? a.et,
|
|
154
|
+
kt: b.kt ?? a.kt,
|
|
155
|
+
k: b.k ?? a.k,
|
|
156
|
+
nt: b.nt ?? a.nt,
|
|
157
|
+
n: b.n ?? a.n,
|
|
158
|
+
bt: b.bt ?? a.bt,
|
|
159
|
+
b: b.b ?? a.b,
|
|
160
|
+
c: b.c ?? a.c,
|
|
161
|
+
ee: b.ee ?? a.ee,
|
|
162
|
+
di: b.di ?? a.di,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
export async function resolveKeyState(event) {
|
|
166
|
+
let state = INITIAL_STATE;
|
|
167
|
+
for await (const message of event) {
|
|
168
|
+
state = reduce(state, message);
|
|
169
|
+
}
|
|
170
|
+
return state;
|
|
171
|
+
}
|
|
172
|
+
const INITIAL_STATE = {
|
|
173
|
+
vn: [1, 0],
|
|
174
|
+
i: "",
|
|
175
|
+
s: "",
|
|
176
|
+
p: "",
|
|
177
|
+
d: "",
|
|
178
|
+
f: "0",
|
|
179
|
+
dt: formatDate(new Date()),
|
|
180
|
+
et: "",
|
|
181
|
+
kt: "0",
|
|
182
|
+
k: [],
|
|
183
|
+
nt: "0",
|
|
184
|
+
n: [],
|
|
185
|
+
bt: "",
|
|
186
|
+
b: [],
|
|
187
|
+
c: [],
|
|
188
|
+
ee: { s: "", d: "", br: [], ba: [] },
|
|
189
|
+
di: "",
|
|
190
|
+
};
|
|
191
|
+
function reduce(state, message) {
|
|
192
|
+
if (!message.event.v.startsWith("KERI")) {
|
|
193
|
+
return state;
|
|
194
|
+
}
|
|
195
|
+
switch (message.event.t) {
|
|
196
|
+
case "icp":
|
|
197
|
+
case "dip": {
|
|
198
|
+
const icp = message.event;
|
|
199
|
+
return {
|
|
200
|
+
vn: [1, 0],
|
|
201
|
+
i: icp.i,
|
|
202
|
+
s: icp.s,
|
|
203
|
+
p: "",
|
|
204
|
+
d: icp.d,
|
|
205
|
+
f: "0",
|
|
206
|
+
dt: formatDate(new Date()),
|
|
207
|
+
et: icp.t,
|
|
208
|
+
kt: icp.kt,
|
|
209
|
+
k: icp.k,
|
|
210
|
+
nt: icp.nt,
|
|
211
|
+
n: icp.n,
|
|
212
|
+
bt: icp.bt,
|
|
213
|
+
b: icp.b,
|
|
214
|
+
c: icp.c,
|
|
215
|
+
ee: {
|
|
216
|
+
s: icp.s,
|
|
217
|
+
d: icp.d,
|
|
218
|
+
br: [],
|
|
219
|
+
ba: icp.b,
|
|
220
|
+
},
|
|
221
|
+
di: "di" in icp && typeof icp.di === "string" ? icp.di : "",
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
case "ixn": {
|
|
225
|
+
assertDefined(state);
|
|
226
|
+
const ixn = message.event;
|
|
227
|
+
if (!state.d) {
|
|
228
|
+
throw new Error("state.d is undefined");
|
|
229
|
+
}
|
|
230
|
+
return merge(state, {
|
|
231
|
+
p: state.d,
|
|
232
|
+
s: ixn.s,
|
|
233
|
+
d: ixn.d,
|
|
234
|
+
et: ixn.t,
|
|
235
|
+
dt: formatDate(new Date()),
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
default:
|
|
239
|
+
throw new Error(`Unsupported event type: ${message.event.t}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=event-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../src/events/event-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
export type KeyEvent<T = Record<string, unknown>> = {
|
|
2
|
+
v: string;
|
|
3
|
+
t?: string;
|
|
4
|
+
d: string;
|
|
5
|
+
i?: string;
|
|
6
|
+
s?: string;
|
|
7
|
+
} & T;
|
|
8
|
+
export type Threshold = string | string[];
|
|
9
|
+
export interface InceptEventInit {
|
|
10
|
+
k: string[];
|
|
11
|
+
kt?: Threshold;
|
|
12
|
+
n?: string[];
|
|
13
|
+
nt?: Threshold;
|
|
14
|
+
b?: string[];
|
|
15
|
+
bt?: string;
|
|
16
|
+
}
|
|
17
|
+
export type DelegatedInceptEvent = KeyEvent<InceptEvent & {
|
|
18
|
+
t: "dip";
|
|
19
|
+
di: string;
|
|
20
|
+
}>;
|
|
21
|
+
export type InceptEvent = KeyEvent<{
|
|
22
|
+
v: string;
|
|
23
|
+
t: "icp";
|
|
24
|
+
d: string;
|
|
25
|
+
i: string;
|
|
26
|
+
s: string;
|
|
27
|
+
kt: Threshold;
|
|
28
|
+
k: string[];
|
|
29
|
+
nt: Threshold;
|
|
30
|
+
n: string[];
|
|
31
|
+
bt: string;
|
|
32
|
+
b: string[];
|
|
33
|
+
c: string[];
|
|
34
|
+
a: Record<string, unknown>[];
|
|
35
|
+
}>;
|
|
36
|
+
export interface ExchangeEventInit {
|
|
37
|
+
i: string;
|
|
38
|
+
rp?: string;
|
|
39
|
+
p?: string;
|
|
40
|
+
dt?: string;
|
|
41
|
+
r: string;
|
|
42
|
+
q?: Record<string, unknown>;
|
|
43
|
+
a?: Record<string, unknown>;
|
|
44
|
+
e?: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
export type ExchangeEvent = KeyEvent<{
|
|
47
|
+
v: string;
|
|
48
|
+
t: "exn";
|
|
49
|
+
d: string;
|
|
50
|
+
i: string;
|
|
51
|
+
rp: string;
|
|
52
|
+
p: string;
|
|
53
|
+
r: string;
|
|
54
|
+
q: Record<string, unknown>;
|
|
55
|
+
a: Record<string, unknown>;
|
|
56
|
+
e: Record<string, string | Record<string, unknown>>;
|
|
57
|
+
}>;
|
|
58
|
+
export interface InteractEventInit {
|
|
59
|
+
i: string;
|
|
60
|
+
s: string;
|
|
61
|
+
p: string;
|
|
62
|
+
a?: Record<string, unknown>[];
|
|
63
|
+
}
|
|
64
|
+
export type InteractEvent = KeyEvent<{
|
|
65
|
+
v: string;
|
|
66
|
+
t: "ixn";
|
|
67
|
+
d: string;
|
|
68
|
+
i: string;
|
|
69
|
+
s: string;
|
|
70
|
+
p: string;
|
|
71
|
+
a: Record<string, unknown>[];
|
|
72
|
+
}>;
|
|
73
|
+
export interface QueryEventInit {
|
|
74
|
+
dt?: Date;
|
|
75
|
+
r?: string;
|
|
76
|
+
rr?: string;
|
|
77
|
+
q: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
export type QueryEvent = KeyEvent<{
|
|
80
|
+
v: string;
|
|
81
|
+
t: "qry";
|
|
82
|
+
d: string;
|
|
83
|
+
dt: string;
|
|
84
|
+
r: string;
|
|
85
|
+
rr: string;
|
|
86
|
+
q: Record<string, unknown>;
|
|
87
|
+
}>;
|
|
88
|
+
export interface ReceiptEventInit {
|
|
89
|
+
d: string;
|
|
90
|
+
i: string;
|
|
91
|
+
s: string;
|
|
92
|
+
}
|
|
93
|
+
export type ReceiptEvent = KeyEvent<{
|
|
94
|
+
v: string;
|
|
95
|
+
t: "rct";
|
|
96
|
+
d: string;
|
|
97
|
+
i: string;
|
|
98
|
+
s: string;
|
|
99
|
+
}>;
|
|
100
|
+
export interface ReplyEventInit {
|
|
101
|
+
dt?: string;
|
|
102
|
+
r: string;
|
|
103
|
+
a: Record<string, unknown>;
|
|
104
|
+
}
|
|
105
|
+
export type ReplyEvent = KeyEvent<{
|
|
106
|
+
v: string;
|
|
107
|
+
t: "rpy";
|
|
108
|
+
d: string;
|
|
109
|
+
dt: string;
|
|
110
|
+
r: string;
|
|
111
|
+
a: Record<string, unknown>;
|
|
112
|
+
}>;
|
|
113
|
+
export interface RegistryInceptEventInit {
|
|
114
|
+
ii: string;
|
|
115
|
+
n?: string;
|
|
116
|
+
}
|
|
117
|
+
export type RegistryInceptEvent = KeyEvent<{
|
|
118
|
+
t: "vcp";
|
|
119
|
+
d: string;
|
|
120
|
+
i: string;
|
|
121
|
+
ii: string;
|
|
122
|
+
s: string;
|
|
123
|
+
c: string[];
|
|
124
|
+
bt: string;
|
|
125
|
+
b: string[];
|
|
126
|
+
n: string;
|
|
127
|
+
}>;
|
|
128
|
+
export interface IssueEventInit {
|
|
129
|
+
/**
|
|
130
|
+
* Credential said
|
|
131
|
+
*/
|
|
132
|
+
i: string;
|
|
133
|
+
/**
|
|
134
|
+
* Registry said
|
|
135
|
+
*/
|
|
136
|
+
ri: string;
|
|
137
|
+
dt?: string;
|
|
138
|
+
}
|
|
139
|
+
export type IssueEvent = KeyEvent<{
|
|
140
|
+
t: "iss";
|
|
141
|
+
d: string;
|
|
142
|
+
/**
|
|
143
|
+
* Credential said
|
|
144
|
+
*/
|
|
145
|
+
i: string;
|
|
146
|
+
s: string;
|
|
147
|
+
/**
|
|
148
|
+
* Registry said
|
|
149
|
+
*/
|
|
150
|
+
ri: string;
|
|
151
|
+
dt: string;
|
|
152
|
+
}>;
|
|
153
|
+
export interface CredentialInit {
|
|
154
|
+
/**
|
|
155
|
+
* Salty nonce
|
|
156
|
+
*/
|
|
157
|
+
u?: string;
|
|
158
|
+
i: string;
|
|
159
|
+
ri: string;
|
|
160
|
+
s: string;
|
|
161
|
+
a: {
|
|
162
|
+
i?: string;
|
|
163
|
+
dt?: string;
|
|
164
|
+
[key: string]: string | Record<string, unknown> | undefined;
|
|
165
|
+
};
|
|
166
|
+
r?: Record<string, unknown>;
|
|
167
|
+
e?: Record<string, unknown>;
|
|
168
|
+
}
|
|
169
|
+
export interface CredentialSubject {
|
|
170
|
+
/**
|
|
171
|
+
* Subject SAID
|
|
172
|
+
*/
|
|
173
|
+
d: string;
|
|
174
|
+
/**
|
|
175
|
+
* Issuee AID
|
|
176
|
+
*/
|
|
177
|
+
i?: string;
|
|
178
|
+
/**
|
|
179
|
+
* Issuance timestamp
|
|
180
|
+
*/
|
|
181
|
+
dt: string;
|
|
182
|
+
[key: string]: string | undefined;
|
|
183
|
+
}
|
|
184
|
+
export interface CredentialRules {
|
|
185
|
+
/**
|
|
186
|
+
* Rules SAID
|
|
187
|
+
*/
|
|
188
|
+
d: string;
|
|
189
|
+
[key: string]: string | Record<string, unknown> | undefined;
|
|
190
|
+
}
|
|
191
|
+
export interface CredentialEdges {
|
|
192
|
+
/**
|
|
193
|
+
* Rules SAID
|
|
194
|
+
*/
|
|
195
|
+
d: string;
|
|
196
|
+
[key: string]: string | Record<string, unknown> | undefined;
|
|
197
|
+
}
|
|
198
|
+
export type CredentialEvent = {
|
|
199
|
+
v: string;
|
|
200
|
+
/**
|
|
201
|
+
* Credential SAID
|
|
202
|
+
*/
|
|
203
|
+
d: string;
|
|
204
|
+
/**
|
|
205
|
+
* Issuer AID
|
|
206
|
+
*/
|
|
207
|
+
i: string;
|
|
208
|
+
/**
|
|
209
|
+
* Registry AID
|
|
210
|
+
*/
|
|
211
|
+
ri: string;
|
|
212
|
+
/**
|
|
213
|
+
* Schema SAID
|
|
214
|
+
*/
|
|
215
|
+
s: string;
|
|
216
|
+
/**
|
|
217
|
+
* Credential subject (claims)
|
|
218
|
+
*/
|
|
219
|
+
a: CredentialSubject;
|
|
220
|
+
/**
|
|
221
|
+
* Credential rules
|
|
222
|
+
*/
|
|
223
|
+
r: CredentialRules;
|
|
224
|
+
/**
|
|
225
|
+
* Credential edges
|
|
226
|
+
*/
|
|
227
|
+
e?: CredentialEdges;
|
|
228
|
+
};
|
|
229
|
+
export declare function formatDate(date: Date): string;
|
|
230
|
+
export declare function randomNonce(): string;
|
|
231
|
+
export declare function saidify<T extends Record<string, unknown>>(event: T, labels?: string[]): T;
|
|
232
|
+
export interface KeriEventCreatorOptions {
|
|
233
|
+
version: number;
|
|
234
|
+
}
|
|
235
|
+
export declare class KeriEventCreator {
|
|
236
|
+
#private;
|
|
237
|
+
constructor(options: KeriEventCreatorOptions);
|
|
238
|
+
registry(args: RegistryInceptEventInit): RegistryInceptEvent;
|
|
239
|
+
issue(args: IssueEventInit): IssueEvent;
|
|
240
|
+
incept(data: InceptEventInit): InceptEvent;
|
|
241
|
+
exchange(data: ExchangeEventInit): ExchangeEvent;
|
|
242
|
+
interact(data: InteractEventInit): InteractEvent;
|
|
243
|
+
query(args: QueryEventInit): QueryEvent;
|
|
244
|
+
receipt(data: ReceiptEventInit): ReceiptEvent;
|
|
245
|
+
reply(data: ReplyEventInit): ReplyEvent;
|
|
246
|
+
credential(data: CredentialInit): CredentialEvent;
|
|
247
|
+
}
|
|
248
|
+
export declare const keri: KeriEventCreator;
|