@enbox/dwn-sdk-js 0.0.1 → 0.0.3

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 (601) hide show
  1. package/README.md +52 -301
  2. package/dist/bundles/dwn.js +19 -21
  3. package/dist/esm/generated/precompiled-validators.js +2764 -1773
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/dwn-error.js +27 -3
  6. package/dist/esm/src/core/dwn-error.js.map +1 -1
  7. package/dist/esm/src/core/message.js.map +1 -1
  8. package/dist/esm/src/core/messages-grant-authorization.js +17 -6
  9. package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
  10. package/dist/esm/src/core/protocol-authorization.js +245 -69
  11. package/dist/esm/src/core/protocol-authorization.js.map +1 -1
  12. package/dist/esm/src/core/resumable-task-manager.js +4 -4
  13. package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
  14. package/dist/esm/src/dwn.js +10 -8
  15. package/dist/esm/src/dwn.js.map +1 -1
  16. package/dist/esm/src/enums/dwn-interface-method.js +4 -2
  17. package/dist/esm/src/enums/dwn-interface-method.js.map +1 -1
  18. package/dist/esm/src/event-stream/event-emitter-stream.js.map +1 -0
  19. package/dist/esm/src/handlers/messages-subscribe.js +1 -1
  20. package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
  21. package/dist/esm/src/handlers/messages-sync.js +116 -0
  22. package/dist/esm/src/handlers/messages-sync.js.map +1 -0
  23. package/dist/esm/src/handlers/protocols-configure.js +149 -16
  24. package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
  25. package/dist/esm/src/handlers/protocols-query.js +2 -2
  26. package/dist/esm/src/handlers/protocols-query.js.map +1 -1
  27. package/dist/esm/src/handlers/records-count.js +143 -0
  28. package/dist/esm/src/handlers/records-count.js.map +1 -0
  29. package/dist/esm/src/handlers/records-query.js +4 -0
  30. package/dist/esm/src/handlers/records-query.js.map +1 -1
  31. package/dist/esm/src/handlers/records-read.js +4 -6
  32. package/dist/esm/src/handlers/records-read.js.map +1 -1
  33. package/dist/esm/src/handlers/records-write.js +17 -18
  34. package/dist/esm/src/handlers/records-write.js.map +1 -1
  35. package/dist/esm/src/index.js +9 -5
  36. package/dist/esm/src/index.js.map +1 -1
  37. package/dist/esm/src/interfaces/messages-read.js +2 -7
  38. package/dist/esm/src/interfaces/messages-read.js.map +1 -1
  39. package/dist/esm/src/interfaces/messages-subscribe.js +1 -0
  40. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  41. package/dist/esm/src/interfaces/{messages-query.js → messages-sync.js} +11 -12
  42. package/dist/esm/src/interfaces/messages-sync.js.map +1 -0
  43. package/dist/esm/src/interfaces/protocols-configure.js +153 -30
  44. package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
  45. package/dist/esm/src/interfaces/protocols-query.js +1 -0
  46. package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
  47. package/dist/esm/src/interfaces/records-count.js +91 -0
  48. package/dist/esm/src/interfaces/records-count.js.map +1 -0
  49. package/dist/esm/src/interfaces/records-read.js +15 -1
  50. package/dist/esm/src/interfaces/records-read.js.map +1 -1
  51. package/dist/esm/src/interfaces/records-write.js +64 -15
  52. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  53. package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
  54. package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js.map +1 -1
  55. package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
  56. package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
  57. package/dist/esm/src/protocols/permission-grant.js +30 -0
  58. package/dist/esm/src/protocols/permission-grant.js.map +1 -1
  59. package/dist/esm/src/protocols/permission-request.js +24 -0
  60. package/dist/esm/src/protocols/permission-request.js.map +1 -1
  61. package/dist/esm/src/protocols/permissions.js +1 -1
  62. package/dist/esm/src/protocols/permissions.js.map +1 -1
  63. package/dist/esm/src/schema-validator.js +0 -1
  64. package/dist/esm/src/schema-validator.js.map +1 -1
  65. package/dist/esm/src/smt/smt-store-level.js +125 -0
  66. package/dist/esm/src/smt/smt-store-level.js.map +1 -0
  67. package/dist/esm/src/smt/smt-store-memory.js +67 -0
  68. package/dist/esm/src/smt/smt-store-memory.js.map +1 -0
  69. package/dist/esm/src/smt/smt-utils.js +146 -0
  70. package/dist/esm/src/smt/smt-utils.js.map +1 -0
  71. package/dist/esm/src/smt/sparse-merkle-tree.js +622 -0
  72. package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -0
  73. package/dist/esm/src/state-index/state-index-level.js +228 -0
  74. package/dist/esm/src/state-index/state-index-level.js.map +1 -0
  75. package/dist/esm/src/store/data-store-level.js +6 -6
  76. package/dist/esm/src/store/data-store-level.js.map +1 -1
  77. package/dist/esm/src/store/index-level.js +375 -17
  78. package/dist/esm/src/store/index-level.js.map +1 -1
  79. package/dist/esm/src/store/message-store-level.js +56 -0
  80. package/dist/esm/src/store/message-store-level.js.map +1 -1
  81. package/dist/esm/src/store/storage-controller.js +19 -16
  82. package/dist/esm/src/store/storage-controller.js.map +1 -1
  83. package/dist/esm/src/types/encryption-types.js +2 -0
  84. package/dist/esm/src/types/encryption-types.js.map +1 -0
  85. package/dist/esm/src/types/message-types.js.map +1 -1
  86. package/dist/esm/src/types/protocols-types.js +0 -2
  87. package/dist/esm/src/types/protocols-types.js.map +1 -1
  88. package/dist/esm/src/types/records-types.js +2 -0
  89. package/dist/esm/src/types/records-types.js.map +1 -1
  90. package/dist/esm/src/types/smt-types.js +5 -0
  91. package/dist/esm/src/types/smt-types.js.map +1 -0
  92. package/dist/esm/src/types/state-index.js +2 -0
  93. package/dist/esm/src/types/state-index.js.map +1 -0
  94. package/dist/esm/src/utils/cid.js +2 -1
  95. package/dist/esm/src/utils/cid.js.map +1 -1
  96. package/dist/esm/src/utils/data-stream.js +84 -29
  97. package/dist/esm/src/utils/data-stream.js.map +1 -1
  98. package/dist/esm/src/utils/encryption.js +22 -31
  99. package/dist/esm/src/utils/encryption.js.map +1 -1
  100. package/dist/esm/src/utils/hd-key.js +3 -3
  101. package/dist/esm/src/utils/hd-key.js.map +1 -1
  102. package/dist/esm/src/utils/jws.js +4 -4
  103. package/dist/esm/src/utils/jws.js.map +1 -1
  104. package/dist/esm/src/utils/private-key-signer.js +4 -3
  105. package/dist/esm/src/utils/private-key-signer.js.map +1 -1
  106. package/dist/esm/src/utils/protocols.js +82 -9
  107. package/dist/esm/src/utils/protocols.js.map +1 -1
  108. package/dist/esm/src/utils/records.js +82 -26
  109. package/dist/esm/src/utils/records.js.map +1 -1
  110. package/dist/esm/src/utils/secp256k1.js +4 -3
  111. package/dist/esm/src/utils/secp256k1.js.map +1 -1
  112. package/dist/esm/src/utils/secp256r1.js +3 -2
  113. package/dist/esm/src/utils/secp256r1.js.map +1 -1
  114. package/dist/esm/src/utils/time.js +1 -1
  115. package/dist/esm/src/utils/url.js +1 -1
  116. package/dist/esm/src/utils/url.js.map +1 -1
  117. package/dist/esm/tests/core/auth.spec.js +2 -2
  118. package/dist/esm/tests/core/auth.spec.js.map +1 -1
  119. package/dist/esm/tests/core/message-reply.spec.js +3 -3
  120. package/dist/esm/tests/core/message-reply.spec.js.map +1 -1
  121. package/dist/esm/tests/core/message.spec.js +13 -13
  122. package/dist/esm/tests/core/message.spec.js.map +1 -1
  123. package/dist/esm/tests/core/protocol-authorization.spec.js +3 -3
  124. package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
  125. package/dist/esm/tests/dwn.spec.js +27 -37
  126. package/dist/esm/tests/dwn.spec.js.map +1 -1
  127. package/dist/esm/tests/{event-log → event-stream}/event-emitter-stream.spec.js +14 -15
  128. package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +1 -0
  129. package/dist/esm/tests/{event-log → event-stream}/event-stream.spec.js +13 -15
  130. package/dist/esm/tests/event-stream/event-stream.spec.js.map +1 -0
  131. package/dist/esm/tests/features/author-delegated-grant.spec.js +281 -135
  132. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  133. package/dist/esm/tests/features/owner-delegated-grant.spec.js +57 -59
  134. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  135. package/dist/esm/tests/features/owner-signature.spec.js +32 -34
  136. package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
  137. package/dist/esm/tests/features/permissions.spec.js +73 -95
  138. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  139. package/dist/esm/tests/features/protocol-composition.spec.js +1645 -0
  140. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -0
  141. package/dist/esm/tests/features/protocol-create-action.spec.js +25 -27
  142. package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
  143. package/dist/esm/tests/features/protocol-delete-action.spec.js +42 -44
  144. package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
  145. package/dist/esm/tests/features/protocol-update-action.spec.js +53 -55
  146. package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
  147. package/dist/esm/tests/features/records-prune.spec.js +126 -100
  148. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  149. package/dist/esm/tests/features/records-tags.spec.js +272 -272
  150. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  151. package/dist/esm/tests/features/resumable-tasks.spec.js +35 -37
  152. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  153. package/dist/esm/tests/handlers/messages-read.spec.js +112 -112
  154. package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
  155. package/dist/esm/tests/handlers/messages-subscribe.spec.js +78 -76
  156. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  157. package/dist/esm/tests/handlers/messages-sync.spec.js +528 -0
  158. package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -0
  159. package/dist/esm/tests/handlers/protocols-configure.spec.js +545 -152
  160. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  161. package/dist/esm/tests/handlers/protocols-query.spec.js +70 -72
  162. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  163. package/dist/esm/tests/handlers/records-count.spec.js +313 -0
  164. package/dist/esm/tests/handlers/records-count.spec.js.map +1 -0
  165. package/dist/esm/tests/handlers/records-delete.spec.js +106 -109
  166. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  167. package/dist/esm/tests/handlers/records-query.spec.js +863 -463
  168. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  169. package/dist/esm/tests/handlers/records-read.spec.js +439 -209
  170. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  171. package/dist/esm/tests/handlers/records-subscribe.spec.js +292 -97
  172. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  173. package/dist/esm/tests/handlers/records-write.spec.js +481 -483
  174. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  175. package/dist/esm/tests/interfaces/messages-get.spec.js +31 -11
  176. package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
  177. package/dist/esm/tests/interfaces/messages-subscribe.spec.js +5 -5
  178. package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
  179. package/dist/esm/tests/interfaces/protocols-configure.spec.js +64 -134
  180. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  181. package/dist/esm/tests/interfaces/protocols-query.spec.js +4 -6
  182. package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
  183. package/dist/esm/tests/interfaces/records-delete.spec.js +3 -5
  184. package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
  185. package/dist/esm/tests/interfaces/records-query.spec.js +9 -11
  186. package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
  187. package/dist/esm/tests/interfaces/records-read.spec.js +76 -7
  188. package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
  189. package/dist/esm/tests/interfaces/records-subscribe.spec.js +7 -9
  190. package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
  191. package/dist/esm/tests/interfaces/records-write.spec.js +244 -48
  192. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  193. package/dist/esm/tests/jose/jws/general.spec.js +15 -18
  194. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  195. package/dist/esm/tests/protocols/permission-grant.spec.js +114 -0
  196. package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -0
  197. package/dist/esm/tests/protocols/permission-request.spec.js +43 -7
  198. package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
  199. package/dist/esm/tests/protocols/permissions.spec.js +9 -11
  200. package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
  201. package/dist/esm/tests/scenarios/aggregator.spec.js +90 -92
  202. package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
  203. package/dist/esm/tests/scenarios/deleted-record.spec.js +17 -19
  204. package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
  205. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +27 -29
  206. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  207. package/dist/esm/tests/scenarios/nested-roles.spec.js +37 -39
  208. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  209. package/dist/esm/tests/scenarios/subscriptions.spec.js +163 -163
  210. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  211. package/dist/esm/tests/smt/smt-store-level.spec.js +143 -0
  212. package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -0
  213. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +741 -0
  214. package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -0
  215. package/dist/esm/tests/state-index/state-index-level.spec.js +254 -0
  216. package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -0
  217. package/dist/esm/tests/store/blockstore-level.spec.js +136 -0
  218. package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -0
  219. package/dist/esm/tests/store/blockstore-mock.spec.js +29 -28
  220. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  221. package/dist/esm/tests/store/data-store-level.spec.js +23 -25
  222. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  223. package/dist/esm/tests/store/index-level.spec.js +544 -194
  224. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  225. package/dist/esm/tests/store/message-store-level.spec.js +4 -4
  226. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  227. package/dist/esm/tests/store/message-store.spec.js +147 -73
  228. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  229. package/dist/esm/tests/store-dependent-tests.spec.js +1 -0
  230. package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -1
  231. package/dist/esm/tests/test-stores.js +5 -5
  232. package/dist/esm/tests/test-stores.js.map +1 -1
  233. package/dist/esm/tests/test-suite.js +9 -8
  234. package/dist/esm/tests/test-suite.js.map +1 -1
  235. package/dist/esm/tests/utils/cid.spec.js +8 -11
  236. package/dist/esm/tests/utils/cid.spec.js.map +1 -1
  237. package/dist/esm/tests/utils/data-stream.spec.js +167 -13
  238. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  239. package/dist/esm/tests/utils/encryption-callbacks.spec.js +233 -0
  240. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -0
  241. package/dist/esm/tests/utils/encryption.spec.js +34 -85
  242. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  243. package/dist/esm/tests/utils/filters.spec.js +67 -69
  244. package/dist/esm/tests/utils/filters.spec.js.map +1 -1
  245. package/dist/esm/tests/utils/hd-key.spec.js +3 -3
  246. package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
  247. package/dist/esm/tests/utils/jws.spec.js +54 -3
  248. package/dist/esm/tests/utils/jws.spec.js.map +1 -1
  249. package/dist/esm/tests/utils/memory-cache.spec.js +6 -9
  250. package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
  251. package/dist/esm/tests/utils/messages.spec.js +63 -29
  252. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  253. package/dist/esm/tests/utils/object.spec.js +3 -3
  254. package/dist/esm/tests/utils/object.spec.js.map +1 -1
  255. package/dist/esm/tests/utils/poller.js +1 -1
  256. package/dist/esm/tests/utils/poller.js.map +1 -1
  257. package/dist/esm/tests/utils/private-key-signer.spec.js +6 -6
  258. package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
  259. package/dist/esm/tests/utils/records.spec.js +37 -5
  260. package/dist/esm/tests/utils/records.spec.js.map +1 -1
  261. package/dist/esm/tests/utils/secp256k1.spec.js +7 -7
  262. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  263. package/dist/esm/tests/utils/secp256r1.spec.js +7 -7
  264. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  265. package/dist/esm/tests/utils/test-data-generator.js +47 -28
  266. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  267. package/dist/esm/tests/utils/time.spec.js +7 -7
  268. package/dist/esm/tests/utils/time.spec.js.map +1 -1
  269. package/dist/esm/tests/utils/url.spec.js +25 -27
  270. package/dist/esm/tests/utils/url.spec.js.map +1 -1
  271. package/dist/esm/tests/validation/json-schemas/definitions.spec.js +4 -4
  272. package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
  273. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +15 -3
  274. package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
  275. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -8
  276. package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
  277. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +8 -18
  278. package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
  279. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +3 -3
  280. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  281. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +9 -9
  282. package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
  283. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +106 -0
  284. package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -0
  285. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +18 -18
  286. package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
  287. package/dist/esm/tests/vectors/protocol-definitions/email.json +1 -1
  288. package/dist/esm/tests/vectors/protocol-definitions/friend-role.json +2 -4
  289. package/dist/esm/tests/vectors/protocol-definitions/slack.json +2 -6
  290. package/dist/esm/tests/vectors/protocol-definitions/thread-role.json +2 -6
  291. package/dist/types/generated/precompiled-validators.d.ts +82 -64
  292. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  293. package/dist/types/src/core/dwn-error.d.ts +27 -3
  294. package/dist/types/src/core/dwn-error.d.ts.map +1 -1
  295. package/dist/types/src/core/message-reply.d.ts +1 -1
  296. package/dist/types/src/core/message.d.ts +3 -3
  297. package/dist/types/src/core/message.d.ts.map +1 -1
  298. package/dist/types/src/core/messages-grant-authorization.d.ts +4 -4
  299. package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
  300. package/dist/types/src/core/protocol-authorization.d.ts +43 -2
  301. package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
  302. package/dist/types/src/core/records-grant-authorization.d.ts +2 -2
  303. package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
  304. package/dist/types/src/core/resumable-task-manager.d.ts +1 -0
  305. package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
  306. package/dist/types/src/dwn.d.ts +8 -8
  307. package/dist/types/src/dwn.d.ts.map +1 -1
  308. package/dist/types/src/enums/dwn-interface-method.d.ts +5 -3
  309. package/dist/types/src/enums/dwn-interface-method.d.ts.map +1 -1
  310. package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +1 -0
  311. package/dist/types/src/handlers/messages-sync.d.ts +21 -0
  312. package/dist/types/src/handlers/messages-sync.d.ts.map +1 -0
  313. package/dist/types/src/handlers/protocols-configure.d.ts +24 -4
  314. package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
  315. package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
  316. package/dist/types/src/handlers/records-count.d.ts +43 -0
  317. package/dist/types/src/handlers/records-count.d.ts.map +1 -0
  318. package/dist/types/src/handlers/records-query.d.ts.map +1 -1
  319. package/dist/types/src/handlers/records-read.d.ts.map +1 -1
  320. package/dist/types/src/handlers/records-write.d.ts +5 -5
  321. package/dist/types/src/handlers/records-write.d.ts.map +1 -1
  322. package/dist/types/src/index.d.ts +72 -37
  323. package/dist/types/src/index.d.ts.map +1 -1
  324. package/dist/types/src/interfaces/messages-read.d.ts +2 -2
  325. package/dist/types/src/interfaces/messages-read.d.ts.map +1 -1
  326. package/dist/types/src/interfaces/messages-subscribe.d.ts +2 -2
  327. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  328. package/dist/types/src/interfaces/messages-sync.d.ts +16 -0
  329. package/dist/types/src/interfaces/messages-sync.d.ts.map +1 -0
  330. package/dist/types/src/interfaces/protocols-configure.d.ts +22 -2
  331. package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
  332. package/dist/types/src/interfaces/protocols-query.d.ts +2 -2
  333. package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -1
  334. package/dist/types/src/interfaces/records-count.d.ts +27 -0
  335. package/dist/types/src/interfaces/records-count.d.ts.map +1 -0
  336. package/dist/types/src/interfaces/records-delete.d.ts +2 -2
  337. package/dist/types/src/interfaces/records-delete.d.ts.map +1 -1
  338. package/dist/types/src/interfaces/records-query.d.ts +2 -2
  339. package/dist/types/src/interfaces/records-query.d.ts.map +1 -1
  340. package/dist/types/src/interfaces/records-read.d.ts +4 -2
  341. package/dist/types/src/interfaces/records-read.d.ts.map +1 -1
  342. package/dist/types/src/interfaces/records-subscribe.d.ts +2 -2
  343. package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
  344. package/dist/types/src/interfaces/records-write.d.ts +37 -15
  345. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  346. package/dist/types/src/jose/algorithms/signing/ed25519.d.ts.map +1 -1
  347. package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts +5 -1
  348. package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts.map +1 -1
  349. package/dist/types/src/jose/jws/general/builder.d.ts +3 -3
  350. package/dist/types/src/jose/jws/general/builder.d.ts.map +1 -1
  351. package/dist/types/src/protocols/permission-grant.d.ts +11 -0
  352. package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
  353. package/dist/types/src/protocols/permission-request.d.ts +11 -0
  354. package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
  355. package/dist/types/src/protocols/permissions.d.ts +4 -4
  356. package/dist/types/src/protocols/permissions.d.ts.map +1 -1
  357. package/dist/types/src/schema-validator.d.ts +1 -1
  358. package/dist/types/src/schema-validator.d.ts.map +1 -1
  359. package/dist/types/src/smt/smt-store-level.d.ts +32 -0
  360. package/dist/types/src/smt/smt-store-level.d.ts.map +1 -0
  361. package/dist/types/src/smt/smt-store-memory.d.ts +22 -0
  362. package/dist/types/src/smt/smt-store-memory.d.ts.map +1 -0
  363. package/dist/types/src/smt/smt-utils.d.ts +58 -0
  364. package/dist/types/src/smt/smt-utils.d.ts.map +1 -0
  365. package/dist/types/src/smt/sparse-merkle-tree.d.ts +124 -0
  366. package/dist/types/src/smt/sparse-merkle-tree.d.ts.map +1 -0
  367. package/dist/types/src/state-index/state-index-level.d.ts +83 -0
  368. package/dist/types/src/state-index/state-index-level.d.ts.map +1 -0
  369. package/dist/types/src/store/data-store-level.d.ts +1 -2
  370. package/dist/types/src/store/data-store-level.d.ts.map +1 -1
  371. package/dist/types/src/store/index-level.d.ts +98 -2
  372. package/dist/types/src/store/index-level.d.ts.map +1 -1
  373. package/dist/types/src/store/level-wrapper.d.ts.map +1 -1
  374. package/dist/types/src/store/message-store-level.d.ts +5 -0
  375. package/dist/types/src/store/message-store-level.d.ts.map +1 -1
  376. package/dist/types/src/store/storage-controller.d.ts +7 -7
  377. package/dist/types/src/store/storage-controller.d.ts.map +1 -1
  378. package/dist/types/src/types/data-store.d.ts +2 -3
  379. package/dist/types/src/types/data-store.d.ts.map +1 -1
  380. package/dist/types/src/types/encryption-types.d.ts +48 -0
  381. package/dist/types/src/types/encryption-types.d.ts.map +1 -0
  382. package/dist/types/src/types/jose-types.d.ts +9 -40
  383. package/dist/types/src/types/jose-types.d.ts.map +1 -1
  384. package/dist/types/src/types/message-store.d.ts +5 -0
  385. package/dist/types/src/types/message-store.d.ts.map +1 -1
  386. package/dist/types/src/types/message-types.d.ts +19 -0
  387. package/dist/types/src/types/message-types.d.ts.map +1 -1
  388. package/dist/types/src/types/messages-types.d.ts +16 -11
  389. package/dist/types/src/types/messages-types.d.ts.map +1 -1
  390. package/dist/types/src/types/method-handler.d.ts +1 -2
  391. package/dist/types/src/types/method-handler.d.ts.map +1 -1
  392. package/dist/types/src/types/permission-types.d.ts +2 -2
  393. package/dist/types/src/types/permission-types.d.ts.map +1 -1
  394. package/dist/types/src/types/protocols-types.d.ts +49 -5
  395. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  396. package/dist/types/src/types/records-types.d.ts +23 -7
  397. package/dist/types/src/types/records-types.d.ts.map +1 -1
  398. package/dist/types/src/types/signer.d.ts +1 -1
  399. package/dist/types/src/types/signer.d.ts.map +1 -1
  400. package/dist/types/src/types/smt-types.d.ts +81 -0
  401. package/dist/types/src/types/smt-types.d.ts.map +1 -0
  402. package/dist/types/src/types/state-index.d.ts +90 -0
  403. package/dist/types/src/types/state-index.d.ts.map +1 -0
  404. package/dist/types/src/utils/cid.d.ts +1 -2
  405. package/dist/types/src/utils/cid.d.ts.map +1 -1
  406. package/dist/types/src/utils/data-stream.d.ts +14 -7
  407. package/dist/types/src/utils/data-stream.d.ts.map +1 -1
  408. package/dist/types/src/utils/encryption.d.ts +2 -3
  409. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  410. package/dist/types/src/utils/hd-key.d.ts +4 -4
  411. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  412. package/dist/types/src/utils/jws.d.ts +7 -7
  413. package/dist/types/src/utils/jws.d.ts.map +1 -1
  414. package/dist/types/src/utils/private-key-signer.d.ts +4 -4
  415. package/dist/types/src/utils/private-key-signer.d.ts.map +1 -1
  416. package/dist/types/src/utils/protocols.d.ts +46 -3
  417. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  418. package/dist/types/src/utils/records.d.ts +33 -6
  419. package/dist/types/src/utils/records.d.ts.map +1 -1
  420. package/dist/types/src/utils/secp256k1.d.ts +11 -11
  421. package/dist/types/src/utils/secp256k1.d.ts.map +1 -1
  422. package/dist/types/src/utils/secp256r1.d.ts +8 -8
  423. package/dist/types/src/utils/secp256r1.d.ts.map +1 -1
  424. package/dist/types/src/utils/time.d.ts +1 -1
  425. package/dist/types/tests/dwn.spec.d.ts.map +1 -1
  426. package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +1 -0
  427. package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +1 -0
  428. package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
  429. package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
  430. package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
  431. package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
  432. package/dist/types/tests/features/protocol-composition.spec.d.ts +5 -0
  433. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -0
  434. package/dist/types/tests/features/protocol-create-action.spec.d.ts.map +1 -1
  435. package/dist/types/tests/features/protocol-delete-action.spec.d.ts.map +1 -1
  436. package/dist/types/tests/features/protocol-update-action.spec.d.ts.map +1 -1
  437. package/dist/types/tests/features/records-prune.spec.d.ts.map +1 -1
  438. package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
  439. package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
  440. package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
  441. package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
  442. package/dist/types/tests/handlers/messages-sync.spec.d.ts +2 -0
  443. package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -0
  444. package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -1
  445. package/dist/types/tests/handlers/protocols-query.spec.d.ts.map +1 -1
  446. package/dist/types/tests/handlers/records-count.spec.d.ts +2 -0
  447. package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -0
  448. package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
  449. package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
  450. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  451. package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
  452. package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
  453. package/dist/types/tests/protocols/permission-grant.spec.d.ts +2 -0
  454. package/dist/types/tests/protocols/permission-grant.spec.d.ts.map +1 -0
  455. package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
  456. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
  457. package/dist/types/tests/scenarios/nested-roles.spec.d.ts.map +1 -1
  458. package/dist/types/tests/smt/smt-store-level.spec.d.ts +2 -0
  459. package/dist/types/tests/smt/smt-store-level.spec.d.ts.map +1 -0
  460. package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts +2 -0
  461. package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts.map +1 -0
  462. package/dist/types/tests/state-index/state-index-level.spec.d.ts +2 -0
  463. package/dist/types/tests/state-index/state-index-level.spec.d.ts.map +1 -0
  464. package/dist/types/tests/store/blockstore-level.spec.d.ts +2 -0
  465. package/dist/types/tests/store/blockstore-level.spec.d.ts.map +1 -0
  466. package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
  467. package/dist/types/tests/test-stores.d.ts +4 -4
  468. package/dist/types/tests/test-stores.d.ts.map +1 -1
  469. package/dist/types/tests/test-suite.d.ts +2 -2
  470. package/dist/types/tests/test-suite.d.ts.map +1 -1
  471. package/dist/types/tests/utils/encryption-callbacks.spec.d.ts +2 -0
  472. package/dist/types/tests/utils/encryption-callbacks.spec.d.ts.map +1 -0
  473. package/dist/types/tests/utils/test-data-generator.d.ts +31 -28
  474. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  475. package/dist/types/tests/validation/json-schemas/records/records-read.spec.d.ts +2 -0
  476. package/dist/types/tests/validation/json-schemas/records/records-read.spec.d.ts.map +1 -0
  477. package/package.json +26 -45
  478. package/src/core/dwn-error.ts +27 -3
  479. package/src/core/message-reply.ts +1 -1
  480. package/src/core/message.ts +5 -5
  481. package/src/core/messages-grant-authorization.ts +22 -8
  482. package/src/core/protocol-authorization.ts +345 -68
  483. package/src/core/records-grant-authorization.ts +2 -2
  484. package/src/core/resumable-task-manager.ts +4 -5
  485. package/src/dwn.ts +25 -20
  486. package/src/enums/dwn-interface-method.ts +5 -3
  487. package/src/handlers/messages-subscribe.ts +1 -1
  488. package/src/handlers/messages-sync.ts +129 -0
  489. package/src/handlers/protocols-configure.ts +195 -17
  490. package/src/handlers/protocols-query.ts +7 -5
  491. package/src/handlers/records-count.ts +184 -0
  492. package/src/handlers/records-query.ts +4 -0
  493. package/src/handlers/records-read.ts +4 -8
  494. package/src/handlers/records-write.ts +20 -21
  495. package/src/index.ts +74 -37
  496. package/src/interfaces/messages-read.ts +6 -5
  497. package/src/interfaces/messages-subscribe.ts +7 -6
  498. package/src/interfaces/messages-sync.ts +59 -0
  499. package/src/interfaces/protocols-configure.ts +211 -33
  500. package/src/interfaces/protocols-query.ts +7 -6
  501. package/src/interfaces/records-count.ts +106 -0
  502. package/src/interfaces/records-delete.ts +2 -2
  503. package/src/interfaces/records-query.ts +2 -2
  504. package/src/interfaces/records-read.ts +26 -3
  505. package/src/interfaces/records-subscribe.ts +2 -2
  506. package/src/interfaces/records-write.ts +115 -46
  507. package/src/jose/algorithms/signing/ed25519.ts +13 -12
  508. package/src/jose/algorithms/signing/signature-algorithms.ts +6 -1
  509. package/src/jose/jws/general/builder.ts +3 -3
  510. package/src/jose/jws/general/verifier.ts +3 -3
  511. package/src/protocols/permission-grant.ts +51 -0
  512. package/src/protocols/permission-request.ts +37 -0
  513. package/src/protocols/permissions.ts +5 -5
  514. package/src/schema-validator.ts +11 -3
  515. package/src/smt/smt-store-level.ts +143 -0
  516. package/src/smt/smt-store-memory.ts +53 -0
  517. package/src/smt/smt-utils.ts +149 -0
  518. package/src/smt/sparse-merkle-tree.ts +698 -0
  519. package/src/state-index/state-index-level.ts +241 -0
  520. package/src/store/data-store-level.ts +8 -7
  521. package/src/store/index-level.ts +415 -19
  522. package/src/store/level-wrapper.ts +1 -1
  523. package/src/store/message-store-level.ts +62 -0
  524. package/src/store/storage-controller.ts +21 -19
  525. package/src/types/data-store.ts +2 -4
  526. package/src/types/encryption-types.ts +52 -0
  527. package/src/types/jose-types.ts +10 -42
  528. package/src/types/message-store.ts +11 -0
  529. package/src/types/message-types.ts +21 -0
  530. package/src/types/messages-types.ts +21 -15
  531. package/src/types/method-handler.ts +1 -2
  532. package/src/types/permission-types.ts +2 -2
  533. package/src/types/protocols-types.ts +55 -6
  534. package/src/types/records-types.ts +26 -7
  535. package/src/types/signer.ts +1 -1
  536. package/src/types/smt-types.ts +95 -0
  537. package/src/types/state-index.ts +100 -0
  538. package/src/utils/cid.ts +3 -4
  539. package/src/utils/data-stream.ts +75 -38
  540. package/src/utils/encryption.ts +24 -39
  541. package/src/utils/hd-key.ts +6 -6
  542. package/src/utils/jws.ts +9 -9
  543. package/src/utils/private-key-signer.ts +9 -8
  544. package/src/utils/protocols.ts +132 -6
  545. package/src/utils/records.ts +118 -29
  546. package/src/utils/secp256k1.ts +23 -21
  547. package/src/utils/secp256r1.ts +17 -15
  548. package/src/utils/time.ts +1 -1
  549. package/src/utils/url.ts +1 -1
  550. package/dist/cjs/index.js +0 -36749
  551. package/dist/cjs/package.json +0 -1
  552. package/dist/esm/src/event-log/event-emitter-stream.js.map +0 -1
  553. package/dist/esm/src/event-log/event-log-level.js +0 -63
  554. package/dist/esm/src/event-log/event-log-level.js.map +0 -1
  555. package/dist/esm/src/handlers/messages-query.js +0 -71
  556. package/dist/esm/src/handlers/messages-query.js.map +0 -1
  557. package/dist/esm/src/interfaces/messages-query.js.map +0 -1
  558. package/dist/esm/src/types/event-log.js +0 -2
  559. package/dist/esm/src/types/event-log.js.map +0 -1
  560. package/dist/esm/tests/event-log/event-emitter-stream.spec.js.map +0 -1
  561. package/dist/esm/tests/event-log/event-log-level.spec.js +0 -44
  562. package/dist/esm/tests/event-log/event-log-level.spec.js.map +0 -1
  563. package/dist/esm/tests/event-log/event-log.spec.js +0 -236
  564. package/dist/esm/tests/event-log/event-log.spec.js.map +0 -1
  565. package/dist/esm/tests/event-log/event-stream.spec.js.map +0 -1
  566. package/dist/esm/tests/handlers/messages-query.spec.js +0 -349
  567. package/dist/esm/tests/handlers/messages-query.spec.js.map +0 -1
  568. package/dist/esm/tests/interfaces/messagess-query.spec.js +0 -127
  569. package/dist/esm/tests/interfaces/messagess-query.spec.js.map +0 -1
  570. package/dist/esm/tests/scenarios/messages-query.spec.js +0 -395
  571. package/dist/esm/tests/scenarios/messages-query.spec.js.map +0 -1
  572. package/dist/types/src/event-log/event-emitter-stream.d.ts.map +0 -1
  573. package/dist/types/src/event-log/event-log-level.d.ts +0 -35
  574. package/dist/types/src/event-log/event-log-level.d.ts.map +0 -1
  575. package/dist/types/src/handlers/messages-query.d.ts +0 -17
  576. package/dist/types/src/handlers/messages-query.d.ts.map +0 -1
  577. package/dist/types/src/interfaces/messages-query.d.ts +0 -16
  578. package/dist/types/src/interfaces/messages-query.d.ts.map +0 -1
  579. package/dist/types/src/types/event-log.d.ts +0 -52
  580. package/dist/types/src/types/event-log.d.ts.map +0 -1
  581. package/dist/types/tests/event-log/event-emitter-stream.spec.d.ts.map +0 -1
  582. package/dist/types/tests/event-log/event-log-level.spec.d.ts +0 -2
  583. package/dist/types/tests/event-log/event-log-level.spec.d.ts.map +0 -1
  584. package/dist/types/tests/event-log/event-log.spec.d.ts +0 -2
  585. package/dist/types/tests/event-log/event-log.spec.d.ts.map +0 -1
  586. package/dist/types/tests/event-log/event-stream.spec.d.ts.map +0 -1
  587. package/dist/types/tests/handlers/messages-query.spec.d.ts +0 -2
  588. package/dist/types/tests/handlers/messages-query.spec.d.ts.map +0 -1
  589. package/dist/types/tests/interfaces/messagess-query.spec.d.ts +0 -2
  590. package/dist/types/tests/interfaces/messagess-query.spec.d.ts.map +0 -1
  591. package/dist/types/tests/scenarios/messages-query.spec.d.ts +0 -2
  592. package/dist/types/tests/scenarios/messages-query.spec.d.ts.map +0 -1
  593. package/src/event-log/event-log-level.ts +0 -72
  594. package/src/handlers/messages-query.ts +0 -67
  595. package/src/interfaces/messages-query.ts +0 -60
  596. package/src/types/event-log.ts +0 -52
  597. /package/dist/esm/src/{event-log → event-stream}/event-emitter-stream.js +0 -0
  598. /package/dist/types/src/{event-log → event-stream}/event-emitter-stream.d.ts +0 -0
  599. /package/dist/types/tests/{event-log → event-stream}/event-emitter-stream.spec.d.ts +0 -0
  600. /package/dist/types/tests/{event-log → event-stream}/event-stream.spec.d.ts +0 -0
  601. /package/src/{event-log → event-stream}/event-emitter-stream.ts +0 -0
