@enbox/dwn-sdk-js 0.0.5 → 0.0.7

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 (363) hide show
  1. package/dist/browser.mjs +8 -8
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +1 -2
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/abstract-message.js +4 -0
  6. package/dist/esm/src/core/abstract-message.js.map +1 -1
  7. package/dist/esm/src/core/auth.js +22 -33
  8. package/dist/esm/src/core/auth.js.map +1 -1
  9. package/dist/esm/src/core/dwn-constant.js +7 -7
  10. package/dist/esm/src/core/dwn-constant.js.map +1 -1
  11. package/dist/esm/src/core/dwn-error.js +1 -0
  12. package/dist/esm/src/core/dwn-error.js.map +1 -1
  13. package/dist/esm/src/core/grant-authorization.js +37 -52
  14. package/dist/esm/src/core/grant-authorization.js.map +1 -1
  15. package/dist/esm/src/core/message.js +85 -116
  16. package/dist/esm/src/core/message.js.map +1 -1
  17. package/dist/esm/src/core/messages-grant-authorization.js +63 -78
  18. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  19. package/dist/esm/src/core/protocol-authorization-action.js +266 -0
  20. package/dist/esm/src/core/protocol-authorization-action.js.map +1 -0
  21. package/dist/esm/src/core/protocol-authorization-validation.js +254 -0
  22. package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -0
  23. package/dist/esm/src/core/protocol-authorization.js +122 -740
  24. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  25. package/dist/esm/src/core/protocols-grant-authorization.js +24 -38
  26. package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
  27. package/dist/esm/src/core/record-chain.js +64 -0
  28. package/dist/esm/src/core/record-chain.js.map +1 -0
  29. package/dist/esm/src/core/records-grant-authorization.js +55 -72
  30. package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
  31. package/dist/esm/src/core/resumable-task-manager.js +50 -65
  32. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  33. package/dist/esm/src/core/tenant-gate.js +2 -13
  34. package/dist/esm/src/core/tenant-gate.js.map +1 -1
  35. package/dist/esm/src/dwn.js +69 -86
  36. package/dist/esm/src/dwn.js.map +1 -1
  37. package/dist/esm/src/event-stream/event-emitter-stream.js +17 -31
  38. package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -1
  39. package/dist/esm/src/handlers/messages-read.js +67 -77
  40. package/dist/esm/src/handlers/messages-read.js.map +1 -1
  41. package/dist/esm/src/handlers/messages-subscribe.js +51 -61
  42. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  43. package/dist/esm/src/handlers/messages-sync.js +75 -85
  44. package/dist/esm/src/handlers/messages-sync.js.map +1 -1
  45. package/dist/esm/src/handlers/protocols-configure.js +135 -155
  46. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  47. package/dist/esm/src/handlers/protocols-query.js +52 -51
  48. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  49. package/dist/esm/src/handlers/records-count.js +96 -82
  50. package/dist/esm/src/handlers/records-count.js.map +1 -1
  51. package/dist/esm/src/handlers/records-delete.js +78 -88
  52. package/dist/esm/src/handlers/records-delete.js.map +1 -1
  53. package/dist/esm/src/handlers/records-query.js +116 -101
  54. package/dist/esm/src/handlers/records-query.js.map +1 -1
  55. package/dist/esm/src/handlers/records-read.js +124 -131
  56. package/dist/esm/src/handlers/records-read.js.map +1 -1
  57. package/dist/esm/src/handlers/records-subscribe.js +150 -103
  58. package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
  59. package/dist/esm/src/handlers/records-write.js +250 -259
  60. package/dist/esm/src/handlers/records-write.js.map +1 -1
  61. package/dist/esm/src/interfaces/messages-read.js +24 -32
  62. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  63. package/dist/esm/src/interfaces/messages-subscribe.js +27 -41
  64. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  65. package/dist/esm/src/interfaces/messages-sync.js +26 -40
  66. package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
  67. package/dist/esm/src/interfaces/protocols-configure.js +63 -63
  68. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  69. package/dist/esm/src/interfaces/protocols-query.js +55 -68
  70. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  71. package/dist/esm/src/interfaces/records-count.js +50 -66
  72. package/dist/esm/src/interfaces/records-count.js.map +1 -1
  73. package/dist/esm/src/interfaces/records-delete.js +45 -55
  74. package/dist/esm/src/interfaces/records-delete.js.map +1 -1
  75. package/dist/esm/src/interfaces/records-query.js +60 -76
  76. package/dist/esm/src/interfaces/records-query.js.map +1 -1
  77. package/dist/esm/src/interfaces/records-read.js +51 -67
  78. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  79. package/dist/esm/src/interfaces/records-subscribe.js +52 -68
  80. package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
  81. package/dist/esm/src/interfaces/records-write-query.js +102 -0
  82. package/dist/esm/src/interfaces/records-write-query.js.map +1 -0
  83. package/dist/esm/src/interfaces/records-write-signing.js +92 -0
  84. package/dist/esm/src/interfaces/records-write-signing.js.map +1 -0
  85. package/dist/esm/src/interfaces/records-write.js +407 -602
  86. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  87. package/dist/esm/src/jose/algorithms/signing/ed25519.js +10 -19
  88. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  89. package/dist/esm/src/jose/jws/general/builder.js +23 -35
  90. package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
  91. package/dist/esm/src/jose/jws/general/verifier.js +56 -69
  92. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  93. package/dist/esm/src/protocols/permission-grant.js +44 -15
  94. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  95. package/dist/esm/src/protocols/permission-request.js +29 -15
  96. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  97. package/dist/esm/src/protocols/permissions.js +216 -226
  98. package/dist/esm/src/protocols/permissions.js.map +1 -1
  99. package/dist/esm/src/smt/smt-store-level.js +42 -64
  100. package/dist/esm/src/smt/smt-store-level.js.map +1 -1
  101. package/dist/esm/src/smt/smt-store-memory.js +19 -45
  102. package/dist/esm/src/smt/smt-store-memory.js.map +1 -1
  103. package/dist/esm/src/smt/smt-utils.js +28 -45
  104. package/dist/esm/src/smt/smt-utils.js.map +1 -1
  105. package/dist/esm/src/smt/sparse-merkle-tree.js +426 -471
  106. package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -1
  107. package/dist/esm/src/state-index/state-index-level.js +115 -150
  108. package/dist/esm/src/state-index/state-index-level.js.map +1 -1
  109. package/dist/esm/src/store/blockstore-level.js +54 -156
  110. package/dist/esm/src/store/blockstore-level.js.map +1 -1
  111. package/dist/esm/src/store/blockstore-mock.js +48 -153
  112. package/dist/esm/src/store/blockstore-mock.js.map +1 -1
  113. package/dist/esm/src/store/data-store-level.js +59 -99
  114. package/dist/esm/src/store/data-store-level.js.map +1 -1
  115. package/dist/esm/src/store/index-level-compound.js +246 -0
  116. package/dist/esm/src/store/index-level-compound.js.map +1 -0
  117. package/dist/esm/src/store/index-level.js +295 -713
  118. package/dist/esm/src/store/index-level.js.map +1 -1
  119. package/dist/esm/src/store/level-wrapper.js +143 -244
  120. package/dist/esm/src/store/level-wrapper.js.map +1 -1
  121. package/dist/esm/src/store/message-store-level.js +71 -94
  122. package/dist/esm/src/store/message-store-level.js.map +1 -1
  123. package/dist/esm/src/store/resumable-task-store-level.js +62 -101
  124. package/dist/esm/src/store/resumable-task-store-level.js.map +1 -1
  125. package/dist/esm/src/store/storage-controller.js +129 -144
  126. package/dist/esm/src/store/storage-controller.js.map +1 -1
  127. package/dist/esm/src/utils/abort.js +8 -19
  128. package/dist/esm/src/utils/abort.js.map +1 -1
  129. package/dist/esm/src/utils/array.js +15 -49
  130. package/dist/esm/src/utils/array.js.map +1 -1
  131. package/dist/esm/src/utils/cid.js +29 -77
  132. package/dist/esm/src/utils/cid.js.map +1 -1
  133. package/dist/esm/src/utils/data-stream.js +37 -65
  134. package/dist/esm/src/utils/data-stream.js.map +1 -1
  135. package/dist/esm/src/utils/encryption.js +136 -162
  136. package/dist/esm/src/utils/encryption.js.map +1 -1
  137. package/dist/esm/src/utils/filter.js +1 -12
  138. package/dist/esm/src/utils/filter.js.map +1 -1
  139. package/dist/esm/src/utils/hd-key.js +45 -63
  140. package/dist/esm/src/utils/hd-key.js.map +1 -1
  141. package/dist/esm/src/utils/jws.js +9 -20
  142. package/dist/esm/src/utils/jws.js.map +1 -1
  143. package/dist/esm/src/utils/memory-cache.js +12 -23
  144. package/dist/esm/src/utils/memory-cache.js.map +1 -1
  145. package/dist/esm/src/utils/messages.js +9 -3
  146. package/dist/esm/src/utils/messages.js.map +1 -1
  147. package/dist/esm/src/utils/private-key-signer.js +9 -17
  148. package/dist/esm/src/utils/private-key-signer.js.map +1 -1
  149. package/dist/esm/src/utils/protocols.js +62 -70
  150. package/dist/esm/src/utils/protocols.js.map +1 -1
  151. package/dist/esm/src/utils/records.js +108 -140
  152. package/dist/esm/src/utils/records.js.map +1 -1
  153. package/dist/esm/src/utils/secp256k1.js +60 -96
  154. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  155. package/dist/esm/src/utils/secp256r1.js +54 -71
  156. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  157. package/dist/esm/src/utils/time.js +5 -18
  158. package/dist/esm/src/utils/time.js.map +1 -1
  159. package/dist/esm/src/utils/url.js +3 -3
  160. package/dist/esm/src/utils/url.js.map +1 -1
  161. package/dist/esm/tests/core/auth.spec.js +3 -12
  162. package/dist/esm/tests/core/auth.spec.js.map +1 -1
  163. package/dist/esm/tests/core/message.spec.js +50 -59
  164. package/dist/esm/tests/core/message.spec.js.map +1 -1
  165. package/dist/esm/tests/core/protocol-authorization.spec.js +9 -18
  166. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  167. package/dist/esm/tests/dwn.spec.js +45 -58
  168. package/dist/esm/tests/dwn.spec.js.map +1 -1
  169. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +24 -33
  170. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -1
  171. package/dist/esm/tests/event-stream/event-stream.spec.js +46 -55
  172. package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -1
  173. package/dist/esm/tests/features/author-delegated-grant.spec.js +326 -343
  174. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  175. package/dist/esm/tests/features/owner-delegated-grant.spec.js +153 -169
  176. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  177. package/dist/esm/tests/features/owner-signature.spec.js +67 -78
  178. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  179. package/dist/esm/tests/features/permissions.spec.js +446 -181
  180. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  181. package/dist/esm/tests/features/protocol-composition.spec.js +346 -356
  182. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  183. package/dist/esm/tests/features/protocol-create-action.spec.js +42 -51
  184. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  185. package/dist/esm/tests/features/protocol-delete-action.spec.js +94 -103
  186. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  187. package/dist/esm/tests/features/protocol-update-action.spec.js +105 -114
  188. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  189. package/dist/esm/tests/features/records-prune.spec.js +175 -191
  190. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  191. package/dist/esm/tests/features/records-tags.spec.js +441 -460
  192. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  193. package/dist/esm/tests/features/resumable-tasks.spec.js +82 -91
  194. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  195. package/dist/esm/tests/handlers/messages-read.spec.js +206 -207
  196. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  197. package/dist/esm/tests/handlers/messages-subscribe.spec.js +145 -154
  198. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  199. package/dist/esm/tests/handlers/messages-sync.spec.js +174 -183
  200. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
  201. package/dist/esm/tests/handlers/protocols-configure.spec.js +244 -238
  202. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  203. package/dist/esm/tests/handlers/protocols-query.spec.js +156 -169
  204. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  205. package/dist/esm/tests/handlers/records-count.spec.js +93 -102
  206. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
  207. package/dist/esm/tests/handlers/records-delete.spec.js +252 -264
  208. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  209. package/dist/esm/tests/handlers/records-query.spec.js +917 -988
  210. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  211. package/dist/esm/tests/handlers/records-read.spec.js +553 -568
  212. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  213. package/dist/esm/tests/handlers/records-subscribe.spec.js +269 -278
  214. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  215. package/dist/esm/tests/handlers/records-write.spec.js +1057 -1082
  216. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  217. package/dist/esm/tests/interfaces/messages-get.spec.js +39 -48
  218. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  219. package/dist/esm/tests/interfaces/messages-subscribe.spec.js +4 -13
  220. package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
  221. package/dist/esm/tests/interfaces/protocols-configure.spec.js +212 -88
  222. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  223. package/dist/esm/tests/interfaces/protocols-query.spec.js +8 -17
  224. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
  225. package/dist/esm/tests/interfaces/records-delete.spec.js +8 -17
  226. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  227. package/dist/esm/tests/interfaces/records-query.spec.js +20 -29
  228. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  229. package/dist/esm/tests/interfaces/records-read.spec.js +42 -51
  230. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
  231. package/dist/esm/tests/interfaces/records-subscribe.spec.js +16 -25
  232. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  233. package/dist/esm/tests/interfaces/records-write.spec.js +152 -165
  234. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  235. package/dist/esm/tests/jose/jws/general.spec.js +36 -45
  236. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  237. package/dist/esm/tests/protocols/permission-grant.spec.js +44 -50
  238. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
  239. package/dist/esm/tests/protocols/permission-request.spec.js +23 -32
  240. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  241. package/dist/esm/tests/protocols/permissions.spec.js +49 -55
  242. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  243. package/dist/esm/tests/scenarios/aggregator.spec.js +124 -135
  244. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  245. package/dist/esm/tests/scenarios/deleted-record.spec.js +23 -32
  246. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  247. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +52 -61
  248. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  249. package/dist/esm/tests/scenarios/nested-roles.spec.js +63 -73
  250. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  251. package/dist/esm/tests/scenarios/subscriptions.spec.js +377 -333
  252. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  253. package/dist/esm/tests/smt/smt-store-level.spec.js +76 -87
  254. package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -1
  255. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +344 -353
  256. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -1
  257. package/dist/esm/tests/state-index/state-index-level.spec.js +117 -126
  258. package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -1
  259. package/dist/esm/tests/store/blockstore-level.spec.js +44 -99
  260. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
  261. package/dist/esm/tests/store/blockstore-mock.spec.js +40 -120
  262. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  263. package/dist/esm/tests/store/data-store-level.spec.js +86 -95
  264. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  265. package/dist/esm/tests/store/index-level.spec.js +404 -414
  266. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  267. package/dist/esm/tests/store/message-store-level.spec.js +13 -22
  268. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  269. package/dist/esm/tests/store/message-store.spec.js +229 -238
  270. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  271. package/dist/esm/tests/test-event-stream.js +3 -3
  272. package/dist/esm/tests/test-event-stream.js.map +1 -1
  273. package/dist/esm/tests/test-stores.js +16 -13
  274. package/dist/esm/tests/test-stores.js.map +1 -1
  275. package/dist/esm/tests/test-suite.js +2 -11
  276. package/dist/esm/tests/test-suite.js.map +1 -1
  277. package/dist/esm/tests/utils/cid.spec.js +24 -33
  278. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  279. package/dist/esm/tests/utils/data-stream.spec.js +48 -57
  280. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  281. package/dist/esm/tests/utils/encryption-callbacks.spec.js +45 -54
  282. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  283. package/dist/esm/tests/utils/encryption.spec.js +291 -44
  284. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  285. package/dist/esm/tests/utils/filters.spec.js +46 -55
  286. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  287. package/dist/esm/tests/utils/hd-key.spec.js +10 -19
  288. package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
  289. package/dist/esm/tests/utils/jws.spec.js +3 -12
  290. package/dist/esm/tests/utils/jws.spec.js.map +1 -1
  291. package/dist/esm/tests/utils/memory-cache.spec.js +9 -18
  292. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  293. package/dist/esm/tests/utils/messages.spec.js +6 -15
  294. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  295. package/dist/esm/tests/utils/poller.js +22 -33
  296. package/dist/esm/tests/utils/poller.js.map +1 -1
  297. package/dist/esm/tests/utils/private-key-signer.spec.js +15 -24
  298. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
  299. package/dist/esm/tests/utils/records.spec.js +10 -19
  300. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  301. package/dist/esm/tests/utils/secp256k1.spec.js +16 -25
  302. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  303. package/dist/esm/tests/utils/secp256r1.spec.js +18 -27
  304. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  305. package/dist/esm/tests/utils/test-data-generator.js +414 -468
  306. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  307. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +2 -11
  308. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
  309. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +4 -13
  310. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
  311. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -17
  312. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
  313. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +3 -12
  314. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
  315. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +4 -13
  316. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  317. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +2 -11
  318. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
  319. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +2 -11
  320. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -1
  321. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +7 -16
  322. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  323. package/dist/types/src/core/protocol-authorization-action.d.ts +42 -0
  324. package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -0
  325. package/dist/types/src/core/protocol-authorization-validation.d.ts +60 -0
  326. package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -0
  327. package/dist/types/src/core/protocol-authorization.d.ts +10 -100
  328. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  329. package/dist/types/src/core/record-chain.d.ts +24 -0
  330. package/dist/types/src/core/record-chain.d.ts.map +1 -0
  331. package/dist/types/src/handlers/records-write.d.ts +2 -1
  332. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  333. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  334. package/dist/types/src/interfaces/records-write-query.d.ts +33 -0
  335. package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -0
  336. package/dist/types/src/interfaces/records-write-signing.d.ts +35 -0
  337. package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -0
  338. package/dist/types/src/interfaces/records-write.d.ts +10 -44
  339. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  340. package/dist/types/src/store/index-level-compound.d.ts +70 -0
  341. package/dist/types/src/store/index-level-compound.d.ts.map +1 -0
  342. package/dist/types/src/store/index-level.d.ts +0 -58
  343. package/dist/types/src/store/index-level.d.ts.map +1 -1
  344. package/dist/types/src/utils/protocols.d.ts +5 -0
  345. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  346. package/dist/types/src/utils/records.d.ts +3 -1
  347. package/dist/types/src/utils/records.d.ts.map +1 -1
  348. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  349. package/package.json +3 -3
  350. package/src/core/protocol-authorization-action.ts +377 -0
  351. package/src/core/protocol-authorization-validation.ts +391 -0
  352. package/src/core/protocol-authorization.ts +60 -849
  353. package/src/core/record-chain.ts +99 -0
  354. package/src/handlers/records-read.ts +1 -1
  355. package/src/handlers/records-write.ts +37 -21
  356. package/src/interfaces/protocols-configure.ts +33 -5
  357. package/src/interfaces/records-write-query.ts +139 -0
  358. package/src/interfaces/records-write-signing.ts +143 -0
  359. package/src/interfaces/records-write.ts +49 -221
  360. package/src/store/index-level-compound.ts +324 -0
  361. package/src/store/index-level.ts +24 -306
  362. package/src/utils/protocols.ts +8 -0
  363. package/src/utils/records.ts +9 -15
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../../tests/utils/poller.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,MAAM,OAAO,MAAM;IAYjB;;;;;;;;OAQG;IACH,MAAM,CAAO,yBAAyB;6DACpC,QAA0B,EAC1B,aAAqB,MAAM,CAAC,cAAc,EAC1C,UAAkB,MAAM,CAAC,WAAW;YAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,OAAO,IAAI,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,2CAA2C;oBAC3C,OAAO,MAAM,QAAQ,EAAE,CAAC;gBAC1B,CAAC;gBAAC,WAAM,CAAC;oBACP,yCAAyC;oBACzC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;wBACtC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACzC,CAAC;oBAED,uDAAuD;oBACvD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;KAAA;;AAxCD;;GAEG;AACI,qBAAc,GAAW,EAAE,CAAC;AAEnC;;GAEG;AACI,kBAAW,GAAW,IAAI,CAAC"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../../tests/utils/poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,MAAM,OAAO,MAAM;IAEjB;;OAEG;IACH,MAAM,CAAC,cAAc,GAAW,EAAE,CAAC;IAEnC;;OAEG;IACH,MAAM,CAAC,WAAW,GAAW,IAAI,CAAC;IAElC;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,yBAAyB,CACpC,QAA0B,EAC1B,aAAqB,MAAM,CAAC,cAAc,EAC1C,UAAkB,MAAM,CAAC,WAAW;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,2CAA2C;gBAC3C,OAAO,MAAM,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;gBACzC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;gBAED,uDAAuD;gBACvD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC"}
@@ -1,44 +1,35 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
11
2
  import { PrivateKeySigner } from '../../src/index.js';
