@enbox/dwn-sdk-js 0.4.8 → 0.4.10

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 (173) hide show
  1. package/dist/browser.mjs +1 -1
  2. package/dist/browser.mjs.map +4 -4
  3. package/dist/esm/generated/precompiled-validators.js +1262 -3888
  4. package/dist/esm/generated/precompiled-validators.js.map +1 -1
  5. package/dist/esm/src/core/constants.js +0 -26
  6. package/dist/esm/src/core/constants.js.map +1 -1
  7. package/dist/esm/src/core/encryption-control.js +0 -10
  8. package/dist/esm/src/core/encryption-control.js.map +1 -1
  9. package/dist/esm/src/core/replication-apply.js.map +1 -1
  10. package/dist/esm/src/index.js +1 -1
  11. package/dist/esm/src/index.js.map +1 -1
  12. package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
  13. package/dist/esm/src/interfaces/records-write.js +0 -9
  14. package/dist/esm/src/interfaces/records-write.js.map +1 -1
  15. package/dist/esm/src/store/index-level-compound.js.map +1 -1
  16. package/dist/esm/src/store/level-wrapper.js +6 -2
  17. package/dist/esm/src/store/level-wrapper.js.map +1 -1
  18. package/dist/esm/src/utils/encryption.js +2 -7
  19. package/dist/esm/src/utils/encryption.js.map +1 -1
  20. package/dist/esm/src/utils/hd-key.js +0 -27
  21. package/dist/esm/src/utils/hd-key.js.map +1 -1
  22. package/dist/esm/src/utils/jws.js.map +1 -1
  23. package/dist/esm/src/utils/protocols.js +23 -51
  24. package/dist/esm/src/utils/protocols.js.map +1 -1
  25. package/dist/esm/src/utils/records.js +17 -31
  26. package/dist/esm/src/utils/records.js.map +1 -1
  27. package/dist/esm/tests/core/constants.spec.js +1 -11
  28. package/dist/esm/tests/core/constants.spec.js.map +1 -1
  29. package/dist/esm/tests/core/validation-read-closure.spec.js +1 -1
  30. package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
  31. package/dist/esm/tests/dwn.spec.js +5 -5
  32. package/dist/esm/tests/dwn.spec.js.map +1 -1
  33. package/dist/esm/tests/features/author-delegated-grant.spec.js +16 -16
  34. package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
  35. package/dist/esm/tests/features/owner-delegated-grant.spec.js +7 -7
  36. package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
  37. package/dist/esm/tests/features/permissions.spec.js +8 -8
  38. package/dist/esm/tests/features/permissions.spec.js.map +1 -1
  39. package/dist/esm/tests/features/protocol-composition.spec.js +18 -63
  40. package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
  41. package/dist/esm/tests/features/records-prune-cross-protocol.spec.js +5 -5
  42. package/dist/esm/tests/features/records-prune-cross-protocol.spec.js.map +1 -1
  43. package/dist/esm/tests/features/records-prune.spec.js +15 -15
  44. package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
  45. package/dist/esm/tests/features/records-squash.spec.js +9 -9
  46. package/dist/esm/tests/features/records-squash.spec.js.map +1 -1
  47. package/dist/esm/tests/features/records-tags.spec.js +28 -28
  48. package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
  49. package/dist/esm/tests/features/resumable-tasks.spec.js +3 -3
  50. package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
  51. package/dist/esm/tests/fuzz/data-stream.fuzz.spec.js +2 -2
  52. package/dist/esm/tests/fuzz/data-stream.fuzz.spec.js.map +1 -1
  53. package/dist/esm/tests/fuzz/filter.fuzz.spec.js +1 -1
  54. package/dist/esm/tests/fuzz/filter.fuzz.spec.js.map +1 -1
  55. package/dist/esm/tests/fuzz/records-utils.fuzz.spec.js +2 -2
  56. package/dist/esm/tests/fuzz/records-utils.fuzz.spec.js.map +1 -1
  57. package/dist/esm/tests/fuzz/resumable-task-store.fuzz.spec.js +4 -4
  58. package/dist/esm/tests/fuzz/resumable-task-store.fuzz.spec.js.map +1 -1
  59. package/dist/esm/tests/handlers/messages-subscribe.spec.js +16 -16
  60. package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
  61. package/dist/esm/tests/handlers/protocols-configure.spec.js +5 -5
  62. package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
  63. package/dist/esm/tests/handlers/protocols-query.spec.js +11 -11
  64. package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
  65. package/dist/esm/tests/handlers/records-delete.spec.js +23 -23
  66. package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
  67. package/dist/esm/tests/handlers/records-query.spec.js +120 -120
  68. package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
  69. package/dist/esm/tests/handlers/records-read.spec.js +16 -14
  70. package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
  71. package/dist/esm/tests/handlers/records-subscribe.spec.js +10 -10
  72. package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
  73. package/dist/esm/tests/handlers/records-write.spec.js +41 -41
  74. package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
  75. package/dist/esm/tests/interfaces/protocols-configure.spec.js +9 -9
  76. package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
  77. package/dist/esm/tests/interfaces/records-write.spec.js +5 -51
  78. package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
  79. package/dist/esm/tests/jose/jws/general.spec.js +4 -4
  80. package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
  81. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +2 -2
  82. package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
  83. package/dist/esm/tests/scenarios/nested-roles.spec.js +1 -1
  84. package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
  85. package/dist/esm/tests/scenarios/subscriptions.spec.js +28 -28
  86. package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
  87. package/dist/esm/tests/store/blockstore-mock.spec.js +1 -1
  88. package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
  89. package/dist/esm/tests/store/data-store-level.spec.js +3 -3
  90. package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
  91. package/dist/esm/tests/store/index-level.spec.js +83 -83
  92. package/dist/esm/tests/store/index-level.spec.js.map +1 -1
  93. package/dist/esm/tests/store/message-store-level.spec.js +2 -2
  94. package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
  95. package/dist/esm/tests/store/message-store.spec.js +30 -30
  96. package/dist/esm/tests/store/message-store.spec.js.map +1 -1
  97. package/dist/esm/tests/store-dependent-tests.spec.js +5 -0
  98. package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -1
  99. package/dist/esm/tests/utils/data-stream.spec.js +15 -15
  100. package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
  101. package/dist/esm/tests/utils/encryption-callbacks.spec.js +18 -30
  102. package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
  103. package/dist/esm/tests/utils/encryption-control-test-utils.js +1 -1
  104. package/dist/esm/tests/utils/encryption-control-test-utils.js.map +1 -1
  105. package/dist/esm/tests/utils/encryption.spec.js +31 -34
  106. package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
  107. package/dist/esm/tests/utils/messages.spec.js +8 -8
  108. package/dist/esm/tests/utils/messages.spec.js.map +1 -1
  109. package/dist/esm/tests/utils/secp256k1.spec.js +2 -2
  110. package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
  111. package/dist/esm/tests/utils/secp256r1.spec.js +1 -1
  112. package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
  113. package/dist/esm/tests/utils/test-data-generator.js +76 -24
  114. package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
  115. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +1 -1
  116. package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
  117. package/dist/types/generated/precompiled-validators.d.ts +88 -120
  118. package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
  119. package/dist/types/src/core/constants.d.ts +0 -13
  120. package/dist/types/src/core/constants.d.ts.map +1 -1
  121. package/dist/types/src/core/encryption-control.d.ts +0 -1
  122. package/dist/types/src/core/encryption-control.d.ts.map +1 -1
  123. package/dist/types/src/core/replication-apply.d.ts +0 -7
  124. package/dist/types/src/core/replication-apply.d.ts.map +1 -1
  125. package/dist/types/src/index.d.ts +1 -1
  126. package/dist/types/src/index.d.ts.map +1 -1
  127. package/dist/types/src/interfaces/messages-subscribe.d.ts +1 -2
  128. package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
  129. package/dist/types/src/interfaces/records-write.d.ts +0 -4
  130. package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
  131. package/dist/types/src/store/index-level-compound.d.ts +2 -4
  132. package/dist/types/src/store/index-level-compound.d.ts.map +1 -1
  133. package/dist/types/src/store/level-wrapper.d.ts.map +1 -1
  134. package/dist/types/src/types/protocols-types.d.ts +1 -1
  135. package/dist/types/src/types/protocols-types.d.ts.map +1 -1
  136. package/dist/types/src/utils/encryption.d.ts +0 -3
  137. package/dist/types/src/utils/encryption.d.ts.map +1 -1
  138. package/dist/types/src/utils/hd-key.d.ts +1 -11
  139. package/dist/types/src/utils/hd-key.d.ts.map +1 -1
  140. package/dist/types/src/utils/jws.d.ts +1 -2
  141. package/dist/types/src/utils/jws.d.ts.map +1 -1
  142. package/dist/types/src/utils/protocols.d.ts +2 -7
  143. package/dist/types/src/utils/protocols.d.ts.map +1 -1
  144. package/dist/types/src/utils/records.d.ts +1 -8
  145. package/dist/types/src/utils/records.d.ts.map +1 -1
  146. package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
  147. package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
  148. package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
  149. package/dist/types/tests/utils/test-data-generator.d.ts +17 -1
  150. package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
  151. package/package.json +4 -4
  152. package/src/core/constants.ts +0 -30
  153. package/src/core/encryption-control.ts +1 -17
  154. package/src/core/replication-apply.ts +0 -8
  155. package/src/index.ts +0 -1
  156. package/src/interfaces/messages-subscribe.ts +1 -2
  157. package/src/interfaces/records-write.ts +0 -13
  158. package/src/store/index-level-compound.ts +2 -5
  159. package/src/store/level-wrapper.ts +6 -2
  160. package/src/types/protocols-types.ts +2 -1
  161. package/src/utils/encryption.ts +2 -15
  162. package/src/utils/hd-key.ts +1 -32
  163. package/src/utils/jws.ts +1 -2
  164. package/src/utils/protocols.ts +15 -78
  165. package/src/utils/records.ts +15 -57
  166. package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js +0 -47
  167. package/dist/esm/tests/validation/json-schemas/encryption/delivery.spec.js.map +0 -1
  168. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +0 -72
  169. package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +0 -1
  170. package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts +0 -2
  171. package/dist/types/tests/validation/json-schemas/encryption/delivery.spec.d.ts.map +0 -1
  172. package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts +0 -2
  173. package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import { Encoder } from './encoder.js';