@@ -7,16 +7,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { expect } from 'chai';
11
10
  import { GeneralJwsVerifier } from '../../src/jose/jws/general/verifier.js';
12
11
  import { Message } from '../../src/core/message.js';
13
- import minimalProtocolDefinition from '../vectors/protocol-definitions/minimal.json' assert { type: 'json' };
12
+ import minimalProtocolDefinition from '../vectors/protocol-definitions/minimal.json' with { type: 'json' };
13
+ import sinon from 'sinon';
14
14
  import { TestDataGenerator } from '../utils/test-data-generator.js';
15
15
  import { TestEventStream } from '../test-event-stream.js';
16
16
  import { TestStores } from '../test-stores.js';
17
+ import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'bun:test';
17
18
  import { DataStream, Dwn, DwnConstant, DwnErrorCode, DwnInterfaceName, DwnMethodName, Jws, PermissionGrant, PermissionsProtocol, Time } from '../../src/index.js';
18
19
  import { DidKey, UniversalResolver } from '@enbox/dids';
19
- import sinon from 'sinon';
20
20
  export function testMessagesReadHandler() {
21
21
  describe('MessagesReadHandler.handle()', () => {
22
22
  let dwn;
@@ -24,29 +24,29 @@ export function testMessagesReadHandler() {
24
24
  let messageStore;
25
25
  let dataStore;
26
26
  let resumableTaskStore;
27
- let eventLog;
27
+ let stateIndex;
28
28
  let eventStream;
29
29
  // important to follow the `before` and `after` pattern to initialize and clean the stores in tests
30
30
  // so that different test suites can reuse the same backend store for testing
31
- before(() => __awaiter(this, void 0, void 0, function* () {
31
+ beforeAll(() => __awaiter(this, void 0, void 0, function* () {
32
32
  didResolver = new UniversalResolver({ didResolvers: [DidKey] });
33
33
  const stores = TestStores.get();
34
34
  messageStore = stores.messageStore;
35
35
  dataStore = stores.dataStore;
36
36
  resumableTaskStore = stores.resumableTaskStore;
37
- eventLog = stores.eventLog;
37
+ stateIndex = stores.stateIndex;
38
38
  eventStream = TestEventStream.get();
39
- dwn = yield Dwn.create({ didResolver, messageStore, dataStore, eventLog, eventStream, resumableTaskStore });
39
+ dwn = yield Dwn.create({ didResolver, messageStore, dataStore, stateIndex, eventStream, resumableTaskStore });
40
40
  }));
41
41
  beforeEach(() => __awaiter(this, void 0, void 0, function* () {
42
42
  // clean up before each test rather than after so that a test does not depend on other tests to do the clean up
43
43
  yield messageStore.clear();
44
44
  yield dataStore.clear();
45
45
  yield resumableTaskStore.clear();
46
- yield eventLog.clear();
46
+ yield stateIndex.clear();
47
47
  sinon.restore(); // wipe all previous stubs/spies/mocks/fakes
48
48
  }));
49
- after(() => __awaiter(this, void 0, void 0, function* () {
49
+ afterAll(() => __awaiter(this, void 0, void 0, function* () {
50
50
  sinon.restore();
51
51
  yield dwn.close();
52
52
  }));
@@ -60,8 +60,8 @@ export function testMessagesReadHandler() {
60
60
  });
61
61
  // alice is not the author of the message
62
62
  const reply = yield dwn.processMessage(alice.did, message);
63
- expect(reply.status.code).to.equal(401);
64
- expect(reply.status.detail).to.include('Invalid signature');
63
+ expect(reply.status.code).toBe(401);
64
+ expect(reply.status.detail).toContain('Invalid signature');
65
65
  }));
66
66
  it('returns a 400 if message is invalid', () => __awaiter(this, void 0, void 0, function* () {
67
67
  const alice = yield TestDataGenerator.generateDidKeyPersona();
@@ -72,7 +72,7 @@ export function testMessagesReadHandler() {
72
72
  });
73
73
  message['descriptor']['troll'] = 'hehe';
74
74
  const reply = yield dwn.processMessage(alice.did, message);
75
- expect(reply.status.code).to.equal(400);
75
+ expect(reply.status.code).toBe(400);
76
76
  }));
77
77
  it('returns a 400 if message contains an invalid message cid', () => __awaiter(this, void 0, void 0, function* () {
78
78
  const alice = yield TestDataGenerator.generateDidKeyPersona();
@@ -83,9 +83,9 @@ export function testMessagesReadHandler() {
83
83
  });
84
84
  message.descriptor.messageCid = 'hehetroll';
85
85
  const reply = yield dwn.processMessage(alice.did, message);
86
- expect(reply.status.code).to.equal(400);
87
- expect(reply.status.detail).to.include('is not a valid CID');
88
- expect(reply.entry).to.be.undefined;
86
+ expect(reply.status.code).toBe(400);
87
+ expect(reply.status.detail).toContain('is not a valid CID');
88
+ expect(reply.entry).toBeUndefined();
89
89
  }));
90
90
  it('returns a 404 and the entry as undefined in reply entry when a messageCid is not found', () => __awaiter(this, void 0, void 0, function* () {
91
91
  const alice = yield TestDataGenerator.generateDidKeyPersona();
@@ -97,8 +97,8 @@ export function testMessagesReadHandler() {
97
97
  });
98
98
  // returns a 404 because the RecordsWrite created above was never stored
99
99
  const reply = yield dwn.processMessage(alice.did, message);
100
- expect(reply.status.code).to.equal(404);
101
- expect(reply.entry).to.be.undefined;
100
+ expect(reply.status.code).toBe(404);
101
+ expect(reply.entry).toBeUndefined();
102
102
  }));
103
103
  describe('without a grant', () => {
104
104
  describe('records interface messages', () => {
@@ -108,15 +108,15 @@ export function testMessagesReadHandler() {
108
108
  // bob creates a record that alice will try and get
109
109
  const { message: recordsWrite, dataStream } = yield TestDataGenerator.generateRecordsWrite({ author: bob });
110
110
  const { status } = yield dwn.processMessage(bob.did, recordsWrite, { dataStream });
111
- expect(status.code).to.equal(202);
111
+ expect(status.code).toBe(202);
112
112
  // alice tries to read the message
113
113
  const { message } = yield TestDataGenerator.generateMessagesRead({
114
114
  author: alice,
115
115
  messageCid: yield Message.getCid(recordsWrite)
116
116
  });
117
117
  const reply = yield dwn.processMessage(bob.did, message);
118
- expect(reply.status.code).to.equal(401);
119
- expect(reply.status.detail).to.include(DwnErrorCode.MessagesReadAuthorizationFailed);
118
+ expect(reply.status.code).toBe(401);
119
+ expect(reply.status.detail).toContain(DwnErrorCode.MessagesReadAuthorizationFailed);
120
120
  }));
121
121
  describe('gets record data in the reply entry', () => {
122
122
  it('data is less than threshold', () => __awaiter(this, void 0, void 0, function* () {
@@ -126,22 +126,22 @@ export function testMessagesReadHandler() {
126
126
  data: TestDataGenerator.randomBytes(DwnConstant.maxDataSizeAllowedToBeEncoded),
127
127
  });
128
128
  const reply = yield dwn.processMessage(alice.did, recordsWrite, { dataStream });
129
- expect(reply.status.code).to.equal(202);
129
+ expect(reply.status.code).toBe(202);
130
130
  const recordsWriteMessageCid = yield Message.getCid(recordsWrite);
131
131
  const { message } = yield TestDataGenerator.generateMessagesRead({
132
132
  author: alice,
133
133
  messageCid: recordsWriteMessageCid
134
134
  });
135
135
  const messagesReadReply = yield dwn.processMessage(alice.did, message);
136
- expect(messagesReadReply.status.code).to.equal(200);
137
- expect(messagesReadReply.entry).to.exist;
136
+ expect(messagesReadReply.status.code).toBe(200);
137
+ expect(messagesReadReply.entry).toBeDefined();
138
138
  const messageReply = messagesReadReply.entry;
139
- expect(messageReply.messageCid).to.exist;
140
- expect(messageReply.messageCid).to.equal(recordsWriteMessageCid);
141
- expect(messageReply.message).to.exist.and.not.be.undefined;
142
- expect(messageReply.data).to.exist.and.not.be.undefined;
139
+ expect(messageReply.messageCid).toBeDefined();
140
+ expect(messageReply.messageCid).toBe(recordsWriteMessageCid);
141
+ expect(messageReply.message).toBeDefined();
142
+ expect(messageReply.data).toBeDefined();
143
143
  const messageData = yield DataStream.toBytes(messageReply.data);
144
- expect(messageData).to.eql(dataBytes);
144
+ expect(messageData).toEqual(dataBytes);
145
145
  }));
146
146
  it('data is greater than threshold', () => __awaiter(this, void 0, void 0, function* () {
147
147
  const alice = yield TestDataGenerator.generateDidKeyPersona();
@@ -150,22 +150,22 @@ export function testMessagesReadHandler() {
150
150
  data: TestDataGenerator.randomBytes(DwnConstant.maxDataSizeAllowedToBeEncoded + 10),
151
151
  });
152
152
  const reply = yield dwn.processMessage(alice.did, recordsWrite, { dataStream });
153
- expect(reply.status.code).to.equal(202);
153
+ expect(reply.status.code).toBe(202);
154
154
  const recordsWriteMessageCid = yield Message.getCid(recordsWrite);
155
155
  const { message } = yield TestDataGenerator.generateMessagesRead({
156
156
  author: alice,
157
157
  messageCid: recordsWriteMessageCid
158
158
  });
159
159
  const messagesReadReply = yield dwn.processMessage(alice.did, message);
160
- expect(messagesReadReply.status.code).to.equal(200);
161
- expect(messagesReadReply.entry).to.exist;
160
+ expect(messagesReadReply.status.code).toBe(200);
161
+ expect(messagesReadReply.entry).toBeDefined();
162
162
  const messageReply = messagesReadReply.entry;
163
- expect(messageReply.messageCid).to.exist;
164
- expect(messageReply.messageCid).to.equal(recordsWriteMessageCid);
165
- expect(messageReply.message).to.exist.and.not.be.undefined;
166
- expect(messageReply.data).to.exist.and.not.be.undefined;
163
+ expect(messageReply.messageCid).toBeDefined();
164
+ expect(messageReply.messageCid).toBe(recordsWriteMessageCid);
165
+ expect(messageReply.message).toBeDefined();
166
+ expect(messageReply.data).toBeDefined();
167
167
  const messageData = yield DataStream.toBytes(messageReply.data);
168
- expect(messageData).to.eql(dataBytes);
168
+ expect(messageData).toEqual(dataBytes);
169
169
  }));
170
170
  it('data is not available', () => __awaiter(this, void 0, void 0, function* () {
171
171
  const alice = yield TestDataGenerator.generateDidKeyPersona();
@@ -176,26 +176,26 @@ export function testMessagesReadHandler() {
176
176
  });
177
177
  const initialMessageCid = yield Message.getCid(recordsWriteMessage);
178
178
  let reply = yield dwn.processMessage(alice.did, recordsWriteMessage, { dataStream });
179
- expect(reply.status.code).to.equal(202);
179
+ expect(reply.status.code).toBe(202);
180
180
  const { recordsWrite: updateMessage, dataStream: updateDataStream } = yield TestDataGenerator.generateFromRecordsWrite({
181
181
  author: alice,
182
182
  existingWrite: recordsWrite,
183
183
  data: TestDataGenerator.randomBytes(DwnConstant.maxDataSizeAllowedToBeEncoded + 10),
184
184
  });
185
185
  reply = yield dwn.processMessage(alice.did, updateMessage.toJSON(), { dataStream: updateDataStream });
186
- expect(reply.status.code).to.equal(202);
186
+ expect(reply.status.code).toBe(202);
187
187
  const { message } = yield TestDataGenerator.generateMessagesRead({
188
188
  author: alice,
189
189
  messageCid: initialMessageCid
190
190
  });
191
191
  const messagesReadReply = yield dwn.processMessage(alice.did, message);
192
- expect(messagesReadReply.status.code).to.equal(200);
193
- expect(messagesReadReply.entry).to.exist;
192
+ expect(messagesReadReply.status.code).toBe(200);
193
+ expect(messagesReadReply.entry).toBeDefined();
194
194
  const messageReply = messagesReadReply.entry;
195
- expect(messageReply.messageCid).to.exist;
196
- expect(messageReply.messageCid).to.equal(initialMessageCid);
197
- expect(messageReply.message).to.exist.and.not.be.undefined;
198
- expect(messageReply.data).to.be.undefined;
195
+ expect(messageReply.messageCid).toBeDefined();
196
+ expect(messageReply.messageCid).toBe(initialMessageCid);
197
+ expect(messageReply.message).toBeDefined();
198
+ expect(messageReply.data).toBeUndefined();
199
199
  }));
200
200
  });
201
201
  });
