@did-btcr2/method 0.25.3 → 0.27.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 (406) hide show
  1. package/README.md +86 -233
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/browser.js +129207 -122358
  4. package/dist/browser.mjs +129235 -122386
  5. package/dist/cjs/index.js +5332 -43
  6. package/dist/esm/core/aggregation/cohort.js +178 -0
  7. package/dist/esm/core/aggregation/cohort.js.map +1 -0
  8. package/dist/esm/core/aggregation/errors.js +22 -0
  9. package/dist/esm/core/aggregation/errors.js.map +1 -0
  10. package/dist/esm/core/{beacon/aggregation/cohort → aggregation}/messages/base.js +0 -1
  11. package/dist/esm/core/aggregation/messages/base.js.map +1 -0
  12. package/dist/esm/core/aggregation/messages/constants.js +26 -0
  13. package/dist/esm/core/aggregation/messages/constants.js.map +1 -0
  14. package/dist/esm/core/aggregation/messages/factories.js +113 -0
  15. package/dist/esm/core/aggregation/messages/factories.js.map +1 -0
  16. package/dist/esm/core/aggregation/messages/guards.js +37 -0
  17. package/dist/esm/core/aggregation/messages/guards.js.map +1 -0
  18. package/dist/esm/core/aggregation/messages/index.js +5 -0
  19. package/dist/esm/core/aggregation/messages/index.js.map +1 -0
  20. package/dist/esm/core/aggregation/participant.js +376 -0
  21. package/dist/esm/core/aggregation/participant.js.map +1 -0
  22. package/dist/esm/core/aggregation/phases.js +39 -0
  23. package/dist/esm/core/aggregation/phases.js.map +1 -0
  24. package/dist/esm/core/aggregation/runner/events.js +2 -0
  25. package/dist/esm/core/aggregation/runner/events.js.map +1 -0
  26. package/dist/esm/core/aggregation/runner/index.js +5 -0
  27. package/dist/esm/core/aggregation/runner/index.js.map +1 -0
  28. package/dist/esm/core/aggregation/runner/participant-runner.js +282 -0
  29. package/dist/esm/core/aggregation/runner/participant-runner.js.map +1 -0
  30. package/dist/esm/core/aggregation/runner/service-runner.js +290 -0
  31. package/dist/esm/core/aggregation/runner/service-runner.js.map +1 -0
  32. package/dist/esm/core/aggregation/runner/typed-emitter.js +80 -0
  33. package/dist/esm/core/aggregation/runner/typed-emitter.js.map +1 -0
  34. package/dist/esm/core/aggregation/service.js +416 -0
  35. package/dist/esm/core/aggregation/service.js.map +1 -0
  36. package/dist/esm/core/aggregation/signing-session.js +133 -0
  37. package/dist/esm/core/aggregation/signing-session.js.map +1 -0
  38. package/dist/esm/core/aggregation/transport/didcomm.js +32 -0
  39. package/dist/esm/core/aggregation/transport/didcomm.js.map +1 -0
  40. package/dist/esm/core/aggregation/transport/error.js +12 -0
  41. package/dist/esm/core/aggregation/transport/error.js.map +1 -0
  42. package/dist/esm/core/aggregation/transport/factory.js +20 -0
  43. package/dist/esm/core/aggregation/transport/factory.js.map +1 -0
  44. package/dist/esm/core/aggregation/transport/index.js +6 -0
  45. package/dist/esm/core/aggregation/transport/index.js.map +1 -0
  46. package/dist/esm/core/aggregation/transport/nostr.js +262 -0
  47. package/dist/esm/core/aggregation/transport/nostr.js.map +1 -0
  48. package/dist/esm/core/aggregation/transport/transport.js +2 -0
  49. package/dist/esm/core/aggregation/transport/transport.js.map +1 -0
  50. package/dist/esm/core/beacon/beacon.js +80 -0
  51. package/dist/esm/core/beacon/beacon.js.map +1 -1
  52. package/dist/esm/core/beacon/cas-beacon.js +21 -60
  53. package/dist/esm/core/beacon/cas-beacon.js.map +1 -1
  54. package/dist/esm/core/beacon/error.js +0 -10
  55. package/dist/esm/core/beacon/error.js.map +1 -1
  56. package/dist/esm/core/beacon/fee-estimator.js +30 -0
  57. package/dist/esm/core/beacon/fee-estimator.js.map +1 -0
  58. package/dist/esm/core/beacon/signal-discovery.js +1 -1
  59. package/dist/esm/core/beacon/signal-discovery.js.map +1 -1
  60. package/dist/esm/core/beacon/singleton-beacon.js +13 -56
  61. package/dist/esm/core/beacon/singleton-beacon.js.map +1 -1
  62. package/dist/esm/core/beacon/smt-beacon.js +85 -9
  63. package/dist/esm/core/beacon/smt-beacon.js.map +1 -1
  64. package/dist/esm/core/beacon/utils.js.map +1 -1
  65. package/dist/esm/core/identifier.js +13 -0
  66. package/dist/esm/core/identifier.js.map +1 -1
  67. package/dist/esm/core/resolver.js +50 -35
  68. package/dist/esm/core/resolver.js.map +1 -1
  69. package/dist/esm/core/update.js.map +1 -1
  70. package/dist/esm/did-btcr2.js +1 -1
  71. package/dist/esm/did-btcr2.js.map +1 -1
  72. package/dist/esm/index.js +14 -24
  73. package/dist/esm/index.js.map +1 -1
  74. package/dist/esm/utils/appendix.js +7 -6
  75. package/dist/esm/utils/appendix.js.map +1 -1
  76. package/dist/esm/utils/did-document-builder.js.map +1 -1
  77. package/dist/esm/utils/did-document.js +2 -2
  78. package/dist/esm/utils/did-document.js.map +1 -1
  79. package/dist/types/core/aggregation/cohort.d.ts +94 -0
  80. package/dist/types/core/aggregation/cohort.d.ts.map +1 -0
  81. package/dist/types/core/aggregation/errors.d.ts +14 -0
  82. package/dist/types/core/aggregation/errors.d.ts.map +1 -0
  83. package/dist/types/core/{beacon/aggregation/cohort → aggregation}/messages/base.d.ts +7 -1
  84. package/dist/types/core/aggregation/messages/base.d.ts.map +1 -0
  85. package/dist/types/core/aggregation/messages/constants.d.ts +23 -0
  86. package/dist/types/core/aggregation/messages/constants.d.ts.map +1 -0
  87. package/dist/types/core/aggregation/messages/factories.d.ts +177 -0
  88. package/dist/types/core/aggregation/messages/factories.d.ts.map +1 -0
  89. package/dist/types/core/aggregation/messages/guards.d.ts +11 -0
  90. package/dist/types/core/aggregation/messages/guards.d.ts.map +1 -0
  91. package/dist/types/core/aggregation/messages/index.d.ts +5 -0
  92. package/dist/types/core/aggregation/messages/index.d.ts.map +1 -0
  93. package/dist/types/core/aggregation/participant.d.ts +101 -0
  94. package/dist/types/core/aggregation/participant.d.ts.map +1 -0
  95. package/dist/types/core/aggregation/phases.d.ts +49 -0
  96. package/dist/types/core/aggregation/phases.d.ts.map +1 -0
  97. package/dist/types/core/aggregation/runner/events.d.ts +89 -0
  98. package/dist/types/core/aggregation/runner/events.d.ts.map +1 -0
  99. package/dist/types/core/aggregation/runner/index.d.ts +5 -0
  100. package/dist/types/core/aggregation/runner/index.d.ts.map +1 -0
  101. package/dist/types/core/aggregation/runner/participant-runner.d.ts +107 -0
  102. package/dist/types/core/aggregation/runner/participant-runner.d.ts.map +1 -0
  103. package/dist/types/core/aggregation/runner/service-runner.d.ts +102 -0
  104. package/dist/types/core/aggregation/runner/service-runner.d.ts.map +1 -0
  105. package/dist/types/core/aggregation/runner/typed-emitter.d.ts +41 -0
  106. package/dist/types/core/aggregation/runner/typed-emitter.d.ts.map +1 -0
  107. package/dist/types/core/aggregation/service.d.ts +112 -0
  108. package/dist/types/core/aggregation/service.d.ts.map +1 -0
  109. package/dist/types/core/aggregation/signing-session.d.ts +69 -0
  110. package/dist/types/core/aggregation/signing-session.d.ts.map +1 -0
  111. package/dist/types/core/aggregation/transport/didcomm.d.ts +20 -0
  112. package/dist/types/core/aggregation/transport/didcomm.d.ts.map +1 -0
  113. package/dist/types/core/{beacon/aggregation/communication → aggregation/transport}/error.d.ts +2 -2
  114. package/dist/types/core/aggregation/transport/error.d.ts.map +1 -0
  115. package/dist/types/core/aggregation/transport/factory.d.ts +13 -0
  116. package/dist/types/core/aggregation/transport/factory.d.ts.map +1 -0
  117. package/dist/types/core/aggregation/transport/index.d.ts +6 -0
  118. package/dist/types/core/aggregation/transport/index.d.ts.map +1 -0
  119. package/dist/types/core/aggregation/transport/nostr.d.ts +55 -0
  120. package/dist/types/core/aggregation/transport/nostr.d.ts.map +1 -0
  121. package/dist/types/core/aggregation/transport/transport.d.ts +37 -0
  122. package/dist/types/core/aggregation/transport/transport.d.ts.map +1 -0
  123. package/dist/types/core/beacon/beacon.d.ts +41 -6
  124. package/dist/types/core/beacon/beacon.d.ts.map +1 -1
  125. package/dist/types/core/beacon/cas-beacon.d.ts +23 -11
  126. package/dist/types/core/beacon/cas-beacon.d.ts.map +1 -1
  127. package/dist/types/core/beacon/error.d.ts +0 -6
  128. package/dist/types/core/beacon/error.d.ts.map +1 -1
  129. package/dist/types/core/beacon/factory.d.ts +2 -2
  130. package/dist/types/core/beacon/factory.d.ts.map +1 -1
  131. package/dist/types/core/beacon/fee-estimator.d.ts +40 -0
  132. package/dist/types/core/beacon/fee-estimator.d.ts.map +1 -0
  133. package/dist/types/core/beacon/interfaces.d.ts +11 -3
  134. package/dist/types/core/beacon/interfaces.d.ts.map +1 -1
  135. package/dist/types/core/beacon/signal-discovery.d.ts +3 -3
  136. package/dist/types/core/beacon/signal-discovery.d.ts.map +1 -1
  137. package/dist/types/core/beacon/singleton-beacon.d.ts +14 -7
  138. package/dist/types/core/beacon/singleton-beacon.d.ts.map +1 -1
  139. package/dist/types/core/beacon/smt-beacon.d.ts +32 -12
  140. package/dist/types/core/beacon/smt-beacon.d.ts.map +1 -1
  141. package/dist/types/core/beacon/utils.d.ts +4 -4
  142. package/dist/types/core/beacon/utils.d.ts.map +1 -1
  143. package/dist/types/core/identifier.d.ts +10 -2
  144. package/dist/types/core/identifier.d.ts.map +1 -1
  145. package/dist/types/core/interfaces.d.ts +4 -4
  146. package/dist/types/core/interfaces.d.ts.map +1 -1
  147. package/dist/types/core/resolver.d.ts +19 -9
  148. package/dist/types/core/resolver.d.ts.map +1 -1
  149. package/dist/types/core/types.d.ts +6 -5
  150. package/dist/types/core/types.d.ts.map +1 -1
  151. package/dist/types/core/update.d.ts +5 -5
  152. package/dist/types/core/update.d.ts.map +1 -1
  153. package/dist/types/did-btcr2.d.ts +6 -6
  154. package/dist/types/did-btcr2.d.ts.map +1 -1
  155. package/dist/types/index.d.ts +9 -24
  156. package/dist/types/index.d.ts.map +1 -1
  157. package/dist/types/utils/appendix.d.ts +7 -7
  158. package/dist/types/utils/appendix.d.ts.map +1 -1
  159. package/dist/types/utils/did-document-builder.d.ts +3 -2
  160. package/dist/types/utils/did-document-builder.d.ts.map +1 -1
  161. package/dist/types/utils/did-document.d.ts +3 -3
  162. package/dist/types/utils/did-document.d.ts.map +1 -1
  163. package/package.json +35 -33
  164. package/src/core/aggregation/cohort.ts +247 -0
  165. package/src/core/aggregation/errors.ts +25 -0
  166. package/src/core/{beacon/aggregation/cohort → aggregation}/messages/base.ts +8 -3
  167. package/src/core/aggregation/messages/constants.ts +28 -0
  168. package/src/core/aggregation/messages/factories.ts +240 -0
  169. package/src/core/aggregation/messages/guards.ts +55 -0
  170. package/src/core/aggregation/messages/index.ts +4 -0
  171. package/src/core/aggregation/participant.ts +510 -0
  172. package/src/core/aggregation/phases.ts +82 -0
  173. package/src/core/aggregation/runner/events.ts +77 -0
  174. package/src/core/aggregation/runner/index.ts +4 -0
  175. package/src/core/aggregation/runner/participant-runner.ts +360 -0
  176. package/src/core/aggregation/runner/service-runner.ts +365 -0
  177. package/src/core/aggregation/runner/typed-emitter.ts +87 -0
  178. package/src/core/aggregation/service.ts +547 -0
  179. package/src/core/aggregation/signing-session.ts +209 -0
  180. package/src/core/aggregation/transport/didcomm.ts +42 -0
  181. package/src/core/aggregation/transport/error.ts +13 -0
  182. package/src/core/aggregation/transport/factory.ts +29 -0
  183. package/src/core/aggregation/transport/index.ts +5 -0
  184. package/src/core/aggregation/transport/nostr.ts +333 -0
  185. package/src/core/aggregation/transport/transport.ts +46 -0
  186. package/src/core/beacon/beacon.ts +126 -6
  187. package/src/core/beacon/cas-beacon.ts +39 -83
  188. package/src/core/beacon/error.ts +0 -12
  189. package/src/core/beacon/factory.ts +2 -2
  190. package/src/core/beacon/fee-estimator.ts +52 -0
  191. package/src/core/beacon/interfaces.ts +13 -4
  192. package/src/core/beacon/signal-discovery.ts +5 -4
  193. package/src/core/beacon/singleton-beacon.ts +21 -81
  194. package/src/core/beacon/smt-beacon.ts +113 -15
  195. package/src/core/beacon/utils.ts +6 -4
  196. package/src/core/identifier.ts +20 -2
  197. package/src/core/interfaces.ts +4 -4
  198. package/src/core/resolver.ts +84 -53
  199. package/src/core/types.ts +6 -5
  200. package/src/core/update.ts +11 -7
  201. package/src/did-btcr2.ts +12 -10
  202. package/src/index.ts +15 -29
  203. package/src/utils/appendix.ts +14 -16
  204. package/src/utils/did-document-builder.ts +3 -2
  205. package/src/utils/did-document.ts +10 -8
  206. package/dist/cjs/core/beacon/aggregation/cohort/index.js +0 -237
  207. package/dist/cjs/core/beacon/aggregation/cohort/index.js.map +0 -1
  208. package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js +0 -26
  209. package/dist/cjs/core/beacon/aggregation/cohort/messages/base.js.map +0 -1
  210. package/dist/cjs/core/beacon/aggregation/cohort/messages/constants.js +0 -11
  211. package/dist/cjs/core/beacon/aggregation/cohort/messages/constants.js.map +0 -1
  212. package/dist/cjs/core/beacon/aggregation/cohort/messages/index.js +0 -98
  213. package/dist/cjs/core/beacon/aggregation/cohort/messages/index.js.map +0 -1
  214. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +0 -31
  215. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +0 -1
  216. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +0 -29
  217. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +0 -1
  218. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +0 -27
  219. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +0 -1
  220. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +0 -23
  221. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +0 -1
  222. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +0 -28
  223. package/dist/cjs/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +0 -1
  224. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +0 -29
  225. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +0 -1
  226. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +0 -30
  227. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +0 -1
  228. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +0 -30
  229. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +0 -1
  230. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js +0 -30
  231. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +0 -1
  232. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +0 -31
  233. package/dist/cjs/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +0 -1
  234. package/dist/cjs/core/beacon/aggregation/cohort/status.js +0 -8
  235. package/dist/cjs/core/beacon/aggregation/cohort/status.js.map +0 -1
  236. package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js +0 -121
  237. package/dist/cjs/core/beacon/aggregation/communication/adapter/did-comm.js.map +0 -1
  238. package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js +0 -246
  239. package/dist/cjs/core/beacon/aggregation/communication/adapter/nostr.js.map +0 -1
  240. package/dist/cjs/core/beacon/aggregation/communication/error.js +0 -12
  241. package/dist/cjs/core/beacon/aggregation/communication/error.js.map +0 -1
  242. package/dist/cjs/core/beacon/aggregation/communication/factory.js +0 -21
  243. package/dist/cjs/core/beacon/aggregation/communication/factory.js.map +0 -1
  244. package/dist/cjs/core/beacon/aggregation/communication/service.js +0 -2
  245. package/dist/cjs/core/beacon/aggregation/communication/service.js.map +0 -1
  246. package/dist/cjs/core/beacon/aggregation/coordinator.js +0 -343
  247. package/dist/cjs/core/beacon/aggregation/coordinator.js.map +0 -1
  248. package/dist/cjs/core/beacon/aggregation/participant.js +0 -435
  249. package/dist/cjs/core/beacon/aggregation/participant.js.map +0 -1
  250. package/dist/cjs/core/beacon/aggregation/session/index.js +0 -244
  251. package/dist/cjs/core/beacon/aggregation/session/index.js.map +0 -1
  252. package/dist/cjs/core/beacon/aggregation/session/status.js +0 -11
  253. package/dist/cjs/core/beacon/aggregation/session/status.js.map +0 -1
  254. package/dist/cjs/core/beacon/beacon.js +0 -25
  255. package/dist/cjs/core/beacon/beacon.js.map +0 -1
  256. package/dist/cjs/core/beacon/cas-beacon.js +0 -152
  257. package/dist/cjs/core/beacon/cas-beacon.js.map +0 -1
  258. package/dist/cjs/core/beacon/error.js +0 -37
  259. package/dist/cjs/core/beacon/error.js.map +0 -1
  260. package/dist/cjs/core/beacon/factory.js +0 -29
  261. package/dist/cjs/core/beacon/factory.js.map +0 -1
  262. package/dist/cjs/core/beacon/interfaces.js +0 -2
  263. package/dist/cjs/core/beacon/interfaces.js.map +0 -1
  264. package/dist/cjs/core/beacon/signal-discovery.js +0 -183
  265. package/dist/cjs/core/beacon/signal-discovery.js.map +0 -1
  266. package/dist/cjs/core/beacon/singleton-beacon.js +0 -107
  267. package/dist/cjs/core/beacon/singleton-beacon.js.map +0 -1
  268. package/dist/cjs/core/beacon/smt-beacon.js +0 -39
  269. package/dist/cjs/core/beacon/smt-beacon.js.map +0 -1
  270. package/dist/cjs/core/beacon/utils.js +0 -163
  271. package/dist/cjs/core/beacon/utils.js.map +0 -1
  272. package/dist/cjs/core/identifier.js +0 -248
  273. package/dist/cjs/core/identifier.js.map +0 -1
  274. package/dist/cjs/core/interfaces.js +0 -2
  275. package/dist/cjs/core/interfaces.js.map +0 -1
  276. package/dist/cjs/core/resolver.js +0 -476
  277. package/dist/cjs/core/resolver.js.map +0 -1
  278. package/dist/cjs/core/types.js +0 -2
  279. package/dist/cjs/core/types.js.map +0 -1
  280. package/dist/cjs/core/update.js +0 -112
  281. package/dist/cjs/core/update.js.map +0 -1
  282. package/dist/cjs/did-btcr2.js +0 -193
  283. package/dist/cjs/did-btcr2.js.map +0 -1
  284. package/dist/cjs/index.js.map +0 -1
  285. package/dist/cjs/utils/appendix.js +0 -203
  286. package/dist/cjs/utils/appendix.js.map +0 -1
  287. package/dist/cjs/utils/did-document-builder.js +0 -60
  288. package/dist/cjs/utils/did-document-builder.js.map +0 -1
  289. package/dist/cjs/utils/did-document.js +0 -424
  290. package/dist/cjs/utils/did-document.js.map +0 -1
  291. package/dist/esm/core/beacon/aggregation/cohort/index.js +0 -237
  292. package/dist/esm/core/beacon/aggregation/cohort/index.js.map +0 -1
  293. package/dist/esm/core/beacon/aggregation/cohort/messages/base.js.map +0 -1
  294. package/dist/esm/core/beacon/aggregation/cohort/messages/constants.js +0 -11
  295. package/dist/esm/core/beacon/aggregation/cohort/messages/constants.js.map +0 -1
  296. package/dist/esm/core/beacon/aggregation/cohort/messages/index.js +0 -98
  297. package/dist/esm/core/beacon/aggregation/cohort/messages/index.js.map +0 -1
  298. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js +0 -31
  299. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.js.map +0 -1
  300. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js +0 -29
  301. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.js.map +0 -1
  302. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js +0 -27
  303. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.js.map +0 -1
  304. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js +0 -23
  305. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/opt-in.js.map +0 -1
  306. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js +0 -28
  307. package/dist/esm/core/beacon/aggregation/cohort/messages/keygen/subscribe.js.map +0 -1
  308. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js +0 -29
  309. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.js.map +0 -1
  310. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js +0 -30
  311. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/authorization-request.js.map +0 -1
  312. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js +0 -30
  313. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.js.map +0 -1
  314. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js +0 -30
  315. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/request-signature.js.map +0 -1
  316. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js +0 -31
  317. package/dist/esm/core/beacon/aggregation/cohort/messages/sign/signature-authorization.js.map +0 -1
  318. package/dist/esm/core/beacon/aggregation/cohort/status.js +0 -8
  319. package/dist/esm/core/beacon/aggregation/cohort/status.js.map +0 -1
  320. package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js +0 -121
  321. package/dist/esm/core/beacon/aggregation/communication/adapter/did-comm.js.map +0 -1
  322. package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js +0 -246
  323. package/dist/esm/core/beacon/aggregation/communication/adapter/nostr.js.map +0 -1
  324. package/dist/esm/core/beacon/aggregation/communication/error.js +0 -12
  325. package/dist/esm/core/beacon/aggregation/communication/error.js.map +0 -1
  326. package/dist/esm/core/beacon/aggregation/communication/factory.js +0 -21
  327. package/dist/esm/core/beacon/aggregation/communication/factory.js.map +0 -1
  328. package/dist/esm/core/beacon/aggregation/communication/service.js +0 -2
  329. package/dist/esm/core/beacon/aggregation/communication/service.js.map +0 -1
  330. package/dist/esm/core/beacon/aggregation/coordinator.js +0 -343
  331. package/dist/esm/core/beacon/aggregation/coordinator.js.map +0 -1
  332. package/dist/esm/core/beacon/aggregation/participant.js +0 -435
  333. package/dist/esm/core/beacon/aggregation/participant.js.map +0 -1
  334. package/dist/esm/core/beacon/aggregation/session/index.js +0 -244
  335. package/dist/esm/core/beacon/aggregation/session/index.js.map +0 -1
  336. package/dist/esm/core/beacon/aggregation/session/status.js +0 -11
  337. package/dist/esm/core/beacon/aggregation/session/status.js.map +0 -1
  338. package/dist/types/core/beacon/aggregation/cohort/index.d.ts +0 -136
  339. package/dist/types/core/beacon/aggregation/cohort/index.d.ts.map +0 -1
  340. package/dist/types/core/beacon/aggregation/cohort/messages/base.d.ts.map +0 -1
  341. package/dist/types/core/beacon/aggregation/cohort/messages/constants.d.ts +0 -11
  342. package/dist/types/core/beacon/aggregation/cohort/messages/constants.d.ts.map +0 -1
  343. package/dist/types/core/beacon/aggregation/cohort/messages/index.d.ts +0 -65
  344. package/dist/types/core/beacon/aggregation/cohort/messages/index.d.ts.map +0 -1
  345. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts +0 -29
  346. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.d.ts.map +0 -1
  347. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts +0 -26
  348. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.d.ts.map +0 -1
  349. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.d.ts +0 -24
  350. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.d.ts.map +0 -1
  351. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts +0 -20
  352. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/opt-in.d.ts.map +0 -1
  353. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts +0 -25
  354. package/dist/types/core/beacon/aggregation/cohort/messages/keygen/subscribe.d.ts.map +0 -1
  355. package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts +0 -25
  356. package/dist/types/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.d.ts.map +0 -1
  357. package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts +0 -26
  358. package/dist/types/core/beacon/aggregation/cohort/messages/sign/authorization-request.d.ts.map +0 -1
  359. package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts +0 -26
  360. package/dist/types/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.d.ts.map +0 -1
  361. package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts +0 -26
  362. package/dist/types/core/beacon/aggregation/cohort/messages/sign/request-signature.d.ts.map +0 -1
  363. package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts +0 -27
  364. package/dist/types/core/beacon/aggregation/cohort/messages/sign/signature-authorization.d.ts.map +0 -1
  365. package/dist/types/core/beacon/aggregation/cohort/status.d.ts +0 -8
  366. package/dist/types/core/beacon/aggregation/cohort/status.d.ts.map +0 -1
  367. package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts +0 -89
  368. package/dist/types/core/beacon/aggregation/communication/adapter/did-comm.d.ts.map +0 -1
  369. package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts +0 -103
  370. package/dist/types/core/beacon/aggregation/communication/adapter/nostr.d.ts.map +0 -1
  371. package/dist/types/core/beacon/aggregation/communication/error.d.ts.map +0 -1
  372. package/dist/types/core/beacon/aggregation/communication/factory.d.ts +0 -10
  373. package/dist/types/core/beacon/aggregation/communication/factory.d.ts.map +0 -1
  374. package/dist/types/core/beacon/aggregation/communication/service.d.ts +0 -36
  375. package/dist/types/core/beacon/aggregation/communication/service.d.ts.map +0 -1
  376. package/dist/types/core/beacon/aggregation/coordinator.d.ts +0 -116
  377. package/dist/types/core/beacon/aggregation/coordinator.d.ts.map +0 -1
  378. package/dist/types/core/beacon/aggregation/participant.d.ts +0 -192
  379. package/dist/types/core/beacon/aggregation/participant.d.ts.map +0 -1
  380. package/dist/types/core/beacon/aggregation/session/index.d.ts +0 -156
  381. package/dist/types/core/beacon/aggregation/session/index.d.ts.map +0 -1
  382. package/dist/types/core/beacon/aggregation/session/status.d.ts +0 -11
  383. package/dist/types/core/beacon/aggregation/session/status.d.ts.map +0 -1
  384. package/src/core/beacon/aggregation/cohort/index.ts +0 -304
  385. package/src/core/beacon/aggregation/cohort/messages/constants.ts +0 -12
  386. package/src/core/beacon/aggregation/cohort/messages/index.ts +0 -143
  387. package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-advert.ts +0 -43
  388. package/src/core/beacon/aggregation/cohort/messages/keygen/cohort-ready.ts +0 -39
  389. package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in-accept.ts +0 -34
  390. package/src/core/beacon/aggregation/cohort/messages/keygen/opt-in.ts +0 -33
  391. package/src/core/beacon/aggregation/cohort/messages/keygen/subscribe.ts +0 -35
  392. package/src/core/beacon/aggregation/cohort/messages/sign/aggregated-nonce.ts +0 -38
  393. package/src/core/beacon/aggregation/cohort/messages/sign/authorization-request.ts +0 -39
  394. package/src/core/beacon/aggregation/cohort/messages/sign/nonce-contribution.ts +0 -39
  395. package/src/core/beacon/aggregation/cohort/messages/sign/request-signature.ts +0 -39
  396. package/src/core/beacon/aggregation/cohort/messages/sign/signature-authorization.ts +0 -40
  397. package/src/core/beacon/aggregation/cohort/status.ts +0 -7
  398. package/src/core/beacon/aggregation/communication/adapter/did-comm.ts +0 -147
  399. package/src/core/beacon/aggregation/communication/adapter/nostr.ts +0 -321
  400. package/src/core/beacon/aggregation/communication/error.ts +0 -13
  401. package/src/core/beacon/aggregation/communication/factory.ts +0 -25
  402. package/src/core/beacon/aggregation/communication/service.ts +0 -42
  403. package/src/core/beacon/aggregation/coordinator.ts +0 -415
  404. package/src/core/beacon/aggregation/participant.ts +0 -512
  405. package/src/core/beacon/aggregation/session/index.ts +0 -300
  406. package/src/core/beacon/aggregation/session/status.ts +0 -18
