@did-btcr2/method 0.18.0 → 0.19.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/browser.js +5240 -6079
- package/dist/browser.mjs +5240 -6079
- package/dist/cjs/core/beacon/aggregation/cohort/index.js +3 -3
- package/dist/cjs/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js +1 -9
- package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +2 -1
- package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +36 -18
- package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/coordinator.js +14 -14
- package/dist/cjs/core/beacon/aggregation/coordinator.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/participant.js +4 -3
- package/dist/cjs/core/beacon/aggregation/participant.js.map +1 -1
- package/dist/cjs/core/beacon/aggregation/session/index.js +1 -1
- package/dist/cjs/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/cjs/core/beacon/cas-beacon.js +55 -0
- package/dist/cjs/core/beacon/cas-beacon.js.map +1 -0
- package/dist/cjs/core/beacon/factory.js +11 -10
- package/dist/cjs/core/beacon/factory.js.map +1 -1
- package/dist/cjs/core/beacon/interfaces.js +32 -0
- package/dist/cjs/core/beacon/interfaces.js.map +1 -0
- package/dist/cjs/core/beacon/singleton.js +59 -135
- package/dist/cjs/core/beacon/singleton.js.map +1 -1
- package/dist/cjs/core/beacon/smt-beacon.js +56 -0
- package/dist/cjs/core/beacon/smt-beacon.js.map +1 -0
- package/dist/cjs/core/beacon/utils.js +67 -105
- package/dist/cjs/core/beacon/utils.js.map +1 -1
- package/dist/cjs/core/identifier.js +18 -21
- package/dist/cjs/core/identifier.js.map +1 -1
- package/dist/cjs/core/interfaces.js +2 -0
- package/dist/cjs/core/interfaces.js.map +1 -0
- package/dist/cjs/core/resolve.js +511 -0
- package/dist/cjs/core/resolve.js.map +1 -0
- package/dist/cjs/{utils → core}/types.js.map +1 -1
- package/dist/cjs/core/{crud/update.js → update.js} +62 -52
- package/dist/cjs/core/update.js.map +1 -0
- package/dist/cjs/did-btcr2.js +109 -75
- package/dist/cjs/did-btcr2.js.map +1 -1
- package/dist/cjs/index.js +14 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/appendix.js +10 -18
- package/dist/cjs/utils/appendix.js.map +1 -1
- package/dist/cjs/utils/did-document.js +51 -58
- package/dist/cjs/utils/did-document.js.map +1 -1
- package/dist/cjs/utils/general.js +1 -1
- package/dist/cjs/utils/general.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/index.js +3 -3
- package/dist/esm/core/beacon/aggregation/cohort/index.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js +1 -9
- package/dist/esm/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +2 -1
- package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +36 -18
- package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/coordinator.js +14 -14
- package/dist/esm/core/beacon/aggregation/coordinator.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/participant.js +4 -3
- package/dist/esm/core/beacon/aggregation/participant.js.map +1 -1
- package/dist/esm/core/beacon/aggregation/session/index.js +1 -1
- package/dist/esm/core/beacon/aggregation/session/index.js.map +1 -1
- package/dist/esm/core/beacon/cas-beacon.js +55 -0
- package/dist/esm/core/beacon/cas-beacon.js.map +1 -0
- package/dist/esm/core/beacon/factory.js +11 -10
- package/dist/esm/core/beacon/factory.js.map +1 -1
- package/dist/esm/core/beacon/interfaces.js +32 -0
- package/dist/esm/core/beacon/interfaces.js.map +1 -0
- package/dist/esm/core/beacon/singleton.js +59 -135
- package/dist/esm/core/beacon/singleton.js.map +1 -1
- package/dist/esm/core/beacon/smt-beacon.js +56 -0
- package/dist/esm/core/beacon/smt-beacon.js.map +1 -0
- package/dist/esm/core/beacon/utils.js +67 -105
- package/dist/esm/core/beacon/utils.js.map +1 -1
- package/dist/esm/core/identifier.js +18 -21
- package/dist/esm/core/identifier.js.map +1 -1
- package/dist/esm/core/interfaces.js +2 -0
- package/dist/esm/core/interfaces.js.map +1 -0
- package/dist/esm/core/resolve.js +511 -0
- package/dist/esm/core/resolve.js.map +1 -0
- package/dist/esm/{utils → core}/types.js.map +1 -1
- package/dist/esm/core/{crud/update.js → update.js} +62 -52
- package/dist/esm/core/update.js.map +1 -0
- package/dist/esm/did-btcr2.js +109 -75
- package/dist/esm/did-btcr2.js.map +1 -1
- package/dist/esm/index.js +14 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/appendix.js +10 -18
- package/dist/esm/utils/appendix.js.map +1 -1
- package/dist/esm/utils/did-document.js +51 -58
- package/dist/esm/utils/did-document.js.map +1 -1
- package/dist/esm/utils/general.js +1 -1
- package/dist/esm/utils/general.js.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/index.d.ts +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts +0 -7
- package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts +13 -5
- package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/coordinator.d.ts +17 -29
- package/dist/types/core/beacon/aggregation/coordinator.d.ts.map +1 -1
- package/dist/types/core/beacon/aggregation/participant.d.ts.map +1 -1
- package/dist/types/core/beacon/cas-beacon.d.ts +47 -0
- package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -0
- package/dist/types/core/beacon/factory.d.ts +5 -4
- package/dist/types/core/beacon/factory.d.ts.map +1 -1
- package/dist/types/core/beacon/interfaces.d.ts +98 -0
- package/dist/types/core/beacon/interfaces.d.ts.map +1 -0
- package/dist/types/core/beacon/singleton.d.ts +22 -65
- package/dist/types/core/beacon/singleton.d.ts.map +1 -1
- package/dist/types/core/beacon/smt-beacon.d.ts +48 -0
- package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -0
- package/dist/types/core/beacon/utils.d.ts +19 -97
- package/dist/types/core/beacon/utils.d.ts.map +1 -1
- package/dist/types/core/identifier.d.ts.map +1 -1
- package/dist/types/core/interfaces.d.ts +94 -0
- package/dist/types/core/interfaces.d.ts.map +1 -0
- package/dist/types/core/resolve.d.ts +105 -0
- package/dist/types/core/resolve.d.ts.map +1 -0
- package/dist/types/core/types.d.ts +71 -0
- package/dist/types/core/types.d.ts.map +1 -0
- package/dist/types/core/{crud/update.d.ts → update.d.ts} +21 -20
- package/dist/types/core/update.d.ts.map +1 -0
- package/dist/types/did-btcr2.d.ts +45 -57
- package/dist/types/did-btcr2.d.ts.map +1 -1
- package/dist/types/index.d.ts +14 -15
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/appendix.d.ts +5 -10
- package/dist/types/utils/appendix.d.ts.map +1 -1
- package/dist/types/utils/did-document-builder.d.ts +1 -1
- package/dist/types/utils/did-document-builder.d.ts.map +1 -1
- package/dist/types/utils/did-document.d.ts +31 -29
- package/dist/types/utils/did-document.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/core/beacon/aggregation/cohort/index.ts +3 -3
- package/src/core/beacon/aggregation/cohort/messages/base.ts +1 -12
- package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/keygen/subscribe.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/authorization-request.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/request-signature.ts +2 -2
- package/src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts +2 -2
- package/src/core/beacon/aggregation/communication/adapter/nostr.ts +43 -21
- package/src/core/beacon/aggregation/coordinator.ts +41 -29
- package/src/core/beacon/aggregation/participant.ts +4 -3
- package/src/core/beacon/aggregation/session/index.ts +1 -1
- package/src/core/beacon/cas-beacon.ts +67 -0
- package/src/core/beacon/factory.ts +13 -15
- package/src/core/beacon/interfaces.ts +124 -0
- package/src/core/beacon/singleton.ts +75 -145
- package/src/core/beacon/smt-beacon.ts +70 -0
- package/src/core/beacon/utils.ts +80 -170
- package/src/core/identifier.ts +21 -24
- package/src/core/interfaces.ts +101 -0
- package/src/core/resolve.ts +707 -0
- package/src/core/types.ts +78 -0
- package/src/core/{crud/update.ts → update.ts} +75 -68
- package/src/did-btcr2.ts +152 -92
- package/src/index.ts +14 -24
- package/src/utils/appendix.ts +18 -22
- package/src/utils/did-document-builder.ts +1 -1
- package/src/utils/did-document.ts +67 -71
- package/src/utils/general.ts +1 -1
- package/dist/cjs/core/beacon/cid-aggregate.js +0 -116
- package/dist/cjs/core/beacon/cid-aggregate.js.map +0 -1
- package/dist/cjs/core/beacon/smt-aggregate.js +0 -126
- package/dist/cjs/core/beacon/smt-aggregate.js.map +0 -1
- package/dist/cjs/core/crud/deactivate.js +0 -14
- package/dist/cjs/core/crud/deactivate.js.map +0 -1
- package/dist/cjs/core/crud/read.js +0 -679
- package/dist/cjs/core/crud/read.js.map +0 -1
- package/dist/cjs/core/crud/update.js.map +0 -1
- package/dist/cjs/interfaces/beacon.js +0 -41
- package/dist/cjs/interfaces/beacon.js.map +0 -1
- package/dist/cjs/interfaces/crud.js +0 -2
- package/dist/cjs/interfaces/crud.js.map +0 -1
- package/dist/esm/core/beacon/cid-aggregate.js +0 -116
- package/dist/esm/core/beacon/cid-aggregate.js.map +0 -1
- package/dist/esm/core/beacon/smt-aggregate.js +0 -126
- package/dist/esm/core/beacon/smt-aggregate.js.map +0 -1
- package/dist/esm/core/crud/deactivate.js +0 -14
- package/dist/esm/core/crud/deactivate.js.map +0 -1
- package/dist/esm/core/crud/read.js +0 -679
- package/dist/esm/core/crud/read.js.map +0 -1
- package/dist/esm/core/crud/update.js.map +0 -1
- package/dist/esm/interfaces/beacon.js +0 -41
- package/dist/esm/interfaces/beacon.js.map +0 -1
- package/dist/esm/interfaces/crud.js +0 -2
- package/dist/esm/interfaces/crud.js.map +0 -1
- package/dist/types/core/beacon/cid-aggregate.d.ts +0 -102
- package/dist/types/core/beacon/cid-aggregate.d.ts.map +0 -1
- package/dist/types/core/beacon/smt-aggregate.d.ts +0 -111
- package/dist/types/core/beacon/smt-aggregate.d.ts.map +0 -1
- package/dist/types/core/crud/deactivate.d.ts +0 -13
- package/dist/types/core/crud/deactivate.d.ts.map +0 -1
- package/dist/types/core/crud/read.d.ts +0 -334
- package/dist/types/core/crud/read.d.ts.map +0 -1
- package/dist/types/core/crud/update.d.ts.map +0 -1
- package/dist/types/interfaces/beacon.d.ts +0 -116
- package/dist/types/interfaces/beacon.d.ts.map +0 -1
- package/dist/types/interfaces/crud.d.ts +0 -32
- package/dist/types/interfaces/crud.d.ts.map +0 -1
- package/dist/types/utils/types.d.ts +0 -38
- package/dist/types/utils/types.d.ts.map +0 -1
- package/src/canonicalize.d.ts +0 -6
- package/src/core/beacon/cid-aggregate.ts +0 -153
- package/src/core/beacon/smt-aggregate.ts +0 -135
- package/src/core/crud/deactivate.ts +0 -13
- package/src/core/crud/read.ts +0 -948
- package/src/interfaces/beacon.ts +0 -137
- package/src/interfaces/crud.ts +0 -33
- package/src/utils/types.ts +0 -41
- /package/dist/cjs/{utils → core}/types.js +0 -0
- /package/dist/esm/{utils → core}/types.js +0 -0
|
@@ -56,7 +56,7 @@ export class AggregateBeaconCohort {
|
|
|
56
56
|
*/
|
|
57
57
|
beaconAddress = '';
|
|
58
58
|
/**
|
|
59
|
-
* Type of beacon used in the cohort (default is '
|
|
59
|
+
* Type of beacon used in the cohort (default is 'SMTBeacon').
|
|
60
60
|
* @type {string}
|
|
61
61
|
*/
|
|
62
62
|
beaconType;
|
|
@@ -75,7 +75,7 @@ export class AggregateBeaconCohort {
|
|
|
75
75
|
this.coordinatorDid = coordinatorDid || '';
|
|
76
76
|
this.status = status || COHORT_STATUS.COHORT_ADVERTISED;
|
|
77
77
|
this.network = network;
|
|
78
|
-
this.beaconType = beaconType || '
|
|
78
|
+
this.beaconType = beaconType || 'SMTBeacon';
|
|
79
79
|
}
|
|
80
80
|
set cohortKeys(keys) {
|
|
81
81
|
this.cohortKeys = sortKeys(keys);
|
|
@@ -219,7 +219,7 @@ export class AggregateBeaconCohort {
|
|
|
219
219
|
* @returns {BeaconCohort} The JSON object representation of the cohort.
|
|
220
220
|
*/
|
|
221
221
|
json() {
|
|
222
|
-
return Object.
|
|
222
|
+
return Object.fromEntries(Object.entries(this));
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/cohort/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAC;AAwBhE,MAAM,OAAO,qBAAqB;IAChC;;;OAGG;IACI,EAAE,CAAS;IAElB;;;OAGG;IACI,cAAc,CAAS;IAE9B;;;OAGG;IACI,eAAe,CAAS;IAE/B;;;OAGG;IACI,MAAM,CAAqB;IAElC;;;OAGG;IACI,OAAO,CAAS;IAEvB;;;OAGG;IACI,wBAAwB,GAA2B,EAAE,CAAC;IAE7D;;;OAGG;IACI,YAAY,GAAkB,IAAI,KAAK,EAAU,CAAC;IAEzD;;;OAGG;IACI,WAAW,GAAsB,IAAI,KAAK,EAAc,CAAC;IAEhE;;;OAGG;IACI,YAAY,GAAe,IAAI,UAAU,EAAE,CAAC;IAEnD;;;OAGG;IACI,aAAa,GAAW,EAAE,CAAC;IAElC;;;OAGG;IACI,UAAU,CAAS;IAE1B;;;;;;;;OAQG;IACH,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAsB;QAClG,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,MAA4B,IAAI,aAAa,CAAC,iBAAiB,CAAC;QAC9E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/beacon/aggregation/cohort/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,20 +10,12 @@ export class BaseMessage {
|
|
|
10
10
|
this.from = from;
|
|
11
11
|
this.body = body;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Creates a BaseMessage from a JSON object.
|
|
15
|
-
* @param {Maybe<Base>} data The JSON object to initialize the BaseMessage.
|
|
16
|
-
* @returns {BaseMessage} The initialized BaseMessage.
|
|
17
|
-
*/
|
|
18
|
-
static fromJSON(data) {
|
|
19
|
-
return new BaseMessage(data);
|
|
20
|
-
}
|
|
21
13
|
/**
|
|
22
14
|
* Converts a BaseMessage to a JSON object.
|
|
23
15
|
* @returns {Base} The JSON representation of the BaseMessage.
|
|
24
16
|
*/
|
|
25
17
|
json() {
|
|
26
|
-
return Object.
|
|
18
|
+
return Object.fromEntries(Object.entries(this));
|
|
27
19
|
}
|
|
28
20
|
}
|
|
29
21
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../../src/core/beacon/aggregation/cohort/messages/base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../../src/core/beacon/aggregation/cohort/messages/base.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAyBrD,MAAM,OAAO,WAAW;IACf,IAAI,CAAS;IACb,EAAE,CAAU;IACZ,IAAI,CAAS;IACb,IAAI,CAAY;IAEvB,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAQ;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAS,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_ADVERT } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -20,7 +21,7 @@ export class BeaconCohortAdvertMessage extends BaseMessage {
|
|
|
20
21
|
* @returns {BeaconCohortAdvertMessage} The new BeaconCohortAdvertMessage.
|
|
21
22
|
*/
|
|
22
23
|
static fromJSON(data) {
|
|
23
|
-
const message = JSON.parse(data);
|
|
24
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
24
25
|
if (message.type !== BEACON_COHORT_ADVERT) {
|
|
25
26
|
throw new Error(`Invalid type: ${message.type}`);
|
|
26
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohort-advert.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cohort-advert.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAYvD;;;;;GAKG;AACH,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACjD,EAAE,CAAS;IAElB,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAuB;QACtF,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAClC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAgC;QACrD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_READY } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -18,7 +19,7 @@ export class BeaconCohortReadyMessage extends BaseMessage {
|
|
|
18
19
|
* @returns {BeaconCohortReadyMessage} The new BeaconCohortReadyMessage.
|
|
19
20
|
*/
|
|
20
21
|
static fromJSON(data) {
|
|
21
|
-
const message = JSON.parse(data);
|
|
22
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
22
23
|
if (message.type !== BEACON_COHORT_READY) {
|
|
23
24
|
throw new Error(`Invalid type: ${message.type}`);
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohort-ready.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cohort-ready.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAWtD;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvD,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAsB;QAC/E,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,mBAAmB,CAAC;QACjC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAA+B;QACpD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_OPT_IN_ACCEPT } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -16,7 +17,7 @@ export class BeaconCohortOptInAcceptMessage extends BaseMessage {
|
|
|
16
17
|
* @returns {BeaconCohortOptInAcceptMessage} The new BeaconCohortOptInAcceptMessage.
|
|
17
18
|
*/
|
|
18
19
|
static fromJSON(data) {
|
|
19
|
-
const message = JSON.parse(data);
|
|
20
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
20
21
|
if (message.type != BEACON_COHORT_OPT_IN_ACCEPT) {
|
|
21
22
|
throw new Error(`Invalid type: ${message.type}`);
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt-in-accept.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opt-in-accept.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAQ9D;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,WAAW;IAC7D,YAAY,EAAE,EAAE,EAAE,IAAI,EAA4B;QAChD,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAqC;QAC1D,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,2BAA2B,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_OPT_IN } from '../constants.js';
|
|
3
4
|
export class BeaconCohortOptInMessage extends BaseMessage {
|
|
@@ -12,7 +13,7 @@ export class BeaconCohortOptInMessage extends BaseMessage {
|
|
|
12
13
|
* @returns {BeaconCohortOptInMessage} The new BeaconCohortOptInMessage.
|
|
13
14
|
*/
|
|
14
15
|
static fromJSON(data) {
|
|
15
|
-
const message = JSON.parse(data);
|
|
16
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
16
17
|
if (message.type != BEACON_COHORT_OPT_IN) {
|
|
17
18
|
throw new Error(`Invalid type: ${message.type}`);
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opt-in.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/opt-in.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opt-in.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/opt-in.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAUvD,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAEvD,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAsB;QACnE,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,oBAAoB,CAAC;QAClC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAA+B;QACpD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_OPT_IN_ACCEPT } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -17,7 +18,7 @@ export class BeaconCohortSubscribeMessage extends BaseMessage {
|
|
|
17
18
|
* @returns {BeaconCohortSubscribeMessage} The serialized SubscribeMessage.
|
|
18
19
|
*/
|
|
19
20
|
static fromJSON(data) {
|
|
20
|
-
const message = JSON.parse(data);
|
|
21
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
21
22
|
if (message.type != BEACON_COHORT_OPT_IN_ACCEPT) {
|
|
22
23
|
throw new Error(`Invalid type: ${message.type}`);
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/subscribe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/keygen/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAQ9D;;;;;;GAMG;AACH,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAC3D,YAAY,EAAE,EAAE,EAAE,IAAI,EAA0B;QAC9C,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAmC;QACxD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,2BAA2B,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_AGGREGATED_NONCE } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -18,7 +19,7 @@ export class BeaconCohortAggregatedNonceMessage extends BaseMessage {
|
|
|
18
19
|
* @returns {BeaconCohortAggregatedNonceMessage} The new BeaconCohortAggregatedNonceMessage.
|
|
19
20
|
*/
|
|
20
21
|
static fromJSON(data) {
|
|
21
|
-
const message = JSON.parse(data);
|
|
22
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
22
23
|
if (message.type != BEACON_COHORT_AGGREGATED_NONCE) {
|
|
23
24
|
throw new Error(`Invalid type: ${message.type}`);
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregated-nonce.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aggregated-nonce.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAUjE;;;;;GAKG;AACH,MAAM,OAAO,kCAAmC,SAAQ,WAAW;IACjE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAgC;QAC1F,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QACtD,MAAM,IAAI,GAAG,8BAA8B,CAAC;QAC5C,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAyC;QAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,8BAA8B,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,kCAAkC,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_AUTHORIZATION_REQUEST } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -19,7 +20,7 @@ export class BeaconCohortAuthorizationRequestMessage extends BaseMessage {
|
|
|
19
20
|
* @returns {BeaconCohortAuthorizationRequestMessage} The serialized BeaconCohortAuthorizationRequestMessage.
|
|
20
21
|
*/
|
|
21
22
|
static fromJSON(data) {
|
|
22
|
-
const message = JSON.parse(data);
|
|
23
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
23
24
|
if (message.type != BEACON_COHORT_AUTHORIZATION_REQUEST) {
|
|
24
25
|
throw new Error(`Invalid type: ${message.type}`);
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-request.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/authorization-request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authorization-request.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/authorization-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAC;AAUtE;;;;;;GAMG;AACH,MAAM,OAAO,uCAAwC,SAAQ,WAAW;IACtE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAqC;QACzF,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,mCAAmC,CAAC;QACjD,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAA8C;QACnE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,mCAAmC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,uCAAuC,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_NONCE_CONTRIBUTION } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -19,7 +20,7 @@ export class BeaconCohortNonceContributionMessage extends BaseMessage {
|
|
|
19
20
|
* @returns {BeaconCohortNonceContributionMessage} The new BeaconCohortNonceContributionMessage.
|
|
20
21
|
*/
|
|
21
22
|
static fromJSON(data) {
|
|
22
|
-
const message = JSON.parse(data);
|
|
23
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
23
24
|
if (message.type != BEACON_COHORT_NONCE_CONTRIBUTION) {
|
|
24
25
|
throw new Error(`Invalid type: ${message.type}`);
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nonce-contribution.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nonce-contribution.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AAUnE;;;;;;GAMG;AACH,MAAM,OAAO,oCAAqC,SAAQ,WAAW;IACnE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAkC;QAC9F,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,gCAAgC,CAAC;QAC9C,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAA2C;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,gCAAgC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,oCAAoC,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_REQUEST_SIGNATURE } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -19,7 +20,7 @@ export class BeaconCohortRequestSignatureMessage extends BaseMessage {
|
|
|
19
20
|
* @returns {BeaconCohortRequestSignatureMessage} The new BeaconCohortRequestSignatureMessage.
|
|
20
21
|
*/
|
|
21
22
|
static fromJSON(data) {
|
|
22
|
-
const message = JSON.parse(data);
|
|
23
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
23
24
|
if (message.type != BEACON_COHORT_REQUEST_SIGNATURE) {
|
|
24
25
|
throw new Error(`Invalid type: ${message.type}`);
|
|
25
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-signature.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/request-signature.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-signature.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/request-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAUlE;;;;;;GAMG;AACH,MAAM,OAAO,mCAAoC,SAAQ,WAAW;IAClE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAiC;QAChF,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,+BAA+B,CAAC;QAC7C,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAA0C;QAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,+BAA+B,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JSONUtils } from '@did-btcr2/common';
|
|
1
2
|
import { BaseMessage } from '../base.js';
|
|
2
3
|
import { BEACON_COHORT_SIGNATURE_AUTHORIZATION } from '../constants.js';
|
|
3
4
|
/**
|
|
@@ -20,7 +21,7 @@ export class BeaconCohortSignatureAuthorizationMessage extends BaseMessage {
|
|
|
20
21
|
* @returns {BeaconCohortSignatureAuthorizationMessage} The serialized BeaconCohortSignatureAuthorizationMessage.
|
|
21
22
|
*/
|
|
22
23
|
static fromJSON(data) {
|
|
23
|
-
const message = JSON.parse(data);
|
|
24
|
+
const message = JSONUtils.isParsable(data) ? JSON.parse(data) : data;
|
|
24
25
|
if (message.type != BEACON_COHORT_SIGNATURE_AUTHORIZATION) {
|
|
25
26
|
throw new Error(`Invalid type: ${message.type}`);
|
|
26
27
|
}
|
package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature-authorization.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signature-authorization.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,qCAAqC,EAAE,MAAM,iBAAiB,CAAC;AAUxE;;;;;;;GAOG;AACH,MAAM,OAAO,yCAA0C,SAAQ,WAAW;IACxE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAuC;QAClG,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,qCAAqC,CAAC;QACnD,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAgD;QACrE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,OAAO,CAAC,IAAI,IAAI,qCAAqC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,yCAAyC,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// TODO: Finish nostr adapter implementation. Rethink patterns used.
|
|
1
2
|
import { CompressedSecp256k1PublicKey, SchnorrKeyPair, Secp256k1SecretKey } from '@did-btcr2/keypair';
|
|
2
3
|
import { nonceGen } from '@scure/btc-signer/musig2';
|
|
3
4
|
import { finalizeEvent, nip44 } from 'nostr-tools';
|
|
@@ -7,6 +8,7 @@ import { BEACON_COHORT_ADVERT, BEACON_COHORT_AGGREGATED_NONCE, BEACON_COHORT_AUT
|
|
|
7
8
|
import { AggregateBeaconMessage } from '../../cohort/messages/index.js';
|
|
8
9
|
import { CommunicationAdapterError } from '../error.js';
|
|
9
10
|
/**
|
|
11
|
+
* TODO: Determine set of default Nostr relays to use.
|
|
10
12
|
* DEFAULT_NOSTR_RELAYS provides a list of default Nostr relay URLs for communication.
|
|
11
13
|
* These relays are used to connect to the Nostr network for sending and receiving messages.
|
|
12
14
|
* @constant {Array<string>} DEFAULT_NOSTR_RELAYS
|
|
@@ -17,6 +19,13 @@ export const DEFAULT_NOSTR_RELAYS = [
|
|
|
17
19
|
// 'wss://relay.snort.social',
|
|
18
20
|
// 'wss://nostr-pub.wellorder.net',
|
|
19
21
|
];
|
|
22
|
+
/**
|
|
23
|
+
* NostrAdapter implements the CommunicationService interface for Nostr protocol communication.
|
|
24
|
+
* It provides methods for starting the service, sending messages, and handling incoming events.
|
|
25
|
+
* @class NostrAdapter
|
|
26
|
+
* @type {NostrAdapter}
|
|
27
|
+
* @implements {CommunicationService}
|
|
28
|
+
*/
|
|
20
29
|
export class NostrAdapter {
|
|
21
30
|
/**
|
|
22
31
|
* The name of the NostrAdapter service.
|
|
@@ -32,7 +41,7 @@ export class NostrAdapter {
|
|
|
32
41
|
* A map of message handlers for different message types.
|
|
33
42
|
* @type {Map<string, MessageHandler>}
|
|
34
43
|
*/
|
|
35
|
-
handlers = new Map();
|
|
44
|
+
#handlers = new Map();
|
|
36
45
|
/**
|
|
37
46
|
* The SimplePool instance for managing Nostr subscriptions.
|
|
38
47
|
* @type {SimplePool}
|
|
@@ -62,6 +71,7 @@ export class NostrAdapter {
|
|
|
62
71
|
this.config.keys = keys;
|
|
63
72
|
}
|
|
64
73
|
/**
|
|
74
|
+
* TODO: Complete this method. Figure out best subscription patterns.
|
|
65
75
|
* Starts the Nostr communication service by subscribing to relays.
|
|
66
76
|
* @returns {ServiceAdapter<NostrAdapter>} Returns the NostrAdapter instance for method chaining.
|
|
67
77
|
*/
|
|
@@ -79,6 +89,7 @@ export class NostrAdapter {
|
|
|
79
89
|
return this;
|
|
80
90
|
}
|
|
81
91
|
/**
|
|
92
|
+
* TODO: Complete this method. Figure out best way to filter incoming nostr events.
|
|
82
93
|
* Handles incoming Nostr events and dispatches them to the appropriate message handler.
|
|
83
94
|
* @param {Event} event The Nostr event received from the relay.
|
|
84
95
|
*/
|
|
@@ -120,9 +131,10 @@ export class NostrAdapter {
|
|
|
120
131
|
* @param {MessageHandler} handler The handler function that processes the message.
|
|
121
132
|
*/
|
|
122
133
|
registerMessageHandler(messageType, handler) {
|
|
123
|
-
this
|
|
134
|
+
this.#handlers.set(messageType, handler);
|
|
124
135
|
}
|
|
125
136
|
/**
|
|
137
|
+
* TODO: Clean up and complete this method.
|
|
126
138
|
* Sends a message to a recipient using the Nostr protocol.
|
|
127
139
|
* This method is a placeholder and should be implemented with actual Nostr message sending logic.
|
|
128
140
|
* @param {Maybe<AggregateBeaconMessageType>} message The message to send, typically containing the content and metadata.
|
|
@@ -131,11 +143,11 @@ export class NostrAdapter {
|
|
|
131
143
|
* @returns {Promise<void>} A promise that resolves when the message is sent.
|
|
132
144
|
*/
|
|
133
145
|
async sendMessage(message, from, to) {
|
|
134
|
-
// Check if the sender and recipient DIDs are valid
|
|
146
|
+
// Check if the sender and recipient DIDs are valid identifiers
|
|
135
147
|
if ([from, to]
|
|
136
148
|
.filter(did => !!did)
|
|
137
149
|
.every(did => !Identifier.isValid(did))) {
|
|
138
|
-
console.error(`Invalid
|
|
150
|
+
console.error(`Invalid identifiers: sender ${from}, recipient ${to}`);
|
|
139
151
|
throw new CommunicationAdapterError(`Invalid identifiers: sender ${from}, recipient ${to}`, 'SEND_MESSAGE_ERROR', { adapter: this.name });
|
|
140
152
|
}
|
|
141
153
|
// Decode the sender and recipient DIDs to get their genesis bytes in hex
|
|
@@ -149,19 +161,24 @@ export class NostrAdapter {
|
|
|
149
161
|
const recipient = new CompressedSecp256k1PublicKey(Identifier.decode(to).genesisBytes);
|
|
150
162
|
tags.push(['p', Buffer.from(recipient.x).toString('hex')]);
|
|
151
163
|
}
|
|
152
|
-
|
|
153
|
-
|
|
164
|
+
const { type } = message ?? {};
|
|
165
|
+
if (!type) {
|
|
166
|
+
console.error('Message type is undefined:', message);
|
|
167
|
+
throw new CommunicationAdapterError('Message type is undefined', 'SEND_MESSAGE_ERROR', { adapter: this.name });
|
|
168
|
+
}
|
|
169
|
+
if (AggregateBeaconMessage.isKeyGenMessageValue(type)) {
|
|
170
|
+
switch (type) {
|
|
154
171
|
case BEACON_COHORT_ADVERT:
|
|
155
|
-
console.info('Add tag', ['BEACON_COHORT_ADVERT',
|
|
172
|
+
console.info('Add tag', ['BEACON_COHORT_ADVERT', type]);
|
|
156
173
|
break;
|
|
157
174
|
case BEACON_COHORT_OPT_IN:
|
|
158
|
-
console.info('Add tag', ['BEACON_COHORT_OPT_IN',
|
|
175
|
+
console.info('Add tag', ['BEACON_COHORT_OPT_IN', type]);
|
|
159
176
|
break;
|
|
160
177
|
case BEACON_COHORT_OPT_IN_ACCEPT:
|
|
161
|
-
console.info('Add tag', ['BEACON_COHORT_OPT_IN_ACCEPT',
|
|
178
|
+
console.info('Add tag', ['BEACON_COHORT_OPT_IN_ACCEPT', type]);
|
|
162
179
|
break;
|
|
163
180
|
case BEACON_COHORT_READY:
|
|
164
|
-
console.info('Add tag', ['BEACON_COHORT_READY',
|
|
181
|
+
console.info('Add tag', ['BEACON_COHORT_READY', type]);
|
|
165
182
|
break;
|
|
166
183
|
}
|
|
167
184
|
const event = finalizeEvent({
|
|
@@ -173,22 +190,22 @@ export class NostrAdapter {
|
|
|
173
190
|
console.info(`Sending message kind 1 event ...`, event);
|
|
174
191
|
return this.pool?.publish(this.config.relays, event);
|
|
175
192
|
}
|
|
176
|
-
if (AggregateBeaconMessage.isSignMessageValue(
|
|
177
|
-
switch (
|
|
193
|
+
if (AggregateBeaconMessage.isSignMessageValue(type)) {
|
|
194
|
+
switch (type) {
|
|
178
195
|
case BEACON_COHORT_REQUEST_SIGNATURE:
|
|
179
|
-
console.info('Add tag', ['BEACON_COHORT_REQUEST_SIGNATURE',
|
|
196
|
+
console.info('Add tag', ['BEACON_COHORT_REQUEST_SIGNATURE', type]);
|
|
180
197
|
break;
|
|
181
198
|
case BEACON_COHORT_AUTHORIZATION_REQUEST:
|
|
182
|
-
console.info('Add tag', ['BEACON_COHORT_AUTHORIZATION_REQUEST',
|
|
199
|
+
console.info('Add tag', ['BEACON_COHORT_AUTHORIZATION_REQUEST', type]);
|
|
183
200
|
break;
|
|
184
201
|
case BEACON_COHORT_NONCE_CONTRIBUTION:
|
|
185
|
-
console.info('Add tag', ['BEACON_COHORT_NONCE_CONTRIBUTION',
|
|
202
|
+
console.info('Add tag', ['BEACON_COHORT_NONCE_CONTRIBUTION', type]);
|
|
186
203
|
break;
|
|
187
204
|
case BEACON_COHORT_AGGREGATED_NONCE:
|
|
188
|
-
console.info('Add tag', ['BEACON_COHORT_AGGREGATED_NONCE',
|
|
205
|
+
console.info('Add tag', ['BEACON_COHORT_AGGREGATED_NONCE', type]);
|
|
189
206
|
break;
|
|
190
207
|
case BEACON_COHORT_SIGNATURE_AUTHORIZATION:
|
|
191
|
-
console.info('Add tag', ['BEACON_COHORT_SIGNATURE_AUTHORIZATION',
|
|
208
|
+
console.info('Add tag', ['BEACON_COHORT_SIGNATURE_AUTHORIZATION', type]);
|
|
192
209
|
break;
|
|
193
210
|
}
|
|
194
211
|
const { publicKey, secretKey } = SchnorrKeyPair.generate();
|
|
@@ -198,9 +215,10 @@ export class NostrAdapter {
|
|
|
198
215
|
console.debug('NostrAdapter event:', event);
|
|
199
216
|
return this.pool?.publish(this.config.relays, event);
|
|
200
217
|
}
|
|
201
|
-
console.error(`Unsupported message type: ${
|
|
218
|
+
console.error(`Unsupported message type: ${type}`);
|
|
202
219
|
}
|
|
203
220
|
/**
|
|
221
|
+
* TODO: Determine if this method is needed.
|
|
204
222
|
* Generates a Nostr identity using the Secp256k1SecretKey and Identifier classes.
|
|
205
223
|
* @param {RawSchnorrKeyPair} [keys] Optional keys to use for identity generation.
|
|
206
224
|
* @returns {ServiceAdapterConfig} The generated Nostr identity configuration.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nostr.js","sourceRoot":"","sources":["../../../../../../../src/core/beacon/aggregation/communication/adapter/nostr.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nostr.js","sourceRoot":"","sources":["../../../../../../../src/core/beacon/aggregation/communication/adapter/nostr.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,10 +52,10 @@ export class BeaconCoordinator {
|
|
|
52
52
|
* @param {ServiceAdapterIdentity<RawKeyPair>} params.keys The keys used for cryptographic operations.
|
|
53
53
|
*/
|
|
54
54
|
constructor(params) {
|
|
55
|
-
this.name = params.name || `btcr2-beacon-coordinator-${crypto.randomUUID()}`;
|
|
56
55
|
this.did = params.did;
|
|
57
56
|
this.protocol = params.protocol || new NostrAdapter();
|
|
58
57
|
this.protocol.setKeys(params.keys);
|
|
58
|
+
this.name = params.name || `btcr2-beacon-coordinator-${crypto.randomUUID()}`;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
61
|
* Setup and start the BeaconCoordinator communication protocol.
|
|
@@ -63,10 +63,10 @@ export class BeaconCoordinator {
|
|
|
63
63
|
*/
|
|
64
64
|
start() {
|
|
65
65
|
Logger.info(`Setting up BeaconCoordinator ${this.name} (${this.did}) on ${this.protocol.name} ...`);
|
|
66
|
-
this.protocol.registerMessageHandler(BEACON_COHORT_OPT_IN, this.
|
|
67
|
-
this.protocol.registerMessageHandler(BEACON_COHORT_REQUEST_SIGNATURE, this.
|
|
68
|
-
this.protocol.registerMessageHandler(BEACON_COHORT_NONCE_CONTRIBUTION, this.
|
|
69
|
-
this.protocol.registerMessageHandler(BEACON_COHORT_SIGNATURE_AUTHORIZATION, this.
|
|
66
|
+
this.protocol.registerMessageHandler(BEACON_COHORT_OPT_IN, this.#handleOptIn.bind(this));
|
|
67
|
+
this.protocol.registerMessageHandler(BEACON_COHORT_REQUEST_SIGNATURE, this.#handleRequestSignature.bind(this));
|
|
68
|
+
this.protocol.registerMessageHandler(BEACON_COHORT_NONCE_CONTRIBUTION, this.#handleNonceContribution.bind(this));
|
|
69
|
+
this.protocol.registerMessageHandler(BEACON_COHORT_SIGNATURE_AUTHORIZATION, this.#handleSignatureAuthorization.bind(this));
|
|
70
70
|
this.protocol.start();
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
@@ -74,7 +74,7 @@ export class BeaconCoordinator {
|
|
|
74
74
|
* @param {OptInMessage} message The message containing the opt-in request.
|
|
75
75
|
* @returns {Promise<void>}
|
|
76
76
|
*/
|
|
77
|
-
async
|
|
77
|
+
async #handleOptIn(message) {
|
|
78
78
|
const optIn = BeaconCohortOptInMessage.fromJSON(message);
|
|
79
79
|
const cohortId = optIn.body?.cohortId;
|
|
80
80
|
const participant = optIn.from;
|
|
@@ -100,7 +100,7 @@ export class BeaconCoordinator {
|
|
|
100
100
|
* @param {CohortRequestSignatureMessage} message The message containing the request signature.
|
|
101
101
|
* @returns {Promise<void>}
|
|
102
102
|
*/
|
|
103
|
-
async
|
|
103
|
+
async #handleRequestSignature(message) {
|
|
104
104
|
const signatureRequest = BeaconCohortRequestSignatureMessage.fromJSON(message);
|
|
105
105
|
const cohortId = signatureRequest.body?.cohortId;
|
|
106
106
|
if (!cohortId) {
|
|
@@ -120,7 +120,7 @@ export class BeaconCoordinator {
|
|
|
120
120
|
* @param {CohortNonceContributionMessage} message The message containing the nonce contribution.
|
|
121
121
|
* @returns {Promise<void>}
|
|
122
122
|
*/
|
|
123
|
-
async
|
|
123
|
+
async #handleNonceContribution(message) {
|
|
124
124
|
// Cast message to NonceContributionMessage type.
|
|
125
125
|
const nonceContribMessage = BeaconCohortNonceContributionMessage.fromJSON(message);
|
|
126
126
|
const cohortId = nonceContribMessage.body?.cohortId;
|
|
@@ -161,7 +161,7 @@ export class BeaconCoordinator {
|
|
|
161
161
|
* @param {Maybe<CohortSignatureAuthorizationMessage>} message The message containing the signature authorization request.
|
|
162
162
|
* @returns {Promise<void>}
|
|
163
163
|
*/
|
|
164
|
-
async
|
|
164
|
+
async #handleSignatureAuthorization(message) {
|
|
165
165
|
const sigAuthMessage = BeaconCohortSignatureAuthorizationMessage.fromJSON(message);
|
|
166
166
|
const cohortId = sigAuthMessage.body?.cohortId;
|
|
167
167
|
if (!cohortId) {
|
|
@@ -179,10 +179,10 @@ export class BeaconCoordinator {
|
|
|
179
179
|
return;
|
|
180
180
|
}
|
|
181
181
|
if (signingSession.id !== sessionId) {
|
|
182
|
-
throw new BeaconCoordinatorError(`Signature authorization for wrong session: ${signingSession.id} != ${sessionId}`, 'SIGNATURE_AUTHORIZATION_ERROR', message);
|
|
182
|
+
throw new BeaconCoordinatorError(`Signature authorization for wrong session: ${signingSession.id} != ${sessionId}`, 'SIGNATURE_AUTHORIZATION_ERROR', { original: message, converted: sigAuthMessage });
|
|
183
183
|
}
|
|
184
184
|
if (signingSession.status !== SIGNING_SESSION_STATUS.AWAITING_PARTIAL_SIGNATURES) {
|
|
185
|
-
throw new BeaconCoordinatorError(`Partial signature received but not expected. Current status: ${signingSession.status}`, 'SIGNATURE_AUTHORIZATION_ERROR', message);
|
|
185
|
+
throw new BeaconCoordinatorError(`Partial signature received but not expected. Current status: ${signingSession.status}`, 'SIGNATURE_AUTHORIZATION_ERROR', { original: message, converted: sigAuthMessage });
|
|
186
186
|
}
|
|
187
187
|
const partialSignature = sigAuthMessage.body?.partialSignature;
|
|
188
188
|
if (!partialSignature) {
|
|
@@ -197,7 +197,7 @@ export class BeaconCoordinator {
|
|
|
197
197
|
}
|
|
198
198
|
if (signingSession.status === SIGNING_SESSION_STATUS.PARTIAL_SIGNATURES_RECEIVED) {
|
|
199
199
|
const signature = await signingSession.generateFinalSignature();
|
|
200
|
-
Logger.info(`Final signature ${signature.
|
|
200
|
+
Logger.info(`Final signature ${Buffer.from(signature).toString('hex')} generated for session ${signingSession.id}`);
|
|
201
201
|
}
|
|
202
202
|
}
|
|
203
203
|
/**
|
|
@@ -255,10 +255,10 @@ export class BeaconCoordinator {
|
|
|
255
255
|
* Announces a new cohort to all subscribers.
|
|
256
256
|
* @param {number} minParticipants The minimum number of participants required for the cohort.
|
|
257
257
|
* @param {string} [network='mutinynet'] The network on which the cohort operates (default is 'signet').
|
|
258
|
-
* @param {string} [beaconType='
|
|
258
|
+
* @param {string} [beaconType='SMTBeacon'] The type of beacon to be used (default is 'SMTBeacon').
|
|
259
259
|
* @returns {Promise<AggregateBeaconCohort>} The newly created cohort.
|
|
260
260
|
*/
|
|
261
|
-
async advertiseCohort(minParticipants, network = 'mutinynet', beaconType = '
|
|
261
|
+
async advertiseCohort(minParticipants, network = 'mutinynet', beaconType = 'SMTBeacon') {
|
|
262
262
|
const cohort = new AggregateBeaconCohort({ minParticipants, network, beaconType });
|
|
263
263
|
Logger.info(`Advertising new cohort ${cohort.id} ...`);
|
|
264
264
|
this.cohorts.push(cohort);
|