12
3
  import { Secp256k1 } from '../../src/utils/secp256k1.js';
13
4
  import { describe, expect, it } from 'bun:test';
14
5
  describe('PrivateKeySigner', () => {
15
6
  describe('constructor', () => {
16
- it('should use key ID found in the private JWK if no key ID is explicitly given', () => __awaiter(void 0, void 0, void 0, function* () {
17
- const { privateJwk } = yield Secp256k1.generateKeyPair();
7
+ it('should use key ID found in the private JWK if no key ID is explicitly given', async () => {
8
+ const { privateJwk } = await Secp256k1.generateKeyPair();
18
9
  privateJwk.kid = 'awesome-key-id';
19
10
  const signer = new PrivateKeySigner({ privateJwk });
20
11
  expect(signer.keyId).toBe(privateJwk.kid);
21
- }));
22
- it('should override signature algorithm found in the private JWK if a value is explicitly given', () => __awaiter(void 0, void 0, void 0, function* () {
23
- const { privateJwk } = yield Secp256k1.generateKeyPair();
12
+ });
13
+ it('should override signature algorithm found in the private JWK if a value is explicitly given', async () => {
14
+ const { privateJwk } = await Secp256k1.generateKeyPair();
24
15
  const explicitlySpecifiedAlgorithm = 'awesome-algorithm';
25
16
  const signer = new PrivateKeySigner({ privateJwk, keyId: 'anyValue', algorithm: explicitlySpecifiedAlgorithm });
26
17
  expect(signer.algorithm).toBe(explicitlySpecifiedAlgorithm);
27
- }));
28
- it('should throw if key ID is not explicitly specified and not given in private JWK', () => __awaiter(void 0, void 0, void 0, function* () {
29
- const { privateJwk } = yield Secp256k1.generateKeyPair();
18
+ });
19
+ it('should throw if key ID is not explicitly specified and not given in private JWK', async () => {
20
+ const { privateJwk } = await Secp256k1.generateKeyPair();
30
21
  expect(() => new PrivateKeySigner({ privateJwk })).toThrow(DwnErrorCode.PrivateKeySignerUnableToDeduceKeyId);
31
- }));
32
- it('should throw if signature algorithm is not explicitly specified and not given in private JWK', () => __awaiter(void 0, void 0, void 0, function* () {
33
- const { privateJwk } = yield Secp256k1.generateKeyPair();
22
+ });
23
+ it('should throw if signature algorithm is not explicitly specified and not given in private JWK', async () => {
24
+ const { privateJwk } = await Secp256k1.generateKeyPair();
34
25
  delete privateJwk.alg; // remove `alg` for this test
35
26
  expect(() => new PrivateKeySigner({ privateJwk, keyId: 'anyValue' })).toThrow(DwnErrorCode.PrivateKeySignerUnableToDeduceAlgorithm);
36
- }));
37
- it('should throw if crypto curve of the given private JWK is not supported', () => __awaiter(void 0, void 0, void 0, function* () {
38
- const { privateJwk } = yield Secp256k1.generateKeyPair();
27
+ });
28
+ it('should throw if crypto curve of the given private JWK is not supported', async () => {
29
+ const { privateJwk } = await Secp256k1.generateKeyPair();
39
30
  privateJwk.crv = 'unknown'; // change `crv` to an unsupported value for this test
40
31
  expect(() => new PrivateKeySigner({ privateJwk, keyId: 'anyValue' })).toThrow(DwnErrorCode.PrivateKeySignerUnsupportedCurve);
41
- }));
32
+ });
42
33
  });
43
34
  });