@@ -1 +0,0 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../../../src/core/beacon/aggregation/coordinator.ts"],"names":[],"mappings":"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"}
@@ -1,435 +0,0 @@
1
- import { bytesToHex } from '@noble/hashes/utils';
2
- import { HDKey } from '@scure/bip32';
3
- import { mnemonicToSeedSync } from '@scure/bip39';
4
- import * as musig2 from '@scure/btc-signer/musig2';
5
- import { Transaction } from 'bitcoinjs-lib';
6
- import { BeaconParticipantError } from '../error.js';
7
- import { AggregateBeaconCohort } from './cohort/index.js';
8
- import { BEACON_COHORT_ADVERT, BEACON_COHORT_AGGREGATED_NONCE, BEACON_COHORT_AUTHORIZATION_REQUEST, BEACON_COHORT_OPT_IN_ACCEPT, BEACON_COHORT_READY } from './cohort/messages/constants.js';
9
- import { BeaconCohortAdvertMessage } from './cohort/messages/keygen/cohort-advert.js';
10
- import { BeaconCohortReadyMessage } from './cohort/messages/keygen/cohort-ready.js';
11
- import { BeaconCohortOptInAcceptMessage } from './cohort/messages/keygen/opt-in-accept.js';
12
- import { BeaconCohortOptInMessage } from './cohort/messages/keygen/opt-in.js';
13
- import { BeaconCohortSubscribeMessage } from './cohort/messages/keygen/subscribe.js';
14
- import { BeaconCohortAggregatedNonceMessage } from './cohort/messages/sign/aggregated-nonce.js';
15
- import { BeaconCohortAuthorizationRequestMessage } from './cohort/messages/sign/authorization-request.js';
16
- import { BeaconCohortNonceContributionMessage } from './cohort/messages/sign/nonce-contribution.js';
17
- import { BeaconCohortRequestSignatureMessage } from './cohort/messages/sign/request-signature.js';
18
- import { BeaconCohortSignatureAuthorizationMessage } from './cohort/messages/sign/signature-authorization.js';
19
- import { COHORT_STATUS } from './cohort/status.js';
20
- import { NostrAdapter } from './communication/adapter/nostr.js';
21
- import { BeaconCohortSigningSession } from './session/index.js';
22
- /**
23
- * Represents a participant in the did:btc1 Beacon Aggregation protocol.
24
- * @class BeaconParticipant
25
- * @type {BeaconParticipant}
26
- */
27
- export class BeaconParticipant {
28
- /**
29
- * The name of the BeaconParticipant service.
30
- * @type {string}
31
- */
32
- name;
33
- /**
34
- * The DID of the BeaconParticipant.
35
- * @type {Array<string>}
36
- */
37
- did;
38
- /**
39
- * The communication protocol used by the BeaconParticipant.
40
- * @type {CommunicationService}
41
- */
42
- protocol;
43
- /**
44
- * The HD key used by the BeaconParticipant.
45
- * @type {HDKey}
46
- */
47
- hdKey;
48
- /**
49
- * The current index for the beacon key.
50
- * @type {number}
51
- */
52
- beaconKeyIndex = 0;
53
- /**
54
- * The coordinator DIDs that the participant is subscribed to.
55
- * @type {Array<string>}
56
- */
57
- coordinatorDids = new Array();
58
- /**
59
- * The cohorts that the participant is part of.
60
- * @type {Array<AggregateBeaconCohort>}
61
- */
62
- cohorts = new Array();
63
- /**
64
- * A mapping of Cohort IDs to HDKey indexes (CohortId => KeyIndex).
65
- * @type {CohortKeyState}
66
- */
67
- cohortKeyState = new Map();
68
- /**
69
- * A mapping of active Session IDs to their sessions (sessionId => BeaconCohortSigningSession).
70
- * @type {ActiveSigningSessions}
71
- */
72
- activeSigningSessions = new Map();
73
- /**
74
- * Creates an instance of BeaconParticipant.
75
- * @param {BeaconParticipantParams} params The parameters for the participant.
76
- * @param {Seed | Mnemonic} params.ent The seed or mnemonic to derive the HD key.
77
- * @param {CommunicationService} params.protocol The communication protocol to use.
78
- * @param {string} params.did The DID of the participant.
79
- * @param {string} [params.name] Optional name for the participant. If not provided, a random name will be generated.
80
- */
81
- constructor({ ent, protocol, did, name }) {
82
- this.did = did;
83
- this.name = name || `btcr2-beacon-participant-${crypto.randomUUID()}`;
84
- this.beaconKeyIndex = this.cohortKeyState.size;
85
- this.hdKey = ent instanceof Uint8Array
86
- ? HDKey.fromMasterSeed(ent)
87
- : HDKey.fromMasterSeed(mnemonicToSeedSync(ent));
88
- const { publicKey: pk, privateKey: secret } = this.hdKey.deriveChild(this.beaconKeyIndex);
89
- if (!pk || !secret) {
90
- throw new BeaconParticipantError(`Failed to derive HD key for participant ${this.name} at index ${this.beaconKeyIndex}`, 'CONSTRUCTOR_ERROR', { public: pk, secret });
91
- }
92
- this.protocol = protocol || new NostrAdapter();
93
- this.protocol.setKeys({ public: pk, secret });
94
- this.cohortKeyState.set('__UNSET__', this.beaconKeyIndex);
95
- console.debug(`BeaconParticipant initialized with DID: ${this.did}, Name: ${this.name}, Key Index: ${this.beaconKeyIndex}`);
96
- }
97
- /**
98
- * Setup and start the BeaconParticipant communication protocol..
99
- * @returns {void}
100
- */
101
- start() {
102
- console.info(`Setting up BeaconParticipant ${this.name} (${this.did}) on ${this.protocol.name} ...`);
103
- this.protocol.registerMessageHandler(BEACON_COHORT_ADVERT, this._handleCohortAdvert.bind(this));
104
- this.protocol.registerMessageHandler(BEACON_COHORT_OPT_IN_ACCEPT, this._handleSubscribeAccept.bind(this));
105
- this.protocol.registerMessageHandler(BEACON_COHORT_READY, this._handleCohortReady.bind(this));
106
- this.protocol.registerMessageHandler(BEACON_COHORT_AUTHORIZATION_REQUEST, this._handleAuthorizationRequest.bind(this));
107
- this.protocol.registerMessageHandler(BEACON_COHORT_AGGREGATED_NONCE, this._handleAggregatedNonce.bind(this));
108
- this.protocol.start();
109
- }
110
- /**
111
- * Retrieves the HD key for a specific cohort based on its ID.
112
- * @param {string} cohortId The ID of the cohort for which to retrieve the key.
113
- * @returns {HDKey} The HD key for the cohort, or throws an error if not found.
114
- * @throws {BeaconParticipantError} If the cohort key state is not found for the given cohort ID.
115
- */
116
- getCohortKey(cohortId) {
117
- const keyIndex = this.cohortKeyState.get(cohortId);
118
- if (keyIndex === undefined) {
119
- throw new BeaconParticipantError(`Cohort key state for cohort ${cohortId} not found.`, 'COHORT_KEY_NOT_FOUND');
120
- }
121
- return this.hdKey.deriveChild(keyIndex);
122
- }
123
- /**
124
- * Sets the state of the cohort key for a given cohort ID and key index.
125
- * @param {string} cohortId The ID of the cohort for which to set the key state.
126
- * @returns {void}
127
- */
128
- setCohortKey(cohortId) {
129
- if (this.cohortKeyState.size > 0) {
130
- this.beaconKeyIndex = this.cohortKeyState.size + 1;
131
- }
132
- if (this.cohortKeyState.has(cohortId)) {
133
- console.warn(`Cohort key state for cohort ${cohortId} already exists. Updating key index.`);
134
- }
135
- this.cohortKeyState.set(cohortId, this.beaconKeyIndex);
136
- console.info(`Cohort key state updated. Next beacon key index: ${this.beaconKeyIndex + 1}`);
137
- }
138
- /**
139
- * Finalizes the placeholder "__UNSET__" key and assigns it to the provided cohortId.
140
- * If no "__UNSET__" entry exists, throws an error.
141
- * If cohortId already exists, logs a warning and does nothing.
142
- * @param {string} cohortId The ID of the cohort to finalize the unset key for.
143
- * @throws {BeaconParticipantError} If no "__UNSET__" cohort key state is found.
144
- * @returns {void}
145
- */
146
- finalizeUnsetCohortKey(cohortId) {
147
- const unsetKey = '__UNSET__';
148
- if (!this.cohortKeyState.has(unsetKey)) {
149
- throw new BeaconParticipantError(`No '__UNSET__' cohort key to finalize for ${this.did}`, 'UNSET_KEY_NOT_FOUND');
150
- }
151
- if (this.cohortKeyState.has(cohortId)) {
152
- console.warn(`Cohort key state already exists for ${cohortId}. Skipping migration from '__UNSET__'.`);
153
- this.cohortKeyState.delete(unsetKey);
154
- return;
155
- }
156
- this.setCohortKey(cohortId);
157
- this.cohortKeyState.delete(unsetKey);
158
- console.info(`Finalized '__UNSET__' CohortKeyState with ${cohortId} for ${this.did}`);
159
- }
160
- /**
161
- * Handle subscription acceptance from a coordinator.
162
- * @param {CohortOptInAcceptMessage} message The message containing the subscription acceptance.
163
- * @returns {Promise<void>}
164
- */
165
- async _handleSubscribeAccept(message) {
166
- const subscribeAcceptMessage = BeaconCohortOptInAcceptMessage.fromJSON(message);
167
- const coordinatorDid = subscribeAcceptMessage.from;
168
- if (!this.coordinatorDids.includes(coordinatorDid)) {
169
- this.coordinatorDids.push(coordinatorDid);
170
- }
171
- }
172
- /**
173
- * Handles a cohort advertisement message.
174
- * @param {Maybe<BeaconCohortAdvertMessage>} message The cohort advertisement message.
175
- * @returns {Promise<void>}
176
- */
177
- async _handleCohortAdvert(message) {
178
- console.debug('_handleCohortAdvert', message);
179
- const cohortAdvertMessage = BeaconCohortAdvertMessage.fromJSON(message);
180
- console.info(`Received new cohort announcement from ${cohortAdvertMessage.from}`, cohortAdvertMessage);
181
- const cohortId = cohortAdvertMessage.body?.cohortId;
182
- if (!cohortId) {
183
- console.warn('Received malformed cohort advert message: missing cohortId', cohortAdvertMessage);
184
- return;
185
- }
186
- const network = cohortAdvertMessage.body?.network;
187
- if (!network) {
188
- console.warn('Received malformed cohort advert message: missing network', cohortAdvertMessage);
189
- return;
190
- }
191
- const minParticipants = cohortAdvertMessage.body?.cohortSize;
192
- if (!cohortId || !network || !minParticipants) {
193
- console.warn('Received malformed cohort advert message: missing minParticipants', cohortAdvertMessage);
194
- return;
195
- }
196
- const from = cohortAdvertMessage.from;
197
- const cohort = new AggregateBeaconCohort({
198
- network,
199
- minParticipants,
200
- id: cohortId,
201
- coordinatorDid: from,
202
- });
203
- this.cohorts.push(cohort);
204
- await this.joinCohort(cohort.id, from);
205
- }
206
- /**
207
- * Handles a cohort set message.
208
- * @param {Maybe<CohortReadyMessage>} message The cohort set message.
209
- * @returns {Promise<void>}
210
- */
211
- async _handleCohortReady(message) {
212
- const cohortSetMessage = BeaconCohortReadyMessage.fromJSON(message);
213
- const cohortId = cohortSetMessage.body?.cohortId;
214
- const cohort = this.cohorts.find(c => c.id === cohortId);
215
- if (!cohortId || !cohort) {
216
- console.warn(`Cohort with ID ${cohortId} not found or not joined by participant ${this.did}.`);
217
- return;
218
- }
219
- this.finalizeUnsetCohortKey(cohortId);
220
- const participantPkBytes = this.getCohortKey(cohortId).publicKey;
221
- if (!participantPkBytes) {
222
- console.error(`Failed to derive public key for cohort ${cohortId}`);
223
- return;
224
- }
225
- const participantPk = bytesToHex(participantPkBytes);
226
- const beaconAddress = cohortSetMessage.body?.beaconAddress;
227
- if (!beaconAddress) {
228
- console.error(`Beacon address not provided in cohort set message for ${cohortId}`);
229
- return;
230
- }
231
- const cohortKeys = cohortSetMessage.body?.cohortKeys;
232
- if (!cohortKeys) {
233
- console.error(`Cohort keys not provided in cohort set message for ${cohortId}`);
234
- return;
235
- }
236
- const keys = cohortKeys.map(key => bytesToHex(new Uint8Array(key)));
237
- cohort.validateCohort([participantPk], keys, beaconAddress);
238
- console.info(`BeaconParticipant w/ pk ${participantPk} successfully joined cohort ${cohortId} with beacon address ${beaconAddress}.`);
239
- console.info(`Cohort status: ${cohort.status}`);
240
- }
241
- /**
242
- * Handles an authorization request message.
243
- * @param {Maybe<CohortAuthorizationRequestMessage>} message The authorization request message.
244
- * @returns {Promise<void>}
245
- */
246
- async _handleAuthorizationRequest(message) {
247
- const authRequest = BeaconCohortAuthorizationRequestMessage.fromJSON(message);
248
- const cohort = this.cohorts.find(c => c.id === authRequest.body?.cohortId);
249
- if (!cohort) {
250
- console.warn(`Authorization request for unknown cohort ${authRequest.body?.cohortId} from ${authRequest.from}`);
251
- return;
252
- }
253
- const id = authRequest.body?.sessionId;
254
- if (!id) {
255
- console.warn(`Authorization request missing session ID from ${authRequest.from}`);
256
- return;
257
- }
258
- const pendingTx = authRequest.body?.pendingTx;
259
- if (!pendingTx) {
260
- console.warn(`Authorization request missing pending transaction from ${authRequest.from}`);
261
- return;
262
- }
263
- const session = new BeaconCohortSigningSession({
264
- cohort,
265
- id,
266
- pendingTx: Transaction.fromHex(pendingTx),
267
- });
268
- this.activeSigningSessions.set(session.id, session);
269
- const nonceContribution = this.generateNonceContribution(cohort, session);
270
- await this.sendNonceContribution(cohort, nonceContribution, session);
271
- }
272
- /**
273
- * Handles an aggregated nonce message.
274
- * @param {Maybe<CohortAggregatedNonceMessage>} message The aggregated nonce message.
275
- * @returns {Promise<void>}
276
- */
277
- async _handleAggregatedNonce(message) {
278
- const aggNonceMessage = BeaconCohortAggregatedNonceMessage.fromJSON(message);
279
- const sessionId = aggNonceMessage.body?.sessionId;
280
- if (!sessionId) {
281
- console.warn(`Aggregated nonce message missing session ID from ${aggNonceMessage.from}`);
282
- return;
283
- }
284
- const session = this.activeSigningSessions.get(sessionId);
285
- if (!session) {
286
- console.warn(`Aggregated nonce message received for unknown session ${sessionId}`);
287
- return;
288
- }
289
- const aggregatedNonce = aggNonceMessage.body?.aggregatedNonce;
290
- if (!aggregatedNonce) {
291
- console.warn(`Aggregated nonce message missing aggregated nonce from ${aggNonceMessage.from}`);
292
- return;
293
- }
294
- session.aggregatedNonce = aggregatedNonce;
295
- const participantSk = this.getCohortKey(session.cohort.id).privateKey;
296
- if (!participantSk) {
297
- console.error(`Failed to derive secret key for cohort ${session.cohort.id}`);
298
- return;
299
- }
300
- const partialSig = session.generatePartialSignature(participantSk);
301
- await this.sendPartialSignature(session, partialSig);
302
- }
303
- ;
304
- /**
305
- * Subscribes to a coordinator's messages.
306
- * @param {string} coordinatorDid The DID of the coordinator to subscribe to.
307
- * @returns {Promise<void>}
308
- */
309
- async subscribeToCoordinator(coordinatorDid) {
310
- if (this.coordinatorDids.includes(coordinatorDid)) {
311
- console.info(`Already subscribed to coordinator ${coordinatorDid}`);
312
- return;
313
- }
314
- const subMessage = new BeaconCohortSubscribeMessage({ to: coordinatorDid, from: this.did });
315
- return await this.protocol.sendMessage(subMessage, this.did, coordinatorDid);
316
- }
317
- /**
318
- * Joins a cohort with the given ID and coordinator DID.
319
- * @param {string} cohortId The ID of the cohort to join.
320
- * @param {string} coordinatorDid The DID of the cohort coordinator.
321
- * @returns {Promise<void>}
322
- */
323
- async joinCohort(cohortId, coordinatorDid) {
324
- console.info(`BeaconParticipant ${this.did} joining cohort ${cohortId} with coordinator ${coordinatorDid}`);
325
- this.finalizeUnsetCohortKey(cohortId);
326
- const cohort = this.cohorts.find(c => c.id === cohortId);
327
- if (!cohort) {
328
- console.warn(`Cohort with ID ${cohortId} not found.`);
329
- return;
330
- }
331
- const pk = this.getCohortKey(cohortId).publicKey;
332
- if (!pk) {
333
- console.error(`Failed to derive public key for cohort ${cohortId} at index ${this.beaconKeyIndex}`);
334
- return;
335
- }
336
- this.setCohortKey(cohortId);
337
- const optInMessage = new BeaconCohortOptInMessage({
338
- cohortId,
339
- participantPk: pk,
340
- from: this.did,
341
- to: coordinatorDid,
342
- });
343
- await this.protocol.sendMessage(optInMessage, this.did, coordinatorDid);
344
- cohort.status = COHORT_STATUS.COHORT_OPTED_IN;
345
- }
346
- /**
347
- * Requests a signature for the given cohort and data.
348
- * @param {string} cohortId The ID of the cohort for which to request a signature.
349
- * @param {string} data The data for which to request a signature.
350
- * @returns {Promise<boolean>} Whether the signature request was successful.
351
- */
352
- async requestCohortSignature(cohortId, data) {
353
- const cohort = this.cohorts.find(c => c.id === cohortId);
354
- if (!cohort) {
355
- console.warn(`Cohort with ID ${cohortId} not found.`);
356
- return false;
357
- }
358
- if (cohort.status !== COHORT_STATUS.COHORT_SET_STATUS) {
359
- console.warn(`Cohort ${cohortId} not in a set state. Current status: ${cohort.status}`);
360
- return false;
361
- }
362
- const reqSigMessage = new BeaconCohortRequestSignatureMessage({
363
- to: cohort.coordinatorDid,
364
- from: this.did,
365
- data,
366
- cohortId
367
- });
368
- await this.protocol.sendMessage(reqSigMessage, this.did, cohort.coordinatorDid);
369
- return true;
370
- }
371
- /**
372
- * Generates a nonce contribution for the given cohort and session.
373
- * @param {AggregateBeaconCohort} cohort The cohort for which to generate the nonce contribution.
374
- * @param {BeaconCohortSigningSession} session The session for which to generate the nonce contribution.
375
- * @returns {Promise<string[]>} An array of nonce points in hexadecimal format.
376
- */
377
- generateNonceContribution(cohort, session) {
378
- const cohortKey = this.getCohortKey(cohort.id);
379
- if (!cohortKey) {
380
- throw new BeaconParticipantError(`Cohort key state not found for cohort ${cohort.id}`, 'COHORT_KEY_NOT_FOUND', cohortKey);
381
- }
382
- const { publicKey, privateKey } = cohortKey;
383
- if (!publicKey || !privateKey) {
384
- throw new BeaconParticipantError(`Failed to derive public key for cohort ${cohort.id}`, 'PARTICIPANT_PK_NOT_FOUND', cohortKey);
385
- }
386
- session.aggregatedNonce ??= session.generateAggregatedNonce();
387
- return musig2.nonceGen(publicKey, privateKey, session.aggregatedNonce, cohort.trMerkleRoot).public;
388
- }
389
- /**
390
- * Sends a nonce contribution message to the cohort coordinator.
391
- * @param {AggregateBeaconCohort} cohort The cohort to which the nonce contribution is sent.
392
- * @param {Uint8Array} nonceContribution The nonce contribution points in hexadecimal format.
393
- * @param {BeaconCohortSigningSession} session The session associated with the nonce contribution.
394
- */
395
- async sendNonceContribution(cohort, nonceContribution, session) {
396
- const nonceContributionMessage = BeaconCohortNonceContributionMessage.fromJSON({
397
- to: cohort.coordinatorDid,
398
- from: this.did,
399
- sessionId: session.id,
400
- cohortId: cohort.id,
401
- nonceContribution
402
- });
403
- await this.protocol.sendMessage(nonceContributionMessage, this.did, cohort.coordinatorDid);
404
- console.info(`Nonce contribution sent for session ${session.id} in cohort ${cohort.id} by participant ${this.did}`);
405
- }
406
- /**
407
- * Sends a partial signature for the given session.
408
- * @param {BeaconCohortSigningSession} session The session for which the partial signature is sent.
409
- * @param {Uint8Array} partialSig The partial signature to send.
410
- * @returns {Promise<void>}
411
- */
412
- async sendPartialSignature(session, partialSig) {
413
- const sigAuthMessage = new BeaconCohortSignatureAuthorizationMessage({
414
- to: session.cohort.coordinatorDid,
415
- from: this.did,
416
- cohortId: session.cohort.id,
417
- sessionId: session.id,
418
- partialSignature: partialSig,
419
- });
420
- await this.protocol.sendMessage(sigAuthMessage, this.did, session.cohort.coordinatorDid);
421
- console.info(`Partial signature sent for session ${session.id} in cohort ${session.cohort.id} by participant ${this.did}`);
422
- }
423
- /**
424
- * Initializes a new BeaconParticipant instance.
425
- * @param {Seed | Mnemonic} ent The secret key used for signing.
426
- * @param {CommunicationService} protocol The communication protocol used by the participant.
427
- * @param {string} [name] The name of the participant.
428
- * @param {string} [did] The decentralized identifier (DID) of the participant.
429
- * @returns {BeaconParticipant} A new instance of BeaconParticipant.
430
- */
431
- static initialize(ent, protocol, did, name) {
432
- return new BeaconParticipant({ ent, protocol, name, did });
433
- }
434
- }
435
- //# sourceMappingURL=participant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"participant.js","sourceRoot":"","sources":["../../../../../src/core/beacon/aggregation/participant.ts"],"names":[],"mappings":"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"}