@@ -212,7 +212,7 @@ export function testMessagesReadHandler() {
212
212
  protocolDefinition: unpublishedProtocolDefinition
213
213
  });
214
214
  const unpublishedProtocolsConfigureReply = yield dwn.processMessage(alice.did, unpublishedProtocolsConfigure);
215
- expect(unpublishedProtocolsConfigureReply.status.code).to.equal(202);
215
+ expect(unpublishedProtocolsConfigureReply.status.code).toBe(202);
216
216
  // published protocol configuration
217
217
  const publishedProtocolDefinition = Object.assign(Object.assign({}, minimalProtocolDefinition), { protocol: 'http://example.com/protocol/published', published: true });
218
218
  const { message: publishedProtocolsConfigure } = yield TestDataGenerator.generateProtocolsConfigure({
@@ -220,7 +220,7 @@ export function testMessagesReadHandler() {
220
220
  protocolDefinition: publishedProtocolDefinition
221
221
  });
222
222
  const publishedProtocolsConfigureReply = yield dwn.processMessage(alice.did, publishedProtocolsConfigure);
223
- expect(publishedProtocolsConfigureReply.status.code).to.equal(202);
223
+ expect(publishedProtocolsConfigureReply.status.code).toBe(202);
224
224
  // get the message CIDs
225
225
  const unpublishedProtocolMessageCid = yield Message.getCid(unpublishedProtocolsConfigure);
226
226
  const publishedProtocolMessageCid = yield Message.getCid(publishedProtocolsConfigure);
@@ -230,37 +230,37 @@ export function testMessagesReadHandler() {
230
230
  messageCid: unpublishedProtocolMessageCid,
231
231
  });
