@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.
Files changed (262) hide show
  1. package/dist/browser.js +5240 -6079
  2. package/dist/browser.mjs +5240 -6079
  3. package/dist/cjs/core/beacon/aggregation/cohort/index.js +3 -3
  4. package/dist/cjs/core/beacon/aggregation/cohort/index.js.map +1 -1
  5. package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js +1 -9
  6. package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
  7. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +2 -1
  8. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +1 -1
  9. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +2 -1
  10. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +1 -1
  11. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +2 -1
  12. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +1 -1
  13. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +2 -1
  14. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +1 -1
  15. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +2 -1
  16. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +1 -1
  17. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +2 -1
  18. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +1 -1
  19. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +2 -1
  20. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +1 -1
  21. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +2 -1
  22. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +1 -1
  23. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js +2 -1
  24. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +1 -1
  25. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +2 -1
  26. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +1 -1
  27. package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +36 -18
  28. package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
  29. package/dist/cjs/core/beacon/aggregation/coordinator.js +14 -14
  30. package/dist/cjs/core/beacon/aggregation/coordinator.js.map +1 -1
  31. package/dist/cjs/core/beacon/aggregation/participant.js +4 -3
  32. package/dist/cjs/core/beacon/aggregation/participant.js.map +1 -1
  33. package/dist/cjs/core/beacon/aggregation/session/index.js +1 -1
  34. package/dist/cjs/core/beacon/aggregation/session/index.js.map +1 -1
  35. package/dist/cjs/core/beacon/cas-beacon.js +55 -0
  36. package/dist/cjs/core/beacon/cas-beacon.js.map +1 -0
  37. package/dist/cjs/core/beacon/factory.js +11 -10
  38. package/dist/cjs/core/beacon/factory.js.map +1 -1
  39. package/dist/cjs/core/beacon/interfaces.js +32 -0
  40. package/dist/cjs/core/beacon/interfaces.js.map +1 -0
  41. package/dist/cjs/core/beacon/singleton.js +59 -135
  42. package/dist/cjs/core/beacon/singleton.js.map +1 -1
  43. package/dist/cjs/core/beacon/smt-beacon.js +56 -0
  44. package/dist/cjs/core/beacon/smt-beacon.js.map +1 -0
  45. package/dist/cjs/core/beacon/utils.js +67 -105
  46. package/dist/cjs/core/beacon/utils.js.map +1 -1
  47. package/dist/cjs/core/identifier.js +18 -21
  48. package/dist/cjs/core/identifier.js.map +1 -1
  49. package/dist/cjs/core/interfaces.js +2 -0
  50. package/dist/cjs/core/interfaces.js.map +1 -0
  51. package/dist/cjs/core/resolve.js +511 -0
  52. package/dist/cjs/core/resolve.js.map +1 -0
  53. package/dist/cjs/{utils → core}/types.js.map +1 -1
  54. package/dist/cjs/core/{crud/update.js → update.js} +62 -52
  55. package/dist/cjs/core/update.js.map +1 -0
  56. package/dist/cjs/did-btcr2.js +109 -75
  57. package/dist/cjs/did-btcr2.js.map +1 -1
  58. package/dist/cjs/index.js +14 -15
  59. package/dist/cjs/index.js.map +1 -1
  60. package/dist/cjs/utils/appendix.js +10 -18
  61. package/dist/cjs/utils/appendix.js.map +1 -1
  62. package/dist/cjs/utils/did-document.js +51 -58
  63. package/dist/cjs/utils/did-document.js.map +1 -1
  64. package/dist/cjs/utils/general.js +1 -1
  65. package/dist/cjs/utils/general.js.map +1 -1
  66. package/dist/esm/core/beacon/aggregation/cohort/index.js +3 -3
  67. package/dist/esm/core/beacon/aggregation/cohort/index.js.map +1 -1
  68. package/dist/esm/core/beacon/aggregation/cohort/messages/base.js +1 -9
  69. package/dist/esm/core/beacon/aggregation/cohort/messages/base.js.map +1 -1
  70. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +2 -1
  71. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +1 -1
  72. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +2 -1
  73. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +1 -1
  74. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +2 -1
  75. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +1 -1
  76. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +2 -1
  77. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +1 -1
  78. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +2 -1
  79. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +1 -1
  80. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +2 -1
  81. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +1 -1
  82. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +2 -1
  83. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +1 -1
  84. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +2 -1
  85. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +1 -1
  86. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js +2 -1
  87. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +1 -1
  88. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +2 -1
  89. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +1 -1
  90. package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +36 -18
  91. package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +1 -1
  92. package/dist/esm/core/beacon/aggregation/coordinator.js +14 -14
  93. package/dist/esm/core/beacon/aggregation/coordinator.js.map +1 -1
  94. package/dist/esm/core/beacon/aggregation/participant.js +4 -3
  95. package/dist/esm/core/beacon/aggregation/participant.js.map +1 -1
  96. package/dist/esm/core/beacon/aggregation/session/index.js +1 -1
  97. package/dist/esm/core/beacon/aggregation/session/index.js.map +1 -1
  98. package/dist/esm/core/beacon/cas-beacon.js +55 -0
  99. package/dist/esm/core/beacon/cas-beacon.js.map +1 -0
  100. package/dist/esm/core/beacon/factory.js +11 -10
  101. package/dist/esm/core/beacon/factory.js.map +1 -1
  102. package/dist/esm/core/beacon/interfaces.js +32 -0
  103. package/dist/esm/core/beacon/interfaces.js.map +1 -0
  104. package/dist/esm/core/beacon/singleton.js +59 -135
  105. package/dist/esm/core/beacon/singleton.js.map +1 -1
  106. package/dist/esm/core/beacon/smt-beacon.js +56 -0
  107. package/dist/esm/core/beacon/smt-beacon.js.map +1 -0
  108. package/dist/esm/core/beacon/utils.js +67 -105
  109. package/dist/esm/core/beacon/utils.js.map +1 -1
  110. package/dist/esm/core/identifier.js +18 -21
  111. package/dist/esm/core/identifier.js.map +1 -1
  112. package/dist/esm/core/interfaces.js +2 -0
  113. package/dist/esm/core/interfaces.js.map +1 -0
  114. package/dist/esm/core/resolve.js +511 -0
  115. package/dist/esm/core/resolve.js.map +1 -0
  116. package/dist/esm/{utils → core}/types.js.map +1 -1
  117. package/dist/esm/core/{crud/update.js → update.js} +62 -52
  118. package/dist/esm/core/update.js.map +1 -0
  119. package/dist/esm/did-btcr2.js +109 -75
  120. package/dist/esm/did-btcr2.js.map +1 -1
  121. package/dist/esm/index.js +14 -15
  122. package/dist/esm/index.js.map +1 -1
  123. package/dist/esm/utils/appendix.js +10 -18
  124. package/dist/esm/utils/appendix.js.map +1 -1
  125. package/dist/esm/utils/did-document.js +51 -58
  126. package/dist/esm/utils/did-document.js.map +1 -1
  127. package/dist/esm/utils/general.js +1 -1
  128. package/dist/esm/utils/general.js.map +1 -1
  129. package/dist/types/core/beacon/aggregation/cohort/index.d.ts +1 -1
  130. package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts +0 -7
  131. package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts.map +1 -1
  132. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts.map +1 -1
  133. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts.map +1 -1
  134. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.d.ts.map +1 -1
  135. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts.map +1 -1
  136. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts.map +1 -1
  137. package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts.map +1 -1
  138. package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts.map +1 -1
  139. package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts.map +1 -1
  140. package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts.map +1 -1
  141. package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts.map +1 -1
  142. package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts +13 -5
  143. package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +1 -1
  144. package/dist/types/core/beacon/aggregation/coordinator.d.ts +17 -29
  145. package/dist/types/core/beacon/aggregation/coordinator.d.ts.map +1 -1
  146. package/dist/types/core/beacon/aggregation/participant.d.ts.map +1 -1
  147. package/dist/types/core/beacon/cas-beacon.d.ts +47 -0
  148. package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -0
  149. package/dist/types/core/beacon/factory.d.ts +5 -4
  150. package/dist/types/core/beacon/factory.d.ts.map +1 -1
  151. package/dist/types/core/beacon/interfaces.d.ts +98 -0
  152. package/dist/types/core/beacon/interfaces.d.ts.map +1 -0
  153. package/dist/types/core/beacon/singleton.d.ts +22 -65
  154. package/dist/types/core/beacon/singleton.d.ts.map +1 -1
  155. package/dist/types/core/beacon/smt-beacon.d.ts +48 -0
  156. package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -0
  157. package/dist/types/core/beacon/utils.d.ts +19 -97
  158. package/dist/types/core/beacon/utils.d.ts.map +1 -1
  159. package/dist/types/core/identifier.d.ts.map +1 -1
  160. package/dist/types/core/interfaces.d.ts +94 -0
  161. package/dist/types/core/interfaces.d.ts.map +1 -0
  162. package/dist/types/core/resolve.d.ts +105 -0
  163. package/dist/types/core/resolve.d.ts.map +1 -0
  164. package/dist/types/core/types.d.ts +71 -0
  165. package/dist/types/core/types.d.ts.map +1 -0
  166. package/dist/types/core/{crud/update.d.ts → update.d.ts} +21 -20
  167. package/dist/types/core/update.d.ts.map +1 -0
  168. package/dist/types/did-btcr2.d.ts +45 -57
  169. package/dist/types/did-btcr2.d.ts.map +1 -1
  170. package/dist/types/index.d.ts +14 -15
  171. package/dist/types/index.d.ts.map +1 -1
  172. package/dist/types/utils/appendix.d.ts +5 -10
  173. package/dist/types/utils/appendix.d.ts.map +1 -1
  174. package/dist/types/utils/did-document-builder.d.ts +1 -1
  175. package/dist/types/utils/did-document-builder.d.ts.map +1 -1
  176. package/dist/types/utils/did-document.d.ts +31 -29
  177. package/dist/types/utils/did-document.d.ts.map +1 -1
  178. package/package.json +5 -5
  179. package/src/core/beacon/aggregation/cohort/index.ts +3 -3
  180. package/src/core/beacon/aggregation/cohort/messages/base.ts +1 -12
  181. package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.ts +2 -2
  182. package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts +2 -2
  183. package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.ts +2 -2
  184. package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in.ts +2 -2
  185. package/src/core/beacon/aggregation/cohort/messages/keygen/subscribe.ts +2 -2
  186. package/src/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.ts +2 -2
  187. package/src/core/beacon/aggregation/cohort/messages/sign/authorization-request.ts +2 -2
  188. package/src/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.ts +2 -2
  189. package/src/core/beacon/aggregation/cohort/messages/sign/request-signature.ts +2 -2
  190. package/src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts +2 -2
  191. package/src/core/beacon/aggregation/communication/adapter/nostr.ts +43 -21
  192. package/src/core/beacon/aggregation/coordinator.ts +41 -29
  193. package/src/core/beacon/aggregation/participant.ts +4 -3
  194. package/src/core/beacon/aggregation/session/index.ts +1 -1
  195. package/src/core/beacon/cas-beacon.ts +67 -0
  196. package/src/core/beacon/factory.ts +13 -15
  197. package/src/core/beacon/interfaces.ts +124 -0
  198. package/src/core/beacon/singleton.ts +75 -145
  199. package/src/core/beacon/smt-beacon.ts +70 -0
  200. package/src/core/beacon/utils.ts +80 -170
  201. package/src/core/identifier.ts +21 -24
  202. package/src/core/interfaces.ts +101 -0
  203. package/src/core/resolve.ts +707 -0
  204. package/src/core/types.ts +78 -0
  205. package/src/core/{crud/update.ts → update.ts} +75 -68
  206. package/src/did-btcr2.ts +152 -92
  207. package/src/index.ts +14 -24
  208. package/src/utils/appendix.ts +18 -22
  209. package/src/utils/did-document-builder.ts +1 -1
  210. package/src/utils/did-document.ts +67 -71
  211. package/src/utils/general.ts +1 -1
  212. package/dist/cjs/core/beacon/cid-aggregate.js +0 -116
  213. package/dist/cjs/core/beacon/cid-aggregate.js.map +0 -1
  214. package/dist/cjs/core/beacon/smt-aggregate.js +0 -126
  215. package/dist/cjs/core/beacon/smt-aggregate.js.map +0 -1
  216. package/dist/cjs/core/crud/deactivate.js +0 -14
  217. package/dist/cjs/core/crud/deactivate.js.map +0 -1
  218. package/dist/cjs/core/crud/read.js +0 -679
  219. package/dist/cjs/core/crud/read.js.map +0 -1
  220. package/dist/cjs/core/crud/update.js.map +0 -1
  221. package/dist/cjs/interfaces/beacon.js +0 -41
  222. package/dist/cjs/interfaces/beacon.js.map +0 -1
  223. package/dist/cjs/interfaces/crud.js +0 -2
  224. package/dist/cjs/interfaces/crud.js.map +0 -1
  225. package/dist/esm/core/beacon/cid-aggregate.js +0 -116
  226. package/dist/esm/core/beacon/cid-aggregate.js.map +0 -1
  227. package/dist/esm/core/beacon/smt-aggregate.js +0 -126
  228. package/dist/esm/core/beacon/smt-aggregate.js.map +0 -1
  229. package/dist/esm/core/crud/deactivate.js +0 -14
  230. package/dist/esm/core/crud/deactivate.js.map +0 -1
  231. package/dist/esm/core/crud/read.js +0 -679
  232. package/dist/esm/core/crud/read.js.map +0 -1
  233. package/dist/esm/core/crud/update.js.map +0 -1
  234. package/dist/esm/interfaces/beacon.js +0 -41
  235. package/dist/esm/interfaces/beacon.js.map +0 -1
  236. package/dist/esm/interfaces/crud.js +0 -2
  237. package/dist/esm/interfaces/crud.js.map +0 -1
  238. package/dist/types/core/beacon/cid-aggregate.d.ts +0 -102
  239. package/dist/types/core/beacon/cid-aggregate.d.ts.map +0 -1
  240. package/dist/types/core/beacon/smt-aggregate.d.ts +0 -111
  241. package/dist/types/core/beacon/smt-aggregate.d.ts.map +0 -1
  242. package/dist/types/core/crud/deactivate.d.ts +0 -13
  243. package/dist/types/core/crud/deactivate.d.ts.map +0 -1
  244. package/dist/types/core/crud/read.d.ts +0 -334
  245. package/dist/types/core/crud/read.d.ts.map +0 -1
  246. package/dist/types/core/crud/update.d.ts.map +0 -1
  247. package/dist/types/interfaces/beacon.d.ts +0 -116
  248. package/dist/types/interfaces/beacon.d.ts.map +0 -1
  249. package/dist/types/interfaces/crud.d.ts +0 -32
  250. package/dist/types/interfaces/crud.d.ts.map +0 -1
  251. package/dist/types/utils/types.d.ts +0 -38
  252. package/dist/types/utils/types.d.ts.map +0 -1
  253. package/src/canonicalize.d.ts +0 -6
  254. package/src/core/beacon/cid-aggregate.ts +0 -153
  255. package/src/core/beacon/smt-aggregate.ts +0 -135
  256. package/src/core/crud/deactivate.ts +0 -13
  257. package/src/core/crud/read.ts +0 -948
  258. package/src/interfaces/beacon.ts +0 -137
  259. package/src/interfaces/crud.ts +0 -33
  260. package/src/utils/types.ts +0 -41
  261. /package/dist/cjs/{utils → core}/types.js +0 -0
  262. /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 'SMTAggregateBeacon').
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 || 'SMTAggregateBeacon';
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.json(this);
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,oBAAoB,CAAC;IACvD,CAAC;IAED,IAAI,UAAU,CAAC,IAAuB;QACpC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,cAAc,CAAC,eAA8B,EAAE,UAAyB,EAAE,aAAqB;QACpG,KAAI,MAAM,GAAG,IAAI,eAAe,EAAC,CAAC;YAChC,IAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC;gBAC1C,MAAM,IAAI,sBAAsB,CAC9B,mBAAmB,GAAG,wBAAwB,IAAI,CAAC,EAAE,GAAG,EACxD,yBAAyB,EACzB;oBACE,QAAQ,EAAU,IAAI,CAAC,EAAE;oBACzB,eAAe,EAAG,eAAe;oBACjC,UAAU,EAAQ,UAAU;oBAC5B,aAAa,EAAK,aAAa;iBAChC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvD,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC;YAC1C,MAAM,IAAI,sBAAsB,CAC9B,6BAA6B,iBAAiB,oCAAoC,aAAa,GAAG,EAClG,+BAA+B,EAC/B;gBACE,QAAQ,EAAU,IAAI,CAAC,EAAE;gBACzB,iBAAiB;gBACjB,eAAe,EAAG,aAAa;aAChC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC;IAChD,CAAC;IAED;;;;;OAKG;IACI,QAAQ;QACb,IAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,MAAM,IAAI,sBAAsB,CAC9B,gDAAgD,EAChD,uBAAuB,EACvB;gBACE,QAAQ,EAAU,IAAI,CAAC,EAAE;gBACzB,YAAY,EAAM,IAAI,CAAC,YAAY;gBACnC,eAAe,EAAG,IAAI,CAAC,eAAe;aACvC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QAC1B,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,IAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,sBAAsB,CAC9B,yCAAyC,EACzC,oCAAoC,EACpC;gBACE,QAAQ,EAAU,IAAI,CAAC,EAAE;gBACzB,UAAU,EAAQ,IAAI,CAAC,UAAU;gBACjC,eAAe,EAAG,IAAI,CAAC,eAAe;aACvC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,IAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,sBAAsB,CAC9B,qCAAqC,EACrC,gCAAgC,EAChC;gBACE,QAAQ,EAAU,IAAI,CAAC,EAAE;gBACzB,UAAU,EAAQ,IAAI,CAAC,UAAU;gBACjC,eAAe,EAAG,IAAI,CAAC,eAAe;aACvC,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,EAAU,EAAE,IAAY;QACnD,IAAG,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACnD,MAAM,IAAI,sBAAsB,CAAC,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,wBAAwB,CAAC;YAClC,EAAE;YACF,IAAI;YACJ,QAAQ,EAAQ,IAAI,CAAC,EAAE;YACvB,aAAa,EAAG,IAAI,CAAC,aAAa;YAClC,UAAU,EAAM,IAAI,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,mBAAmB,CAAC,OAA4C;QACrE,IAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,sBAAsB,CAAC,6BAA6B,OAAO,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACtG,CAAC;QAED,IAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,sBAAsB,CAAC,qCAAqC,OAAO,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACI,wBAAwB,CAAC,OAA4C;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;QACxC,IAAG,QAAQ,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,uCAAuC,QAAQ,GAAG,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,IAAI,kBAAkB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,mBAAmB;QACxB,OAAO,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,EAAE,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,IAAG,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACnD,MAAM,IAAI,sBAAsB,CAAC,UAAU,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;QACD,sFAAsF;QACtF,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,0BAA0B,CAAC;YACpC,MAAM;YACN,SAAS,EAAW,IAAI,WAAW,EAAE;YACrC,iBAAiB,EAAG,IAAI,CAAC,wBAAwB;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAiB,CAAC;IAC3C,CAAC;CACF"}
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.json(this);
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":"AAEA,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;;;;OAIG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAiB;QACtC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,CAAC;IACnC,CAAC;CACF"}
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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"signature-authorization.js","sourceRoot":"","sources":["../../../../../../../../src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts"],"names":[],"mappings":"AACA,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,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,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
+ {"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.handlers.set(messageType, handler);
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 Btc1 identifiers
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 Btc1 identifiers: sender ${from}, recipient ${to}`);
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
- if (AggregateBeaconMessage.isKeyGenMessageValue(message.type)) {
153
- switch (message.type) {
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', message.type]);
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', message.type]);
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', message.type]);
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', message.type]);
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(message.type)) {
177
- switch (message.type) {
193
+ if (AggregateBeaconMessage.isSignMessageValue(type)) {
194
+ switch (type) {
178
195
  case BEACON_COHORT_REQUEST_SIGNATURE:
179
- console.info('Add tag', ['BEACON_COHORT_REQUEST_SIGNATURE', message.type]);
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', message.type]);
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', message.type]);
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', message.type]);
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', message.type]);
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: ${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":"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"}
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._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));
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 _handleOptIn(message) {
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 _handleRequestSignature(message) {
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 _handleNonceContribution(message) {
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 _handleSignatureAuthorization(message) {
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.toHex()} generated for session ${signingSession.id}`);
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='SMTAggregateBeacon'] The type of beacon to be used (default is 'SMTAggregateBeacon').
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 = 'SMTAggregateBeacon') {
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);