@bcts/frost-hubert 1.0.0-alpha.17
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 +48 -0
- package/README.md +35 -0
- package/dist/bin/frost.cjs +109 -0
- package/dist/bin/frost.cjs.map +1 -0
- package/dist/bin/frost.d.cts +1 -0
- package/dist/bin/frost.d.mts +1 -0
- package/dist/bin/frost.mjs +109 -0
- package/dist/bin/frost.mjs.map +1 -0
- package/dist/chunk-CQwRTUmo.cjs +53 -0
- package/dist/chunk-D3JzZLW2.mjs +21 -0
- package/dist/cmd/index.cjs +45 -0
- package/dist/cmd/index.d.cts +4 -0
- package/dist/cmd/index.d.mts +4 -0
- package/dist/cmd/index.mjs +7 -0
- package/dist/cmd-C8pmNd28.mjs +4664 -0
- package/dist/cmd-C8pmNd28.mjs.map +1 -0
- package/dist/cmd-CxUgryx_.cjs +4803 -0
- package/dist/cmd-CxUgryx_.cjs.map +1 -0
- package/dist/dkg/index.cjs +7 -0
- package/dist/dkg/index.d.cts +2 -0
- package/dist/dkg/index.d.mts +2 -0
- package/dist/dkg/index.mjs +3 -0
- package/dist/dkg-D4RcblWl.cjs +364 -0
- package/dist/dkg-D4RcblWl.cjs.map +1 -0
- package/dist/dkg-DqGrAV81.mjs +334 -0
- package/dist/dkg-DqGrAV81.mjs.map +1 -0
- package/dist/frost/index.cjs +37 -0
- package/dist/frost/index.d.cts +207 -0
- package/dist/frost/index.d.cts.map +1 -0
- package/dist/frost/index.d.mts +207 -0
- package/dist/frost/index.d.mts.map +1 -0
- package/dist/frost/index.mjs +3 -0
- package/dist/frost-CMH1K0Cw.cjs +511 -0
- package/dist/frost-CMH1K0Cw.cjs.map +1 -0
- package/dist/frost-Csp0IOrd.mjs +326 -0
- package/dist/frost-Csp0IOrd.mjs.map +1 -0
- package/dist/index-BGVoWW5P.d.cts +172 -0
- package/dist/index-BGVoWW5P.d.cts.map +1 -0
- package/dist/index-BJeUYrdE.d.mts +396 -0
- package/dist/index-BJeUYrdE.d.mts.map +1 -0
- package/dist/index-ByMDUYKw.d.mts +1098 -0
- package/dist/index-ByMDUYKw.d.mts.map +1 -0
- package/dist/index-DejLkr_F.d.mts +172 -0
- package/dist/index-DejLkr_F.d.mts.map +1 -0
- package/dist/index-Dib1OE-e.d.cts +1098 -0
- package/dist/index-Dib1OE-e.d.cts.map +1 -0
- package/dist/index-DnvBKgec.d.cts +396 -0
- package/dist/index-DnvBKgec.d.cts.map +1 -0
- package/dist/index.cjs +85 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +15 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +15 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +24 -0
- package/dist/index.mjs.map +1 -0
- package/dist/registry/index.cjs +13 -0
- package/dist/registry/index.d.cts +2 -0
- package/dist/registry/index.d.mts +2 -0
- package/dist/registry/index.mjs +3 -0
- package/dist/registry-CBjRRqNv.mjs +144 -0
- package/dist/registry-CBjRRqNv.mjs.map +1 -0
- package/dist/registry-CWp2amuo.mjs +789 -0
- package/dist/registry-CWp2amuo.mjs.map +1 -0
- package/dist/registry-D5yh293y.cjs +857 -0
- package/dist/registry-D5yh293y.cjs.map +1 -0
- package/dist/registry-DNUNW6SH.cjs +163 -0
- package/dist/registry-DNUNW6SH.cjs.map +1 -0
- package/package.json +119 -0
- package/src/bin/frost.ts +218 -0
- package/src/cmd/busy.ts +64 -0
- package/src/cmd/check.ts +20 -0
- package/src/cmd/common.ts +40 -0
- package/src/cmd/dkg/common.ts +275 -0
- package/src/cmd/dkg/coordinator/finalize.ts +592 -0
- package/src/cmd/dkg/coordinator/index.ts +12 -0
- package/src/cmd/dkg/coordinator/invite.ts +217 -0
- package/src/cmd/dkg/coordinator/round1.ts +889 -0
- package/src/cmd/dkg/coordinator/round2.ts +959 -0
- package/src/cmd/dkg/index.ts +11 -0
- package/src/cmd/dkg/participant/finalize.ts +575 -0
- package/src/cmd/dkg/participant/index.ts +12 -0
- package/src/cmd/dkg/participant/receive.ts +348 -0
- package/src/cmd/dkg/participant/round1.ts +464 -0
- package/src/cmd/dkg/participant/round2.ts +627 -0
- package/src/cmd/index.ts +18 -0
- package/src/cmd/parallel.ts +334 -0
- package/src/cmd/registry/index.ts +88 -0
- package/src/cmd/registry/owner/index.ts +9 -0
- package/src/cmd/registry/owner/set.ts +70 -0
- package/src/cmd/registry/participant/add.ts +70 -0
- package/src/cmd/registry/participant/index.ts +9 -0
- package/src/cmd/sign/common.ts +108 -0
- package/src/cmd/sign/coordinator/index.ts +11 -0
- package/src/cmd/sign/coordinator/invite.ts +431 -0
- package/src/cmd/sign/coordinator/round1.ts +751 -0
- package/src/cmd/sign/coordinator/round2.ts +836 -0
- package/src/cmd/sign/index.ts +11 -0
- package/src/cmd/sign/participant/finalize.ts +823 -0
- package/src/cmd/sign/participant/index.ts +12 -0
- package/src/cmd/sign/participant/receive.ts +378 -0
- package/src/cmd/sign/participant/round1.ts +479 -0
- package/src/cmd/sign/participant/round2.ts +748 -0
- package/src/cmd/storage.ts +116 -0
- package/src/dkg/group-invite.ts +414 -0
- package/src/dkg/index.ts +10 -0
- package/src/dkg/proposed-participant.ts +132 -0
- package/src/frost/index.ts +456 -0
- package/src/index.ts +45 -0
- package/src/registry/group-record.ts +392 -0
- package/src/registry/index.ts +12 -0
- package/src/registry/owner-record.ts +146 -0
- package/src/registry/participant-record.ts +186 -0
- package/src/registry/registry-impl.ts +364 -0
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
import { ARID, PublicKeys, SigningPublicKey, XID } from "@bcts/components";
|
|
2
|
+
import { XIDDocument } from "@bcts/xid";
|
|
3
|
+
|
|
4
|
+
//#region src/registry/group-record.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* A participant in a group.
|
|
7
|
+
*
|
|
8
|
+
* Port of `struct GroupParticipant` from group_record.rs lines 9-13.
|
|
9
|
+
*/
|
|
10
|
+
declare class GroupParticipant {
|
|
11
|
+
private readonly _xid;
|
|
12
|
+
constructor(xid: XID);
|
|
13
|
+
xid(): XID;
|
|
14
|
+
toJSON(): string;
|
|
15
|
+
static fromJSON(value: string): GroupParticipant;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Contribution paths for DKG state files.
|
|
19
|
+
*
|
|
20
|
+
* Port of `struct ContributionPaths` from group_record.rs lines 21-29.
|
|
21
|
+
*/
|
|
22
|
+
declare class ContributionPaths {
|
|
23
|
+
round1Secret?: string | undefined;
|
|
24
|
+
round1Package?: string | undefined;
|
|
25
|
+
round2Secret?: string | undefined;
|
|
26
|
+
keyPackage?: string | undefined;
|
|
27
|
+
constructor(init?: Partial<ContributionPaths>);
|
|
28
|
+
/**
|
|
29
|
+
* Merge missing fields from another ContributionPaths.
|
|
30
|
+
*
|
|
31
|
+
* Port of `ContributionPaths::merge_missing()` from group_record.rs lines 32-45.
|
|
32
|
+
*/
|
|
33
|
+
mergeMissing(other: ContributionPaths): void;
|
|
34
|
+
/**
|
|
35
|
+
* Check if all fields are empty.
|
|
36
|
+
*
|
|
37
|
+
* Port of `ContributionPaths::is_empty()` from group_record.rs lines 47-53.
|
|
38
|
+
*/
|
|
39
|
+
isEmpty(): boolean;
|
|
40
|
+
toJSON(): Record<string, string>;
|
|
41
|
+
static fromJSON(json: Record<string, string>): ContributionPaths;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Tracks pending communication with participants (coordinator-side).
|
|
45
|
+
*
|
|
46
|
+
* Port of `struct PendingRequests` from group_record.rs lines 71-75.
|
|
47
|
+
*/
|
|
48
|
+
declare class PendingRequests {
|
|
49
|
+
private readonly requests;
|
|
50
|
+
/**
|
|
51
|
+
* Add a pending request where we only know where to collect from.
|
|
52
|
+
*
|
|
53
|
+
* Port of `PendingRequests::add_collect_only()` from group_record.rs lines 90-99.
|
|
54
|
+
*/
|
|
55
|
+
addCollectOnly(participant: XID, collectFromArid: ARID): void;
|
|
56
|
+
/**
|
|
57
|
+
* Add a pending request where we know where to send AND where to collect.
|
|
58
|
+
*
|
|
59
|
+
* Port of `PendingRequests::add_send_and_collect()` from group_record.rs lines 103-115.
|
|
60
|
+
*/
|
|
61
|
+
addSendAndCollect(participant: XID, sendToArid: ARID, collectFromArid: ARID): void;
|
|
62
|
+
/**
|
|
63
|
+
* Add a pending request where we only know where to send.
|
|
64
|
+
*
|
|
65
|
+
* Port of `PendingRequests::add_send_only()` from group_record.rs lines 118-127.
|
|
66
|
+
*/
|
|
67
|
+
addSendOnly(participant: XID, sendToArid: ARID): void;
|
|
68
|
+
/**
|
|
69
|
+
* Check if there are no pending requests.
|
|
70
|
+
*
|
|
71
|
+
* Port of `PendingRequests::is_empty()` from group_record.rs line 129.
|
|
72
|
+
*/
|
|
73
|
+
isEmpty(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Get the number of pending requests.
|
|
76
|
+
*
|
|
77
|
+
* Port of `PendingRequests::len()` from group_record.rs line 165.
|
|
78
|
+
*/
|
|
79
|
+
len(): number;
|
|
80
|
+
/**
|
|
81
|
+
* Iterate over (participant, collectFromArid) pairs.
|
|
82
|
+
*
|
|
83
|
+
* Port of `PendingRequests::iter_collect()` from group_record.rs lines 132-138.
|
|
84
|
+
*/
|
|
85
|
+
iterCollect(): Generator<[XID, ARID]>;
|
|
86
|
+
/**
|
|
87
|
+
* Iterate over (participant, sendToArid) pairs.
|
|
88
|
+
*
|
|
89
|
+
* Port of `PendingRequests::iter_send()` from group_record.rs lines 141-150.
|
|
90
|
+
*/
|
|
91
|
+
iterSend(): Generator<[XID, ARID]>;
|
|
92
|
+
/**
|
|
93
|
+
* Iterate over full (participant, sendToArid, collectFromArid) tuples.
|
|
94
|
+
*
|
|
95
|
+
* Port of `PendingRequests::iter_full()` from group_record.rs lines 153-163.
|
|
96
|
+
*/
|
|
97
|
+
iterFull(): Generator<[XID, ARID | undefined, ARID]>;
|
|
98
|
+
toJSON(): unknown[];
|
|
99
|
+
static fromJSON(json: unknown[]): PendingRequests;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Record of a DKG group.
|
|
103
|
+
*
|
|
104
|
+
* Port of `struct GroupRecord` from group_record.rs lines 168-186.
|
|
105
|
+
*/
|
|
106
|
+
declare class GroupRecord {
|
|
107
|
+
private readonly _charter;
|
|
108
|
+
private readonly _minSigners;
|
|
109
|
+
private readonly _coordinator;
|
|
110
|
+
private readonly _participants;
|
|
111
|
+
private _contributions;
|
|
112
|
+
private _listeningAtArid?;
|
|
113
|
+
private _pendingRequests;
|
|
114
|
+
private _verifyingKey?;
|
|
115
|
+
constructor(charter: string, minSigners: number, coordinator: GroupParticipant, participants: GroupParticipant[]);
|
|
116
|
+
coordinator(): GroupParticipant;
|
|
117
|
+
participants(): GroupParticipant[];
|
|
118
|
+
minSigners(): number;
|
|
119
|
+
charter(): string;
|
|
120
|
+
contributions(): ContributionPaths;
|
|
121
|
+
setContributions(contributions: ContributionPaths): void;
|
|
122
|
+
mergeContributions(other: ContributionPaths): void;
|
|
123
|
+
listeningAtArid(): ARID | undefined;
|
|
124
|
+
setListeningAtArid(arid: ARID): void;
|
|
125
|
+
clearListeningAtArid(): void;
|
|
126
|
+
pendingRequests(): PendingRequests;
|
|
127
|
+
setPendingRequests(requests: PendingRequests): void;
|
|
128
|
+
clearPendingRequests(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Check if the config matches another group record.
|
|
131
|
+
*
|
|
132
|
+
* Port of `GroupRecord::config_matches()` from group_record.rs lines 247-253.
|
|
133
|
+
*/
|
|
134
|
+
configMatches(other: GroupRecord): boolean;
|
|
135
|
+
verifyingKey(): SigningPublicKey | undefined;
|
|
136
|
+
setVerifyingKey(key: SigningPublicKey): void;
|
|
137
|
+
toJSON(): Record<string, unknown>;
|
|
138
|
+
static fromJSON(json: Record<string, unknown>): GroupRecord;
|
|
139
|
+
}
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/registry/owner-record.d.ts
|
|
142
|
+
/**
|
|
143
|
+
* Record of the registry owner (coordinator).
|
|
144
|
+
*
|
|
145
|
+
* Port of `struct OwnerRecord` from owner_record.rs lines 13-17.
|
|
146
|
+
*/
|
|
147
|
+
declare class OwnerRecord {
|
|
148
|
+
private readonly _xidDocumentUr;
|
|
149
|
+
private readonly _xidDocument;
|
|
150
|
+
private readonly _petName;
|
|
151
|
+
private constructor();
|
|
152
|
+
/**
|
|
153
|
+
* Create an owner record from a signed XID UR string.
|
|
154
|
+
*
|
|
155
|
+
* Port of `OwnerRecord::from_signed_xid_ur()` from owner_record.rs lines 20-32.
|
|
156
|
+
*/
|
|
157
|
+
static fromSignedXidUr(xidDocumentUr: string, petName?: string): OwnerRecord;
|
|
158
|
+
/**
|
|
159
|
+
* Get the XID of the owner.
|
|
160
|
+
*
|
|
161
|
+
* Port of `OwnerRecord::xid()` from owner_record.rs line 34.
|
|
162
|
+
*/
|
|
163
|
+
xid(): XID;
|
|
164
|
+
/**
|
|
165
|
+
* Get the XID document of the owner.
|
|
166
|
+
*
|
|
167
|
+
* Port of `OwnerRecord::xid_document()` from owner_record.rs line 36.
|
|
168
|
+
*/
|
|
169
|
+
xidDocument(): XIDDocument;
|
|
170
|
+
/**
|
|
171
|
+
* Get the UR string of the XID document.
|
|
172
|
+
*
|
|
173
|
+
* Port of `OwnerRecord::xid_document_ur()` from owner_record.rs line 38.
|
|
174
|
+
*/
|
|
175
|
+
xidDocumentUr(): string;
|
|
176
|
+
/**
|
|
177
|
+
* Get the pet name of the owner.
|
|
178
|
+
*
|
|
179
|
+
* Port of `OwnerRecord::pet_name()` from owner_record.rs line 40.
|
|
180
|
+
*/
|
|
181
|
+
petName(): string | undefined;
|
|
182
|
+
/**
|
|
183
|
+
* Serialize to JSON object.
|
|
184
|
+
*/
|
|
185
|
+
toJSON(): Record<string, unknown>;
|
|
186
|
+
/**
|
|
187
|
+
* Deserialize from JSON object.
|
|
188
|
+
*/
|
|
189
|
+
static fromJSON(json: Record<string, unknown>): OwnerRecord;
|
|
190
|
+
}
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/registry/participant-record.d.ts
|
|
193
|
+
/**
|
|
194
|
+
* Record of a participant in the registry.
|
|
195
|
+
*
|
|
196
|
+
* Port of `struct ParticipantRecord` from participant_record.rs lines 12-17.
|
|
197
|
+
*/
|
|
198
|
+
declare class ParticipantRecord {
|
|
199
|
+
private readonly _xidDocumentUr;
|
|
200
|
+
private readonly _xidDocument;
|
|
201
|
+
private readonly _publicKeys;
|
|
202
|
+
private readonly _petName;
|
|
203
|
+
private constructor();
|
|
204
|
+
/**
|
|
205
|
+
* Create a participant record from a signed XID UR string.
|
|
206
|
+
*
|
|
207
|
+
* Port of `ParticipantRecord::from_signed_xid_ur()` from participant_record.rs lines 20-26.
|
|
208
|
+
*/
|
|
209
|
+
static fromSignedXidUr(xidDocumentUr: string, petName?: string): ParticipantRecord;
|
|
210
|
+
/**
|
|
211
|
+
* Get the pet name of the participant.
|
|
212
|
+
*
|
|
213
|
+
* Port of `ParticipantRecord::pet_name()` from participant_record.rs line 28.
|
|
214
|
+
*/
|
|
215
|
+
petName(): string | undefined;
|
|
216
|
+
/**
|
|
217
|
+
* Get the public keys of the participant.
|
|
218
|
+
*
|
|
219
|
+
* Port of `ParticipantRecord::public_keys()` from participant_record.rs line 29.
|
|
220
|
+
*/
|
|
221
|
+
publicKeys(): PublicKeys;
|
|
222
|
+
/**
|
|
223
|
+
* Get the XID of the participant.
|
|
224
|
+
*
|
|
225
|
+
* Port of `ParticipantRecord::xid()` from participant_record.rs line 30.
|
|
226
|
+
*/
|
|
227
|
+
xid(): XID;
|
|
228
|
+
/**
|
|
229
|
+
* Get the XID document of the participant.
|
|
230
|
+
*
|
|
231
|
+
* Port of `ParticipantRecord::xid_document()` from participant_record.rs line 31.
|
|
232
|
+
*/
|
|
233
|
+
xidDocument(): XIDDocument;
|
|
234
|
+
/**
|
|
235
|
+
* Get the UR string of the XID document.
|
|
236
|
+
*
|
|
237
|
+
* Port of `ParticipantRecord::xid_document_ur()` from participant_record.rs line 32.
|
|
238
|
+
*/
|
|
239
|
+
xidDocumentUr(): string;
|
|
240
|
+
/**
|
|
241
|
+
* Build from constituent parts.
|
|
242
|
+
*
|
|
243
|
+
* Port of `ParticipantRecord::build_from_parts()` from participant_record.rs lines 34-49.
|
|
244
|
+
*/
|
|
245
|
+
private static buildFromParts;
|
|
246
|
+
/**
|
|
247
|
+
* Recreate from serialized data.
|
|
248
|
+
*
|
|
249
|
+
* Port of `ParticipantRecord::recreate_from_serialized()` from participant_record.rs lines 51-57.
|
|
250
|
+
*/
|
|
251
|
+
private static recreateFromSerialized;
|
|
252
|
+
/**
|
|
253
|
+
* Serialize to JSON object.
|
|
254
|
+
*/
|
|
255
|
+
toJSON(): Record<string, unknown>;
|
|
256
|
+
/**
|
|
257
|
+
* Deserialize from JSON object.
|
|
258
|
+
*/
|
|
259
|
+
static fromJSON(json: Record<string, unknown>): ParticipantRecord;
|
|
260
|
+
}
|
|
261
|
+
//#endregion
|
|
262
|
+
//#region src/registry/registry-impl.d.ts
|
|
263
|
+
/**
|
|
264
|
+
* Outcome of adding a participant to the registry.
|
|
265
|
+
*
|
|
266
|
+
* Port of `enum AddOutcome` from registry_impl.rs.
|
|
267
|
+
*/
|
|
268
|
+
declare enum AddOutcome {
|
|
269
|
+
/** Participant was already present in the registry */
|
|
270
|
+
AlreadyPresent = "already_present",
|
|
271
|
+
/** Participant was successfully inserted */
|
|
272
|
+
Inserted = "inserted"
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Outcome of setting the owner in the registry.
|
|
276
|
+
*
|
|
277
|
+
* Port of `enum OwnerOutcome` from registry_impl.rs.
|
|
278
|
+
*/
|
|
279
|
+
declare enum OwnerOutcome {
|
|
280
|
+
/** Owner was already present in the registry */
|
|
281
|
+
AlreadyPresent = "already_present",
|
|
282
|
+
/** Owner was successfully inserted */
|
|
283
|
+
Inserted = "inserted"
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Outcome of recording a group in the registry.
|
|
287
|
+
*
|
|
288
|
+
* Port of `enum GroupOutcome` from registry_impl.rs.
|
|
289
|
+
*/
|
|
290
|
+
declare enum GroupOutcome {
|
|
291
|
+
/** Group was successfully inserted as new */
|
|
292
|
+
Inserted = "inserted",
|
|
293
|
+
/** Group already existed and was updated (contributions merged) */
|
|
294
|
+
Updated = "updated"
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Registry for managing participants and groups.
|
|
298
|
+
*
|
|
299
|
+
* Port of `struct Registry` from registry_impl.rs lines 22-26.
|
|
300
|
+
*/
|
|
301
|
+
declare class Registry {
|
|
302
|
+
private _owner?;
|
|
303
|
+
private readonly _participants;
|
|
304
|
+
private readonly _groups;
|
|
305
|
+
constructor();
|
|
306
|
+
/**
|
|
307
|
+
* Get the owner record.
|
|
308
|
+
*/
|
|
309
|
+
owner(): OwnerRecord | undefined;
|
|
310
|
+
/**
|
|
311
|
+
* Set the owner record.
|
|
312
|
+
*
|
|
313
|
+
* Returns the outcome indicating whether the owner was already present or newly inserted.
|
|
314
|
+
*
|
|
315
|
+
* Port of `Registry::set_owner()` from registry_impl.rs.
|
|
316
|
+
*/
|
|
317
|
+
setOwner(owner: OwnerRecord): OwnerOutcome;
|
|
318
|
+
/**
|
|
319
|
+
* Get all participants.
|
|
320
|
+
*/
|
|
321
|
+
participants(): Map<string, ParticipantRecord>;
|
|
322
|
+
/**
|
|
323
|
+
* Get a participant by XID.
|
|
324
|
+
*/
|
|
325
|
+
participant(xid: XID): ParticipantRecord | undefined;
|
|
326
|
+
/**
|
|
327
|
+
* Add a participant.
|
|
328
|
+
*
|
|
329
|
+
* Returns the outcome indicating whether the participant was already present or newly inserted.
|
|
330
|
+
*/
|
|
331
|
+
addParticipant(xid: XID, record: ParticipantRecord): AddOutcome;
|
|
332
|
+
/**
|
|
333
|
+
* Check if a pet name is already used.
|
|
334
|
+
*/
|
|
335
|
+
petNameExists(petName: string): boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Find a participant by pet name.
|
|
338
|
+
*
|
|
339
|
+
* Port of `Registry::participant_by_pet_name()` from registry_impl.rs.
|
|
340
|
+
*/
|
|
341
|
+
participantByPetName(petName: string): [XID, ParticipantRecord] | undefined;
|
|
342
|
+
/**
|
|
343
|
+
* Get all groups.
|
|
344
|
+
*/
|
|
345
|
+
groups(): Map<string, GroupRecord>;
|
|
346
|
+
/**
|
|
347
|
+
* Get a group by ARID.
|
|
348
|
+
*/
|
|
349
|
+
group(arid: ARID): GroupRecord | undefined;
|
|
350
|
+
/**
|
|
351
|
+
* Get a mutable reference to a group by ARID.
|
|
352
|
+
*/
|
|
353
|
+
groupMut(arid: ARID): GroupRecord | undefined;
|
|
354
|
+
/**
|
|
355
|
+
* Record a group in the registry.
|
|
356
|
+
*
|
|
357
|
+
* If the group already exists:
|
|
358
|
+
* - Validates that the config matches
|
|
359
|
+
* - Merges contributions from the new record
|
|
360
|
+
* - Updates verifying key if not already set
|
|
361
|
+
*
|
|
362
|
+
* Port of `Registry::record_group()` from registry_impl.rs.
|
|
363
|
+
*/
|
|
364
|
+
recordGroup(groupId: ARID, record: GroupRecord): GroupOutcome;
|
|
365
|
+
/**
|
|
366
|
+
* Add a group (simple variant without merge logic).
|
|
367
|
+
*
|
|
368
|
+
* @deprecated Use recordGroup() for proper merge behavior.
|
|
369
|
+
*/
|
|
370
|
+
addGroup(arid: ARID, record: GroupRecord): void;
|
|
371
|
+
/**
|
|
372
|
+
* Load a registry from a file.
|
|
373
|
+
*/
|
|
374
|
+
static load(filePath: string): Registry;
|
|
375
|
+
/**
|
|
376
|
+
* Save the registry to a file.
|
|
377
|
+
*/
|
|
378
|
+
save(filePath: string): void;
|
|
379
|
+
/**
|
|
380
|
+
* Serialize to JSON object.
|
|
381
|
+
*/
|
|
382
|
+
toJSON(): Record<string, unknown>;
|
|
383
|
+
/**
|
|
384
|
+
* Deserialize from JSON object.
|
|
385
|
+
*/
|
|
386
|
+
static fromJSON(json: Record<string, unknown>): Registry;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Resolve the registry file path from a given argument.
|
|
390
|
+
*
|
|
391
|
+
* Port of `resolve_registry_path()` from registry/mod.rs lines 49-78.
|
|
392
|
+
*/
|
|
393
|
+
declare function resolveRegistryPath(registryArg: string | undefined, cwd: string): string;
|
|
394
|
+
//#endregion
|
|
395
|
+
export { resolveRegistryPath as a, ContributionPaths as c, PendingRequests as d, Registry as i, GroupParticipant as l, GroupOutcome as n, ParticipantRecord as o, OwnerOutcome as r, OwnerRecord as s, AddOutcome as t, GroupRecord as u };
|
|
396
|
+
//# sourceMappingURL=index-BJeUYrdE.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BJeUYrdE.d.mts","names":[],"sources":["../src/registry/group-record.ts","../src/registry/owner-record.ts","../src/registry/participant-record.ts","../src/registry/registry-impl.ts"],"mappings":"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"}
|