232
232
  const getUnpublishedProtocolConfigureReply = yield dwn.processMessage(alice.did, getUnpublishedProtocolConfigure);
233
- expect(getUnpublishedProtocolConfigureReply.status.code).to.equal(401);
234
- expect(getUnpublishedProtocolConfigureReply.status.detail).to.include(DwnErrorCode.MessagesReadAuthorizationFailed);
235
- expect(getUnpublishedProtocolConfigureReply.entry).to.be.undefined;
233
+ expect(getUnpublishedProtocolConfigureReply.status.code).toBe(401);
234
+ expect(getUnpublishedProtocolConfigureReply.status.detail).toContain(DwnErrorCode.MessagesReadAuthorizationFailed);
235
+ expect(getUnpublishedProtocolConfigureReply.entry).toBeUndefined();
236
236
  // bob attempts to read the published protocol configuration
237
237
  const { message: getPublishedProtocolConfigure } = yield TestDataGenerator.generateMessagesRead({
238
238
  author: bob,
239
239
  messageCid: publishedProtocolMessageCid,
240
240
  });
241
241
  const getPublishedProtocolConfigureReply = yield dwn.processMessage(alice.did, getPublishedProtocolConfigure);
242
- expect(getPublishedProtocolConfigureReply.status.code).to.equal(401);
243
- expect(getPublishedProtocolConfigureReply.status.detail).to.include(DwnErrorCode.MessagesReadAuthorizationFailed);
244
- expect(getPublishedProtocolConfigureReply.entry).to.be.undefined;
242
+ expect(getPublishedProtocolConfigureReply.status.code).toBe(401);
243
+ expect(getPublishedProtocolConfigureReply.status.detail).toContain(DwnErrorCode.MessagesReadAuthorizationFailed);
244
+ expect(getPublishedProtocolConfigureReply.entry).toBeUndefined();
245
245
  // control: alice is able to read both the published and unpublished protocol configurations