44
35
  //# sourceMappingURL=private-key-signer.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"private-key-signer.spec.js","sourceRoot":"","sources":["../../../../tests/utils/private-key-signer.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6EAA6E,EAAE,GAAS,EAAE;YAC3F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YACzD,UAAU,CAAC,GAAG,GAAG,gBAAgB,CAAC;YAElC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,GAAS,EAAE;YAC3G,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAChH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC9D,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,GAAS,EAAE;YAC/F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;QAC/G,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,8FAA8F,EAAE,GAAS,EAAE;YAC5G,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,6BAA6B;YAEpD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;QACtI,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,GAAS,EAAE;YACtF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YACxD,UAAkB,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,qDAAqD;YAE1F,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;QAC/H,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"private-key-signer.spec.js","sourceRoot":"","sources":["../../../../tests/utils/private-key-signer.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YACzD,UAAU,CAAC,GAAG,GAAG,gBAAgB,CAAC;YAElC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YAC3G,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,4BAA4B,GAAG,mBAAmB,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAChH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,mCAAmC,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;YAC5G,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,6BAA6B;YAEpD,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;QACtI,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YACxD,UAAkB,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,qDAAqD;YAE1F,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAC;QAC/H,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { describe, expect, it } from 'bun:test';
11
2
  import { DateSort } from '../../src/types/records-types.js';
