@enbox/dwn-sdk-js 0.4.3 → 0.4.5
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.
- package/dist/browser.mjs +15 -15
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +5406 -2200
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/json-schemas/definitions.json +18 -0
- package/dist/esm/src/core/constants.js +3 -3
- package/dist/esm/src/core/constants.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +29 -1
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +20 -0
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-validation.js +80 -3
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
- package/dist/esm/src/core/recording-validation-state-reader.js +5 -0
- package/dist/esm/src/core/recording-validation-state-reader.js.map +1 -1
- package/dist/esm/src/core/replication-apply.js +163 -7
- package/dist/esm/src/core/replication-apply.js.map +1 -1
- package/dist/esm/src/core/validation-state-reader.js +20 -0
- package/dist/esm/src/core/validation-state-reader.js.map +1 -1
- package/dist/esm/src/dwn.js +19 -2
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/handlers/messages-query.js +3 -5
- package/dist/esm/src/handlers/messages-query.js.map +1 -1
- package/dist/esm/src/handlers/protocols-configure.js +10 -4
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +1 -1
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +2 -1
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +23 -10
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/records-write-signing.js +2 -8
- package/dist/esm/src/interfaces/records-write-signing.js.map +1 -1
- package/dist/esm/src/interfaces/records-write.js +43 -65
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/protocols/encryption.js +411 -0
- package/dist/esm/src/protocols/encryption.js.map +1 -0
- package/dist/esm/src/protocols/permission-grant.js +3 -3
- package/dist/esm/src/protocols/permission-grant.js.map +1 -1
- package/dist/esm/src/protocols/permissions.js +1 -0
- package/dist/esm/src/protocols/permissions.js.map +1 -1
- package/dist/esm/src/types/message-types.js.map +1 -1
- package/dist/esm/src/types/permission-types.js.map +1 -1
- package/dist/esm/src/types/protocols-types.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +135 -187
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/hd-key.js +0 -1
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/permission-scope.js +9 -6
- package/dist/esm/src/utils/permission-scope.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +12 -9
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/records.js +54 -56
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/replication.js +27 -4
- package/dist/esm/src/utils/replication.js.map +1 -1
- package/dist/esm/tests/core/replication-apply.spec.js +141 -1
- package/dist/esm/tests/core/replication-apply.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js +1 -0
- package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-read-closure.spec.js +111 -0
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -1
- package/dist/esm/tests/core/validation-state-reader.spec.js +89 -0
- package/dist/esm/tests/core/validation-state-reader.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +30 -31
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/encryption.fuzz.spec.js +29 -121
- package/dist/esm/tests/fuzz/encryption.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-query.spec.js +71 -3
- package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-read.spec.js +2 -2
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +9 -135
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +279 -19
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +17 -22
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +170 -150
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/protocols/encryption.spec.js +914 -0
- package/dist/esm/tests/protocols/encryption.spec.js.map +1 -0
- package/dist/esm/tests/protocols/permission-grant.spec.js +55 -0
- package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +100 -100
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +20 -2
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-callbacks.spec.js +88 -125
- package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption.spec.js +125 -255
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/permission-scope.spec.js +5 -1
- package/dist/esm/tests/utils/permission-scope.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +15 -5
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +7 -44
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js +63 -0
- package/dist/esm/tests/validation/json-schemas/encryption/grant-key.spec.js.map +1 -0
- package/dist/types/generated/precompiled-validators.d.ts +140 -92
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/constants.d.ts +2 -2
- package/dist/types/src/core/constants.d.ts.map +1 -1
- package/dist/types/src/core/core-protocol.d.ts +1 -1
- package/dist/types/src/core/core-protocol.d.ts.map +1 -1
- package/dist/types/src/core/dwn-error.d.ts +29 -1
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/messages-grant-authorization.d.ts +2 -0
- package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-validation.d.ts +2 -2
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
- package/dist/types/src/core/recording-validation-state-reader.d.ts +9 -0
- package/dist/types/src/core/recording-validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/core/replication-apply.d.ts +4 -3
- package/dist/types/src/core/replication-apply.d.ts.map +1 -1
- package/dist/types/src/core/validation-state-reader.d.ts +9 -0
- package/dist/types/src/core/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/dwn.d.ts +1 -0
- package/dist/types/src/dwn.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-query.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +6 -5
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write-signing.d.ts +4 -8
- package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write.d.ts +10 -26
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/protocols/encryption.d.ts +43 -0
- package/dist/types/src/protocols/encryption.d.ts.map +1 -0
- package/dist/types/src/protocols/permission-grant.d.ts +3 -6
- package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
- package/dist/types/src/protocols/permissions.d.ts +2 -1
- package/dist/types/src/protocols/permissions.d.ts.map +1 -1
- package/dist/types/src/types/encryption-types.d.ts +5 -38
- package/dist/types/src/types/encryption-types.d.ts.map +1 -1
- package/dist/types/src/types/message-types.d.ts +0 -13
- package/dist/types/src/types/message-types.d.ts.map +1 -1
- package/dist/types/src/types/permission-types.d.ts +44 -9
- package/dist/types/src/types/permission-types.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +9 -14
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/types/records-types.d.ts +3 -3
- package/dist/types/src/types/records-types.d.ts.map +1 -1
- package/dist/types/src/types/validation-state-reader.d.ts +12 -0
- package/dist/types/src/types/validation-state-reader.d.ts.map +1 -1
- package/dist/types/src/utils/encryption.d.ts +54 -145
- package/dist/types/src/utils/encryption.d.ts.map +1 -1
- package/dist/types/src/utils/hd-key.d.ts +1 -1
- package/dist/types/src/utils/hd-key.d.ts.map +1 -1
- package/dist/types/src/utils/permission-scope.d.ts +4 -3
- package/dist/types/src/utils/permission-scope.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +3 -5
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +5 -13
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/src/utils/replication.d.ts +3 -0
- package/dist/types/src/utils/replication.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
- package/dist/types/tests/protocols/encryption.spec.d.ts +2 -0
- package/dist/types/tests/protocols/encryption.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -1
- package/dist/types/tests/utils/test-data-generator.d.ts +0 -5
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/encryption/grant-key.spec.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/core/constants.ts +3 -3
- package/src/core/core-protocol.ts +1 -1
- package/src/core/dwn-error.ts +29 -1
- package/src/core/messages-grant-authorization.ts +27 -0
- package/src/core/protocol-authorization-validation.ts +145 -6
- package/src/core/recording-validation-state-reader.ts +13 -0
- package/src/core/replication-apply.ts +222 -8
- package/src/core/validation-state-reader.ts +30 -0
- package/src/dwn.ts +24 -2
- package/src/handlers/messages-query.ts +6 -5
- package/src/handlers/protocols-configure.ts +19 -3
- package/src/handlers/records-write.ts +1 -1
- package/src/index.ts +15 -5
- package/src/interfaces/protocols-configure.ts +39 -12
- package/src/interfaces/records-write-signing.ts +5 -12
- package/src/interfaces/records-write.ts +75 -92
- package/src/protocols/encryption.ts +649 -0
- package/src/protocols/permission-grant.ts +4 -5
- package/src/protocols/permissions.ts +8 -6
- package/src/types/encryption-types.ts +9 -38
- package/src/types/message-types.ts +0 -13
- package/src/types/permission-types.ts +57 -9
- package/src/types/protocols-types.ts +9 -16
- package/src/types/records-types.ts +3 -3
- package/src/types/validation-state-reader.ts +13 -0
- package/src/utils/encryption.ts +213 -283
- package/src/utils/hd-key.ts +1 -1
- package/src/utils/permission-scope.ts +10 -6
- package/src/utils/protocols.ts +16 -15
- package/src/utils/records.ts +86 -71
- package/src/utils/replication.ts +30 -4
- package/dist/esm/tests/vectors/protocol-definitions/chat.json +0 -70
|
@@ -52,7 +52,7 @@ export function getRuleSetAtPath(protocolPath, structure) {
|
|
|
52
52
|
* Class containing Protocol related utility methods.
|
|
53
53
|
*/
|
|
54
54
|
export class Protocols {
|
|
55
|
-
// Implementation dispatches based on argument type
|
|
55
|
+
// Implementation dispatches based on argument type.
|
|
56
56
|
static async deriveAndInjectPublicEncryptionKeys(protocolDefinition, rootKeyIdOrKeyDeriver, privateJwk) {
|
|
57
57
|
// clone before modify
|
|
58
58
|
const clone = JSON.parse(JSON.stringify(protocolDefinition));
|
|
@@ -60,6 +60,9 @@ export class Protocols {
|
|
|
60
60
|
// Callback-based path
|
|
61
61
|
const keyDeriver = rootKeyIdOrKeyDeriver;
|
|
62
62
|
const basePath = [KeyDerivationScheme.ProtocolPath, protocolDefinition.protocol];
|
|
63
|
+
clone.$keyAgreement = {
|
|
64
|
+
publicKeyJwk: await keyDeriver.derivePublicKey(basePath),
|
|
65
|
+
};
|
|
63
66
|
async function injectKeysViaCallback(ruleSet, parentPath) {
|
|
64
67
|
for (const key in ruleSet) {
|
|
65
68
|
if (!key.startsWith('$')) {
|
|
@@ -72,10 +75,7 @@ export class Protocols {
|
|
|
72
75
|
continue;
|
|
73
76
|
}
|
|
74
77
|
const publicKeyJwk = await keyDeriver.derivePublicKey(currentPath);
|
|
75
|
-
childRuleSet.$
|
|
76
|
-
rootKeyId: keyDeriver.rootKeyId,
|
|
77
|
-
publicKeyJwk,
|
|
78
|
-
};
|
|
78
|
+
childRuleSet.$keyAgreement = { publicKeyJwk };
|
|
79
79
|
await injectKeysViaCallback(childRuleSet, currentPath);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -83,12 +83,12 @@ export class Protocols {
|
|
|
83
83
|
await injectKeysViaCallback(clone.structure, basePath);
|
|
84
84
|
return clone;
|
|
85
85
|
}
|
|
86
|
-
// Raw-key path
|
|
86
|
+
// Raw-key path
|
|
87
87
|
const rootKeyId = rootKeyIdOrKeyDeriver;
|
|
88
|
-
// a function that recursively creates and adds `$
|
|
88
|
+
// a function that recursively creates and adds `$keyAgreement` property to every rule set
|
|
89
89
|
async function addEncryptionProperty(ruleSet, parentKey) {
|
|
90
90
|
for (const key in ruleSet) {
|
|
91
|
-
// if we encounter a nested rule set (a property name that doesn't begin with '$'), recursively inject the `$
|
|
91
|
+
// if we encounter a nested rule set (a property name that doesn't begin with '$'), recursively inject the `$keyAgreement` property
|
|
92
92
|
if (!key.startsWith('$')) {
|
|
93
93
|
const derivedPrivateKey = await HdKey.derivePrivateKey(parentKey, [key]);
|
|
94
94
|
const childRuleSet = ruleSet[key];
|
|
@@ -99,7 +99,7 @@ export class Protocols {
|
|
|
99
99
|
continue;
|
|
100
100
|
}
|
|
101
101
|
const publicKeyJwk = await X25519.getPublicKey({ key: derivedPrivateKey.derivedPrivateKey });
|
|
102
|
-
childRuleSet.$
|
|
102
|
+
childRuleSet.$keyAgreement = { publicKeyJwk };
|
|
103
103
|
await addEncryptionProperty(childRuleSet, derivedPrivateKey);
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -111,6 +111,9 @@ export class Protocols {
|
|
|
111
111
|
rootKeyId
|
|
112
112
|
};
|
|
113
113
|
const protocolLevelDerivedKey = await HdKey.derivePrivateKey(rootKey, [KeyDerivationScheme.ProtocolPath, protocolDefinition.protocol]);
|
|
114
|
+
clone.$keyAgreement = {
|
|
115
|
+
publicKeyJwk: await X25519.getPublicKey({ key: protocolLevelDerivedKey.derivedPrivateKey }),
|
|
116
|
+
};
|
|
114
117
|
await addEncryptionProperty(clone.structure, protocolLevelDerivedKey);
|
|
115
118
|
return clone;
|
|
116
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../../src/utils/protocols.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAYhE;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC9C,OAAO,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB,EAAE,SAA6C;IAClG,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,OAAoC,CAAC;IACzC,IAAI,YAAY,GAAuC,SAAS,CAAC;IAEjE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QAChC,YAAY,GAAG,OAA6C,CAAC;IAC/D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../../src/utils/protocols.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { Cid } from './cid.js';
|
|
2
|
+
import { DataStream } from './data-stream.js';
|
|
1
3
|
import { DateSort } from '../types/records-types.js';
|
|
2
4
|
import { Encoder } from './encoder.js';
|
|
3
|
-
import { Encryption } from './encryption.js';
|
|
4
5
|
import { FilterUtility } from './filter.js';
|
|
5
6
|
import { Jws } from './jws.js';
|
|
6
7
|
import { Message } from '../core/message.js';
|
|
@@ -10,6 +11,7 @@ import { SortDirection } from '../types/query-types.js';
|
|
|
10
11
|
import { X25519 } from '@enbox/crypto';
|
|
11
12
|
import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
|
|
12
13
|
import { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
14
|
+
import { Encryption, ROLE_AUDIENCE_DERIVATION_SCHEME } from './encryption.js';
|
|
13
15
|
import { HdKey, KeyDerivationScheme } from './hd-key.js';
|
|
14
16
|
import { normalizeProtocolUrl, normalizeSchemaUrl } from './url.js';
|
|
15
17
|
/**
|
|
@@ -40,62 +42,77 @@ export class Records {
|
|
|
40
42
|
const newestRecordsDelete = await Message.getNewestMessage(recordsDeleteMessages);
|
|
41
43
|
return newestRecordsDelete;
|
|
42
44
|
}
|
|
43
|
-
// Implementation dispatches based on argument type
|
|
45
|
+
// Implementation dispatches based on argument type.
|
|
44
46
|
static async decrypt(recordsWrite, keyOrDecrypter, cipherStream) {
|
|
45
47
|
const { encryption } = recordsWrite;
|
|
46
48
|
if (encryption === undefined) {
|
|
47
49
|
throw new DwnError(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound, 'Message does not have an encryption property.');
|
|
48
50
|
}
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (matchingRecipient === undefined) {
|
|
57
|
-
throw new DwnError(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound, `Unable to find a JWE recipient matching key \
|
|
58
|
-
with ID '${keyOrDecrypter.rootKeyId}' and '${keyOrDecrypter.derivationScheme}' derivation scheme.`);
|
|
59
|
-
}
|
|
60
|
-
// Construct the full derivation path
|
|
61
|
-
const fullDerivationPath = Records.constructKeyDerivationPath(matchingRecipient.header.derivationScheme, recordsWrite);
|
|
51
|
+
const ciphertext = await DataStream.toBytes(cipherStream);
|
|
52
|
+
const actualDataCid = await Cid.computeDagPbCidFromBytes(ciphertext);
|
|
53
|
+
Records.validateEncryptedDataIntegrity(recordsWrite, actualDataCid, ciphertext.byteLength);
|
|
54
|
+
const { fullDerivationPath, leafPrivateKey, matchingKeyEncryption } = await Records.findMatchingKeyEncryption(recordsWrite, keyOrDecrypter);
|
|
55
|
+
if (matchingKeyEncryption === undefined) {
|
|
56
|
+
throw new DwnError(DwnErrorCode.RecordsDecryptNoMatchingKeyEncryptedFound, `Unable to find a matching key encryption entry for '${keyOrDecrypter.rootKeyId}' and '${keyOrDecrypter.derivationScheme}'.`);
|
|
57
|
+
}
|
|
62
58
|
let cek;
|
|
63
|
-
if (
|
|
64
|
-
// Callback-based: delegate HKDF + ECDH-ES + AES Key Unwrap to the KeyDecrypter
|
|
65
|
-
const encryptedKeyBytes = Encoder.base64UrlToBytes(matchingRecipient.encrypted_key);
|
|
59
|
+
if ('decrypt' in keyOrDecrypter) {
|
|
66
60
|
cek = await keyOrDecrypter.decrypt(fullDerivationPath, {
|
|
67
|
-
encryptedKey:
|
|
68
|
-
ephemeralPublicKey:
|
|
61
|
+
encryptedKey: Encoder.base64UrlToBytes(matchingKeyEncryption.encryptedKey),
|
|
62
|
+
ephemeralPublicKey: matchingKeyEncryption.ephemeralPublicKey,
|
|
63
|
+
keyEncryption: matchingKeyEncryption,
|
|
69
64
|
});
|
|
70
65
|
}
|
|
71
66
|
else {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
// AEAD decrypt data using the CEK
|
|
79
|
-
const iv = Encoder.base64UrlToBytes(encryption.iv);
|
|
80
|
-
const tag = Encoder.base64UrlToBytes(encryption.tag);
|
|
81
|
-
const plaintextStream = await Encryption.aeadDecryptStream(enc, cek, iv, cipherStream, tag);
|
|
67
|
+
cek = await Encryption.unwrapKey(leafPrivateKey, matchingKeyEncryption);
|
|
68
|
+
}
|
|
69
|
+
const iv = Encoder.base64UrlToBytes(encryption.initializationVector);
|
|
70
|
+
const plaintext = await Encryption.decrypt(encryption.algorithm, cek, iv, ciphertext);
|
|
71
|
+
const plaintextStream = DataStream.fromBytes(plaintext);
|
|
82
72
|
return plaintextStream;
|
|
83
73
|
}
|
|
74
|
+
static async findMatchingKeyEncryption(recordsWrite, keyOrDecrypter) {
|
|
75
|
+
const { encryption } = recordsWrite;
|
|
76
|
+
const fullDerivationPath = Records.constructKeyDerivationPath(keyOrDecrypter.derivationScheme, recordsWrite);
|
|
77
|
+
if ('decrypt' in keyOrDecrypter) {
|
|
78
|
+
const publicKey = await keyOrDecrypter.derivePublicKey(fullDerivationPath);
|
|
79
|
+
const keyId = await Encryption.getKeyId(publicKey);
|
|
80
|
+
return {
|
|
81
|
+
fullDerivationPath,
|
|
82
|
+
matchingKeyEncryption: encryption.keyEncryption.find((entry) => entry.derivationScheme === keyOrDecrypter.derivationScheme && entry.keyId === keyId),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const leafPrivateKeyBytes = await Records.derivePrivateKey(keyOrDecrypter, fullDerivationPath);
|
|
86
|
+
const leafPrivateKey = await X25519.bytesToPrivateKey({ privateKeyBytes: leafPrivateKeyBytes });
|
|
87
|
+
const publicKey = await X25519.getPublicKey({ key: leafPrivateKey });
|
|
88
|
+
const keyId = keyOrDecrypter.keyId ?? await Encryption.getKeyId(publicKey);
|
|
89
|
+
return {
|
|
90
|
+
fullDerivationPath,
|
|
91
|
+
leafPrivateKey,
|
|
92
|
+
matchingKeyEncryption: encryption.keyEncryption.find((entry) => entry.derivationScheme === keyOrDecrypter.derivationScheme && entry.keyId === keyId),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
static validateEncryptedDataIntegrity(recordsWrite, actualDataCid, actualDataSize) {
|
|
96
|
+
const { dataCid, dataSize } = recordsWrite.descriptor;
|
|
97
|
+
if (dataCid !== actualDataCid) {
|
|
98
|
+
throw new DwnError(DwnErrorCode.RecordsWriteDataCidMismatch, `actual data CID ${actualDataCid} does not match dataCid in descriptor: ${dataCid}`);
|
|
99
|
+
}
|
|
100
|
+
if (dataSize !== actualDataSize) {
|
|
101
|
+
throw new DwnError(DwnErrorCode.RecordsWriteDataSizeMismatch, `actual data size ${actualDataSize} bytes does not match dataSize in descriptor: ${dataSize}`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
84
104
|
/**
|
|
85
105
|
* Constructs full key derivation path using the specified scheme.
|
|
86
106
|
*/
|
|
87
107
|
static constructKeyDerivationPath(keyDerivationScheme, recordsWriteMessage) {
|
|
88
108
|
const descriptor = recordsWriteMessage.descriptor;
|
|
89
|
-
const contextId = recordsWriteMessage.contextId;
|
|
90
|
-
let fullDerivationPath;
|
|
91
109
|
if (keyDerivationScheme === KeyDerivationScheme.ProtocolPath) {
|
|
92
|
-
|
|
110
|
+
return Records.constructKeyDerivationPathUsingProtocolPathScheme(descriptor);
|
|
93
111
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
fullDerivationPath = Records.constructKeyDerivationPathUsingProtocolContextScheme(contextId);
|
|
112
|
+
if (keyDerivationScheme === ROLE_AUDIENCE_DERIVATION_SCHEME) {
|
|
113
|
+
return [ROLE_AUDIENCE_DERIVATION_SCHEME];
|
|
97
114
|
}
|
|
98
|
-
|
|
115
|
+
throw new DwnError(DwnErrorCode.RecordsDecryptUnsupportedKeyDerivationScheme, `Unsupported key derivation scheme '${keyDerivationScheme}'.`);
|
|
99
116
|
}
|
|
100
117
|
/**
|
|
101
118
|
* Constructs the full key derivation path using `protocolPath` scheme.
|
|
@@ -114,25 +131,6 @@ export class Records {
|
|
|
114
131
|
];
|
|
115
132
|
return fullDerivationPath;
|
|
116
133
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Constructs the full key derivation path using `protocolContext` scheme.
|
|
119
|
-
*
|
|
120
|
-
* NOTE on protocol composition: When a context tree spans two protocols via `$ref` composition,
|
|
121
|
-
* the root `contextId` segment (the `$ref` parent record's ID) is shared across both protocols.
|
|
122
|
-
* This means ProtocolContext-encrypted records from the composing protocol and the referenced
|
|
123
|
-
* protocol derive the same context key. This is by design — it enables multi-party access within
|
|
124
|
-
* a shared context (e.g., thread participants can decrypt messages from both the threads protocol
|
|
125
|
-
* and composing protocols that attach to those threads).
|
|
126
|
-
*/
|
|
127
|
-
static constructKeyDerivationPathUsingProtocolContextScheme(contextId) {
|
|
128
|
-
// TODO: Extend key derivation support to include the full contextId (https://github.com/enboxorg/enbox/issues/99)
|
|
129
|
-
const firstContextSegment = contextId.split('/')[0];
|
|
130
|
-
const fullDerivationPath = [
|
|
131
|
-
KeyDerivationScheme.ProtocolContext,
|
|
132
|
-
firstContextSegment
|
|
133
|
-
];
|
|
134
|
-
return fullDerivationPath;
|
|
135
|
-
}
|
|
136
134
|
/**
|
|
137
135
|
* Derives a descendant private key given an ancestor private key and the full absolute derivation path.
|
|
138
136
|
* Uses X25519 keys for encryption key derivation.
|
|
@@ -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,3 +1,4 @@
|
|
|
1
|
+
import { EncryptionProtocol } from '../protocols/encryption.js';
|
|
1
2
|
import { PermissionsProtocol } from '../protocols/permissions.js';
|
|
2
3
|
import { DwnError, DwnErrorCode } from '../core/dwn-error.js';
|
|
3
4
|
const POSITION_PAD_WIDTH = 20;
|
|
@@ -12,6 +13,22 @@ export class Replication {
|
|
|
12
13
|
static permissionDomain(protocolUri) {
|
|
13
14
|
return `perm:${protocolUri}`;
|
|
14
15
|
}
|
|
16
|
+
static encryptionDomain(protocolUri) {
|
|
17
|
+
return `enc:${protocolUri}`;
|
|
18
|
+
}
|
|
19
|
+
static taggedCoreProtocolDomains(protocolUri, protocolsInScope = new Set()) {
|
|
20
|
+
if (Replication.isCoreProtocolUri(protocolUri)) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
const domains = [];
|
|
24
|
+
if (!protocolsInScope.has(PermissionsProtocol.uri)) {
|
|
25
|
+
domains.push(Replication.permissionDomain(protocolUri));
|
|
26
|
+
}
|
|
27
|
+
if (!protocolsInScope.has(EncryptionProtocol.uri)) {
|
|
28
|
+
domains.push(Replication.encryptionDomain(protocolUri));
|
|
29
|
+
}
|
|
30
|
+
return domains;
|
|
31
|
+
}
|
|
15
32
|
static async deriveStreamId(tenant) {
|
|
16
33
|
const bytes = new TextEncoder().encode(tenant);
|
|
17
34
|
const hashBuffer = await crypto.subtle.digest('SHA-256', bytes);
|
|
@@ -24,12 +41,15 @@ export class Replication {
|
|
|
24
41
|
const protocol = indexes.protocol;
|
|
25
42
|
if (typeof protocol === 'string') {
|
|
26
43
|
scopes.push(Replication.protocolDomain(protocol));
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (
|
|
44
|
+
const indexedTaggedProtocol = indexes['tag.protocol'];
|
|
45
|
+
const taggedProtocol = indexedTaggedProtocol ?? descriptor.tags?.protocol;
|
|
46
|
+
if (typeof taggedProtocol === 'string') {
|
|
47
|
+
if (protocol === PermissionsProtocol.uri) {
|
|
31
48
|
scopes.push(Replication.permissionDomain(taggedProtocol));
|
|
32
49
|
}
|
|
50
|
+
else if (protocol === EncryptionProtocol.uri) {
|
|
51
|
+
scopes.push(Replication.encryptionDomain(taggedProtocol));
|
|
52
|
+
}
|
|
33
53
|
}
|
|
34
54
|
}
|
|
35
55
|
return scopes;
|
|
@@ -49,6 +69,9 @@ export class Replication {
|
|
|
49
69
|
static throwFingerprintScopeMutation(messageCid) {
|
|
50
70
|
throw new DwnError(DwnErrorCode.MessageStoreFingerprintScopeMutation, `index replacement for message ${messageCid} would change its persisted fingerprint scopes`);
|
|
51
71
|
}
|
|
72
|
+
static isCoreProtocolUri(protocolUri) {
|
|
73
|
+
return protocolUri === PermissionsProtocol.uri || protocolUri === EncryptionProtocol.uri;
|
|
74
|
+
}
|
|
52
75
|
static async hashMessageCid(messageCid) {
|
|
53
76
|
const bytes = new TextEncoder().encode(messageCid);
|
|
54
77
|
const hashBuffer = await crypto.subtle.digest('SHA-256', bytes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication.js","sourceRoot":"","sources":["../../../../src/utils/replication.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE9D,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAM9B;;GAEG;AACH,MAAM,OAAO,WAAW;IACf,MAAM,CAAU,YAAY,GAAG,EAAE,CAAC;IAElC,MAAM,CAAC,cAAc,CAAC,WAAmB;QAC9C,OAAO,YAAY,WAAW,EAAE,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,WAAmB;QAChD,OAAO,QAAQ,WAAW,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/C,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,OAAuB,EAAE,OAAkB;QAChF,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAiC,OAAO,CAAC,UAAU,CAAC;QACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAElD,
|
|
1
|
+
{"version":3,"file":"replication.js","sourceRoot":"","sources":["../../../../src/utils/replication.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it } from 'bun:test';
|
|
2
2
|
import { TestDataGenerator } from '../utils/test-data-generator.js';
|
|
3
|
-
import { DwnErrorCode, replicationApplyResultFromReply } from '../../src/index.js';
|
|
3
|
+
import { DwnErrorCode, EncryptionProtocol, replicationApplyResultFromReply, ROLE_AUDIENCE_DERIVATION_SCHEME } from '../../src/index.js';
|
|
4
4
|
describe('replicationApplyResultFromReply', () => {
|
|
5
5
|
it('classifies successful and idempotent replies', async () => {
|
|
6
6
|
const { message } = await TestDataGenerator.generateRecordsWrite();
|
|
@@ -252,6 +252,146 @@ describe('replicationApplyResultFromReply', () => {
|
|
|
252
252
|
}],
|
|
253
253
|
});
|
|
254
254
|
});
|
|
255
|
+
it('classifies encryption protocol dependencies from tagged application protocol coordinates', async () => {
|
|
256
|
+
const protocol = 'https://example.com/protocol';
|
|
257
|
+
const tags = {
|
|
258
|
+
protocol,
|
|
259
|
+
contextId: 'chat-record',
|
|
260
|
+
role: 'chat/member',
|
|
261
|
+
epoch: 2,
|
|
262
|
+
keyId: 'abc',
|
|
263
|
+
};
|
|
264
|
+
const { author, message } = await TestDataGenerator.generateRecordsWrite({
|
|
265
|
+
protocol: EncryptionProtocol.uri,
|
|
266
|
+
protocolPath: EncryptionProtocol.audienceKeyPath,
|
|
267
|
+
recipient: 'did:example:bob',
|
|
268
|
+
tags,
|
|
269
|
+
});
|
|
270
|
+
expect(replicationApplyResultFromReply(message, {
|
|
271
|
+
status: {
|
|
272
|
+
code: 400,
|
|
273
|
+
detail: `${DwnErrorCode.ProtocolAuthorizationProtocolNotFound}: protocol is not installed`,
|
|
274
|
+
},
|
|
275
|
+
})).toEqual({
|
|
276
|
+
kind: 'Incomplete',
|
|
277
|
+
missing: [{ type: 'Protocol', protocol }],
|
|
278
|
+
});
|
|
279
|
+
expect(replicationApplyResultFromReply(message, {
|
|
280
|
+
status: {
|
|
281
|
+
code: 400,
|
|
282
|
+
detail: `${DwnErrorCode.EncryptionProtocolValidateAudienceEpochMissing}: audienceEpoch is missing`,
|
|
283
|
+
},
|
|
284
|
+
})).toEqual({
|
|
285
|
+
kind: 'Incomplete',
|
|
286
|
+
missing: [{
|
|
287
|
+
type: 'EncryptionProtocol',
|
|
288
|
+
protocolPath: EncryptionProtocol.audienceEpochPath,
|
|
289
|
+
tags,
|
|
290
|
+
}],
|
|
291
|
+
});
|
|
292
|
+
expect(replicationApplyResultFromReply(message, {
|
|
293
|
+
status: {
|
|
294
|
+
code: 400,
|
|
295
|
+
detail: `${DwnErrorCode.EncryptionProtocolValidateAudienceKeyRoleRecordMissing}: role holder is missing`,
|
|
296
|
+
},
|
|
297
|
+
})).toEqual({
|
|
298
|
+
kind: 'Incomplete',
|
|
299
|
+
missing: [{
|
|
300
|
+
type: 'Role',
|
|
301
|
+
contextPrefix: 'chat-record',
|
|
302
|
+
protocol,
|
|
303
|
+
protocolPath: 'chat/member',
|
|
304
|
+
recipient: 'did:example:bob',
|
|
305
|
+
}],
|
|
306
|
+
});
|
|
307
|
+
const writerRoleMessage = await TestDataGenerator.generateRecordsWrite({
|
|
308
|
+
author,
|
|
309
|
+
protocol: EncryptionProtocol.uri,
|
|
310
|
+
protocolPath: EncryptionProtocol.audienceEpochPath,
|
|
311
|
+
protocolRole: 'chat/admin',
|
|
312
|
+
tags,
|
|
313
|
+
});
|
|
314
|
+
expect(replicationApplyResultFromReply(writerRoleMessage.message, {
|
|
315
|
+
status: {
|
|
316
|
+
code: 400,
|
|
317
|
+
detail: `${DwnErrorCode.EncryptionProtocolValidateAudienceWriterUnauthorized}: writer role is missing`,
|
|
318
|
+
},
|
|
319
|
+
})).toEqual({
|
|
320
|
+
kind: 'Incomplete',
|
|
321
|
+
missing: [{
|
|
322
|
+
type: 'Role',
|
|
323
|
+
contextPrefix: 'chat-record',
|
|
324
|
+
protocol,
|
|
325
|
+
protocolPath: 'chat/admin',
|
|
326
|
+
recipient: author.did,
|
|
327
|
+
}],
|
|
328
|
+
});
|
|
329
|
+
});
|
|
330
|
+
it('classifies grantKey grant dependencies from tags', async () => {
|
|
331
|
+
const grantId = 'grant-record-id';
|
|
332
|
+
const { message } = await TestDataGenerator.generateRecordsWrite({
|
|
333
|
+
protocol: EncryptionProtocol.uri,
|
|
334
|
+
protocolPath: EncryptionProtocol.grantKeyPath,
|
|
335
|
+
tags: {
|
|
336
|
+
grantId,
|
|
337
|
+
protocol: 'https://example.com/protocol',
|
|
338
|
+
keyId: 'abc',
|
|
339
|
+
},
|
|
340
|
+
});
|
|
341
|
+
expect(replicationApplyResultFromReply(message, {
|
|
342
|
+
status: {
|
|
343
|
+
code: 400,
|
|
344
|
+
detail: `${DwnErrorCode.GrantAuthorizationGrantMissing}: grant was not found`,
|
|
345
|
+
},
|
|
346
|
+
})).toEqual({
|
|
347
|
+
kind: 'Incomplete',
|
|
348
|
+
missing: [{ type: 'Grant', permissionGrantId: grantId }],
|
|
349
|
+
});
|
|
350
|
+
});
|
|
351
|
+
it('classifies roleAudience audienceEpoch dependencies from encrypted application records', async () => {
|
|
352
|
+
const protocol = 'https://example.com/encrypted-chat';
|
|
353
|
+
const role = 'thread/member';
|
|
354
|
+
const { message } = await TestDataGenerator.generateRecordsWrite({
|
|
355
|
+
protocol,
|
|
356
|
+
protocolPath: 'thread/chat',
|
|
357
|
+
});
|
|
358
|
+
message.contextId = 'thread-record/chat-record';
|
|
359
|
+
message.encryption = {
|
|
360
|
+
algorithm: 'A256CTR',
|
|
361
|
+
initializationVector: 'iv',
|
|
362
|
+
keyEncryption: [{
|
|
363
|
+
algorithm: 'X25519-HKDF-SHA256+A256KW',
|
|
364
|
+
derivationScheme: ROLE_AUDIENCE_DERIVATION_SCHEME,
|
|
365
|
+
encryptedKey: 'encrypted-key',
|
|
366
|
+
ephemeralPublicKey: { kty: 'OKP', crv: 'X25519', x: 'x' },
|
|
367
|
+
epoch: 3,
|
|
368
|
+
keyId: 'abc',
|
|
369
|
+
protocol,
|
|
370
|
+
role,
|
|
371
|
+
}],
|
|
372
|
+
};
|
|
373
|
+
const detail = `${DwnErrorCode.ProtocolAuthorizationEncryptionRoleAudienceEpochMissing}: ` +
|
|
374
|
+
`encrypted record references a missing audienceEpoch for role '${role}'`;
|
|
375
|
+
expect(replicationApplyResultFromReply(message, {
|
|
376
|
+
status: {
|
|
377
|
+
code: 400,
|
|
378
|
+
detail,
|
|
379
|
+
},
|
|
380
|
+
})).toEqual({
|
|
381
|
+
kind: 'Incomplete',
|
|
382
|
+
missing: [{
|
|
383
|
+
type: 'EncryptionProtocol',
|
|
384
|
+
protocolPath: EncryptionProtocol.audienceEpochPath,
|
|
385
|
+
tags: {
|
|
386
|
+
protocol,
|
|
387
|
+
contextId: 'thread-record',
|
|
388
|
+
role,
|
|
389
|
+
epoch: 3,
|
|
390
|
+
keyId: 'abc',
|
|
391
|
+
},
|
|
392
|
+
}],
|
|
393
|
+
});
|
|
394
|
+
});
|
|
255
395
|
it('classifies resolver and storage failures as deferred', async () => {
|
|
256
396
|
const { message } = await TestDataGenerator.generateRecordsWrite();
|
|
257
397
|
expect(replicationApplyResultFromReply(message, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication-apply.spec.js","sourceRoot":"","sources":["../../../../tests/core/replication-apply.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replication-apply.spec.js","sourceRoot":"","sources":["../../../../tests/core/replication-apply.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -301,6 +301,7 @@ async function expectFingerprintsEqual(source, replica, tenant, protocol) {
|
|
|
301
301
|
const protocolScopes = [
|
|
302
302
|
Replication.protocolDomain(protocol),
|
|
303
303
|
Replication.permissionDomain(protocol),
|
|
304
|
+
Replication.encryptionDomain(protocol),
|
|
304
305
|
];
|
|
305
306
|
expect(await replica.fingerprint(tenant, protocolScopes)).toBe(await source.fingerprint(tenant, protocolScopes));
|
|
306
307
|
}
|