@did-btcr2/method 0.22.0 → 0.24.1
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 +96 -50
- package/dist/browser.js +35708 -37764
- package/dist/browser.mjs +35707 -37763
- package/dist/cjs/core/beacon/aggregation/cohort/index.js +13 -2
- package/dist/cjs/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js +7 -2
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js +6 -11
- package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +5 -8
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/coordinator.js +40 -44
- package/dist/cjs/core/beacon/aggregation/coordinator.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/participant.js +35 -38
- package/dist/cjs/core/beacon/aggregation/participant.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/session/index.js +18 -7
- package/dist/cjs/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/cjs/core/beacon/cas-beacon.js +1 -1
- package/dist/cjs/core/beacon/cas-beacon.js.map +1 -1
- package/dist/cjs/core/beacon/signal-discovery.js +6 -6
- package/dist/cjs/core/beacon/signal-discovery.js.map +1 -1
- package/dist/cjs/core/beacon/singleton.js +18 -17
- package/dist/cjs/core/beacon/singleton.js.map +1 -1
- package/dist/cjs/core/beacon/smt-beacon.js +1 -1
- package/dist/cjs/core/beacon/smt-beacon.js.map +1 -1
- package/dist/cjs/core/identifier.js +11 -13
- package/dist/cjs/core/identifier.js.map +1 -1
- package/dist/cjs/core/resolve.js +25 -22
- package/dist/cjs/core/resolve.js.map +1 -1
- package/dist/cjs/core/update.js +4 -4
- package/dist/cjs/core/update.js.map +1 -1
- package/dist/cjs/did-btcr2.js +11 -16
- package/dist/cjs/did-btcr2.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/did-document.js +22 -21
- package/dist/cjs/utils/did-document.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/index.js +13 -2
- package/dist/esm/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js +7 -2
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js +6 -11
- package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +5 -8
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/coordinator.js +40 -44
- package/dist/esm/core/beacon/aggregation/coordinator.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/participant.js +35 -38
- package/dist/esm/core/beacon/aggregation/participant.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/session/index.js +18 -7
- package/dist/esm/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/esm/core/beacon/cas-beacon.js +1 -1
- package/dist/esm/core/beacon/cas-beacon.js.map +1 -1
- package/dist/esm/core/beacon/signal-discovery.js +6 -6
- package/dist/esm/core/beacon/signal-discovery.js.map +1 -1
- package/dist/esm/core/beacon/singleton.js +18 -17
- package/dist/esm/core/beacon/singleton.js.map +1 -1
- package/dist/esm/core/beacon/smt-beacon.js +1 -1
- package/dist/esm/core/beacon/smt-beacon.js.map +1 -1
- package/dist/esm/core/identifier.js +11 -13
- package/dist/esm/core/identifier.js.map +1 -1
- package/dist/esm/core/resolve.js +25 -22
- package/dist/esm/core/resolve.js.map +1 -1
- package/dist/esm/core/update.js +4 -4
- package/dist/esm/core/update.js.map +1 -1
- package/dist/esm/did-btcr2.js +11 -16
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/did-document.js +22 -21
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/index.d.ts +2 -1
- package/dist/types/core/beacon/aggregation/cohort/index.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts +2 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/constants.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/index.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts +2 -2
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/cohort/status.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts +4 -3
- package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts +5 -3
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/communication/error.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/communication/factory.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/communication/service.d.ts +3 -2
- package/dist/types/core/beacon/aggregation/communication/service.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/coordinator.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/coordinator.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/participant.d.ts +1 -0
- package/dist/types/core/beacon/aggregation/participant.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/session/index.d.ts +2 -1
- package/dist/types/core/beacon/aggregation/session/index.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/session/status.d.ts +1 -0
- package/dist/types/core/beacon/beacon.d.ts +4 -3
- package/dist/types/core/beacon/beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/cas-beacon.d.ts +4 -3
- package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/error.d.ts +1 -0
- package/dist/types/core/beacon/factory.d.ts +1 -0
- package/dist/types/core/beacon/interfaces.d.ts +1 -0
- package/dist/types/core/beacon/signal-discovery.d.ts +6 -5
- package/dist/types/core/beacon/signal-discovery.d.ts.map +1 -1
- package/dist/types/core/beacon/singleton.d.ts +4 -4
- package/dist/types/core/beacon/singleton.d.ts.map +1 -1
- package/dist/types/core/beacon/smt-beacon.d.ts +4 -3
- package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -1
- package/dist/types/core/beacon/utils.d.ts +1 -0
- package/dist/types/core/identifier.d.ts +18 -21
- package/dist/types/core/identifier.d.ts.map +1 -1
- package/dist/types/core/interfaces.d.ts +3 -2
- package/dist/types/core/interfaces.d.ts.map +1 -1
- package/dist/types/core/resolve.d.ts +4 -3
- package/dist/types/core/resolve.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +1 -0
- package/dist/types/core/update.d.ts +3 -2
- package/dist/types/core/update.d.ts.map +1 -1
- package/dist/types/did-btcr2.d.ts +5 -4
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/appendix.d.ts +1 -0
- package/dist/types/utils/did-document-builder.d.ts +1 -0
- package/dist/types/utils/did-document.d.ts +5 -7
- package/dist/types/utils/did-document.d.ts.map +1 -1
- package/package.json +5 -6
- package/src/core/beacon/aggregation/cohort/index.ts +13 -2
- package/src/core/beacon/aggregation/cohort/messages/base.ts +7 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts +1 -1
- package/src/core/beacon/aggregation/communication/adapter/did-comm.ts +9 -15
- package/src/core/beacon/aggregation/communication/adapter/nostr.ts +9 -11
- package/src/core/beacon/aggregation/communication/service.ts +2 -2
- package/src/core/beacon/aggregation/coordinator.ts +40 -44
- package/src/core/beacon/aggregation/participant.ts +38 -40
- package/src/core/beacon/aggregation/session/index.ts +18 -7
- package/src/core/beacon/beacon.ts +3 -3
- package/src/core/beacon/cas-beacon.ts +3 -3
- package/src/core/beacon/signal-discovery.ts +9 -9
- package/src/core/beacon/singleton.ts +20 -20
- package/src/core/beacon/smt-beacon.ts +3 -3
- package/src/core/identifier.ts +31 -28
- package/src/core/interfaces.ts +2 -2
- package/src/core/resolve.ts +32 -26
- package/src/core/update.ts +6 -6
- package/src/did-btcr2.ts +21 -21
- package/src/index.ts +0 -1
- package/src/utils/did-document.ts +24 -20
- package/dist/cjs/utils/general.js +0 -195
- package/dist/cjs/utils/general.js.map +0 -1
- package/dist/esm/utils/general.js +0 -195
- package/dist/esm/utils/general.js.map +0 -1
- package/dist/types/utils/general.d.ts +0 -85
- package/dist/types/utils/general.d.ts.map +0 -1
- package/src/utils/general.ts +0 -204
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Logger } from '@did-btcr2/common';
|
|
2
1
|
import { HDKey } from '@scure/bip32';
|
|
3
2
|
import { mnemonicToSeedSync } from '@scure/bip39';
|
|
4
3
|
import * as musig2 from '@scure/btc-signer/musig2';
|
|
@@ -92,14 +91,14 @@ export class BeaconParticipant {
|
|
|
92
91
|
this.protocol = protocol || new NostrAdapter();
|
|
93
92
|
this.protocol.setKeys({ public: pk, secret });
|
|
94
93
|
this.cohortKeyState.set('__UNSET__', this.beaconKeyIndex);
|
|
95
|
-
|
|
94
|
+
console.debug(`BeaconParticipant initialized with DID: ${this.did}, Name: ${this.name}, Key Index: ${this.beaconKeyIndex}`);
|
|
96
95
|
}
|
|
97
96
|
/**
|
|
98
97
|
* Setup and start the BeaconParticipant communication protocol..
|
|
99
98
|
* @returns {void}
|
|
100
99
|
*/
|
|
101
100
|
start() {
|
|
102
|
-
|
|
101
|
+
console.info(`Setting up BeaconParticipant ${this.name} (${this.did}) on ${this.protocol.name} ...`);
|
|
103
102
|
this.protocol.registerMessageHandler(BEACON_COHORT_ADVERT, this._handleCohortAdvert.bind(this));
|
|
104
103
|
this.protocol.registerMessageHandler(BEACON_COHORT_OPT_IN_ACCEPT, this._handleSubscribeAccept.bind(this));
|
|
105
104
|
this.protocol.registerMessageHandler(BEACON_COHORT_READY, this._handleCohortReady.bind(this));
|
|
@@ -130,10 +129,10 @@ export class BeaconParticipant {
|
|
|
130
129
|
this.beaconKeyIndex = this.cohortKeyState.size + 1;
|
|
131
130
|
}
|
|
132
131
|
if (this.cohortKeyState.has(cohortId)) {
|
|
133
|
-
|
|
132
|
+
console.warn(`Cohort key state for cohort ${cohortId} already exists. Updating key index.`);
|
|
134
133
|
}
|
|
135
134
|
this.cohortKeyState.set(cohortId, this.beaconKeyIndex);
|
|
136
|
-
|
|
135
|
+
console.info(`Cohort key state updated. Next beacon key index: ${this.beaconKeyIndex + 1}`);
|
|
137
136
|
}
|
|
138
137
|
/**
|
|
139
138
|
* Finalizes the placeholder "__UNSET__" key and assigns it to the provided cohortId.
|
|
@@ -149,13 +148,13 @@ export class BeaconParticipant {
|
|
|
149
148
|
throw new BeaconParticipantError(`No '__UNSET__' cohort key to finalize for ${this.did}`, 'UNSET_KEY_NOT_FOUND');
|
|
150
149
|
}
|
|
151
150
|
if (this.cohortKeyState.has(cohortId)) {
|
|
152
|
-
|
|
151
|
+
console.warn(`Cohort key state already exists for ${cohortId}. Skipping migration from '__UNSET__'.`);
|
|
153
152
|
this.cohortKeyState.delete(unsetKey);
|
|
154
153
|
return;
|
|
155
154
|
}
|
|
156
155
|
this.setCohortKey(cohortId);
|
|
157
156
|
this.cohortKeyState.delete(unsetKey);
|
|
158
|
-
|
|
157
|
+
console.info(`Finalized '__UNSET__' CohortKeyState with ${cohortId} for ${this.did}`);
|
|
159
158
|
}
|
|
160
159
|
/**
|
|
161
160
|
* Handle subscription acceptance from a coordinator.
|
|
@@ -175,22 +174,22 @@ export class BeaconParticipant {
|
|
|
175
174
|
* @returns {Promise<void>}
|
|
176
175
|
*/
|
|
177
176
|
async _handleCohortAdvert(message) {
|
|
178
|
-
|
|
177
|
+
console.debug('_handleCohortAdvert', message);
|
|
179
178
|
const cohortAdvertMessage = BeaconCohortAdvertMessage.fromJSON(message);
|
|
180
|
-
|
|
179
|
+
console.info(`Received new cohort announcement from ${cohortAdvertMessage.from}`, cohortAdvertMessage);
|
|
181
180
|
const cohortId = cohortAdvertMessage.body?.cohortId;
|
|
182
181
|
if (!cohortId) {
|
|
183
|
-
|
|
182
|
+
console.warn('Received malformed cohort advert message: missing cohortId', cohortAdvertMessage);
|
|
184
183
|
return;
|
|
185
184
|
}
|
|
186
185
|
const network = cohortAdvertMessage.body?.network;
|
|
187
186
|
if (!network) {
|
|
188
|
-
|
|
187
|
+
console.warn('Received malformed cohort advert message: missing network', cohortAdvertMessage);
|
|
189
188
|
return;
|
|
190
189
|
}
|
|
191
190
|
const minParticipants = cohortAdvertMessage.body?.cohortSize;
|
|
192
191
|
if (!cohortId || !network || !minParticipants) {
|
|
193
|
-
|
|
192
|
+
console.warn('Received malformed cohort advert message: missing minParticipants', cohortAdvertMessage);
|
|
194
193
|
return;
|
|
195
194
|
}
|
|
196
195
|
const from = cohortAdvertMessage.from;
|
|
@@ -213,30 +212,30 @@ export class BeaconParticipant {
|
|
|
213
212
|
const cohortId = cohortSetMessage.body?.cohortId;
|
|
214
213
|
const cohort = this.cohorts.find(c => c.id === cohortId);
|
|
215
214
|
if (!cohortId || !cohort) {
|
|
216
|
-
|
|
215
|
+
console.warn(`Cohort with ID ${cohortId} not found or not joined by participant ${this.did}.`);
|
|
217
216
|
return;
|
|
218
217
|
}
|
|
219
218
|
this.finalizeUnsetCohortKey(cohortId);
|
|
220
219
|
const participantPkBytes = this.getCohortKey(cohortId).publicKey;
|
|
221
220
|
if (!participantPkBytes) {
|
|
222
|
-
|
|
221
|
+
console.error(`Failed to derive public key for cohort ${cohortId}`);
|
|
223
222
|
return;
|
|
224
223
|
}
|
|
225
224
|
const participantPk = Buffer.from(participantPkBytes).toString('hex');
|
|
226
225
|
const beaconAddress = cohortSetMessage.body?.beaconAddress;
|
|
227
226
|
if (!beaconAddress) {
|
|
228
|
-
|
|
227
|
+
console.error(`Beacon address not provided in cohort set message for ${cohortId}`);
|
|
229
228
|
return;
|
|
230
229
|
}
|
|
231
230
|
const cohortKeys = cohortSetMessage.body?.cohortKeys;
|
|
232
231
|
if (!cohortKeys) {
|
|
233
|
-
|
|
232
|
+
console.error(`Cohort keys not provided in cohort set message for ${cohortId}`);
|
|
234
233
|
return;
|
|
235
234
|
}
|
|
236
235
|
const keys = cohortKeys.map(key => Buffer.from(key).toString('hex'));
|
|
237
236
|
cohort.validateCohort([participantPk], keys, beaconAddress);
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
console.info(`BeaconParticipant w/ pk ${participantPk} successfully joined cohort ${cohortId} with beacon address ${beaconAddress}.`);
|
|
238
|
+
console.info(`Cohort status: ${cohort.status}`);
|
|
240
239
|
}
|
|
241
240
|
/**
|
|
242
241
|
* Handles an authorization request message.
|
|
@@ -247,17 +246,17 @@ export class BeaconParticipant {
|
|
|
247
246
|
const authRequest = BeaconCohortAuthorizationRequestMessage.fromJSON(message);
|
|
248
247
|
const cohort = this.cohorts.find(c => c.id === authRequest.body?.cohortId);
|
|
249
248
|
if (!cohort) {
|
|
250
|
-
|
|
249
|
+
console.warn(`Authorization request for unknown cohort ${authRequest.body?.cohortId} from ${authRequest.from}`);
|
|
251
250
|
return;
|
|
252
251
|
}
|
|
253
252
|
const id = authRequest.body?.sessionId;
|
|
254
253
|
if (!id) {
|
|
255
|
-
|
|
254
|
+
console.warn(`Authorization request missing session ID from ${authRequest.from}`);
|
|
256
255
|
return;
|
|
257
256
|
}
|
|
258
257
|
const pendingTx = authRequest.body?.pendingTx;
|
|
259
258
|
if (!pendingTx) {
|
|
260
|
-
|
|
259
|
+
console.warn(`Authorization request missing pending transaction from ${authRequest.from}`);
|
|
261
260
|
return;
|
|
262
261
|
}
|
|
263
262
|
const session = new BeaconCohortSigningSession({
|
|
@@ -278,23 +277,23 @@ export class BeaconParticipant {
|
|
|
278
277
|
const aggNonceMessage = BeaconCohortAggregatedNonceMessage.fromJSON(message);
|
|
279
278
|
const sessionId = aggNonceMessage.body?.sessionId;
|
|
280
279
|
if (!sessionId) {
|
|
281
|
-
|
|
280
|
+
console.warn(`Aggregated nonce message missing session ID from ${aggNonceMessage.from}`);
|
|
282
281
|
return;
|
|
283
282
|
}
|
|
284
283
|
const session = this.activeSigningSessions.get(sessionId);
|
|
285
284
|
if (!session) {
|
|
286
|
-
|
|
285
|
+
console.warn(`Aggregated nonce message received for unknown session ${sessionId}`);
|
|
287
286
|
return;
|
|
288
287
|
}
|
|
289
288
|
const aggregatedNonce = aggNonceMessage.body?.aggregatedNonce;
|
|
290
289
|
if (!aggregatedNonce) {
|
|
291
|
-
|
|
290
|
+
console.warn(`Aggregated nonce message missing aggregated nonce from ${aggNonceMessage.from}`);
|
|
292
291
|
return;
|
|
293
292
|
}
|
|
294
293
|
session.aggregatedNonce = aggregatedNonce;
|
|
295
294
|
const participantSk = this.getCohortKey(session.cohort.id).privateKey;
|
|
296
295
|
if (!participantSk) {
|
|
297
|
-
|
|
296
|
+
console.error(`Failed to derive secret key for cohort ${session.cohort.id}`);
|
|
298
297
|
return;
|
|
299
298
|
}
|
|
300
299
|
const partialSig = session.generatePartialSignature(participantSk);
|
|
@@ -308,7 +307,7 @@ export class BeaconParticipant {
|
|
|
308
307
|
*/
|
|
309
308
|
async subscribeToCoordinator(coordinatorDid) {
|
|
310
309
|
if (this.coordinatorDids.includes(coordinatorDid)) {
|
|
311
|
-
|
|
310
|
+
console.info(`Already subscribed to coordinator ${coordinatorDid}`);
|
|
312
311
|
return;
|
|
313
312
|
}
|
|
314
313
|
const subMessage = new BeaconCohortSubscribeMessage({ to: coordinatorDid, from: this.did });
|
|
@@ -321,16 +320,16 @@ export class BeaconParticipant {
|
|
|
321
320
|
* @returns {Promise<void>}
|
|
322
321
|
*/
|
|
323
322
|
async joinCohort(cohortId, coordinatorDid) {
|
|
324
|
-
|
|
323
|
+
console.info(`BeaconParticipant ${this.did} joining cohort ${cohortId} with coordinator ${coordinatorDid}`);
|
|
325
324
|
this.finalizeUnsetCohortKey(cohortId);
|
|
326
325
|
const cohort = this.cohorts.find(c => c.id === cohortId);
|
|
327
326
|
if (!cohort) {
|
|
328
|
-
|
|
327
|
+
console.warn(`Cohort with ID ${cohortId} not found.`);
|
|
329
328
|
return;
|
|
330
329
|
}
|
|
331
330
|
const pk = this.getCohortKey(cohortId).publicKey;
|
|
332
331
|
if (!pk) {
|
|
333
|
-
|
|
332
|
+
console.error(`Failed to derive public key for cohort ${cohortId} at index ${this.beaconKeyIndex}`);
|
|
334
333
|
return;
|
|
335
334
|
}
|
|
336
335
|
this.setCohortKey(cohortId);
|
|
@@ -352,11 +351,11 @@ export class BeaconParticipant {
|
|
|
352
351
|
async requestCohortSignature(cohortId, data) {
|
|
353
352
|
const cohort = this.cohorts.find(c => c.id === cohortId);
|
|
354
353
|
if (!cohort) {
|
|
355
|
-
|
|
354
|
+
console.warn(`Cohort with ID ${cohortId} not found.`);
|
|
356
355
|
return false;
|
|
357
356
|
}
|
|
358
357
|
if (cohort.status !== COHORT_STATUS.COHORT_SET_STATUS) {
|
|
359
|
-
|
|
358
|
+
console.warn(`Cohort ${cohortId} not in a set state. Current status: ${cohort.status}`);
|
|
360
359
|
return false;
|
|
361
360
|
}
|
|
362
361
|
const reqSigMessage = new BeaconCohortRequestSignatureMessage({
|
|
@@ -396,14 +395,12 @@ export class BeaconParticipant {
|
|
|
396
395
|
const nonceContributionMessage = BeaconCohortNonceContributionMessage.fromJSON({
|
|
397
396
|
to: cohort.coordinatorDid,
|
|
398
397
|
from: this.did,
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
nonceContribution
|
|
403
|
-
}
|
|
398
|
+
sessionId: session.id,
|
|
399
|
+
cohortId: cohort.id,
|
|
400
|
+
nonceContribution
|
|
404
401
|
});
|
|
405
402
|
await this.protocol.sendMessage(nonceContributionMessage, this.did, cohort.coordinatorDid);
|
|
406
|
-
|
|
403
|
+
console.info(`Nonce contribution sent for session ${session.id} in cohort ${cohort.id} by participant ${this.did}`);
|
|
407
404
|
}
|
|
408
405
|
/**
|
|
409
406
|
* Sends a partial signature for the given session.
|
|
@@ -420,7 +417,7 @@ export class BeaconParticipant {
|
|
|
420
417
|
partialSignature: partialSig,
|
|
421
418
|
});
|
|
422
419
|
await this.protocol.sendMessage(sigAuthMessage, this.did, session.cohort.coordinatorDid);
|
|
423
|
-
|
|
420
|
+
console.info(`Partial signature sent for session ${session.id} in cohort ${session.cohort.id} by participant ${this.did}`);
|
|
424
421
|
}
|
|
425
422
|
/**
|
|
426
423
|
* Initializes a new BeaconParticipant instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"participant.js","sourceRoot":"","sources":["../../../../../src/core/beacon/aggregation/participant.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"participant.js","sourceRoot":"","sources":["../../../../../src/core/beacon/aggregation/participant.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Logger } from '@did-btcr2/common';
|
|
2
1
|
import * as musig2 from '@scure/btc-signer/musig2';
|
|
3
2
|
import { Transaction } from 'bitcoinjs-lib';
|
|
4
3
|
import { AggregateBeaconError } from '../../error.js';
|
|
@@ -129,7 +128,7 @@ export class BeaconCohortSigningSession {
|
|
|
129
128
|
throw new AggregateBeaconError(`Invalid nonce contribution. Expected 2 points, received ${nonceContribution.length}.`);
|
|
130
129
|
}
|
|
131
130
|
if (this.nonceContributions.get(from)) {
|
|
132
|
-
|
|
131
|
+
console.warn(`WARNING: Nonce contribution already received from ${from}.`);
|
|
133
132
|
}
|
|
134
133
|
this.nonceContributions.set(from, nonceContribution);
|
|
135
134
|
if (this.nonceContributions.size === this.cohort?.participants.length) {
|
|
@@ -146,7 +145,7 @@ export class BeaconCohortSigningSession {
|
|
|
146
145
|
const missing = this.cohort?.participants.length - this.nonceContributions.size;
|
|
147
146
|
throw new AggregateBeaconError(`Missing ${missing} nonce contributions. ` +
|
|
148
147
|
`Received ${this.cohort?.participants.length} of ${this.nonceContributions.size} nonce contributions. ` +
|
|
149
|
-
`Current status: ${this.status}`, 'NONCE_CONTRIBUTION_ERROR', this.
|
|
148
|
+
`Current status: ${this.status}`, 'NONCE_CONTRIBUTION_ERROR', this.toJSON());
|
|
150
149
|
}
|
|
151
150
|
const sortedPubkeys = musig2.sortKeys(this.cohort.cohortKeys);
|
|
152
151
|
const keyAggContext = musig2.keyAggregate(sortedPubkeys);
|
|
@@ -165,7 +164,7 @@ export class BeaconCohortSigningSession {
|
|
|
165
164
|
throw new AggregateBeaconError(`Partial signatures not expected. Current status: ${this.status}`);
|
|
166
165
|
}
|
|
167
166
|
if (this.partialSignatures.get(from)) {
|
|
168
|
-
|
|
167
|
+
console.warn(`WARNING: Partial signature already received from ${from}.`);
|
|
169
168
|
}
|
|
170
169
|
this.partialSignatures.set(from, partialSignature);
|
|
171
170
|
}
|
|
@@ -186,7 +185,7 @@ export class BeaconCohortSigningSession {
|
|
|
186
185
|
throw new AggregateBeaconError('Previous output script is missing for the input to sign.');
|
|
187
186
|
}
|
|
188
187
|
const sigSum = [...this.partialSignatures.values()].reduce((sum, sig) => sum + bigEndianToInt(sig), 0n);
|
|
189
|
-
|
|
188
|
+
console.info(`Aggregated Signature computed: ${sigSum}`);
|
|
190
189
|
this.aggregatedNonce ??= this.generateAggregatedNonce();
|
|
191
190
|
const session = new musig2.Session(this.aggregatedNonce, this.cohort.cohortKeys, this.cohort.trMerkleRoot);
|
|
192
191
|
this.signature = session.partialSigAgg([...this.partialSignatures.values()]);
|
|
@@ -212,8 +211,20 @@ export class BeaconCohortSigningSession {
|
|
|
212
211
|
* Converts the signing session instance to a JSON object representation.
|
|
213
212
|
* @returns {BeaconCohortSigningSession} The JSON object representation of the signing session.
|
|
214
213
|
*/
|
|
215
|
-
|
|
216
|
-
return
|
|
214
|
+
toJSON() {
|
|
215
|
+
return {
|
|
216
|
+
id: this.id,
|
|
217
|
+
cohort: this.cohort,
|
|
218
|
+
pendingTx: this.pendingTx,
|
|
219
|
+
nonceContributions: this.nonceContributions,
|
|
220
|
+
aggregatedNonce: this.aggregatedNonce,
|
|
221
|
+
partialSignatures: this.partialSignatures,
|
|
222
|
+
signature: this.signature,
|
|
223
|
+
status: this.status,
|
|
224
|
+
processedRequests: this.processedRequests,
|
|
225
|
+
nonceSecrets: this.nonceSecrets,
|
|
226
|
+
musig2Session: this.musig2Session
|
|
227
|
+
};
|
|
217
228
|
}
|
|
218
229
|
/**
|
|
219
230
|
* Checks if the signing session is a completed state.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,uCAAuC,EAAE,MAAM,kDAAkD,CAAC;AAC3G,OAAO,EAAE,sBAAsB,EAA+B,MAAM,aAAa,CAAC;AAElF;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAc;IAC1D,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAC9B,CAAC,KAAK,EAAE,CAAC;IACX,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAoBD,MAAM,OAAO,0BAA0B;IACrC;;;OAGG;IACI,EAAE,CAAS;IAElB;;;OAGG;IACI,MAAM,CAAwB;IAErC;;;OAGG;IACI,SAAS,CAAc;IAE9B;;;OAGG;IACI,kBAAkB,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEhE;;;OAGG;IACI,eAAe,CAAc;IAEpC;;;OAGG;IACI,iBAAiB,GAA4B,IAAI,GAAG,EAAE,CAAC;IAE9D;;;OAGG;IACI,SAAS,CAAc;IAE9B;;;OAGG;IACI,MAAM,CAA8B;IAE3C;;;OAGG;IACI,iBAAiB,CAAyB;IAEjD;;;OAGG;IACI,YAAY,CAAU;IAE7B;;;OAGG;IACI,aAAa,CAAkB;IAEtC;;;;;;;;OAQG;IACH,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAkB;QAC9E,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,sBAAsB,CAAC,4BAA4B,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACI,uBAAuB,CAAC,EAAU,EAAE,IAAY;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,YAAY,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/F,OAAO,IAAI,uCAAuC,CAAC;YACjD,EAAE;YACF,IAAI;YACJ,SAAS,EAAG,IAAI,CAAC,EAAE;YACnB,QAAQ,EAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAC3B,SAAS,EAAG,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,oBAAoB,CAAC,IAAY,EAAE,iBAA6B;QACrE,IAAG,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,4BAA4B,EAAE,CAAC;YACvE,MAAM,IAAI,oBAAoB,CAAC,yDAAyD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACzG,CAAC;QAED,IAAG,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,oBAAoB,CAAC,2DAA2D,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QACzH,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,qDAAqD,IAAI,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAErD,IAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;YACrE,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,4BAA4B,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,uBAAuB;QAC5B,IAAG,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,4BAA4B,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAChF,MAAM,IAAI,oBAAoB,CAC5B,WAAW,OAAO,wBAAwB;gBAC1C,YAAY,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,wBAAwB;gBACvG,mBAAmB,IAAI,CAAC,MAAM,EAAE,EAChC,0BAA0B,EAAE,IAAI,CAAC,MAAM,EAAE,CAC1C,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7J,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,IAAY,EAAE,gBAA4B;QACnE,IAAG,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,2BAA2B,EAAE,CAAC;YACtE,MAAM,IAAI,oBAAoB,CAAC,oDAAoD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,oDAAoD,IAAI,GAAG,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,sBAAsB;QACjC,IAAG,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,2BAA2B,EAAE,CAAC;YACtE,MAAM,IAAI,oBAAoB,CAAC,oDAAoD,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAAC,+CAA+C,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,oBAAoB,CAAC,0DAA0D,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACxG,OAAO,CAAC,IAAI,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAExD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5G,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAE7E,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACI,wBAAwB,CAAC,aAAyB;QACvD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAAC,8DAA8D,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;QAChH,IAAG,CAAC,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,oBAAoB,CAAC,oFAAoF,CAAC,CAAC;QACvH,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5G,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO;YACL,EAAE,EAAmB,IAAI,CAAC,EAAE;YAC5B,MAAM,EAAe,IAAI,CAAC,MAAM;YAChC,SAAS,EAAY,IAAI,CAAC,SAAS;YACnC,kBAAkB,EAAG,IAAI,CAAC,kBAAkB;YAC5C,eAAe,EAAM,IAAI,CAAC,eAAe;YACzC,iBAAiB,EAAI,IAAI,CAAC,iBAAiB;YAC3C,SAAS,EAAY,IAAI,CAAC,SAAS;YACnC,MAAM,EAAe,IAAI,CAAC,MAAM;YAChC,iBAAiB,EAAI,IAAI,CAAC,iBAAiB;YAC3C,YAAY,EAAS,IAAI,CAAC,YAAY;YACtC,aAAa,EAAQ,IAAI,CAAC,aAAa;SACxC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,kBAAkB,CAAC;IACnE,CAAC;IAED;;;OAGG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,sBAAsB,CAAC,MAAM,CAAC;IACvD,CAAC;CACF"}
|
|
@@ -28,7 +28,7 @@ export class CASBeacon extends Beacon {
|
|
|
28
28
|
* Broadcast CAS Beacon signal to the Bitcoin network.
|
|
29
29
|
* @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
|
|
30
30
|
* @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
|
|
31
|
-
* @param {
|
|
31
|
+
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
32
32
|
* @return {Promise<SignedBTCR2Update>} The signed update that was broadcasted.
|
|
33
33
|
* @throws {CASBeaconError} if broadcasting fails.
|
|
34
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/cas-beacon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"cas-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/cas-beacon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,OAA0B;QAE1B,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IACpH,CAAC;CACF"}
|
|
@@ -12,18 +12,18 @@ export class BeaconSignalDiscovery {
|
|
|
12
12
|
* Retrieves the beacon signals for the given array of BeaconService objects
|
|
13
13
|
* using an esplora/electrs REST API connection via a bitcoin I/O driver.
|
|
14
14
|
* @param {Array<BeaconService>} beaconServices Array of BeaconService objects to retrieve signals for
|
|
15
|
-
* @param {
|
|
15
|
+
* @param {BitcoinConnection} bitcoin Bitcoin network connection to use for REST calls
|
|
16
16
|
* @returns {Promise<Map<BeaconService, Array<BeaconSignal>>>} Map of beacon service to its discovered signals
|
|
17
17
|
*/
|
|
18
18
|
static async indexer(beaconServices, bitcoin) {
|
|
19
19
|
const beaconServiceSignals = new Map();
|
|
20
20
|
// Fetch the current block count once before the loop
|
|
21
|
-
const currentBlockCount = await bitcoin.
|
|
21
|
+
const currentBlockCount = await bitcoin.rest.block.count();
|
|
22
22
|
// Iterate over each beacon
|
|
23
23
|
for (const beaconService of beaconServices) {
|
|
24
24
|
beaconServiceSignals.set(beaconService, []);
|
|
25
25
|
// Get the transactions for the beacon address via REST
|
|
26
|
-
const beaconSignals = await bitcoin.
|
|
26
|
+
const beaconSignals = await bitcoin.rest.address.getTxs(beaconService.serviceEndpoint);
|
|
27
27
|
// If no signals are found, continue
|
|
28
28
|
if (!beaconSignals || !beaconSignals.length) {
|
|
29
29
|
continue;
|
|
@@ -77,7 +77,7 @@ export class BeaconSignalDiscovery {
|
|
|
77
77
|
/**
|
|
78
78
|
* Traverse the full blockchain from genesis to chain top looking for beacon signals.
|
|
79
79
|
* @param {Array<BeaconService>} beaconServices Array of BeaconService objects to search for signals.
|
|
80
|
-
* @param {
|
|
80
|
+
* @param {BitcoinConnection} bitcoin Bitcoin network connection to use for RPC calls.
|
|
81
81
|
* @returns {Promise<Map<BeaconService, Array<BeaconSignal>>>} Map of beacon service to its discovered signals.
|
|
82
82
|
*/
|
|
83
83
|
static async fullnode(beaconServices, bitcoin) {
|
|
@@ -86,7 +86,7 @@ export class BeaconSignalDiscovery {
|
|
|
86
86
|
beaconServiceSignals.set(beaconService, []);
|
|
87
87
|
}
|
|
88
88
|
// Get the RPC connection from the bitcoin network
|
|
89
|
-
const rpc = bitcoin.
|
|
89
|
+
const rpc = bitcoin.rpc;
|
|
90
90
|
// Ensure that the RPC connection is available
|
|
91
91
|
if (!rpc) {
|
|
92
92
|
throw new ResolveError('RPC connection is not available', 'RPC_CONNECTION_ERROR', bitcoin);
|
|
@@ -98,7 +98,7 @@ export class BeaconSignalDiscovery {
|
|
|
98
98
|
// Set genesis height
|
|
99
99
|
let height = 0;
|
|
100
100
|
// Opt into rpc connection to get the block data at the blockhash
|
|
101
|
-
let block = await bitcoin.
|
|
101
|
+
let block = await bitcoin.rpc.getBlock({ height });
|
|
102
102
|
console.info(`Searching for beacon signals, please wait ...`);
|
|
103
103
|
while (block.height <= targetHeight) {
|
|
104
104
|
// Iterate over each transaction in the block
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signal-discovery.js","sourceRoot":"","sources":["../../../../src/core/beacon/signal-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAEb,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IAEhC;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAClB,cAAoC,EACpC,
|
|
1
|
+
{"version":3,"file":"signal-discovery.js","sourceRoot":"","sources":["../../../../src/core/beacon/signal-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { canonicalHash, canonicalize, hash, INVALID_SIDECAR_DATA, MISSING_UPDATE_DATA } from '@did-btcr2/common';
|
|
2
2
|
import { SchnorrKeyPair } from '@did-btcr2/keypair';
|
|
3
|
-
import {
|
|
3
|
+
import { base64urlnopad } from '@scure/base';
|
|
4
4
|
import { opcodes, Psbt, script } from 'bitcoinjs-lib';
|
|
5
|
-
import { base58btc } from 'multiformats/bases/base58';
|
|
6
5
|
import { Beacon } from './beacon.js';
|
|
7
6
|
import { SingletonBeaconError } from './error.js';
|
|
8
7
|
/**
|
|
@@ -15,7 +14,6 @@ export class SingletonBeacon extends Beacon {
|
|
|
15
14
|
/**
|
|
16
15
|
* Creates an instance of SingletonBeacon.
|
|
17
16
|
* @param {BeaconService} service The BeaconService object representing the funded beacon to announce the update to.
|
|
18
|
-
*
|
|
19
17
|
*/
|
|
20
18
|
constructor(service) {
|
|
21
19
|
super({ ...service, type: 'SingletonBeacon' });
|
|
@@ -38,10 +36,11 @@ export class SingletonBeacon extends Beacon {
|
|
|
38
36
|
if (!signedUpdate) {
|
|
39
37
|
throw new SingletonBeaconError(`BTCR2 Signed Update not found for update hash ${updateHash}.`, MISSING_UPDATE_DATA, signal);
|
|
40
38
|
}
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
// TODO: Review for simplification how we are encoding and comparing
|
|
40
|
+
// Canonicalize, hash and encode to base64url the signed update object found in sidecar or CAS
|
|
41
|
+
const encodedUpdate = canonicalHash(signedUpdate, { encoding: 'base64url' });
|
|
42
|
+
// Encode the signal bytes hex string to base64url
|
|
43
|
+
const signalBytes = base64urlnopad.encode(Buffer.from(updateHash, 'hex'));
|
|
45
44
|
// Check for mismatch between found sidecar/cas update hash and onchain beacon signal hash
|
|
46
45
|
if (encodedUpdate !== signalBytes) {
|
|
47
46
|
// If mismatch, throw invalidSidecarData error.
|
|
@@ -57,7 +56,7 @@ export class SingletonBeacon extends Beacon {
|
|
|
57
56
|
* Broadcasts a SingletonBeacon signal to the Bitcoin network.
|
|
58
57
|
* @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
|
|
59
58
|
* @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
|
|
60
|
-
* @param {
|
|
59
|
+
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
61
60
|
* @returns {Promise<SignedBTCR2Update>} The signed update that was broadcast.
|
|
62
61
|
* @throws {SingletonBeaconError} if the bitcoin address is invalid or unfunded.
|
|
63
62
|
*/
|
|
@@ -65,7 +64,7 @@ export class SingletonBeacon extends Beacon {
|
|
|
65
64
|
// Convert the serviceEndpoint to a bitcoin address by removing the 'bitcoin:' prefix
|
|
66
65
|
const bitcoinAddress = this.service.serviceEndpoint.replace('bitcoin:', '');
|
|
67
66
|
// Query the Bitcoin network for UTXOs associated with the bitcoinAddress
|
|
68
|
-
const utxos = await bitcoin.
|
|
67
|
+
const utxos = await bitcoin.rest.address.getUtxos(bitcoinAddress);
|
|
69
68
|
// If no utxos are found, throw an error indicating the address is unfunded.
|
|
70
69
|
if (!utxos.length) {
|
|
71
70
|
throw new SingletonBeaconError('No UTXOs found, please fund address!', 'UNFUNDED_BEACON_ADDRESS', { bitcoinAddress });
|
|
@@ -77,11 +76,11 @@ export class SingletonBeacon extends Beacon {
|
|
|
77
76
|
throw new SingletonBeaconError('Beacon bitcoin address unfunded or utxos unconfirmed.', 'UNFUNDED_BEACON_ADDRESS', { bitcoinAddress });
|
|
78
77
|
}
|
|
79
78
|
// Get the previous tx to the utxo being spent
|
|
80
|
-
const prevTx = await bitcoin.
|
|
79
|
+
const prevTx = await bitcoin.rest.transaction.getHex(utxo.txid);
|
|
81
80
|
// Canonicalize and hash the signed update for OP_RETURN output
|
|
82
|
-
const updateHash =
|
|
81
|
+
const updateHash = hash(canonicalize(signedUpdate));
|
|
83
82
|
// Construct a spend transaction
|
|
84
|
-
const spendTx = new Psbt({ network: bitcoin.
|
|
83
|
+
const spendTx = new Psbt({ network: bitcoin.data })
|
|
85
84
|
// Spend tx contains the utxo as its input
|
|
86
85
|
.addInput({
|
|
87
86
|
hash: utxo.txid,
|
|
@@ -93,17 +92,19 @@ export class SingletonBeacon extends Beacon {
|
|
|
93
92
|
.addOutput({ address: bitcoinAddress, value: BigInt(utxo.value) - BigInt(500) })
|
|
94
93
|
// Add an OP_RETURN output containing the update hash
|
|
95
94
|
.addOutput({ script: script.compile([opcodes.OP_RETURN, updateHash]), value: 0n });
|
|
96
|
-
// Construct a
|
|
95
|
+
// Construct a key pair and PSBT signer from the secret key
|
|
97
96
|
const keyPair = SchnorrKeyPair.fromSecret(secretKey);
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
const signer = {
|
|
98
|
+
publicKey: keyPair.publicKey.compressed,
|
|
99
|
+
sign: (hash) => keyPair.secretKey.sign(hash, { scheme: 'ecdsa' }),
|
|
100
|
+
};
|
|
100
101
|
// Sign 0th input, finalize extract to hex in prep for broadcast
|
|
101
102
|
const signedTx = spendTx.signInput(0, signer)
|
|
102
103
|
.finalizeAllInputs()
|
|
103
104
|
.extractTransaction()
|
|
104
105
|
.toHex();
|
|
105
106
|
// Broadcast spendTx to the Bitcoin network.
|
|
106
|
-
const txid = await bitcoin.
|
|
107
|
+
const txid = await bitcoin.rest.transaction.send(signedTx);
|
|
107
108
|
// Log the txid of the broadcasted transaction
|
|
108
109
|
console.info(`Singleton Beacon Signal Broadcasted with txid: ${txid}`);
|
|
109
110
|
// Return the signed update
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../../../../src/core/beacon/singleton.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export class SMTBeacon extends Beacon {
|
|
|
28
28
|
* Broadcast CAS Beacon signal to the Bitcoin network.
|
|
29
29
|
* @param {SignedBTCR2Update} signedUpdate The signed BTCR2 update to broadcast.
|
|
30
30
|
* @param {KeyBytes} secretKey The secret key for signing the Bitcoin transaction.
|
|
31
|
-
* @param {
|
|
31
|
+
* @param {BitcoinConnection} bitcoin The Bitcoin network connection.
|
|
32
32
|
* @return {Promise<SignedBTCR2Update>} The signed update that was broadcasted.
|
|
33
33
|
* @throws {SMTBeaconError} if broadcasting fails.
|
|
34
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smt-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"smt-beacon.js","sourceRoot":"","sources":["../../../../src/core/beacon/smt-beacon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,MAAM;IACnC;;;OAGG;IACH,YAAY,OAAsB;QAChC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,OAA4B,EAC5B,OAAoB;QAEpB,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IACpG,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,YAA+B,EAC/B,SAAmB,EACnB,OAA0B;QAE1B,MAAM,IAAI,cAAc,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IACpH,CAAC;CACF"}
|