246
246
  const { message: getUnpublishedProtocolConfigureAlice } = yield TestDataGenerator.generateMessagesRead({
247
247
  author: alice,
248
248
  messageCid: unpublishedProtocolMessageCid,
249
249
  });
250
250
  const getUnpublishedProtocolConfigureAliceReply = yield dwn.processMessage(alice.did, getUnpublishedProtocolConfigureAlice);
251
- expect(getUnpublishedProtocolConfigureAliceReply.status.code).to.equal(200);
252
- expect(getUnpublishedProtocolConfigureAliceReply.entry).to.exist;
253
- expect(getUnpublishedProtocolConfigureAliceReply.entry.messageCid).to.equal(unpublishedProtocolMessageCid);
254
- expect(getUnpublishedProtocolConfigureAliceReply.entry.message).to.deep.equal(unpublishedProtocolsConfigure);
251
+ expect(getUnpublishedProtocolConfigureAliceReply.status.code).toBe(200);
252
+ expect(getUnpublishedProtocolConfigureAliceReply.entry).toBeDefined();
253
+ expect(getUnpublishedProtocolConfigureAliceReply.entry.messageCid).toBe(unpublishedProtocolMessageCid);
254
+ expect(getUnpublishedProtocolConfigureAliceReply.entry.message).toEqual(unpublishedProtocolsConfigure);
255
255
  const { message: getPublishedProtocolConfigureAlice } = yield TestDataGenerator.generateMessagesRead({
256
256
  author: alice,
257
257
  messageCid: publishedProtocolMessageCid,
258
258
  });