2
- import { X25519 } from '@enbox/crypto';
3
2
  import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
4
3
  export var KeyDerivationScheme;
5
4
  (function (KeyDerivationScheme) {
@@ -9,32 +8,6 @@ export var KeyDerivationScheme;
9
8
  * Class containing hierarchical deterministic key related utility methods used by the DWN.
10
9
  */
11
10
  export class HdKey {
12
- /**
13
- * Derives a descendant private key.
14
- * Uses X25519 keys for encryption key derivation.
15
- */
16
- static async derivePrivateKey(ancestorKey, subDerivationPath) {
17
- const ancestorPrivateKey = await X25519.privateKeyToBytes({ privateKey: ancestorKey.derivedPrivateKey });
18
- const ancestorPrivateKeyDerivationPath = ancestorKey.derivationPath ?? [];
19
- const derivedPrivateKeyBytes = await HdKey.derivePrivateKeyBytes(ancestorPrivateKey, subDerivationPath);
20
- const derivedPrivateKeyJwk = await X25519.bytesToPrivateKey({ privateKeyBytes: derivedPrivateKeyBytes });
21
- const derivedDescendantPrivateKey = {
22
- rootKeyId: ancestorKey.rootKeyId,
23
- derivationScheme: ancestorKey.derivationScheme,
24
- derivationPath: [...ancestorPrivateKeyDerivationPath, ...subDerivationPath],
25
- derivedPrivateKey: derivedPrivateKeyJwk
26
- };
27
- return derivedDescendantPrivateKey;
28
- }
29
- /**
30
- * Derives a descendant public key from an ancestor private key.
31
- * Uses X25519 keys for encryption key derivation.
32
- */
33
- static async derivePublicKey(ancestorKey, subDerivationPath) {
34
- const derivedDescendantPrivateKey = await HdKey.derivePrivateKey(ancestorKey, subDerivationPath);
35
- const derivedDescendantPublicKey = await X25519.getPublicKey({ key: derivedDescendantPrivateKey.derivedPrivateKey });
36
- return derivedDescendantPublicKey;
37
- }
38
11
  /**
39
12
  * Derives a hardened hierarchical deterministic private key.
40
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"hd-key.js","sourceRoot":"","sources":["../../../../src/utils/hd-key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hd-key.js","sourceRoot":"","sources":["../../../../src/utils/hd-key.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,CAAN,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC7B,oDAA6B,CAAA;AAC/B,CAAC,EAFW,mBAAmB,KAAnB,mBAAmB,QAE9B;AAUD;;GAEG;AACH,MAAM,OAAO,KAAK;IAChB;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,UAAsB,EAAE,YAAsB;QACtF,KAAK,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAE9C,IAAI,iBAAiB,GAAG,UAAU,CAAC;QACnC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpD,iBAAiB,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC;gBACjD,aAAa,EAAQ,SAAS;gBAC9B,kBAAkB,EAAG,iBAAiB;gBACtC,IAAI,EAAiB,YAAY,EAAE,sEAAsE;gBACzG,gBAAgB,EAAK,EAAE,CAAC,sBAAsB;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAKtC;QACC,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;QAE7E,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QAE3C,mGAAmG;QACnG,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,kBAAkC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEnI,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CACrD;YACE,IAAI,EAAG,MAAM;YACb,IAAI,EAAG,aAAa;YACpB,IAAI,EAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,8CAA8C;YACxE,IAAI,EAAG,IAAoB;SAC5B,EACD,YAAY,EACZ,gBAAgB,GAAG,CAAC,CAAC,6BAA6B;SACnD,CAAC;QAEF,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACzD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,yBAAyB,CAAC,YAAsB;QAC7D,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,gCAAgC,YAAY,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"jws.js","sourceRoot":"","sources":["../../../../src/utils/jws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jws.js","sourceRoot":"","sources":["../../../../src/utils/jws.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { X25519 } from '@enbox/crypto';
2
- import { HdKey, KeyDerivationScheme } from '../utils/hd-key.js';
1
+ import { KeyDerivationScheme } from '../utils/hd-key.js';
3
2
  /**
4
3
  * Parses a string that may be a cross-protocol reference in `alias:path` format.
5
4
  * Returns `undefined` if the string is a local (non-cross-protocol) reference.
@@ -79,69 +78,42 @@ export function getRuleSetAtPath(protocolPath, structure) {
79
78
  * Class containing Protocol related utility methods.
80
79
  */
81
80
  export class Protocols {
82
- // Implementation dispatches based on argument type.
83
- static async deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyIdOrKeyDeriver, privateJwk) {
81
+ /**
82
+ * Derives public encryption keys and injects them in `$keyAgreement`.
83
+ * NOTE: The original definition passed in is unmodified.
84
+ *
85
+ * `$ref` nodes (cross-protocol attachment points) are skipped during `$keyAgreement` injection
86
+ * because their records belong to the referenced protocol, whose own encryption keys govern them.
87
+ * Children of `$ref` nodes are still processed because they belong to the composing protocol.
88
+ *
89
+ * Accepts an EncryptionKeyDeriver that performs key derivation internally.
90
+ * The private key never leaves the caller's boundary.
91
+ */
92
+ static async deriveAndInjectPublicEncryptionKeys(protocolDefinition, keyDeriver) {
84
93
  // clone before modify
85
94
  const clone = JSON.parse(JSON.stringify(protocolDefinition));
86
- if (typeof rootKeyIdOrKeyDeriver !== 'string') {
87
- // Callback-based path
88
- const keyDeriver = rootKeyIdOrKeyDeriver;
89
- const basePath = [KeyDerivationScheme.ProtocolPath, protocolDefinition.protocol];
90
- clone.$keyAgreement = {
91
- publicKeyJwk: await keyDeriver.derivePublicKey(basePath),
92
- };
93
- async function injectKeysViaCallback(ruleSet, parentPath) {
94
- for (const key in ruleSet) {
95
- if (!key.startsWith('$')) {
96
- const currentPath = [...parentPath, key];
97
- const childRuleSet = ruleSet[key];
98
- // Skip $ref nodes — they are governed by the referenced protocol's encryption keys.
99
- // Still recurse into children, which belong to the composing protocol.
100
- if (childRuleSet.$ref !== undefined) {
101
- await injectKeysViaCallback(childRuleSet, currentPath);
102
- continue;
103
- }
104
- const publicKeyJwk = await keyDeriver.derivePublicKey(currentPath);
105
- childRuleSet.$keyAgreement = { publicKeyJwk };
106
- await injectKeysViaCallback(childRuleSet, currentPath);
107
- }
108
- }
109
- }
110
- await injectKeysViaCallback(clone.structure, basePath);
111
- return clone;
112
- }
113
- // Raw-key path
114
- const rootKeyId = rootKeyIdOrKeyDeriver;
115
- // a function that recursively creates and adds `$keyAgreement` property to every rule set
116
- async function addEncryptionProperty(ruleSet, parentKey) {
95
+ const basePath = [KeyDerivationScheme.ProtocolPath, protocolDefinition.protocol];
96
+ clone.$keyAgreement = {
97
+ publicKeyJwk: await keyDeriver.derivePublicKey(basePath),
98
+ };
99
+ async function injectKeys(ruleSet, parentPath) {
117
100
  for (const key in ruleSet) {
118
- // if we encounter a nested rule set (a property name that doesn't begin with '$'), recursively inject the `$keyAgreement` property
119
101
  if (!key.startsWith('$')) {
120
- const derivedPrivateKey = await HdKey.derivePrivateKey(parentKey, [key]);
102
+ const currentPath = [...parentPath, key];
121
103
  const childRuleSet = ruleSet[key];
122
104
  // Skip $ref nodes — they are governed by the referenced protocol's encryption keys.
123
105
  // Still recurse into children, which belong to the composing protocol.
124
106
  if (childRuleSet.$ref !== undefined) {
125
- await addEncryptionProperty(childRuleSet, derivedPrivateKey);
107
+ await injectKeys(childRuleSet, currentPath);
126
108
  continue;
127
109
  }
128
- const publicKeyJwk = await X25519.getPublicKey({ key: derivedPrivateKey.derivedPrivateKey });
110
+ const publicKeyJwk = await keyDeriver.derivePublicKey(currentPath);
129
111
  childRuleSet.$keyAgreement = { publicKeyJwk };
130
- await addEncryptionProperty(childRuleSet, derivedPrivateKey);
112
+ await injectKeys(childRuleSet, currentPath);
131
113
  }
132
114
  }
133
115
  }
134
- // inject encryption property starting from each root level record type
135
- const rootKey = {
136
- derivationScheme: KeyDerivationScheme.ProtocolPath,
137
- derivedPrivateKey: privateJwk,
138
- rootKeyId
139
- };
140
- const protocolLevelDerivedKey = await HdKey.derivePrivateKey(rootKey, [KeyDerivationScheme.ProtocolPath, protocolDefinition.protocol]);
141
- clone.$keyAgreement = {
142
- publicKeyJwk: await X25519.getPublicKey({ key: protocolLevelDerivedKey.derivedPrivateKey }),
143
- };
144
- await addEncryptionProperty(clone.structure, protocolLevelDerivedKey);
116
+ await injectKeys(clone.structure, basePath);
145
117
  return clone;
146
118
  }
147
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../../src/utils/protocols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../../src/utils/protocols.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,11 @@ export class Records {
43
43
  const newestRecordsDelete = await Message.getNewestMessage(recordsDeleteMessages);
44
44
  return newestRecordsDelete;
45
45
  }
46
- // Implementation dispatches based on argument type.
47
- static async decrypt(recordsWrite, keyOrDecrypter, cipherStream) {
46
+ /**
47
+ * Decrypts the encrypted data in a message reply.
48
+ * Accepts a KeyDecrypter that performs X25519-HKDF key agreement + AES Key Unwrap internally.
49
+ */
50
+ static async decrypt(recordsWrite, keyDecrypter, cipherStream) {
48
51
  const { encryption } = recordsWrite;
49
52
  if (encryption === undefined) {
50
53
  throw new DwnError(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound, 'Message does not have an encryption property.');
@@ -52,45 +55,28 @@ export class Records {
52
55
  const ciphertext = await DataStream.toBytes(cipherStream);
53
56
  const actualDataCid = await Cid.computeDagPbCidFromBytes(ciphertext);
54
57
  Records.validateEncryptedDataIntegrity(recordsWrite, actualDataCid, ciphertext.byteLength);
55
- const { fullDerivationPath, leafPrivateKey, matchingKeyEncryption } = await Records.findMatchingKeyEncryption(recordsWrite, keyOrDecrypter);
58
+ const { fullDerivationPath, matchingKeyEncryption } = await Records.findMatchingKeyEncryption(recordsWrite, keyDecrypter);
56
59
  if (matchingKeyEncryption === undefined) {
57
- throw new DwnError(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound, `Unable to find a matching key encryption entry for '${keyOrDecrypter.rootKeyId}' and '${keyOrDecrypter.derivationScheme}'.`);
58
- }
59
- let cek;
60
- if ('decrypt' in keyOrDecrypter) {
61
- cek = await keyOrDecrypter.decrypt(fullDerivationPath, {
62
- encryptedKey: Encoder.base64UrlToBytes(matchingKeyEncryption.encryptedKey),
63
- ephemeralPublicKey: matchingKeyEncryption.ephemeralPublicKey,
64
- keyEncryption: matchingKeyEncryption,
65
- });
66
- }
67
- else {
68
- cek = await Encryption.unwrapKey(leafPrivateKey, matchingKeyEncryption);
60
+ throw new DwnError(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound, `Unable to find a matching key encryption entry for '${keyDecrypter.rootKeyId}' and '${keyDecrypter.derivationScheme}'.`);
69
61
  }
62
+ const cek = await keyDecrypter.decrypt(fullDerivationPath, {
63
+ encryptedKey: Encoder.base64UrlToBytes(matchingKeyEncryption.encryptedKey),
64
+ ephemeralPublicKey: matchingKeyEncryption.ephemeralPublicKey,
65
+ keyEncryption: matchingKeyEncryption,
66
+ });
70
67
  const iv = Encoder.base64UrlToBytes(encryption.initializationVector);
71
68
  const plaintext = await Encryption.decrypt(encryption.algorithm, cek, iv, ciphertext);
72
69
  const plaintextStream = DataStream.fromBytes(plaintext);
73
70
  return plaintextStream;
74
71
  }
75
- static async findMatchingKeyEncryption(recordsWrite, keyOrDecrypter) {
72
+ static async findMatchingKeyEncryption(recordsWrite, keyDecrypter) {
76
73
  const { encryption } = recordsWrite;
77
- const fullDerivationPath = Records.constructKeyDerivationPath(keyOrDecrypter.derivationScheme, recordsWrite);
78
- if ('decrypt' in keyOrDecrypter) {
79
- const publicKey = await keyOrDecrypter.derivePublicKey(fullDerivationPath);
80
- const keyId = await Encryption.getKeyId(publicKey);
81
- return {
82
- fullDerivationPath,
83
- matchingKeyEncryption: encryption.keyEncryption.find((entry) => entry.derivationScheme === keyOrDecrypter.derivationScheme && entry.keyId === keyId),
84
- };
85
- }
86
- const leafPrivateKeyBytes = await Records.derivePrivateKey(keyOrDecrypter, fullDerivationPath);
87
- const leafPrivateKey = await X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
88
- const publicKey = await X25519.getPublicKey({ key: leafPrivateKey });
89
- const keyId = keyOrDecrypter.keyId ?? await Encryption.getKeyId(publicKey);
74
+ const fullDerivationPath = Records.constructKeyDerivationPath(keyDecrypter.derivationScheme, recordsWrite);
75
+ const publicKey = await keyDecrypter.derivePublicKey(fullDerivationPath);
76
+ const keyId = await Encryption.getKeyId(publicKey);
90
77
  return {
91
78
  fullDerivationPath,
92
- leafPrivateKey,
93
- matchingKeyEncryption: encryption.keyEncryption.find((entry) => entry.derivationScheme === keyOrDecrypter.derivationScheme && entry.keyId === keyId),
79
+ matchingKeyEncryption: encryption.keyEncryption.find((entry) => entry.derivationScheme === keyDecrypter.derivationScheme && entry.keyId === keyId),
94
80
  };
95
81
  }
96
82
  static validateEncryptedDataIntegrity(recordsWrite, actualDataCid, actualDataSize) {
@@ -1 +1 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../../src/utils/records.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../../src/utils/records.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from 'bun:test';
2
- import { ENCRYPTION_CONTROL_AUDIENCE_PATH, ENCRYPTION_CONTROL_DELIVERY_PATH, ENCRYPTION_CONTROL_PATHS, ENCRYPTION_CONTROL_ROOT_PATH, ENCRYPTION_PROTOCOL_URI, EncryptionControlRecordType, getEncryptionControlRecordType, isEncryptionControlPath, isRecordsPrimaryProjectionExcludedProtocol, PERMISSIONS_PROTOCOL_URI, } from '../../src/core/constants.js';
2
+ import { ENCRYPTION_CONTROL_AUDIENCE_PATH, ENCRYPTION_CONTROL_DELIVERY_PATH, ENCRYPTION_CONTROL_PATHS, ENCRYPTION_CONTROL_ROOT_PATH, isEncryptionControlPath, } from '../../src/core/constants.js';
3
3
  describe('core constants', () => {
4
4
  describe('encryption control paths', () => {
5
5
  it('should identify exact reserved encryption control paths', () => {
@@ -12,8 +12,6 @@ describe('core constants', () => {
12
12
  ]);
13
13
  expect(isEncryptionControlPath(ENCRYPTION_CONTROL_AUDIENCE_PATH)).toBe(true);
14
14
  expect(isEncryptionControlPath(ENCRYPTION_CONTROL_DELIVERY_PATH)).toBe(true);
15
- expect(getEncryptionControlRecordType(ENCRYPTION_CONTROL_AUDIENCE_PATH)).toBe(EncryptionControlRecordType.Audience);
16
- expect(getEncryptionControlRecordType(ENCRYPTION_CONTROL_DELIVERY_PATH)).toBe(EncryptionControlRecordType.Delivery);
17
15
  });
18
16
  it('should reject undefined, root-only, and lookalike encryption control paths', () => {
19
17
  expect(isEncryptionControlPath(undefined)).toBe(false);
@@ -23,13 +21,5 @@ describe('core constants', () => {
23
21
  expect(isEncryptionControlPath('$encryption/delivery/child')).toBe(false);
24
22
  });
25
23
  });
26
- describe('primary projection exclusions', () => {
27
- it('should exclude only infrastructure protocols from primary record projections', () => {
28
- expect(isRecordsPrimaryProjectionExcludedProtocol(ENCRYPTION_PROTOCOL_URI)).toBe(true);
29
- expect(isRecordsPrimaryProjectionExcludedProtocol(PERMISSIONS_PROTOCOL_URI)).toBe(true);
30
- expect(isRecordsPrimaryProjectionExcludedProtocol(undefined)).toBe(false);
31
- expect(isRecordsPrimaryProjectionExcludedProtocol('https://example.com/protocol')).toBe(false);
32
- });
33
- });
34
24
  });
35
25
  //# sourceMappingURL=constants.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.spec.js","sourceRoot":"","sources":["../../../../tests/core/constants.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,0CAA0C,EAC1C,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAErC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACtE,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACtE,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;gBACvC,gCAAgC;gBAChC,gCAAgC;aACjC,CAAC,CAAC;YAEH,MAAM,CAAC,uBAAuB,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7E,MAAM,CAAC,uBAAuB,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7E,MAAM,CAAC,8BAA8B,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;YACpH,MAAM,CAAC,8BAA8B,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,MAAM,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;YACtF,MAAM,CAAC,0CAA0C,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvF,MAAM,CAAC,0CAA0C,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxF,MAAM,CAAC,0CAA0C,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,0CAA0C,CAAC,8BAA8B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.spec.js","sourceRoot":"","sources":["../../../../tests/core/constants.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACtE,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACtE,MAAM,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC;gBACvC,gCAAgC;gBAChC,gCAAgC;aACjC,CAAC,CAAC;YAEH,MAAM,CAAC,uBAAuB,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7E,MAAM,CAAC,uBAAuB,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrE,MAAM,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1E,MAAM,CAAC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -163,7 +163,7 @@ describe('validation read closure', () => {
163
163
  },
164
164
  },
165
165
  };
166
- const encryptedProtocolDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, alice.keyId, alice.encryptionKeyPair.privateJwk);
166
+ const encryptedProtocolDefinition = await Protocols.deriveAndInjectPublicEncryptionKeys(protocolDefinition, TestDataGenerator.createProtocolPathKeyDeriver(alice.keyId, alice.encryptionKeyPair.privateJwk));
167
167
  const { message: configureMessage } = await TestDataGenerator.generateProtocolsConfigure({
168
168
  author: alice,
169
169
  protocolDefinition: encryptedProtocolDefinition,
@@ -1 +1 @@
1
- {"version":3,"file":"validation-read-closure.spec.js","sourceRoot":"","sources":["../../../../tests/core/validation-read-closure.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-read-closure.spec.js","sourceRoot":"","sources":["../../../../tests/core/validation-read-closure.spec.ts"],"names":[],"mappings":"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"}
@@ -359,8 +359,8 @@ export function testDwnClass() {
359
359
  };
360
360
  const { messages: tombstonesA } = await messageStore.query(alice.did, [tombstoneFilter]);
361
361
  const { messages: tombstonesB } = await messageStoreB.query(alice.did, [tombstoneFilter]);
362
- expect(tombstonesA.length).toBe(1);
363
- expect(tombstonesB.length).toBe(1);
362
+ expect(tombstonesA).toHaveLength(1);
363
+ expect(tombstonesB).toHaveLength(1);
364
364
  expect(await Message.getCid(tombstonesA[0])).toBe(await Message.getCid(recordsDelete.message));
365
365
  expect(await Message.getCid(tombstonesB[0])).toBe(await Message.getCid(recordsDelete.message));
366
366
  }
@@ -402,7 +402,7 @@ export function testDwnClass() {
402
402
  method: DwnMethodName.Delete,
403
403
  'tag.team': 'blue',
404
404
  }]);
405
- expect(reindexedTombstones.length).toBe(0);
405
+ expect(reindexedTombstones).toHaveLength(0);
406
406
  });
407
407
  it('reports missing data for tombstone-beaten replicated writes without data', async () => {
408
408
  const alice = await TestDataGenerator.generateDidKeyPersona();
@@ -441,7 +441,7 @@ export function testDwnClass() {
441
441
  method: DwnMethodName.Delete,
442
442
  'tag.storage': storage,
443
443
  }]);
444
- expect(reindexedTombstones.length).toBe(0);
444
+ expect(reindexedTombstones).toHaveLength(0);
445
445
  }
446
446
  });
447
447
  it('accepts a tombstone-beaten replicated write with a valid large data stream', async () => {
@@ -469,7 +469,7 @@ export function testDwnClass() {
469
469
  method: DwnMethodName.Delete,
470
470
  'tag.storage': 'data-store',
471
471
  }]);
472
- expect(reindexedTombstones.length).toBe(1);
472
+ expect(reindexedTombstones).toHaveLength(1);
473
473
  expect(await Message.getCid(reindexedTombstones[0])).toBe(await Message.getCid(recordsDelete.message));
474
474
  });
475
475
  it('applies the handler stale-tombstone gate on resumable-task replay', async () => {