12
3
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
@@ -15,17 +6,17 @@ import { SortDirection } from '../../src/types/query-types.js';
15
6
  import { DwnInterfaceName, DwnMethodName, KeyDerivationScheme, Records } from '../../src/index.js';
16
7
  describe('Records', () => {
17
8
  describe('deriveLeafPrivateKey()', () => {
18
- it('should throw if given private key is not supported', () => __awaiter(void 0, void 0, void 0, function* () {
9
+ it('should throw if given private key is not supported', async () => {
19
10
  const derivedKey = {
20
11
  rootKeyId: 'unused',
21
12
  derivationScheme: KeyDerivationScheme.ProtocolPath,
22
- derivedPrivateKey: (yield ed25519.generateKeyPair()).privateJwk
13
+ derivedPrivateKey: (await ed25519.generateKeyPair()).privateJwk
23
14
  };
24
- yield expect(Records.derivePrivateKey(derivedKey, ['a'])).rejects.toThrow(DwnErrorCode.RecordsDerivePrivateKeyUnSupportedCurve);
25
- }));
15
+ await expect(Records.derivePrivateKey(derivedKey, ['a'])).rejects.toThrow(DwnErrorCode.RecordsDerivePrivateKeyUnSupportedCurve);
16
+ });
26
17
  });
27
18
  describe('constructKeyDerivationPathUsingProtocolPathScheme()', () => {
28
- it('should throw if given a flat-space descriptor', () => __awaiter(void 0, void 0, void 0, function* () {
19
+ it('should throw if given a flat-space descriptor', async () => {
29
20
  const descriptor = {
30
21
  interface: DwnInterfaceName.Records,
31
22
  method: DwnMethodName.Write,
@@ -37,19 +28,19 @@ describe('Records', () => {
37
28
  };
38
29
  expect(() => Records.constructKeyDerivationPathUsingProtocolPathScheme(descriptor))
39
30
  .toThrow(DwnErrorCode.RecordsProtocolPathDerivationSchemeMissingProtocol);
40
- }));
31
+ });
41
32
  });
42
33
  describe('constructKeyDerivationPathUsingProtocolContextScheme()', () => {
43
- it('should throw if not given contextId', () => __awaiter(void 0, void 0, void 0, function* () {
34
+ it('should throw if not given contextId', async () => {
44
35
  expect(() => Records.constructKeyDerivationPathUsingProtocolContextScheme(undefined))
45
36
  .toThrow(DwnErrorCode.RecordsProtocolContextDerivationSchemeMissingContextId);
46
- }));
37
+ });
47
38
  });
48
39
  describe('constructKeyDerivationPathUsingSchemasScheme()', () => {
49
- it('should throw if not given schema', () => __awaiter(void 0, void 0, void 0, function* () {
40
+ it('should throw if not given schema', async () => {
50
41
  expect(() => Records.constructKeyDerivationPathUsingSchemasScheme(undefined))
51
42
  .toThrow(DwnErrorCode.RecordsSchemasDerivationSchemeMissingSchema);
52
- }));
43
+ });
53
44
  });
54
45
  describe('convertDateSort()', () => {
55
46
  it('should return messageTimestamp descending when no dateSort is given', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"records.spec.js","sourceRoot":"","sources":["../../../../tests/utils/records.spec.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,8CAA8C,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEnG,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,oDAAoD,EAAE,GAAS,EAAE;YAClE,MAAM,UAAU,GAAsB;gBACpC,SAAS,EAAW,QAAQ;gBAC5B,gBAAgB,EAAI,mBAAmB,CAAC,YAAY;gBACpD,iBAAiB,EAAG,CAAC,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,UAAU;aACjE,CAAC;YACF,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;QAClI,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;QACnE,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;YAC7D,MAAM,UAAU,GAA2B;gBACzC,SAAS,EAAU,gBAAgB,CAAC,OAAO;gBAC3C,MAAM,EAAa,aAAa,CAAC,KAAK;gBACtC,OAAO,EAAY,QAAQ;gBAC3B,UAAU,EAAS,kBAAkB;gBACrC,QAAQ,EAAW,GAAG;gBACtB,WAAW,EAAQ,6BAA6B;gBAChD,gBAAgB,EAAG,6BAA6B;aACjD,CAAC;YAEF,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,UAAU,CAAC,CAAC;iBAChF,OAAO,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;QAC9E,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACtE,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,SAAS,CAAC,CAAC;iBAClF,OAAO,CAAC,YAAY,CAAC,sDAAsD,CAAC,CAAC;QAClF,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;QAC9D,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;YAChD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,SAAS,CAAC,CAAC;iBAC1E,OAAO,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;QACvE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;YAClE,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"records.spec.js","sourceRoot":"","sources":["../../../../tests/utils/records.spec.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { base64url } from 'multiformats/bases/base64';
11
2
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
12
3
  import { Secp256k1 } from '../../src/utils/secp256k1.js';
@@ -14,37 +5,37 @@ import { TestDataGenerator } from './test-data-generator.js';
14
5
  import { describe, expect, it } from 'bun:test';
15
6
  describe('Secp256k1', () => {
16
7
  describe('generateKeyPairRaw()', () => {
17
- it('should generate compressed publicKey', () => __awaiter(void 0, void 0, void 0, function* () {
18
- const { publicKey } = yield Secp256k1.generateKeyPairRaw();
8
+ it('should generate compressed publicKey', async () => {
9
+ const { publicKey } = await Secp256k1.generateKeyPairRaw();
19
10
  expect(publicKey.length).toBe(33);
20
- }));
11
+ });
21
12
  });
22
13
  describe('validateKey()', () => {
23
- it('should throw if key is not a valid SECP256K1 key', () => __awaiter(void 0, void 0, void 0, function* () {
24
- const validKey = (yield Secp256k1.generateKeyPair()).publicJwk;
25
- expect(() => Secp256k1.validateKey(Object.assign(Object.assign({}, validKey), { kty: 'invalidKty' }))).toThrow(DwnErrorCode.Secp256k1KeyNotValid);
26
- expect(() => Secp256k1.validateKey(Object.assign(Object.assign({}, validKey), { crv: 'invalidCrv' }))).toThrow(DwnErrorCode.Secp256k1KeyNotValid);
27
- }));
14
+ it('should throw if key is not a valid SECP256K1 key', async () => {
15
+ const validKey = (await Secp256k1.generateKeyPair()).publicJwk;
16
+ expect(() => Secp256k1.validateKey({ ...validKey, kty: 'invalidKty' })).toThrow(DwnErrorCode.Secp256k1KeyNotValid);
17
+ expect(() => Secp256k1.validateKey({ ...validKey, crv: 'invalidCrv' })).toThrow(DwnErrorCode.Secp256k1KeyNotValid);
18
+ });
28
19
  });
29
20
  describe('publicKeyToJwk()', () => {
30
- it('should generate the same JWK regardless of compressed or compressed public key bytes given', () => __awaiter(void 0, void 0, void 0, function* () {
21
+ it('should generate the same JWK regardless of compressed or compressed public key bytes given', async () => {
31
22
  const compressedPublicKeyBase64UrlString = 'A5roVr1J6MufaaBwweb5Q75PrZCbZpzC55kTCO68ylMs';
32
23
  const uncompressedPublicKeyBase64UrlString = 'BJroVr1J6MufaaBwweb5Q75PrZCbZpzC55kTCO68ylMsyC3G4QfbKeDzIr2BwyMUQ3Na1mxPvwxJ8GBMO3jkGL0';
33
24
  const compressedPublicKey = base64url.baseDecode(compressedPublicKeyBase64UrlString);
34
25
  const uncompressedPublicKey = base64url.baseDecode(uncompressedPublicKeyBase64UrlString);
35
- const publicJwk1 = yield Secp256k1.publicKeyToJwk(compressedPublicKey);
36
- const publicJwk2 = yield Secp256k1.publicKeyToJwk(uncompressedPublicKey);
26
+ const publicJwk1 = await Secp256k1.publicKeyToJwk(compressedPublicKey);
27
+ const publicJwk2 = await Secp256k1.publicKeyToJwk(uncompressedPublicKey);
37
28
  expect(publicJwk1.x).toBe(publicJwk2.x);
38
29
  expect(publicJwk1.y).toBe(publicJwk2.y);
39
- }));
30
+ });
40
31
  });
41
32
  describe('sign()', () => {
42
- it('should generate the signature in compact format', () => __awaiter(void 0, void 0, void 0, function* () {
43
- const { privateJwk } = yield Secp256k1.generateKeyPair();
33
+ it('should generate the signature in compact format', async () => {
34
+ const { privateJwk } = await Secp256k1.generateKeyPair();
44
35
  const contentBytes = TestDataGenerator.randomBytes(16);
45
- const signatureBytes = yield Secp256k1.sign(contentBytes, privateJwk);
36
+ const signatureBytes = await Secp256k1.sign(contentBytes, privateJwk);
46
37
  expect(signatureBytes.length).toBe(64); // DER format would be 70 bytes
47
- }));
38
+ });
48
39
  });
49
40
  });
50
41
  //# sourceMappingURL=secp256k1.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256k1.spec.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;YAChE,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC;YAE/D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,iCAAM,QAAQ,KAAE,GAAG,EAAE,YAAmB,IAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC1H,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,iCAAM,QAAQ,KAAE,GAAG,EAAE,YAAmB,IAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC5H,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,4FAA4F,EAAE,GAAS,EAAE;YAC1G,MAAM,kCAAkC,GAAG,8CAA8C,CAAC;YAC1F,MAAM,oCAAoC,GAAG,yFAAyF,CAAC;YAEvI,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;YACrF,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YAEzF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAEzE,MAAM,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC/D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEtE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;QACzE,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"secp256k1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256k1.spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC3D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC;YAE/D,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,YAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC1H,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,YAAmB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC5H,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;YAC1G,MAAM,kCAAkC,GAAG,8CAA8C,CAAC;YAC1F,MAAM,oCAAoC,GAAG,yFAAyF,CAAC;YAEvI,MAAM,mBAAmB,GAAG,SAAS,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;YACrF,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;YAEzF,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YAEzE,MAAM,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,UAAgC,CAAC,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAEzD,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACvD,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEtE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;QACzE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { base64url } from 'multiformats/bases/base64';
11
2
  import { DwnErrorCode } from '../../src/core/dwn-error.js';
12
3
  import { p256 } from '@noble/curves/p256';
@@ -15,42 +6,42 @@ import { TestDataGenerator } from './test-data-generator.js';
15
6
  import { describe, expect, it } from 'bun:test';
16
7
  describe('Secp256r1', () => {
17
8
  describe('validateKey()', () => {
18
- it('should throw if key is not a valid SECP256R1 key', () => __awaiter(void 0, void 0, void 0, function* () {
19
- const validKey = (yield Secp256r1.generateKeyPair()).publicJwk;
20
- expect(() => Secp256r1.validateKey(Object.assign(Object.assign({}, validKey), { kty: 'invalidKty' }))).toThrow(DwnErrorCode.Secp256r1KeyNotValid);
21
- expect(() => Secp256r1.validateKey(Object.assign(Object.assign({}, validKey), { crv: 'invalidCrv' }))).toThrow(DwnErrorCode.Secp256r1KeyNotValid);
22
- }));
9
+ it('should throw if key is not a valid SECP256R1 key', async () => {
10
+ const validKey = (await Secp256r1.generateKeyPair()).publicJwk;
11
+ expect(() => Secp256r1.validateKey({ ...validKey, kty: 'invalidKty' })).toThrow(DwnErrorCode.Secp256r1KeyNotValid);
12
+ expect(() => Secp256r1.validateKey({ ...validKey, crv: 'invalidCrv' })).toThrow(DwnErrorCode.Secp256r1KeyNotValid);
13
+ });
23
14
  });
24
15
  describe('publicKeyToJwk()', () => {
25
- it('should generate the same JWK regardless of compressed or uncompressed public key bytes given', () => __awaiter(void 0, void 0, void 0, function* () {
16
+ it('should generate the same JWK regardless of compressed or uncompressed public key bytes given', async () => {
26
17
  const compressedPublicKeyBase64UrlString = 'Aom0shYia6t0cNMRQDRzPgCxdMWQamrfX3UJfOroLHo_';
27
18
  const uncompressedPublicKeyBase64UrlString = 'BIm0shYia6t0cNMRQDRzPgCxdMWQamrfX3UJfOroLHo_cSITyng0NN1lt2BtZVXH4PE9Gerxq_mw2_CpbBHsWUI';
28
19
  const compressedPublicKey = base64url.baseDecode(compressedPublicKeyBase64UrlString);
29
20
  const uncompressedPublicKey = base64url.baseDecode(uncompressedPublicKeyBase64UrlString);
30
- const publicJwk1 = yield Secp256r1.publicKeyToJwk(compressedPublicKey);
31
- const publicJwk2 = yield Secp256r1.publicKeyToJwk(uncompressedPublicKey);
21
+ const publicJwk1 = await Secp256r1.publicKeyToJwk(compressedPublicKey);
22
+ const publicJwk2 = await Secp256r1.publicKeyToJwk(uncompressedPublicKey);
32
23
  expect(publicJwk1.x).toBe(publicJwk2.x);
33
24
  expect(publicJwk1.y).toBe(publicJwk2.y);
34
- }));
25
+ });
35
26
  });
36
27
  describe('verify()', () => {
37
- it('should correctly handle DER formatted signatures', () => __awaiter(void 0, void 0, void 0, function* () {
38
- const { privateJwk, publicJwk } = yield Secp256r1.generateKeyPair();
28
+ it('should correctly handle DER formatted signatures', async () => {
29
+ const { privateJwk, publicJwk } = await Secp256r1.generateKeyPair();
39
30
  const content = TestDataGenerator.randomBytes(16);
40
- const signature = yield Secp256r1.sign(content, privateJwk);
31
+ const signature = await Secp256r1.sign(content, privateJwk);
41
32
  // Convert the signature to DER format
42
33
  const derSignature = p256.Signature.fromCompact(signature).toDERRawBytes();
43
- const result = yield Secp256r1.verify(content, derSignature, publicJwk);
34
+ const result = await Secp256r1.verify(content, derSignature, publicJwk);
44
35
  expect(result).toBe(true);
45
- }));
36
+ });
46
37
  });
47
38
  describe('sign()', () => {
48
- it('should generate the signature in compact format', () => __awaiter(void 0, void 0, void 0, function* () {
49
- const { privateJwk } = yield Secp256r1.generateKeyPair();
39
+ it('should generate the signature in compact format', async () => {
40
+ const { privateJwk } = await Secp256r1.generateKeyPair();
50
41
  const contentBytes = TestDataGenerator.randomBytes(16);
51
- const signatureBytes = yield Secp256r1.sign(contentBytes, privateJwk);
42
+ const signatureBytes = await Secp256r1.sign(contentBytes, privateJwk);
52
43
  expect(signatureBytes.length).toBe(64); // DER format would be 70 bytes
53
- }));
44
+ });
54
45
  });
55
46
  });
56
47
  //# sourceMappingURL=secp256r1.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secp256r1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256r1.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secp256r1.spec.js","sourceRoot":"","sources":["../../../../tests/utils/secp256r1.spec.ts"],"names":[],"mappings":"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"}