259
259
  const getPublishedProtocolConfigureAliceReply = yield dwn.processMessage(alice.did, getPublishedProtocolConfigureAlice);
260
- expect(getPublishedProtocolConfigureAliceReply.status.code).to.equal(200);
261
- expect(getPublishedProtocolConfigureAliceReply.entry).to.exist;
262
- expect(getPublishedProtocolConfigureAliceReply.entry.messageCid).to.equal(publishedProtocolMessageCid);
263
- expect(getPublishedProtocolConfigureAliceReply.entry.message).to.deep.equal(publishedProtocolsConfigure);
260
+ expect(getPublishedProtocolConfigureAliceReply.status.code).toBe(200);
261
+ expect(getPublishedProtocolConfigureAliceReply.entry).toBeDefined();
262
+ expect(getPublishedProtocolConfigureAliceReply.entry.messageCid).toBe(publishedProtocolMessageCid);
263
+ expect(getPublishedProtocolConfigureAliceReply.entry.message).toEqual(publishedProtocolsConfigure);
264
264
  }));
265
265
  });
266
266
  });
@@ -275,7 +275,7 @@ export function testMessagesReadHandler() {
275
275
  protocolDefinition: minimalProtocolDefinition
276
276
  });
277
277
  const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
278
- expect(protocolsConfigureReply.status.code).to.equal(202);
278
+ expect(protocolsConfigureReply.status.code).toBe(202);
279
279
  // Alice writes a record which Bob will later try to read
280
280
  const { recordsWrite, dataStream } = yield TestDataGenerator.generateRecordsWrite({
281
281
  author: alice,
@@ -283,7 +283,7 @@ export function testMessagesReadHandler() {
283
283
  protocolPath: 'foo',
284
284
  });
285
285
  const recordsWriteReply = yield dwn.processMessage(alice.did, recordsWrite.message, { dataStream });
286
- expect(recordsWriteReply.status.code).to.equal(202);
286
+ expect(recordsWriteReply.status.code).toBe(202);
287
287
  // Alice gives Bob a permission grant scoped to a RecordsWrite and the protocol
288
288
  const permissionGrant = yield PermissionsProtocol.createGrant({
289
289
  signer: Jws.createSigner(alice),
@@ -297,7 +297,7 @@ export function testMessagesReadHandler() {
297
297
  });
298
298
  const grantDataStream = DataStream.fromBytes(permissionGrant.permissionGrantBytes);
299
299
  const permissionGrantWriteReply = yield dwn.processMessage(alice.did, permissionGrant.recordsWrite.message, { dataStream: grantDataStream });
300
- expect(permissionGrantWriteReply.status.code).to.equal(202);
300
+ expect(permissionGrantWriteReply.status.code).toBe(202);
301
301
  // Bob tries to MessagesRead using the RecordsWrite grant
302
302
  const messagesRead = yield TestDataGenerator.generateMessagesRead({
303
303
  author: bob,
@@ -305,8 +305,8 @@ export function testMessagesReadHandler() {
305
305
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
306
306
  });
307
307
  const messagesReadReply = yield dwn.processMessage(alice.did, messagesRead.message);
308
- expect(messagesReadReply.status.code).to.equal(401);
309
- expect(messagesReadReply.status.detail).to.contain(DwnErrorCode.GrantAuthorizationInterfaceMismatch);
308
+ expect(messagesReadReply.status.code).toBe(401);
309
+ expect(messagesReadReply.status.detail).toContain(DwnErrorCode.GrantAuthorizationInterfaceMismatch);
310
310
  }));
