@did-btcr2/method 0.28.0 → 0.29.0
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/dist/.tsbuildinfo +1 -1
- package/dist/browser.js +20092 -31631
- package/dist/browser.mjs +20019 -31558
- package/dist/cjs/index.js +1164 -364
- package/dist/esm/core/aggregation/beacon-strategy.js +62 -0
- package/dist/esm/core/aggregation/beacon-strategy.js.map +1 -0
- package/dist/esm/core/aggregation/cohort.js +31 -8
- package/dist/esm/core/aggregation/cohort.js.map +1 -1
- package/dist/esm/core/aggregation/logger.js +15 -0
- package/dist/esm/core/aggregation/logger.js.map +1 -0
- package/dist/esm/core/aggregation/messages/base.js +12 -1
- package/dist/esm/core/aggregation/messages/base.js.map +1 -1
- package/dist/esm/core/aggregation/messages/bodies.js +90 -0
- package/dist/esm/core/aggregation/messages/bodies.js.map +1 -0
- package/dist/esm/core/aggregation/messages/factories.js.map +1 -1
- package/dist/esm/core/aggregation/messages/index.js +1 -0
- package/dist/esm/core/aggregation/messages/index.js.map +1 -1
- package/dist/esm/core/aggregation/participant.js +39 -46
- package/dist/esm/core/aggregation/participant.js.map +1 -1
- package/dist/esm/core/aggregation/runner/participant-runner.js +33 -7
- package/dist/esm/core/aggregation/runner/participant-runner.js.map +1 -1
- package/dist/esm/core/aggregation/runner/service-runner.js +198 -19
- package/dist/esm/core/aggregation/runner/service-runner.js.map +1 -1
- package/dist/esm/core/aggregation/service.js +143 -15
- package/dist/esm/core/aggregation/service.js.map +1 -1
- package/dist/esm/core/aggregation/signing-session.js +44 -5
- package/dist/esm/core/aggregation/signing-session.js.map +1 -1
- package/dist/esm/core/aggregation/transport/didcomm.js +9 -0
- package/dist/esm/core/aggregation/transport/didcomm.js.map +1 -1
- package/dist/esm/core/aggregation/transport/nostr.js +245 -16
- package/dist/esm/core/aggregation/transport/nostr.js.map +1 -1
- package/dist/esm/core/beacon/beacon.js +147 -61
- package/dist/esm/core/beacon/beacon.js.map +1 -1
- package/dist/esm/core/beacon/utils.js +14 -9
- package/dist/esm/core/beacon/utils.js.map +1 -1
- package/dist/esm/did-btcr2.js +0 -4
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/did-document.js +2 -2
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/types/core/aggregation/beacon-strategy.d.ts +52 -0
- package/dist/types/core/aggregation/beacon-strategy.d.ts.map +1 -0
- package/dist/types/core/aggregation/cohort.d.ts +20 -3
- package/dist/types/core/aggregation/cohort.d.ts.map +1 -1
- package/dist/types/core/aggregation/logger.d.ts +22 -0
- package/dist/types/core/aggregation/logger.d.ts.map +1 -0
- package/dist/types/core/aggregation/messages/base.d.ts +13 -1
- package/dist/types/core/aggregation/messages/base.d.ts.map +1 -1
- package/dist/types/core/aggregation/messages/bodies.d.ts +130 -0
- package/dist/types/core/aggregation/messages/bodies.d.ts.map +1 -0
- package/dist/types/core/aggregation/messages/factories.d.ts +1 -0
- package/dist/types/core/aggregation/messages/factories.d.ts.map +1 -1
- package/dist/types/core/aggregation/messages/index.d.ts +1 -0
- package/dist/types/core/aggregation/messages/index.d.ts.map +1 -1
- package/dist/types/core/aggregation/participant.d.ts +2 -0
- package/dist/types/core/aggregation/participant.d.ts.map +1 -1
- package/dist/types/core/aggregation/runner/events.d.ts +32 -6
- package/dist/types/core/aggregation/runner/events.d.ts.map +1 -1
- package/dist/types/core/aggregation/runner/participant-runner.d.ts +7 -5
- package/dist/types/core/aggregation/runner/participant-runner.d.ts.map +1 -1
- package/dist/types/core/aggregation/runner/service-runner.d.ts +33 -3
- package/dist/types/core/aggregation/runner/service-runner.d.ts.map +1 -1
- package/dist/types/core/aggregation/service.d.ts +33 -2
- package/dist/types/core/aggregation/service.d.ts.map +1 -1
- package/dist/types/core/aggregation/signing-session.d.ts +5 -1
- package/dist/types/core/aggregation/signing-session.d.ts.map +1 -1
- package/dist/types/core/aggregation/transport/didcomm.d.ts +3 -0
- package/dist/types/core/aggregation/transport/didcomm.d.ts.map +1 -1
- package/dist/types/core/aggregation/transport/nostr.d.ts +99 -1
- package/dist/types/core/aggregation/transport/nostr.d.ts.map +1 -1
- package/dist/types/core/aggregation/transport/transport.d.ts +25 -0
- package/dist/types/core/aggregation/transport/transport.d.ts.map +1 -1
- package/dist/types/core/beacon/beacon.d.ts +85 -18
- package/dist/types/core/beacon/beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/utils.d.ts +2 -2
- package/dist/types/core/beacon/utils.d.ts.map +1 -1
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +5 -7
- package/src/core/aggregation/beacon-strategy.ts +123 -0
- package/src/core/aggregation/cohort.ts +34 -8
- package/src/core/aggregation/logger.ts +33 -0
- package/src/core/aggregation/messages/base.ts +20 -5
- package/src/core/aggregation/messages/bodies.ts +223 -0
- package/src/core/aggregation/messages/factories.ts +1 -0
- package/src/core/aggregation/messages/index.ts +1 -0
- package/src/core/aggregation/participant.ts +40 -46
- package/src/core/aggregation/runner/events.ts +27 -3
- package/src/core/aggregation/runner/participant-runner.ts +41 -7
- package/src/core/aggregation/runner/service-runner.ts +227 -19
- package/src/core/aggregation/service.ts +189 -20
- package/src/core/aggregation/signing-session.ts +65 -7
- package/src/core/aggregation/transport/didcomm.ts +17 -0
- package/src/core/aggregation/transport/nostr.ts +266 -23
- package/src/core/aggregation/transport/transport.ts +33 -0
- package/src/core/beacon/beacon.ts +217 -76
- package/src/core/beacon/utils.ts +16 -11
- package/src/did-btcr2.ts +0 -5
- package/src/index.ts +2 -0
- package/src/utils/did-document.ts +2 -2
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { canonicalize } from '@did-btcr2/common';
|
|
2
|
+
import { BIP340Cryptosuite, SchnorrMultikey } from '@did-btcr2/cryptosuite';
|
|
1
3
|
import { bytesToHex } from '@noble/hashes/utils';
|
|
4
|
+
import { getBeaconStrategy } from './beacon-strategy.js';
|
|
2
5
|
import { AggregationCohort } from './cohort.js';
|
|
3
6
|
import { AggregationServiceError } from './errors.js';
|
|
7
|
+
import { AGGREGATION_WIRE_VERSION } from './messages/base.js';
|
|
4
8
|
import { COHORT_OPT_IN, NONCE_CONTRIBUTION, SIGNATURE_AUTHORIZATION, SUBMIT_UPDATE, VALIDATION_ACK, } from './messages/constants.js';
|
|
5
|
-
import { createAuthorizationRequestMessage, createCohortAdvertMessage, createCohortOptInAcceptMessage, createCohortReadyMessage, createDistributeAggregatedDataMessage,
|
|
9
|
+
import { createAggregatedNonceMessage, createAuthorizationRequestMessage, createCohortAdvertMessage, createCohortOptInAcceptMessage, createCohortReadyMessage, createDistributeAggregatedDataMessage, } from './messages/factories.js';
|
|
6
10
|
import { ServiceCohortPhase } from './phases.js';
|
|
7
11
|
import { BeaconSigningSession } from './signing-session.js';
|
|
12
|
+
/** Default maximum canonicalized byte-length of a submitted BTCR2 update. */
|
|
13
|
+
export const DEFAULT_MAX_UPDATE_SIZE_BYTES = 256 * 1024;
|
|
8
14
|
/**
|
|
9
15
|
* Sans-I/O state machine for an Aggregation Service.
|
|
10
16
|
*
|
|
@@ -19,13 +25,31 @@ import { BeaconSigningSession } from './signing-session.js';
|
|
|
19
25
|
export class AggregationService {
|
|
20
26
|
did;
|
|
21
27
|
keys;
|
|
28
|
+
maxUpdateSizeBytes;
|
|
22
29
|
/** Per-cohort state, keyed by cohortId. */
|
|
23
30
|
#cohortStates = new Map();
|
|
24
|
-
constructor({ did, keys }) {
|
|
31
|
+
constructor({ did, keys, maxUpdateSizeBytes }) {
|
|
25
32
|
this.did = did;
|
|
26
33
|
this.keys = keys;
|
|
34
|
+
this.maxUpdateSizeBytes = maxUpdateSizeBytes ?? DEFAULT_MAX_UPDATE_SIZE_BYTES;
|
|
27
35
|
}
|
|
28
36
|
receive(message) {
|
|
37
|
+
// Reject messages whose wire version doesn't match what this build speaks.
|
|
38
|
+
// Missing version → treat as legacy and drop: bumping the protocol must be
|
|
39
|
+
// coordinated across all participants.
|
|
40
|
+
const version = message.version;
|
|
41
|
+
if (version === undefined || version !== AGGREGATION_WIRE_VERSION) {
|
|
42
|
+
const cohortId = message.body?.cohortId;
|
|
43
|
+
const state = cohortId ? this.#cohortStates.get(cohortId) : undefined;
|
|
44
|
+
if (state) {
|
|
45
|
+
state.rejections.push({
|
|
46
|
+
from: message.from,
|
|
47
|
+
code: 'WRONG_VERSION',
|
|
48
|
+
reason: `Expected wire version ${AGGREGATION_WIRE_VERSION}, got ${String(version)}`,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
29
53
|
const type = message.type;
|
|
30
54
|
switch (type) {
|
|
31
55
|
case COHORT_OPT_IN:
|
|
@@ -48,6 +72,19 @@ export class AggregationService {
|
|
|
48
72
|
break;
|
|
49
73
|
}
|
|
50
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Drain the rejection log for a cohort. Used by runners to surface silent
|
|
77
|
+
* drops (bad proof, oversized update, wrong version, etc.) as structured
|
|
78
|
+
* events without breaking the sans-I/O state machine contract.
|
|
79
|
+
*/
|
|
80
|
+
drainRejections(cohortId) {
|
|
81
|
+
const state = this.#cohortStates.get(cohortId);
|
|
82
|
+
if (!state)
|
|
83
|
+
return [];
|
|
84
|
+
const out = state.rejections;
|
|
85
|
+
state.rejections = [];
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
51
88
|
/**
|
|
52
89
|
* Create a new cohort with the given config. Returns the cohort ID.
|
|
53
90
|
* Cohort starts in `Created` phase — call `advertise()` to broadcast.
|
|
@@ -65,6 +102,7 @@ export class AggregationService {
|
|
|
65
102
|
config,
|
|
66
103
|
pendingOptIns: new Map(),
|
|
67
104
|
acceptedParticipants: new Set(),
|
|
105
|
+
rejections: [],
|
|
68
106
|
});
|
|
69
107
|
return cohort.id;
|
|
70
108
|
}
|
|
@@ -119,6 +157,13 @@ export class AggregationService {
|
|
|
119
157
|
const communicationPk = message.body?.communicationPk;
|
|
120
158
|
if (!participantPk || !communicationPk)
|
|
121
159
|
return;
|
|
160
|
+
// Reject re-opt-in from already-accepted participants. Without this guard a
|
|
161
|
+
// participant could send a second opt-in with a different key, overwriting
|
|
162
|
+
// pendingOptIns[did] while cohortKeys still holds the original key — opening
|
|
163
|
+
// a desync window where #verifySubmittedUpdate accepts updates signed with
|
|
164
|
+
// a key that is NOT in the MuSig2 cohort.
|
|
165
|
+
if (state.acceptedParticipants.has(participantDid))
|
|
166
|
+
return;
|
|
122
167
|
state.pendingOptIns.set(participantDid, {
|
|
123
168
|
cohortId,
|
|
124
169
|
participantDid,
|
|
@@ -144,6 +189,7 @@ export class AggregationService {
|
|
|
144
189
|
}
|
|
145
190
|
state.acceptedParticipants.add(participantDid);
|
|
146
191
|
state.cohort.participants.push(participantDid);
|
|
192
|
+
state.cohort.participantKeys.set(participantDid, optIn.participantPk);
|
|
147
193
|
state.cohort.cohortKeys = [...state.cohort.cohortKeys, optIn.participantPk];
|
|
148
194
|
return [createCohortOptInAcceptMessage({
|
|
149
195
|
from: this.did,
|
|
@@ -187,6 +233,13 @@ export class AggregationService {
|
|
|
187
233
|
return new Map();
|
|
188
234
|
return state.cohort.pendingUpdates;
|
|
189
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Handle an incoming SUBMIT_UPDATE message from a participant containing their signed update to
|
|
238
|
+
* submit for aggregation.
|
|
239
|
+
* @param {BaseMessage} message - incoming SUBMIT_UPDATE message containing a participant's signed
|
|
240
|
+
* update to submit for aggregation
|
|
241
|
+
* @returns {void} - no return value; updates the service state with the submitted update if valid
|
|
242
|
+
*/
|
|
190
243
|
#handleSubmitUpdate(message) {
|
|
191
244
|
const cohortId = message.body?.cohortId;
|
|
192
245
|
if (!cohortId)
|
|
@@ -197,8 +250,38 @@ export class AggregationService {
|
|
|
197
250
|
if (state.phase !== ServiceCohortPhase.CohortSet && state.phase !== ServiceCohortPhase.CollectingUpdates)
|
|
198
251
|
return;
|
|
199
252
|
const signedUpdate = message.body?.signedUpdate;
|
|
200
|
-
if (!signedUpdate)
|
|
253
|
+
if (!signedUpdate) {
|
|
254
|
+
state.rejections.push({
|
|
255
|
+
from: message.from,
|
|
256
|
+
code: 'UPDATE_MALFORMED',
|
|
257
|
+
reason: 'SUBMIT_UPDATE missing signedUpdate body',
|
|
258
|
+
});
|
|
201
259
|
return;
|
|
260
|
+
}
|
|
261
|
+
// Cap the canonicalized update size before doing any heavier verification
|
|
262
|
+
// work. Without this guard, a participant could submit multi-MB payloads
|
|
263
|
+
// that the service would canonicalize, hash, and aggregate — cheap DoS.
|
|
264
|
+
const canonicalSize = canonicalize(signedUpdate).length;
|
|
265
|
+
if (canonicalSize > this.maxUpdateSizeBytes) {
|
|
266
|
+
state.rejections.push({
|
|
267
|
+
from: message.from,
|
|
268
|
+
code: 'UPDATE_TOO_LARGE',
|
|
269
|
+
reason: `Canonicalized update is ${canonicalSize} bytes; max allowed is ${this.maxUpdateSizeBytes}`,
|
|
270
|
+
});
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
// Verify the BIP-340 Data Integrity proof before aggregating. Without this check,
|
|
274
|
+
// a malicious cohort member could submit updates with garbage proofs, which the
|
|
275
|
+
// service would aggregate into the CAS announcement / SMT root and ultimately
|
|
276
|
+
// anchor on-chain with the cohort's MuSig2 signature.
|
|
277
|
+
if (!this.#verifySubmittedUpdate(state, message.from, signedUpdate)) {
|
|
278
|
+
state.rejections.push({
|
|
279
|
+
from: message.from,
|
|
280
|
+
code: 'UPDATE_VERIFICATION_FAILED',
|
|
281
|
+
reason: 'BIP-340 Data Integrity proof verification failed',
|
|
282
|
+
});
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
202
285
|
state.cohort.addUpdate(message.from, signedUpdate);
|
|
203
286
|
if (state.phase === ServiceCohortPhase.CohortSet) {
|
|
204
287
|
state.phase = ServiceCohortPhase.CollectingUpdates;
|
|
@@ -207,6 +290,42 @@ export class AggregationService {
|
|
|
207
290
|
state.phase = ServiceCohortPhase.UpdatesCollected;
|
|
208
291
|
}
|
|
209
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Verify the BIP-340 Schnorr Data Integrity proof on a submitted update using the
|
|
295
|
+
* participant's public key from their cohort opt-in. Returns `false` (and the
|
|
296
|
+
* update is silently dropped) if the proof is missing, the verificationMethod does
|
|
297
|
+
* not name the sender's DID, the participant has no opt-in on record, or the
|
|
298
|
+
* signature fails verification.
|
|
299
|
+
* @param {ServiceCohortState} state - the current state of the cohort to which the update was submitted
|
|
300
|
+
* @param {string} sender - the DID of the participant who submitted the update
|
|
301
|
+
* @param {SignedBTCR2Update} signedUpdate - the signed update containing the proof to verify
|
|
302
|
+
* @returns {boolean} - `true` if the proof is valid and the update can be accepted; `false` otherwise
|
|
303
|
+
*/
|
|
304
|
+
#verifySubmittedUpdate(state, sender, signedUpdate) {
|
|
305
|
+
const proof = signedUpdate.proof;
|
|
306
|
+
if (!proof?.verificationMethod || !proof.proofValue)
|
|
307
|
+
return false;
|
|
308
|
+
// The proof must be signed by the sender's own key. Reject if the
|
|
309
|
+
// verificationMethod references a different DID.
|
|
310
|
+
const vmDid = proof.verificationMethod.split('#')[0];
|
|
311
|
+
if (vmDid !== sender)
|
|
312
|
+
return false;
|
|
313
|
+
const optIn = state.pendingOptIns.get(sender);
|
|
314
|
+
if (!optIn)
|
|
315
|
+
return false;
|
|
316
|
+
try {
|
|
317
|
+
const multikey = SchnorrMultikey.fromPublicKey({
|
|
318
|
+
id: proof.verificationMethod,
|
|
319
|
+
controller: sender,
|
|
320
|
+
publicKeyBytes: optIn.participantPk,
|
|
321
|
+
});
|
|
322
|
+
const suite = new BIP340Cryptosuite(multikey);
|
|
323
|
+
return suite.verifyProof(signedUpdate).verified === true;
|
|
324
|
+
}
|
|
325
|
+
catch {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
210
329
|
/**
|
|
211
330
|
* Build the aggregated data structure (CAS Announcement or SMT tree) and
|
|
212
331
|
* return distribute messages to send to all participants for validation.
|
|
@@ -219,27 +338,24 @@ export class AggregationService {
|
|
|
219
338
|
if (state.phase !== ServiceCohortPhase.UpdatesCollected) {
|
|
220
339
|
throw new AggregationServiceError(`Cannot build aggregated data for cohort ${cohortId}: phase is ${state.phase}.`, 'INVALID_PHASE', { cohortId, phase: state.phase });
|
|
221
340
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
else if (state.config.beaconType === 'SMTBeacon') {
|
|
226
|
-
state.cohort.buildSMTTree();
|
|
227
|
-
}
|
|
228
|
-
else {
|
|
341
|
+
const strategy = getBeaconStrategy(state.config.beaconType);
|
|
342
|
+
if (!strategy) {
|
|
229
343
|
throw new AggregationServiceError(`Unsupported beacon type: ${state.config.beaconType}`, 'UNSUPPORTED_BEACON_TYPE', { cohortId, beaconType: state.config.beaconType });
|
|
230
344
|
}
|
|
345
|
+
strategy.buildAggregatedData(state.cohort);
|
|
231
346
|
const signalBytesHex = bytesToHex(state.cohort.signalBytes);
|
|
232
347
|
state.phase = ServiceCohortPhase.DataDistributed;
|
|
233
348
|
const messages = [];
|
|
234
349
|
for (const participantDid of state.cohort.participants) {
|
|
350
|
+
const payload = strategy.getDistributePayload(state.cohort, participantDid);
|
|
235
351
|
messages.push(createDistributeAggregatedDataMessage({
|
|
236
352
|
from: this.did,
|
|
237
353
|
to: participantDid,
|
|
238
354
|
cohortId,
|
|
239
355
|
beaconType: state.config.beaconType,
|
|
240
356
|
signalBytesHex,
|
|
241
|
-
casAnnouncement:
|
|
242
|
-
smtProof:
|
|
357
|
+
casAnnouncement: payload.casAnnouncement,
|
|
358
|
+
smtProof: payload.smtProof,
|
|
243
359
|
}));
|
|
244
360
|
}
|
|
245
361
|
return messages;
|
|
@@ -304,6 +420,10 @@ export class AggregationService {
|
|
|
304
420
|
});
|
|
305
421
|
state.signingSession = session;
|
|
306
422
|
state.phase = ServiceCohortPhase.SigningStarted;
|
|
423
|
+
const prevOutScript = txData.prevOutScripts[0];
|
|
424
|
+
if (!prevOutScript) {
|
|
425
|
+
throw new AggregationServiceError(`Cannot start signing for cohort ${cohortId}: txData.prevOutScripts[0] is missing.`, 'MISSING_PREV_OUT_SCRIPT', { cohortId });
|
|
426
|
+
}
|
|
307
427
|
const messages = [];
|
|
308
428
|
for (const participantDid of state.cohort.participants) {
|
|
309
429
|
messages.push(createAuthorizationRequestMessage({
|
|
@@ -311,7 +431,8 @@ export class AggregationService {
|
|
|
311
431
|
to: participantDid,
|
|
312
432
|
cohortId,
|
|
313
433
|
sessionId: session.id,
|
|
314
|
-
pendingTx: txData.tx.
|
|
434
|
+
pendingTx: txData.tx.hex,
|
|
435
|
+
prevOutScriptHex: bytesToHex(prevOutScript),
|
|
315
436
|
prevOutValue: txData.prevOutValues[0]?.toString() ?? '0',
|
|
316
437
|
}));
|
|
317
438
|
}
|
|
@@ -382,8 +503,8 @@ export class AggregationService {
|
|
|
382
503
|
if (state.signingSession.partialSignatures.size === state.cohort.participants.length) {
|
|
383
504
|
// All partial sigs received — generate final signature
|
|
384
505
|
const signature = state.signingSession.generateFinalSignature();
|
|
385
|
-
// Set Taproot key-path witness
|
|
386
|
-
state.signingSession.pendingTx.
|
|
506
|
+
// Set Taproot key-path witness (finalScriptWitness injects the aggregated MuSig2 sig)
|
|
507
|
+
state.signingSession.pendingTx.updateInput(0, { finalScriptWitness: [signature] });
|
|
387
508
|
state.result = {
|
|
388
509
|
cohortId,
|
|
389
510
|
signature,
|
|
@@ -412,5 +533,12 @@ export class AggregationService {
|
|
|
412
533
|
get cohorts() {
|
|
413
534
|
return [...this.#cohortStates.values()].map(s => s.cohort);
|
|
414
535
|
}
|
|
536
|
+
/**
|
|
537
|
+
* Remove a cohort from the state map. Used by runners to GC state on cohort
|
|
538
|
+
* completion, failure, or expiry. No-op if the cohort doesn't exist.
|
|
539
|
+
*/
|
|
540
|
+
removeCohort(cohortId) {
|
|
541
|
+
this.#cohortStates.delete(cohortId);
|
|
542
|
+
}
|
|
415
543
|
}
|
|
416
544
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/core/aggregation/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/core/aggregation/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { SigHash } from '@scure/btc-signer';
|
|
1
2
|
import * as musig2 from '@scure/btc-signer/musig2';
|
|
2
|
-
import { Transaction } from 'bitcoinjs-lib';
|
|
3
3
|
import { SigningSessionError } from './errors.js';
|
|
4
4
|
import { SigningSessionPhase } from './phases.js';
|
|
5
5
|
/**
|
|
@@ -50,12 +50,15 @@ export class BeaconSigningSession {
|
|
|
50
50
|
if (!this.prevOutScripts.length || !this.prevOutValues.length) {
|
|
51
51
|
throw new SigningSessionError('Cannot compute sighash: missing prevOutScripts or prevOutValues.', 'SIGHASH_ERROR');
|
|
52
52
|
}
|
|
53
|
-
return this.pendingTx.
|
|
53
|
+
return this.pendingTx.preimageWitnessV1(0, this.prevOutScripts, SigHash.DEFAULT, this.prevOutValues);
|
|
54
54
|
}
|
|
55
55
|
addNonceContribution(participantDid, nonceContribution) {
|
|
56
56
|
if (this.phase !== SigningSessionPhase.AwaitingNonceContributions) {
|
|
57
57
|
throw new SigningSessionError(`Nonce contributions not expected. Current phase: ${this.phase}`, 'INVALID_PHASE', { phase: this.phase });
|
|
58
58
|
}
|
|
59
|
+
if (!this.cohort.participants.includes(participantDid)) {
|
|
60
|
+
throw new SigningSessionError(`Participant ${participantDid} is not a member of cohort ${this.cohort.id}.`, 'UNKNOWN_PARTICIPANT', { cohortId: this.cohort.id, participantDid });
|
|
61
|
+
}
|
|
59
62
|
if (nonceContribution.length !== 66) {
|
|
60
63
|
throw new SigningSessionError(`Invalid nonce contribution: expected 66 bytes, got ${nonceContribution.length}.`, 'INVALID_NONCE_LENGTH');
|
|
61
64
|
}
|
|
@@ -79,6 +82,9 @@ export class BeaconSigningSession {
|
|
|
79
82
|
if (this.phase !== SigningSessionPhase.AwaitingPartialSignatures) {
|
|
80
83
|
throw new SigningSessionError(`Partial signatures not expected. Current phase: ${this.phase}`, 'INVALID_PHASE');
|
|
81
84
|
}
|
|
85
|
+
if (!this.cohort.participants.includes(participantDid)) {
|
|
86
|
+
throw new SigningSessionError(`Participant ${participantDid} is not a member of cohort ${this.cohort.id}.`, 'UNKNOWN_PARTICIPANT', { cohortId: this.cohort.id, participantDid });
|
|
87
|
+
}
|
|
82
88
|
if (this.partialSignatures.has(participantDid)) {
|
|
83
89
|
throw new SigningSessionError(`Duplicate partial signature from ${participantDid}.`, 'DUPLICATE_PARTIAL_SIG');
|
|
84
90
|
}
|
|
@@ -94,7 +100,33 @@ export class BeaconSigningSession {
|
|
|
94
100
|
if (!this.aggregatedNonce) {
|
|
95
101
|
throw new SigningSessionError('Aggregated nonce missing.', 'MISSING_AGGREGATED_NONCE');
|
|
96
102
|
}
|
|
97
|
-
const session = new musig2.Session(this.aggregatedNonce, this.cohort.cohortKeys, this.sigHash, [this.cohort.
|
|
103
|
+
const session = new musig2.Session(this.aggregatedNonce, this.cohort.cohortKeys, this.sigHash, [this.cohort.tapTweak], [true]);
|
|
104
|
+
// Pre-verify each partial signature against the signer's public key before
|
|
105
|
+
// aggregating (BIP-327 §2.3.5). Delegating verification to partialSigAgg
|
|
106
|
+
// alone makes it impossible to attribute a bad contribution; pinpointing
|
|
107
|
+
// the offending participant lets the service blame and retry without the
|
|
108
|
+
// whole cohort.
|
|
109
|
+
//
|
|
110
|
+
// partialSigVerify(partialSig, pubNonces, i) needs pubNonces ordered to
|
|
111
|
+
// match cohort.cohortKeys, and `i` is the signer's position in that array.
|
|
112
|
+
const pubNoncesByIndex = new Array(this.cohort.cohortKeys.length);
|
|
113
|
+
for (const [did, nonce] of this.nonceContributions) {
|
|
114
|
+
const idx = this.cohort.indexOfParticipant(did);
|
|
115
|
+
if (idx < 0) {
|
|
116
|
+
throw new SigningSessionError(`Cannot verify nonce from ${did}: participant key missing from cohort.`, 'UNKNOWN_PARTICIPANT_KEY', { participantDid: did });
|
|
117
|
+
}
|
|
118
|
+
pubNoncesByIndex[idx] = nonce;
|
|
119
|
+
}
|
|
120
|
+
for (const [did, partialSig] of this.partialSignatures) {
|
|
121
|
+
const idx = this.cohort.indexOfParticipant(did);
|
|
122
|
+
if (idx < 0) {
|
|
123
|
+
throw new SigningSessionError(`Cannot verify partial signature from ${did}: participant key missing from cohort.`, 'UNKNOWN_PARTICIPANT_KEY', { participantDid: did });
|
|
124
|
+
}
|
|
125
|
+
const ok = session.partialSigVerify(partialSig, pubNoncesByIndex, idx);
|
|
126
|
+
if (!ok) {
|
|
127
|
+
throw new SigningSessionError(`Bad partial signature from ${did}.`, 'BAD_PARTIAL_SIG', { participantDid: did, index: idx });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
98
130
|
this.signature = session.partialSigAgg([...this.partialSignatures.values()]);
|
|
99
131
|
this.phase = SigningSessionPhase.Complete;
|
|
100
132
|
return this.signature;
|
|
@@ -112,6 +144,10 @@ export class BeaconSigningSession {
|
|
|
112
144
|
/**
|
|
113
145
|
* Generates a partial signature using the participant's secret key + secret nonce.
|
|
114
146
|
* Requires the aggregated nonce to have been set first (via the service).
|
|
147
|
+
*
|
|
148
|
+
* Zeros the stored `secretNonce` after use. JS cannot truly erase memory (GC
|
|
149
|
+
* and immutable strings), but overwriting the bytes shortens the exposure
|
|
150
|
+
* window and prevents accidental reuse or serialization of a spent nonce.
|
|
115
151
|
*/
|
|
116
152
|
generatePartialSignature(participantSecretKey) {
|
|
117
153
|
if (!this.aggregatedNonce) {
|
|
@@ -120,8 +156,11 @@ export class BeaconSigningSession {
|
|
|
120
156
|
if (!this.secretNonce) {
|
|
121
157
|
throw new SigningSessionError('Secret nonce not available — generateNonceContribution() must be called first.', 'MISSING_SECRET_NONCE');
|
|
122
158
|
}
|
|
123
|
-
const session = new musig2.Session(this.aggregatedNonce, this.cohort.cohortKeys, this.sigHash, [this.cohort.
|
|
124
|
-
|
|
159
|
+
const session = new musig2.Session(this.aggregatedNonce, this.cohort.cohortKeys, this.sigHash, [this.cohort.tapTweak], [true]);
|
|
160
|
+
const partialSig = session.sign(this.secretNonce, participantSecretKey);
|
|
161
|
+
this.secretNonce.fill(0);
|
|
162
|
+
this.secretNonce = undefined;
|
|
163
|
+
return partialSig;
|
|
125
164
|
}
|
|
126
165
|
isComplete() {
|
|
127
166
|
return this.phase === SigningSessionPhase.Complete;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signing-session.js","sourceRoot":"","sources":["../../../../src/core/aggregation/signing-session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signing-session.js","sourceRoot":"","sources":["../../../../src/core/aggregation/signing-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,17 @@ export class DidCommTransport {
|
|
|
25
25
|
registerMessageHandler(_actorDid, _messageType, _handler) {
|
|
26
26
|
throw new NotImplementedError('DidCommTransport not implemented.');
|
|
27
27
|
}
|
|
28
|
+
unregisterMessageHandler(_actorDid, _messageType) {
|
|
29
|
+
throw new NotImplementedError('DidCommTransport not implemented.');
|
|
30
|
+
}
|
|
31
|
+
unregisterActor(_did) {
|
|
32
|
+
throw new NotImplementedError('DidCommTransport not implemented.');
|
|
33
|
+
}
|
|
28
34
|
async sendMessage(_message, _sender, _recipient) {
|
|
29
35
|
throw new NotImplementedError('DidCommTransport not implemented.');
|
|
30
36
|
}
|
|
37
|
+
publishRepeating(_message, _sender, _intervalMs, _recipient) {
|
|
38
|
+
throw new NotImplementedError('DidCommTransport not implemented.');
|
|
39
|
+
}
|
|
31
40
|
}
|
|
32
41
|
//# sourceMappingURL=didcomm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"didcomm.js","sourceRoot":"","sources":["../../../../../src/core/aggregation/transport/didcomm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACpB,IAAI,GAAW,SAAS,CAAC;IAEzB,KAAK;QACV,MAAM,IAAI,mBAAmB,CAAC,+DAA+D,CAAC,CAAC;IACjG,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,KAAqB;QACtD,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,YAAY,CAAC,IAAY,EAAE,gBAA4B;QAC5D,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,sBAAsB,CAAC,SAAiB,EAAE,YAAoB,EAAE,QAAwB;QAC7F,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAqB,EAAE,OAAe,EAAE,UAAmB;QAClF,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"didcomm.js","sourceRoot":"","sources":["../../../../../src/core/aggregation/transport/didcomm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACpB,IAAI,GAAW,SAAS,CAAC;IAEzB,KAAK;QACV,MAAM,IAAI,mBAAmB,CAAC,+DAA+D,CAAC,CAAC;IACjG,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,KAAqB;QACtD,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,YAAY,CAAC,IAAY,EAAE,gBAA4B;QAC5D,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,sBAAsB,CAAC,SAAiB,EAAE,YAAoB,EAAE,QAAwB;QAC7F,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,wBAAwB,CAAC,SAAiB,EAAE,YAAoB;QACrE,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,QAAqB,EAAE,OAAe,EAAE,UAAmB;QAClF,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;IAEM,gBAAgB,CACrB,QAAqB,EACrB,OAAe,EACf,WAAmB,EACnB,UAAmB;QAEnB,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IACrE,CAAC;CACF"}
|