@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,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 sinon from 'sinon';
11
2
  import { DataStream } from '../../src/utils/data-stream.js';
12
3
  import { Dwn } from '../../src/dwn.js';
@@ -32,7 +23,7 @@ export function testProtocolDeleteAction() {
32
23
  let dwn;
33
24
  // important to follow the `before` and `after` pattern to initialize and clean the stores in tests
34
25
  // so that different test suites can reuse the same backend store for testing
35
- beforeAll(() => __awaiter(this, void 0, void 0, function* () {
26
+ beforeAll(async () => {
36
27
  didResolver = new UniversalResolver({ didResolvers: [DidKey] });
37
28
  const stores = TestStores.get();
38
29
  messageStore = stores.messageStore;
@@ -40,20 +31,20 @@ export function testProtocolDeleteAction() {
40
31
  resumableTaskStore = stores.resumableTaskStore;
41
32
  stateIndex = stores.stateIndex;
42
33
  eventStream = TestEventStream.get();
43
- dwn = yield Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
44
- }));
45
- beforeEach(() => __awaiter(this, void 0, void 0, function* () {
34
+ dwn = await Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
35
+ });
36
+ beforeEach(async () => {
46
37
  sinon.restore(); // wipe all previous stubs/spies/mocks/fakes
47
38
  // clean up before each test rather than after so that a test does not depend on other tests to do the clean up
48
- yield messageStore.clear();
49
- yield dataStore.clear();
50
- yield resumableTaskStore.clear();
51
- yield stateIndex.clear();
52
- }));
53
- afterAll(() => __awaiter(this, void 0, void 0, function* () {
54
- yield dwn.close();
55
- }));
56
- it('should only allow author of a role-authorized create to delete', () => __awaiter(this, void 0, void 0, function* () {
39
+ await messageStore.clear();
40
+ await dataStore.clear();
41
+ await resumableTaskStore.clear();
42
+ await stateIndex.clear();
43
+ });
44
+ afterAll(async () => {
45
+ await dwn.close();
46
+ });
47
+ it('should only allow author of a role-authorized create to delete', async () => {
57
48
  // Scenario:
58
49
  // 1. Alice installs a protocol with a "author of a role-authorized create can delete" rule.
59
50
  // 2. Alice gives Bob and Carol the "user" role to be able to write `foo` records.
@@ -62,9 +53,9 @@ export function testProtocolDeleteAction() {
62
53
  // 4a. Sanity verify that the delete took effect by reading the record back
63
54
  // 5. Carol creates a `foo` by invoking the user role.
64
55
  // 6. Verify that Bob cannot delete Carol's `foo`
65
- const alice = yield TestDataGenerator.generateDidKeyPersona();
66
- const bob = yield TestDataGenerator.generateDidKeyPersona();
67
- const carol = yield TestDataGenerator.generateDidKeyPersona();
56
+ const alice = await TestDataGenerator.generateDidKeyPersona();
57
+ const bob = await TestDataGenerator.generateDidKeyPersona();
58
+ const carol = await TestDataGenerator.generateDidKeyPersona();
68
59
  // 1. Alice installs a protocol with a "author of a role-authorized create can delete" rule.
69
60
  const protocolDefinition = {
70
61
  protocol: 'foo',
@@ -87,32 +78,32 @@ export function testProtocolDeleteAction() {
87
78
  }
88
79
  }
89
80
  };
90
- const protocolsConfig = yield ProtocolsConfigure.create({
81
+ const protocolsConfig = await ProtocolsConfigure.create({
91
82
  definition: protocolDefinition,
92
83
  signer: Jws.createSigner(alice)
93
84
  });
94
- const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
85
+ const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfig.message);
95
86
  expect(protocolsConfigureReply.status.code).toBe(202);
96
87
  // 2. Alice gives Bob and Carol the "user" role to be able to write `foo` records.
97
- const userBobRecordsWrite = yield TestDataGenerator.generateRecordsWrite({
88
+ const userBobRecordsWrite = await TestDataGenerator.generateRecordsWrite({
98
89
  author: alice,
99
90
  recipient: bob.did,
100
91
  protocol: protocolDefinition.protocol,
101
92
  protocolPath: 'user'
102
93
  });
103
- const userBobRecordsWriteReply = yield dwn.processMessage(alice.did, userBobRecordsWrite.message, { dataStream: userBobRecordsWrite.dataStream });
94
+ const userBobRecordsWriteReply = await dwn.processMessage(alice.did, userBobRecordsWrite.message, { dataStream: userBobRecordsWrite.dataStream });
104
95
  expect(userBobRecordsWriteReply.status.code).toBe(202);
105
- const userCarolRecordsWrite = yield TestDataGenerator.generateRecordsWrite({
96
+ const userCarolRecordsWrite = await TestDataGenerator.generateRecordsWrite({
106
97
  author: alice,
107
98
  recipient: carol.did,
108
99
  protocol: protocolDefinition.protocol,
109
100
  protocolPath: 'user'
110
101
  });
111
- const userCarolRecordsWriteReply = yield dwn.processMessage(alice.did, userCarolRecordsWrite.message, { dataStream: userCarolRecordsWrite.dataStream });
102
+ const userCarolRecordsWriteReply = await dwn.processMessage(alice.did, userCarolRecordsWrite.message, { dataStream: userCarolRecordsWrite.dataStream });
112
103
  expect(userCarolRecordsWriteReply.status.code).toBe(202);
113
104
  // 3. Bob creates a `foo` by invoking the user role.
114
105
  const bobFooBytes = TestDataGenerator.randomBytes(100);
115
- const bobRoleAuthorizedFoo = yield RecordsWrite.create({
106
+ const bobRoleAuthorizedFoo = await RecordsWrite.create({
116
107
  signer: Jws.createSigner(bob),
117
108
  protocolRole: 'user',
118
109
  protocol: protocolDefinition.protocol,
@@ -121,28 +112,28 @@ export function testProtocolDeleteAction() {
121
112
  dataFormat: 'any-format',
122
113
  data: bobFooBytes
123
114
  });
124
- const bobRoleAuthorizedCreateReply = yield dwn.processMessage(alice.did, bobRoleAuthorizedFoo.message, { dataStream: DataStream.fromBytes(bobFooBytes) });
115
+ const bobRoleAuthorizedCreateReply = await dwn.processMessage(alice.did, bobRoleAuthorizedFoo.message, { dataStream: DataStream.fromBytes(bobFooBytes) });
125
116
  expect(bobRoleAuthorizedCreateReply.status.code).toBe(202);
126
117
  // 4. Verify that Bob can delete his `foo`
127
- const bobAuthorizedFooDelete = yield RecordsDelete.create({
118
+ const bobAuthorizedFooDelete = await RecordsDelete.create({
128
119
  protocolRole: 'user',
129
120
  recordId: bobRoleAuthorizedFoo.message.recordId,
130
121
  signer: Jws.createSigner(bob)
131
122
  });
132
- const bobAuthorizedFooDeleteReply = yield dwn.processMessage(alice.did, bobAuthorizedFooDelete.message);
123
+ const bobAuthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedFooDelete.message);
133
124
  expect(bobAuthorizedFooDeleteReply.status.code).toBe(202);
134
125
  // 4a. Sanity verify that the delete took effect by reading the record back
135
- const recordsRead = yield RecordsRead.create({
126
+ const recordsRead = await RecordsRead.create({
136
127
  filter: {
137
128
  recordId: bobRoleAuthorizedFoo.message.recordId
138
129
  },
139
130
  signer: Jws.createSigner(alice)
140
131
  });
141
- const recordsReadReply = yield dwn.processMessage(alice.did, recordsRead.message);
132
+ const recordsReadReply = await dwn.processMessage(alice.did, recordsRead.message);
142
133
  expect(recordsReadReply.status.code).toBe(404);
143
134
  // 5. Carol creates a `foo` by invoking the user role.
144
135
  const carolFooBytes = TestDataGenerator.randomBytes(100);
145
- const carolRoleAuthorizedFoo = yield RecordsWrite.create({
136
+ const carolRoleAuthorizedFoo = await RecordsWrite.create({
146
137
  signer: Jws.createSigner(carol),
147
138
  protocolRole: 'user',
148
139
  protocol: protocolDefinition.protocol,
@@ -151,19 +142,19 @@ export function testProtocolDeleteAction() {
151
142
  dataFormat: 'any-format',
152
143
  data: carolFooBytes
153
144
  });
154
- const carolRoleAuthorizedCreateReply = yield dwn.processMessage(alice.did, carolRoleAuthorizedFoo.message, { dataStream: DataStream.fromBytes(carolFooBytes) });
145
+ const carolRoleAuthorizedCreateReply = await dwn.processMessage(alice.did, carolRoleAuthorizedFoo.message, { dataStream: DataStream.fromBytes(carolFooBytes) });
155
146
  expect(carolRoleAuthorizedCreateReply.status.code).toBe(202);
156
147
  // 6. Verify that Bob cannot delete Carol's `foo`
157
- const bobUnauthorizedFooDelete = yield RecordsDelete.create({
148
+ const bobUnauthorizedFooDelete = await RecordsDelete.create({
158
149
  protocolRole: 'user',
159
150
  recordId: carolRoleAuthorizedFoo.message.recordId,
160
151
  signer: Jws.createSigner(bob)
161
152
  });
162
- const bobUnauthorizedFooDeleteReply = yield dwn.processMessage(alice.did, bobUnauthorizedFooDelete.message);
153
+ const bobUnauthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedFooDelete.message);
163
154
  expect(bobUnauthorizedFooDeleteReply.status.code).toBe(401);
164
155
  expect(bobUnauthorizedFooDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
165
- }));
166
- it('should only allow author of an author/recipient-authorized create to delete', () => __awaiter(this, void 0, void 0, function* () {
156
+ });
157
+ it('should only allow author of an author/recipient-authorized create to delete', async () => {
167
158
  // Scenario:
168
159
  // 1. Alice installs a protocol with "author of an author/recipient-authorized create can delete" rules.
169
160
  // 2. Alice creates a `foo` with Bob being the recipient, so that Bob can create `bar`.
@@ -177,9 +168,9 @@ export function testProtocolDeleteAction() {
177
168
  // 9. Verify that Bob can delete his `bar`.
178
169
  // 10. Verify that Bob cannot delete Carol's `bar`.
179
170
  // 11. Verify that Bob cannot delete Carol's `baz`
180
- const alice = yield TestDataGenerator.generateDidKeyPersona();
181
- const bob = yield TestDataGenerator.generateDidKeyPersona();
182
- const carol = yield TestDataGenerator.generateDidKeyPersona();
171
+ const alice = await TestDataGenerator.generateDidKeyPersona();
172
+ const bob = await TestDataGenerator.generateDidKeyPersona();
173
+ const carol = await TestDataGenerator.generateDidKeyPersona();
183
174
  // 1. Alice installs a protocol with "author of an author/recipient-authorized create can delete" rules.
184
175
  const protocolDefinition = {
185
176
  protocol: 'foo-bar-baz',
@@ -212,33 +203,33 @@ export function testProtocolDeleteAction() {
212
203
  }
213
204
  }
214
205
  };
215
- const protocolsConfig = yield ProtocolsConfigure.create({
206
+ const protocolsConfig = await ProtocolsConfigure.create({
216
207
  definition: protocolDefinition,
217
208
  signer: Jws.createSigner(alice)
218
209
  });
219
- const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
210
+ const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfig.message);
220
211
  expect(protocolsConfigureReply.status.code).toBe(202);
221
212
  // 2. Alice creates a `foo` with Bob being the recipient, so that Bob can create `bar`.
222
- const fooForBob = yield TestDataGenerator.generateRecordsWrite({
213
+ const fooForBob = await TestDataGenerator.generateRecordsWrite({
223
214
  author: alice,
224
215
  recipient: bob.did,
225
216
  protocol: protocolDefinition.protocol,
226
217
  protocolPath: 'foo'
227
218
  });
228
- const fooForBobReply = yield dwn.processMessage(alice.did, fooForBob.message, { dataStream: fooForBob.dataStream });
219
+ const fooForBobReply = await dwn.processMessage(alice.did, fooForBob.message, { dataStream: fooForBob.dataStream });
229
220
  expect(fooForBobReply.status.code).toBe(202);
230
221
  // 3. Alice creates a `foo` with Carol being the recipient, so that Carol can create `bar`.
231
- const fooForCarol = yield TestDataGenerator.generateRecordsWrite({
222
+ const fooForCarol = await TestDataGenerator.generateRecordsWrite({
232
223
  author: alice,
233
224
  recipient: carol.did,
234
225
  protocol: protocolDefinition.protocol,
235
226
  protocolPath: 'foo'
236
227
  });
237
- const fooForCarolReply = yield dwn.processMessage(alice.did, fooForCarol.message, { dataStream: fooForCarol.dataStream });
228
+ const fooForCarolReply = await dwn.processMessage(alice.did, fooForCarol.message, { dataStream: fooForCarol.dataStream });
238
229
  expect(fooForCarolReply.status.code).toBe(202);
239
230
  // 4. Bob creates a recipient-authorized `bar`.
240
231
  const bobBarBytes = TestDataGenerator.randomBytes(100);
241
- const bobRecipientAuthorizedBar = yield RecordsWrite.create({
232
+ const bobRecipientAuthorizedBar = await RecordsWrite.create({
242
233
  signer: Jws.createSigner(bob),
243
234
  protocol: protocolDefinition.protocol,
244
235
  protocolPath: 'foo/bar',
@@ -247,11 +238,11 @@ export function testProtocolDeleteAction() {
247
238
  dataFormat: 'any-format',
248
239
  data: bobBarBytes
249
240
  });
250
- const bobRecipientAuthorizedBarReply = yield dwn.processMessage(alice.did, bobRecipientAuthorizedBar.message, { dataStream: DataStream.fromBytes(bobBarBytes) });
241
+ const bobRecipientAuthorizedBarReply = await dwn.processMessage(alice.did, bobRecipientAuthorizedBar.message, { dataStream: DataStream.fromBytes(bobBarBytes) });
251
242
  expect(bobRecipientAuthorizedBarReply.status.code).toBe(202);
252
243
  // 5. Bob creates a author-authorized `baz` after his `bar`.
253
244
  const bobBazBytes = TestDataGenerator.randomBytes(100);
254
- const bobAuthorAuthorizedBaz = yield RecordsWrite.create({
245
+ const bobAuthorAuthorizedBaz = await RecordsWrite.create({
255
246
  signer: Jws.createSigner(bob),
256
247
  protocol: protocolDefinition.protocol,
257
248
  protocolPath: 'foo/bar/baz',
@@ -260,11 +251,11 @@ export function testProtocolDeleteAction() {
260
251
  dataFormat: 'any-format',
261
252
  data: bobBazBytes
262
253
  });
263
- const bobAuthorAuthorizedBazReply = yield dwn.processMessage(alice.did, bobAuthorAuthorizedBaz.message, { dataStream: DataStream.fromBytes(bobBazBytes) });
254
+ const bobAuthorAuthorizedBazReply = await dwn.processMessage(alice.did, bobAuthorAuthorizedBaz.message, { dataStream: DataStream.fromBytes(bobBazBytes) });
264
255
  expect(bobAuthorAuthorizedBazReply.status.code).toBe(202);
265
256
  // 6. Carol creates a recipient-authorized `bar`.
266
257
  const carolBarBytes = TestDataGenerator.randomBytes(100);
267
- const carolRecipientAuthorizedBar = yield RecordsWrite.create({
258
+ const carolRecipientAuthorizedBar = await RecordsWrite.create({
268
259
  signer: Jws.createSigner(carol),
269
260
  protocol: protocolDefinition.protocol,
270
261
  protocolPath: 'foo/bar',
@@ -273,11 +264,11 @@ export function testProtocolDeleteAction() {
273
264
  dataFormat: 'any-format',
274
265
  data: carolBarBytes
275
266
  });
276
- const carolRecipientAuthorizedBarReply = yield dwn.processMessage(alice.did, carolRecipientAuthorizedBar.message, { dataStream: DataStream.fromBytes(carolBarBytes) });
267
+ const carolRecipientAuthorizedBarReply = await dwn.processMessage(alice.did, carolRecipientAuthorizedBar.message, { dataStream: DataStream.fromBytes(carolBarBytes) });
277
268
  expect(carolRecipientAuthorizedBarReply.status.code).toBe(202);
278
269
  // 7. Carol creates a author-authorized `baz` after her `bar`.
279
270
  const carolBazBytes = TestDataGenerator.randomBytes(100);
280
- const carolAuthorAuthorizedBaz = yield RecordsWrite.create({
271
+ const carolAuthorAuthorizedBaz = await RecordsWrite.create({
281
272
  signer: Jws.createSigner(carol),
282
273
  protocol: protocolDefinition.protocol,
283
274
  protocolPath: 'foo/bar/baz',
@@ -286,49 +277,49 @@ export function testProtocolDeleteAction() {
286
277
  dataFormat: 'any-format',
287
278
  data: carolBazBytes
288
279
  });
289
- const carolAuthorAuthorizedBazReply = yield dwn.processMessage(alice.did, carolAuthorAuthorizedBaz.message, { dataStream: DataStream.fromBytes(carolBazBytes) });
280
+ const carolAuthorAuthorizedBazReply = await dwn.processMessage(alice.did, carolAuthorAuthorizedBaz.message, { dataStream: DataStream.fromBytes(carolBazBytes) });
290
281
  expect(carolAuthorAuthorizedBazReply.status.code).toBe(202);
291
282
  // 8. Verify that Bob can delete his `baz`
292
- const bobAuthorizedBazDelete = yield RecordsDelete.create({
283
+ const bobAuthorizedBazDelete = await RecordsDelete.create({
293
284
  recordId: bobAuthorAuthorizedBaz.message.recordId,
294
285
  signer: Jws.createSigner(bob)
295
286
  });
296
- const bobAuthorizedBazDeleteReply = yield dwn.processMessage(alice.did, bobAuthorizedBazDelete.message);
287
+ const bobAuthorizedBazDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedBazDelete.message);
297
288
  expect(bobAuthorizedBazDeleteReply.status.code).toBe(202);
298
289
  // 8a. Sanity verify that the delete took effect by reading the record back.
299
- const bobBarRead = yield RecordsRead.create({
290
+ const bobBarRead = await RecordsRead.create({
300
291
  filter: {
301
292
  recordId: bobAuthorAuthorizedBaz.message.recordId
302
293
  },
303
294
  signer: Jws.createSigner(alice)
304
295
  });
305
- const bobBarReadReply = yield dwn.processMessage(alice.did, bobBarRead.message);
296
+ const bobBarReadReply = await dwn.processMessage(alice.did, bobBarRead.message);
306
297
  expect(bobBarReadReply.status.code).toBe(404);
307
298
  // 9. Verify that Bob can delete his `bar`.
308
- const bobAuthorizedBarDelete = yield RecordsDelete.create({
299
+ const bobAuthorizedBarDelete = await RecordsDelete.create({
309
300
  recordId: bobRecipientAuthorizedBar.message.recordId,
310
301
  signer: Jws.createSigner(bob)
311
302
  });
312
- const bobAuthorizedBarDeleteReply = yield dwn.processMessage(alice.did, bobAuthorizedBarDelete.message);
303
+ const bobAuthorizedBarDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedBarDelete.message);
313
304
  expect(bobAuthorizedBarDeleteReply.status.code).toBe(202);
314
305
  // 10. Verify that Bob cannot delete Carol's `bar`.
315
- const bobUnauthorizedBarDelete = yield RecordsDelete.create({
306
+ const bobUnauthorizedBarDelete = await RecordsDelete.create({
316
307
  recordId: carolRecipientAuthorizedBar.message.recordId,
317
308
  signer: Jws.createSigner(bob)
318
309
  });
319
- const bobUnauthorizedBarDeleteReply = yield dwn.processMessage(alice.did, bobUnauthorizedBarDelete.message);
310
+ const bobUnauthorizedBarDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedBarDelete.message);
320
311
  expect(bobUnauthorizedBarDeleteReply.status.code).toBe(401);
321
312
  expect(bobUnauthorizedBarDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
322
313
  // 11. Verify that Bob cannot delete Carol's `baz`
323
- const bobUnauthorizedBazDelete = yield RecordsDelete.create({
314
+ const bobUnauthorizedBazDelete = await RecordsDelete.create({
324
315
  recordId: carolRecipientAuthorizedBar.message.recordId,
325
316
  signer: Jws.createSigner(bob)
326
317
  });
327
- const bobUnauthorizedBazDeleteReply = yield dwn.processMessage(alice.did, bobUnauthorizedBazDelete.message);
318
+ const bobUnauthorizedBazDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedBazDelete.message);
328
319
  expect(bobUnauthorizedBazDeleteReply.status.code).toBe(401);
329
320
  expect(bobUnauthorizedBazDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
330
- }));
331
- it('should only allow author of an anyone-authorized create to delete', () => __awaiter(this, void 0, void 0, function* () {
321
+ });
322
+ it('should only allow author of an anyone-authorized create to delete', async () => {
332
323
  // Scenario:
333
324
  // 1. Alice installs a protocol with "author of an anyone-authorized create can delete" rules.
334
325
  // 2. Bob creates an anyone-authorized `foo`.
@@ -336,9 +327,9 @@ export function testProtocolDeleteAction() {
336
327
  // 4. Verify that Bob can delete his `foo`.
337
328
  // 4a. Sanity verify that the delete took effect by reading the record back.
338
329
  // 5. Verify that Bob cannot delete Carol's `foo`.
339
- const alice = yield TestDataGenerator.generateDidKeyPersona();
340
- const bob = yield TestDataGenerator.generateDidKeyPersona();
341
- const carol = yield TestDataGenerator.generateDidKeyPersona();
330
+ const alice = await TestDataGenerator.generateDidKeyPersona();
331
+ const bob = await TestDataGenerator.generateDidKeyPersona();
332
+ const carol = await TestDataGenerator.generateDidKeyPersona();
342
333
  // 1. Alice installs a protocol with "author of an anyone-authorized create can delete" rule.
343
334
  const protocolDefinition = {
344
335
  protocol: 'foo',
@@ -357,15 +348,15 @@ export function testProtocolDeleteAction() {
357
348
  }
358
349
  }
359
350
  };
360
- const protocolsConfig = yield ProtocolsConfigure.create({
351
+ const protocolsConfig = await ProtocolsConfigure.create({
361
352
  definition: protocolDefinition,
362
353
  signer: Jws.createSigner(alice)
363
354
  });
364
- const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
355
+ const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfig.message);
365
356
  expect(protocolsConfigureReply.status.code).toBe(202);
366
357
  // 2. Bob creates an anyone-authorized `foo`.
367
358
  const bobFooBytes = TestDataGenerator.randomBytes(100);
368
- const bobAnyoneAuthorizedFoo = yield RecordsWrite.create({
359
+ const bobAnyoneAuthorizedFoo = await RecordsWrite.create({
369
360
  signer: Jws.createSigner(bob),
370
361
  protocol: protocolDefinition.protocol,
371
362
  protocolPath: 'foo',
@@ -373,11 +364,11 @@ export function testProtocolDeleteAction() {
373
364
  dataFormat: 'any-format',
374
365
  data: bobFooBytes
375
366
  });
376
- const bobAnyoneAuthorizedFooReply = yield dwn.processMessage(alice.did, bobAnyoneAuthorizedFoo.message, { dataStream: DataStream.fromBytes(bobFooBytes) });
367
+ const bobAnyoneAuthorizedFooReply = await dwn.processMessage(alice.did, bobAnyoneAuthorizedFoo.message, { dataStream: DataStream.fromBytes(bobFooBytes) });
377
368
  expect(bobAnyoneAuthorizedFooReply.status.code).toBe(202);
378
369
  // 3. Carol creates a anyone-authorized `foo`.
379
370
  const carolFooBytes = TestDataGenerator.randomBytes(100);
380
- const carolAnyoneAuthorizedFoo = yield RecordsWrite.create({
371
+ const carolAnyoneAuthorizedFoo = await RecordsWrite.create({
381
372
  signer: Jws.createSigner(carol),
382
373
  protocol: protocolDefinition.protocol,
383
374
  protocolPath: 'foo',
@@ -385,34 +376,34 @@ export function testProtocolDeleteAction() {
385
376
  dataFormat: 'any-format',
386
377
  data: carolFooBytes
387
378
  });
388
- const carolAnyoneAuthorizedFooReply = yield dwn.processMessage(alice.did, carolAnyoneAuthorizedFoo.message, { dataStream: DataStream.fromBytes(carolFooBytes) });
379
+ const carolAnyoneAuthorizedFooReply = await dwn.processMessage(alice.did, carolAnyoneAuthorizedFoo.message, { dataStream: DataStream.fromBytes(carolFooBytes) });
389
380
  expect(carolAnyoneAuthorizedFooReply.status.code).toBe(202);
390
381
  // 4. Verify that Bob can delete his `foo`.
391
- const bobAuthorizedFooDelete = yield RecordsDelete.create({
382
+ const bobAuthorizedFooDelete = await RecordsDelete.create({
392
383
  recordId: bobAnyoneAuthorizedFoo.message.recordId,
393
384
  signer: Jws.createSigner(bob)
394
385
  });
395
- const bobAuthorizedFooDeleteReply = yield dwn.processMessage(alice.did, bobAuthorizedFooDelete.message);
386
+ const bobAuthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobAuthorizedFooDelete.message);
396
387
  expect(bobAuthorizedFooDeleteReply.status.code).toBe(202);
397
388
  // 4a. Sanity verify that the delete took effect by reading the record back.
398
- const bobBarRead = yield RecordsRead.create({
389
+ const bobBarRead = await RecordsRead.create({
399
390
  filter: {
400
391
  recordId: bobAnyoneAuthorizedFoo.message.recordId
401
392
  },
402
393
  signer: Jws.createSigner(alice)
403
394
  });
404
- const bobFooReadReply = yield dwn.processMessage(alice.did, bobBarRead.message);
395
+ const bobFooReadReply = await dwn.processMessage(alice.did, bobBarRead.message);
405
396
  expect(bobFooReadReply.status.code).toBe(404);
406
397
  // 5. Verify that Bob cannot delete Carol's `foo`.
407
- const bobUnauthorizedBarDelete = yield RecordsDelete.create({
398
+ const bobUnauthorizedBarDelete = await RecordsDelete.create({
408
399
  recordId: carolAnyoneAuthorizedFoo.message.recordId,
409
400
  signer: Jws.createSigner(bob)
410
401
  });
411
- const bobUnauthorizedFooDeleteReply = yield dwn.processMessage(alice.did, bobUnauthorizedBarDelete.message);
402
+ const bobUnauthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedBarDelete.message);
412
403
  expect(bobUnauthorizedFooDeleteReply.status.code).toBe(401);
413
404
  expect(bobUnauthorizedFooDeleteReply.status.detail).toContain(DwnErrorCode.ProtocolAuthorizationActionNotAllowed);
414
- }));
415
- it('should not allow creation of a protocol definition with action rule containing `delete` without `create`', () => __awaiter(this, void 0, void 0, function* () {
405
+ });
406
+ it('should not allow creation of a protocol definition with action rule containing `delete` without `create`', async () => {
416
407
  const protocolDefinition = {
417
408
  protocol: 'foo',
418
409
  published: true,
@@ -430,14 +421,14 @@ export function testProtocolDeleteAction() {
430
421
  }
431
422
  }
432
423
  };
433
- const alice = yield TestDataGenerator.generateDidKeyPersona();
424
+ const alice = await TestDataGenerator.generateDidKeyPersona();
434
425
  const protocolsConfigureCreatePromise = ProtocolsConfigure.create({
435
426
  definition: protocolDefinition,
436
427
  signer: Jws.createSigner(alice)
437
428
  });
438
- yield expect(protocolsConfigureCreatePromise).rejects.toThrow(DwnErrorCode.ProtocolsConfigureInvalidActionDeleteWithoutCreate);
439
- }));
440
- it('should reject ProtocolsConfigure with action rule containing `delete` action without `create` during processing', () => __awaiter(this, void 0, void 0, function* () {
429
+ await expect(protocolsConfigureCreatePromise).rejects.toThrow(DwnErrorCode.ProtocolsConfigureInvalidActionDeleteWithoutCreate);
430
+ });
431
+ it('should reject ProtocolsConfigure with action rule containing `delete` action without `create` during processing', async () => {
441
432
  const protocolDefinition = {
442
433
  protocol: 'http://foo',
443
434
  published: true,
@@ -462,28 +453,28 @@ export function testProtocolDeleteAction() {
462
453
  messageTimestamp: Time.getCurrentTimestamp(),
463
454
  definition: protocolDefinition
464
455
  };
465
- const alice = yield TestDataGenerator.generateDidKeyPersona();
466
- const authorization = yield Message.createAuthorization({
456
+ const alice = await TestDataGenerator.generateDidKeyPersona();
457
+ const authorization = await Message.createAuthorization({
467
458
  descriptor,
468
459
  signer: Jws.createSigner(alice)
469
460
  });
470
461
  const protocolsConfigureMessage = { descriptor, authorization };
471
- const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfigureMessage);
462
+ const protocolsConfigureReply = await dwn.processMessage(alice.did, protocolsConfigureMessage);
472
463
  expect(protocolsConfigureReply.status.code).toBe(400);
473
464
  expect(protocolsConfigureReply.status.detail).toContain(DwnErrorCode.ProtocolsConfigureInvalidActionDeleteWithoutCreate);
474
- }));
465
+ });
475
466
  describe('ProtocolAuthorization.getActionsSeekingARuleMatch()', () => {
476
- it('should return empty array when given a RecordsDelete on a non-existent record', () => __awaiter(this, void 0, void 0, function* () {
477
- const alice = yield TestDataGenerator.generateDidKeyPersona();
478
- const bobUnauthorizedFooDelete = yield RecordsDelete.create({
467
+ it('should return empty array when given a RecordsDelete on a non-existent record', async () => {
468
+ const alice = await TestDataGenerator.generateDidKeyPersona();
469
+ const bobUnauthorizedFooDelete = await RecordsDelete.create({
479
470
  recordId: 'non-existent-record-id',
480
471
  signer: Jws.createSigner(alice)
481
472
  });
482
- const bobUnauthorizedFooDeleteReply = yield dwn.processMessage(alice.did, bobUnauthorizedFooDelete.message);
473
+ const bobUnauthorizedFooDeleteReply = await dwn.processMessage(alice.did, bobUnauthorizedFooDelete.message);
483
474
  expect(bobUnauthorizedFooDeleteReply.status.code).toBe(404);
484
- const actionsSeekingARuleMatch = yield ProtocolAuthorization['getActionsSeekingARuleMatch'](alice.did, bobUnauthorizedFooDelete, messageStore);
475
+ const actionsSeekingARuleMatch = await ProtocolAuthorization['getActionsSeekingARuleMatch'](alice.did, bobUnauthorizedFooDelete, messageStore);
485
476
  expect(actionsSeekingARuleMatch).toHaveLength(0);
486
- }));
477
+ });
487
478
  });
488
479
  });
489
480
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-delete-action.spec.js","sourceRoot":"","sources":["../../../../tests/features/protocol-delete-action.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-delete-action.spec.js","sourceRoot":"","sources":["../../../../tests/features/protocol-delete-action.spec.ts"],"names":[],"mappings":"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"}