311
311
  it('allows external parties to read a message using a grant with unrestricted scope', () => __awaiter(this, void 0, void 0, function* () {
312
312
  // scenario: Alice gives Bob a grant allowing him to read any message in her DWN.
@@ -318,7 +318,7 @@ export function testMessagesReadHandler() {
318
318
  author: alice,
319
319
  });
320
320
  const writeReply = yield dwn.processMessage(alice.did, message, { dataStream });
321
- expect(writeReply.status.code).to.equal(202);
321
+ expect(writeReply.status.code).toBe(202);
322
322
  const messageCid = yield Message.getCid(message);
323
323
  // Alice issues a permission grant allowing Bob to read any record in her DWN
324
324
  const permissionGrant = yield PermissionsProtocol.createGrant({
@@ -332,7 +332,7 @@ export function testMessagesReadHandler() {
332
332
  });
333
333
  const grantDataStream = DataStream.fromBytes(permissionGrant.permissionGrantBytes);
334
334
  const grantReply = yield dwn.processMessage(alice.did, permissionGrant.recordsWrite.message, { dataStream: grantDataStream });
335
- expect(grantReply.status.code).to.equal(202);
335
+ expect(grantReply.status.code).toBe(202);
336
336
  // Bob invokes that grant to read a record from Alice's DWN
337
337
  const messagesRead = yield TestDataGenerator.generateMessagesRead({
338
338
  author: bob,
@@ -340,9 +340,9 @@ export function testMessagesReadHandler() {
340
340
  messageCid,
341
341
  });
342
342
  const readReply = yield dwn.processMessage(alice.did, messagesRead.message);
343
- expect(readReply.status.code).to.equal(200);
344
- expect(readReply.entry).to.not.be.undefined;
345
- expect(readReply.entry.messageCid).to.equal(messageCid);
343
+ expect(readReply.status.code).toBe(200);
344
+ expect(readReply.entry).toBeDefined();
345
+ expect(readReply.entry.messageCid).toBe(messageCid);
346
346
  }));
347
347
  describe('protocol scoped messages', () => {
348
348
  it('allows reads of protocol messages with a protocol restricted grant scope', () => __awaiter(this, void 0, void 0, function* () {
@@ -368,7 +368,7 @@ export function testMessagesReadHandler() {
368
368
  protocolDefinition
369
369
  });
370
370
  const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
371
- expect(protocolsConfigureReply.status.code).to.equal(202);
371
+ expect(protocolsConfigureReply.status.code).toBe(202);
372
372
  const protocolConfigureMessageCid = yield Message.getCid(protocolsConfig.message);
373
373
  // Carol requests a grant to write records to the protocol
374
374
  const permissionRequestCarol = yield PermissionsProtocol.createRequest({
@@ -382,7 +382,7 @@ export function testMessagesReadHandler() {
382
382
  });
383
383
  const requestDataStreamCarol = DataStream.fromBytes(permissionRequestCarol.permissionRequestBytes);
384
384
  const permissionRequestWriteReplyCarol = yield dwn.processMessage(alice.did, permissionRequestCarol.recordsWrite.message, { dataStream: requestDataStreamCarol });
385
- expect(permissionRequestWriteReplyCarol.status.code).to.equal(202);
385
+ expect(permissionRequestWriteReplyCarol.status.code).toBe(202);
386
386
  // Alice gives Carol a grant to write records to the protocol
387
387
  const permissionGrantCarol = yield PermissionsProtocol.createGrant({
388
388
  signer: Jws.createSigner(alice),
@@ -393,7 +393,7 @@ export function testMessagesReadHandler() {
393
393
  });
394
394
  const grantDataStreamCarol = DataStream.fromBytes(permissionGrantCarol.permissionGrantBytes);
395
395
  const permissionGrantWriteReplyCarol = yield dwn.processMessage(alice.did, permissionGrantCarol.recordsWrite.message, { dataStream: grantDataStreamCarol });
396
- expect(permissionGrantWriteReplyCarol.status.code).to.equal(202);
396
+ expect(permissionGrantWriteReplyCarol.status.code).toBe(202);
397
397
  const carolGrantMessageCiD = yield Message.getCid(permissionGrantCarol.recordsWrite.message);
398
398
  // Alice writes a record associated with the protocol
399
399
  const { recordsWrite, dataStream } = yield TestDataGenerator.generateRecordsWrite({
@@ -402,7 +402,7 @@ export function testMessagesReadHandler() {
402
402
  protocolPath: 'foo',
403
403
  });
404
404
  const recordsWriteReply = yield dwn.processMessage(alice.did, recordsWrite.message, { dataStream });
405
- expect(recordsWriteReply.status.code).to.equal(202);
405
+ expect(recordsWriteReply.status.code).toBe(202);
406
406
  const aliceRecordMessageCid = yield Message.getCid(recordsWrite.message);
407
407
  // Alice deletes a record associated with the protocol
408
408
  const recordsDelete = yield TestDataGenerator.generateRecordsDelete({
@@ -410,7 +410,7 @@ export function testMessagesReadHandler() {
410
410
  recordId: recordsWrite.message.recordId,
411
411
  });
412
412
  const recordsDeleteReply = yield dwn.processMessage(alice.did, recordsDelete.message);
413
- expect(recordsDeleteReply.status.code).to.equal(202);
413
+ expect(recordsDeleteReply.status.code).toBe(202);
414
414
  // Carol writes a record associated with the protocol
415
415
  const { recordsWrite: recordsWriteCarol, dataStream: dataStreamCarol } = yield TestDataGenerator.generateRecordsWrite({
416
416
  author: carol,
@@ -419,7 +419,7 @@ export function testMessagesReadHandler() {
419
419
  permissionGrantId: permissionGrantCarol.recordsWrite.message.recordId,
420
420
  });
421
421
  const recordsWriteReplyCarol = yield dwn.processMessage(alice.did, recordsWriteCarol.message, { dataStream: dataStreamCarol });
422
- expect(recordsWriteReplyCarol.status.code).to.equal(202);
422
+ expect(recordsWriteReplyCarol.status.code).toBe(202);
423
423
  const carolRecordMessageCid = yield Message.getCid(recordsWriteCarol.message);
424
424
  // Alice revokes Carol's grant
425
425
  const permissionRevocationCarol = yield PermissionsProtocol.createRevocation({
@@ -428,7 +428,7 @@ export function testMessagesReadHandler() {
428
428
  });
429
429
  const permissionRevocationCarolDataStream = DataStream.fromBytes(permissionRevocationCarol.permissionRevocationBytes);
430
430
  const permissionRevocationCarolReply = yield dwn.processMessage(alice.did, permissionRevocationCarol.recordsWrite.message, { dataStream: permissionRevocationCarolDataStream });
431
- expect(permissionRevocationCarolReply.status.code).to.equal(202);
431
+ expect(permissionRevocationCarolReply.status.code).toBe(202);
432
432
  // Alice gives Bob a permission grant with scope MessagesRead
433
433
  const permissionGrant = yield PermissionsProtocol.createGrant({
434
434
  signer: Jws.createSigner(alice),
@@ -442,15 +442,15 @@ export function testMessagesReadHandler() {
442
442
  });
443
443
  const grantDataStream = DataStream.fromBytes(permissionGrant.permissionGrantBytes);
444
444
  const permissionGrantWriteReply = yield dwn.processMessage(alice.did, permissionGrant.recordsWrite.message, { dataStream: grantDataStream });
445
- expect(permissionGrantWriteReply.status.code).to.equal(202);
445
+ expect(permissionGrantWriteReply.status.code).toBe(202);
446
446
  // Bob is unable to read the message without using the permission grant
447
447
  const messagesReadWithoutGrant = yield TestDataGenerator.generateMessagesRead({
448
448
  author: bob,
449
449
  messageCid: aliceRecordMessageCid,
450
450
  });
451
451
  const messagesReadWithoutGrantReply = yield dwn.processMessage(alice.did, messagesReadWithoutGrant.message);
452
- expect(messagesReadWithoutGrantReply.status.code).to.equal(401);
453
- expect(messagesReadWithoutGrantReply.status.detail).to.contain(DwnErrorCode.MessagesReadAuthorizationFailed);
452
+ expect(messagesReadWithoutGrantReply.status.code).toBe(401);
453
+ expect(messagesReadWithoutGrantReply.status.detail).toContain(DwnErrorCode.MessagesReadAuthorizationFailed);
454
454
  // Bob is able to read all the associated messages when using the permission grant
455
455
  // Expected Messages:
456
456
  // - Protocol Configuration
@@ -467,9 +467,9 @@ export function testMessagesReadHandler() {
467
467
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
468
468
  });
469
469
  const messagesReadProtocolConfigureReply = yield dwn.processMessage(alice.did, messagesReadProtocolConfigure.message);
470
- expect(messagesReadProtocolConfigureReply.status.code).to.equal(200);
471
- expect(messagesReadProtocolConfigureReply.entry).to.exist;
472
- expect(messagesReadProtocolConfigureReply.entry.message).to.deep.equal(protocolsConfig.message);
470
+ expect(messagesReadProtocolConfigureReply.status.code).toBe(200);
471
+ expect(messagesReadProtocolConfigureReply.entry).toBeDefined();
472
+ expect(messagesReadProtocolConfigureReply.entry.message).toEqual(protocolsConfig.message);
473
473
  // alice RecordsWrite
474
474
  const messagesReadWithGrant = yield TestDataGenerator.generateMessagesRead({
475
475
  author: bob,
@@ -477,9 +477,9 @@ export function testMessagesReadHandler() {
477
477
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
478
478
  });
479
479
  const messagesReadWithGrantReply = yield dwn.processMessage(alice.did, messagesReadWithGrant.message);
480
- expect(messagesReadWithGrantReply.status.code).to.equal(200);
481
- expect(messagesReadWithGrantReply.entry).to.exist;
482
- expect(messagesReadWithGrantReply.entry.message).to.deep.equal(recordsWrite.message);
480
+ expect(messagesReadWithGrantReply.status.code).toBe(200);
481
+ expect(messagesReadWithGrantReply.entry).toBeDefined();
482
+ expect(messagesReadWithGrantReply.entry.message).toEqual(recordsWrite.message);
483
483
  // alice RecordsDelete
484
484
  const messagesReadDelete = yield TestDataGenerator.generateMessagesRead({
485
485
  author: bob,
@@ -487,9 +487,9 @@ export function testMessagesReadHandler() {
487
487
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
488
488
  });
489
489
  const messagesReadDeleteReply = yield dwn.processMessage(alice.did, messagesReadDelete.message);
490
- expect(messagesReadDeleteReply.status.code).to.equal(200);
491
- expect(messagesReadDeleteReply.entry).to.exist;
492
- expect(messagesReadDeleteReply.entry.message).to.deep.equal(recordsDelete.message);
490
+ expect(messagesReadDeleteReply.status.code).toBe(200);
491
+ expect(messagesReadDeleteReply.entry).toBeDefined();
492
+ expect(messagesReadDeleteReply.entry.message).toEqual(recordsDelete.message);
493
493
  // carol's Permission Request
494
494
  const messagesReadCarolRequest = yield TestDataGenerator.generateMessagesRead({
495
495
  author: bob,
@@ -497,9 +497,9 @@ export function testMessagesReadHandler() {
497
497
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
498
498
  });
499
499
  const messagesReadCarolRequestReply = yield dwn.processMessage(alice.did, messagesReadCarolRequest.message);
500
- expect(messagesReadCarolRequestReply.status.code).to.equal(200);
501
- expect(messagesReadCarolRequestReply.entry).to.exist;
502
- expect(messagesReadCarolRequestReply.entry.message).to.deep.equal(permissionRequestCarol.recordsWrite.message);
500
+ expect(messagesReadCarolRequestReply.status.code).toBe(200);
501
+ expect(messagesReadCarolRequestReply.entry).toBeDefined();
502
+ expect(messagesReadCarolRequestReply.entry.message).toEqual(permissionRequestCarol.recordsWrite.message);
503
503
  // carol's Permission Grant
504
504
  const messagesReadCarolGrant = yield TestDataGenerator.generateMessagesRead({
505
505
  author: bob,
@@ -507,9 +507,9 @@ export function testMessagesReadHandler() {
507
507
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
508
508
  });
509
509
  const messagesReadCarolGrantReply = yield dwn.processMessage(alice.did, messagesReadCarolGrant.message);
510
- expect(messagesReadCarolGrantReply.status.code).to.equal(200);
511
- expect(messagesReadCarolGrantReply.entry).to.exist;
512
- expect(messagesReadCarolGrantReply.entry.message).to.deep.equal(permissionGrantCarol.recordsWrite.message);
510
+ expect(messagesReadCarolGrantReply.status.code).toBe(200);
511
+ expect(messagesReadCarolGrantReply.entry).toBeDefined();
512
+ expect(messagesReadCarolGrantReply.entry.message).toEqual(permissionGrantCarol.recordsWrite.message);
513
513
  // carol's RecordsWrite
514
514
  const messagesReadCarolRecord = yield TestDataGenerator.generateMessagesRead({
515
515
  author: bob,
@@ -517,9 +517,9 @@ export function testMessagesReadHandler() {
517
517
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
518
518
  });
519
519
  const messagesReadCarolRecordReply = yield dwn.processMessage(alice.did, messagesReadCarolRecord.message);
520
- expect(messagesReadCarolRecordReply.status.code).to.equal(200);
521
- expect(messagesReadCarolRecordReply.entry).to.exist;
522
- expect(messagesReadCarolRecordReply.entry.message).to.deep.equal(recordsWriteCarol.message);
520
+ expect(messagesReadCarolRecordReply.status.code).toBe(200);
521
+ expect(messagesReadCarolRecordReply.entry).toBeDefined();
522
+ expect(messagesReadCarolRecordReply.entry.message).toEqual(recordsWriteCarol.message);
523
523
  // carol's Grant Revocation
524
524
  const messagesReadCarolGrantRevocation = yield TestDataGenerator.generateMessagesRead({
525
525
  author: bob,
@@ -527,15 +527,15 @@ export function testMessagesReadHandler() {
527
527
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
528
528
  });
529
529
  const messagesReadCarolGrantRevocationReply = yield dwn.processMessage(alice.did, messagesReadCarolGrantRevocation.message);
530
- expect(messagesReadCarolGrantRevocationReply.status.code).to.equal(200);
531
- expect(messagesReadCarolGrantRevocationReply.entry).to.exist;
532
- expect(messagesReadCarolGrantRevocationReply.entry.message).to.deep.equal(permissionRevocationCarol.recordsWrite.message);
530
+ expect(messagesReadCarolGrantRevocationReply.status.code).toBe(200);
531
+ expect(messagesReadCarolGrantRevocationReply.entry).toBeDefined();
532
+ expect(messagesReadCarolGrantRevocationReply.entry.message).toEqual(permissionRevocationCarol.recordsWrite.message);
533
533
  // CONTROL: Alice writes a record not associated with the protocol
534
534
  const { recordsWrite: recordsWriteControl, dataStream: dataStreamControl } = yield TestDataGenerator.generateRecordsWrite({
535
535
  author: alice,
536
536
  });
537
537
  const recordsWriteControlReply = yield dwn.processMessage(alice.did, recordsWriteControl.message, { dataStream: dataStreamControl });
538
- expect(recordsWriteControlReply.status.code).to.equal(202);
538
+ expect(recordsWriteControlReply.status.code).toBe(202);
539
539
  // Bob is unable to read the control message
540
540
  const messagesReadControl = yield TestDataGenerator.generateMessagesRead({
541
541
  author: bob,
@@ -543,7 +543,7 @@ export function testMessagesReadHandler() {
543
543
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
544
544
  });
545
545
  const messagesReadControlReply = yield dwn.processMessage(alice.did, messagesReadControl.message);
546
- expect(messagesReadControlReply.status.code).to.equal(401);
546
+ expect(messagesReadControlReply.status.code).toBe(401);
547
547
  }));
548
548
  it('rejects message read of protocol messages with mismatching protocol grant scopes', () => __awaiter(this, void 0, void 0, function* () {
549
549
  // scenario: Alice writes a protocol record. Alice gives Bob a grant to read messages from a different protocol
@@ -557,7 +557,7 @@ export function testMessagesReadHandler() {
557
557
  protocolDefinition
558
558
  });
559
559
  const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
560
- expect(protocolsConfigureReply.status.code).to.equal(202);
560
+ expect(protocolsConfigureReply.status.code).toBe(202);
561
561
  // Alice writes a record which Bob will later try to read
562
562
  const { recordsWrite, dataStream } = yield TestDataGenerator.generateRecordsWrite({
563
563
  author: alice,
@@ -565,7 +565,7 @@ export function testMessagesReadHandler() {
565
565
  protocolPath: 'foo',
566
566
  });
567
567
  const recordsWriteReply = yield dwn.processMessage(alice.did, recordsWrite.message, { dataStream });
568
- expect(recordsWriteReply.status.code).to.equal(202);
568
+ expect(recordsWriteReply.status.code).toBe(202);
569
569
  // Alice gives Bob a permission grant with scope MessagesRead
570
570
  const permissionGrant = yield PermissionsProtocol.createGrant({
571
571
  signer: Jws.createSigner(alice),
@@ -579,7 +579,7 @@ export function testMessagesReadHandler() {
579
579
  });
580
580
  const grantDataStream = DataStream.fromBytes(permissionGrant.permissionGrantBytes);
581
581
  const permissionGrantWriteReply = yield dwn.processMessage(alice.did, permissionGrant.recordsWrite.message, { dataStream: grantDataStream });
582
- expect(permissionGrantWriteReply.status.code).to.equal(202);
582
+ expect(permissionGrantWriteReply.status.code).toBe(202);
583
583
  // Bob is unable to read the record using the mismatched permission grant
584
584
  const messagesReadWithoutGrant = yield TestDataGenerator.generateMessagesRead({
585
585
  author: bob,
@@ -587,8 +587,8 @@ export function testMessagesReadHandler() {
587
587
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
588
588
  });
589
589
  const messagesReadWithoutGrantReply = yield dwn.processMessage(alice.did, messagesReadWithoutGrant.message);
590
- expect(messagesReadWithoutGrantReply.status.code).to.equal(401);
591
- expect(messagesReadWithoutGrantReply.status.detail).to.contain(DwnErrorCode.MessagesReadVerifyScopeFailed);
590
+ expect(messagesReadWithoutGrantReply.status.code).toBe(401);
591
+ expect(messagesReadWithoutGrantReply.status.detail).toContain(DwnErrorCode.MessagesReadVerifyScopeFailed);
592
592
  }));
593
593
  it('rejects message if the RecordsWrite message is not found for a RecordsDelete being retrieved', () => __awaiter(this, void 0, void 0, function* () {
594
594
  // NOTE: This is a corner case that is unlikely to happen in practice, but is tested for completeness
@@ -601,7 +601,7 @@ export function testMessagesReadHandler() {
601
601
  protocolDefinition,
602
602
  });
603
603
  const protocolsConfigureReply = yield dwn.processMessage(alice.did, protocolsConfig.message);
604
- expect(protocolsConfigureReply.status.code).to.equal(202);
604
+ expect(protocolsConfigureReply.status.code).toBe(202);
605
605
  // Alice gives bob a grant to read messages in the protocol
606
606
  const permissionGrant = yield PermissionsProtocol.createGrant({
607
607
  signer: Jws.createSigner(alice),
@@ -615,7 +615,7 @@ export function testMessagesReadHandler() {
615
615
  });
616
616
  const grantDataStream = DataStream.fromBytes(permissionGrant.permissionGrantBytes);
617
617
  const permissionGrantWriteReply = yield dwn.processMessage(alice.did, permissionGrant.recordsWrite.message, { dataStream: grantDataStream });
618
- expect(permissionGrantWriteReply.status.code).to.equal(202);
618
+ expect(permissionGrantWriteReply.status.code).toBe(202);
619
619
  // Alice creates the records write and records delete messages
620
620
  const { recordsWrite } = yield TestDataGenerator.generateRecordsWrite({
621
621
  author: alice,
@@ -637,8 +637,8 @@ export function testMessagesReadHandler() {
637
637
  permissionGrantId: permissionGrant.recordsWrite.message.recordId,
638
638
  });
639
639
  const messagesReadReply = yield dwn.processMessage(alice.did, messagesRead.message);
640
- expect(messagesReadReply.status.code).to.equal(401);
641
- expect(messagesReadReply.status.detail).to.contain(DwnErrorCode.RecordsWriteGetNewestWriteRecordNotFound);
640
+ expect(messagesReadReply.status.code).toBe(401);
641
+ expect(messagesReadReply.status.detail).toContain(DwnErrorCode.RecordsWriteGetNewestWriteRecordNotFound);
642
642
  }));
643
643
  });
644
644
  });