cojson 0.18.26 → 0.18.28
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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +17 -0
- package/dist/PeerKnownStates.d.ts +4 -3
- package/dist/PeerKnownStates.d.ts.map +1 -1
- package/dist/PeerKnownStates.js +27 -18
- package/dist/PeerKnownStates.js.map +1 -1
- package/dist/PeerState.d.ts +3 -2
- package/dist/PeerState.d.ts.map +1 -1
- package/dist/PeerState.js.map +1 -1
- package/dist/SyncStateManager.d.ts +2 -2
- package/dist/SyncStateManager.d.ts.map +1 -1
- package/dist/SyncStateManager.js +2 -10
- package/dist/SyncStateManager.js.map +1 -1
- package/dist/coValueContentMessage.d.ts +1 -1
- package/dist/coValueContentMessage.d.ts.map +1 -1
- package/dist/coValueContentMessage.js +1 -1
- package/dist/coValueContentMessage.js.map +1 -1
- package/dist/coValueCore/SessionMap.d.ts +6 -3
- package/dist/coValueCore/SessionMap.d.ts.map +1 -1
- package/dist/coValueCore/SessionMap.js +41 -8
- package/dist/coValueCore/SessionMap.js.map +1 -1
- package/dist/coValueCore/branching.d.ts +5 -4
- package/dist/coValueCore/branching.d.ts.map +1 -1
- package/dist/coValueCore/branching.js +22 -4
- package/dist/coValueCore/branching.js.map +1 -1
- package/dist/coValueCore/coValueCore.d.ts +29 -25
- package/dist/coValueCore/coValueCore.d.ts.map +1 -1
- package/dist/coValueCore/coValueCore.js +163 -126
- package/dist/coValueCore/coValueCore.js.map +1 -1
- package/dist/coValueCore/decryptTransactionChangesAndMeta.d.ts +3 -0
- package/dist/coValueCore/decryptTransactionChangesAndMeta.d.ts.map +1 -0
- package/dist/coValueCore/decryptTransactionChangesAndMeta.js +34 -0
- package/dist/coValueCore/decryptTransactionChangesAndMeta.js.map +1 -0
- package/dist/coValueCore/verifiedState.d.ts +12 -6
- package/dist/coValueCore/verifiedState.d.ts.map +1 -1
- package/dist/coValueCore/verifiedState.js +28 -56
- package/dist/coValueCore/verifiedState.js.map +1 -1
- package/dist/coValues/coMap.d.ts.map +1 -1
- package/dist/coValues/coMap.js.map +1 -1
- package/dist/coValues/coStream.d.ts.map +1 -1
- package/dist/coValues/coStream.js.map +1 -1
- package/dist/exports.d.ts +3 -2
- package/dist/exports.d.ts.map +1 -1
- package/dist/exports.js +2 -1
- package/dist/exports.js.map +1 -1
- package/dist/knownState.d.ts +58 -2
- package/dist/knownState.d.ts.map +1 -1
- package/dist/knownState.js +79 -5
- package/dist/knownState.js.map +1 -1
- package/dist/localNode.js +1 -1
- package/dist/localNode.js.map +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +18 -20
- package/dist/permissions.js.map +1 -1
- package/dist/storage/knownState.d.ts +1 -1
- package/dist/storage/knownState.d.ts.map +1 -1
- package/dist/storage/knownState.js +2 -3
- package/dist/storage/knownState.js.map +1 -1
- package/dist/storage/storageAsync.d.ts +2 -1
- package/dist/storage/storageAsync.d.ts.map +1 -1
- package/dist/storage/storageAsync.js +5 -6
- package/dist/storage/storageAsync.js.map +1 -1
- package/dist/storage/storageSync.d.ts +2 -1
- package/dist/storage/storageSync.d.ts.map +1 -1
- package/dist/storage/storageSync.js +5 -5
- package/dist/storage/storageSync.js.map +1 -1
- package/dist/storage/types.d.ts +2 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/sync.d.ts +2 -12
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +9 -38
- package/dist/sync.js.map +1 -1
- package/dist/tests/PeerKnownStates.test.js +1 -1
- package/dist/tests/PeerKnownStates.test.js.map +1 -1
- package/dist/tests/PeerState.test.js +19 -0
- package/dist/tests/PeerState.test.js.map +1 -1
- package/dist/tests/PureJSCrypto.test.js.map +1 -1
- package/dist/tests/StorageApiAsync.test.js +1 -1
- package/dist/tests/StorageApiAsync.test.js.map +1 -1
- package/dist/tests/StorageApiSync.test.js +1 -2
- package/dist/tests/StorageApiSync.test.js.map +1 -1
- package/dist/tests/StoreQueue.test.js.map +1 -1
- package/dist/tests/SyncStateManager.test.js +1 -1
- package/dist/tests/SyncStateManager.test.js.map +1 -1
- package/dist/tests/branching.test.js +237 -28
- package/dist/tests/branching.test.js.map +1 -1
- package/dist/tests/coValueContentMessage.test.js +1 -1
- package/dist/tests/coValueContentMessage.test.js.map +1 -1
- package/dist/tests/coValueCore.loadFromStorage.test.d.ts +2 -0
- package/dist/tests/coValueCore.loadFromStorage.test.d.ts.map +1 -0
- package/dist/tests/coValueCore.loadFromStorage.test.js +395 -0
- package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -0
- package/dist/tests/coValueCore.loadingState.test.d.ts +2 -0
- package/dist/tests/coValueCore.loadingState.test.d.ts.map +1 -0
- package/dist/tests/{coValueCoreLoadingState.test.js → coValueCore.loadingState.test.js} +4 -12
- package/dist/tests/coValueCore.loadingState.test.js.map +1 -0
- package/dist/tests/coValueCore.test.js +30 -5
- package/dist/tests/coValueCore.test.js.map +1 -1
- package/dist/tests/knownState.test.d.ts +2 -0
- package/dist/tests/knownState.test.d.ts.map +1 -0
- package/dist/tests/knownState.test.js +510 -0
- package/dist/tests/knownState.test.js.map +1 -0
- package/dist/tests/messagesTestUtils.d.ts.map +1 -1
- package/dist/tests/messagesTestUtils.js.map +1 -1
- package/dist/tests/priority.test.js.map +1 -1
- package/dist/tests/sync.mesh.test.js +4 -34
- package/dist/tests/sync.mesh.test.js.map +1 -1
- package/dist/tests/sync.storage.test.js.map +1 -1
- package/dist/tests/sync.upload.test.js.map +1 -1
- package/dist/tests/testUtils.d.ts +7 -1
- package/dist/tests/testUtils.d.ts.map +1 -1
- package/dist/tests/testUtils.js +12 -0
- package/dist/tests/testUtils.js.map +1 -1
- package/package.json +3 -3
- package/src/PeerKnownStates.ts +36 -22
- package/src/PeerState.ts +2 -1
- package/src/SyncStateManager.ts +4 -17
- package/src/coValueContentMessage.ts +2 -1
- package/src/coValueCore/SessionMap.ts +66 -11
- package/src/coValueCore/branching.ts +37 -13
- package/src/coValueCore/coValueCore.ts +224 -177
- package/src/coValueCore/decryptTransactionChangesAndMeta.ts +56 -0
- package/src/coValueCore/verifiedState.ts +32 -64
- package/src/coValues/coMap.ts +1 -5
- package/src/coValues/coStream.ts +1 -5
- package/src/exports.ts +2 -2
- package/src/knownState.ts +118 -12
- package/src/localNode.ts +1 -1
- package/src/permissions.ts +21 -22
- package/src/storage/knownState.ts +9 -3
- package/src/storage/storageAsync.ts +15 -7
- package/src/storage/storageSync.ts +16 -8
- package/src/storage/types.ts +2 -1
- package/src/sync.ts +14 -60
- package/src/tests/PeerKnownStates.test.ts +1 -1
- package/src/tests/PeerState.test.ts +29 -3
- package/src/tests/PureJSCrypto.test.ts +0 -1
- package/src/tests/StorageApiAsync.test.ts +3 -6
- package/src/tests/StorageApiSync.test.ts +2 -6
- package/src/tests/StoreQueue.test.ts +3 -2
- package/src/tests/SyncStateManager.test.ts +1 -1
- package/src/tests/branching.test.ts +392 -45
- package/src/tests/coValueContentMessage.test.ts +2 -2
- package/src/tests/coValueCore.loadFromStorage.test.ts +540 -0
- package/src/tests/{coValueCoreLoadingState.test.ts → coValueCore.loadingState.test.ts} +3 -16
- package/src/tests/coValueCore.test.ts +40 -5
- package/src/tests/knownState.test.ts +665 -0
- package/src/tests/messagesTestUtils.ts +2 -1
- package/src/tests/priority.test.ts +0 -2
- package/src/tests/sync.mesh.test.ts +11 -38
- package/src/tests/sync.storage.test.ts +0 -1
- package/src/tests/sync.upload.test.ts +0 -1
- package/src/tests/testUtils.ts +22 -2
- package/dist/coValueCore/decodeTransactionChangesAndMeta.d.ts +0 -3
- package/dist/coValueCore/decodeTransactionChangesAndMeta.d.ts.map +0 -1
- package/dist/coValueCore/decodeTransactionChangesAndMeta.js +0 -59
- package/dist/coValueCore/decodeTransactionChangesAndMeta.js.map +0 -1
- package/dist/tests/coValueCoreLoadingState.test.d.ts +0 -2
- package/dist/tests/coValueCoreLoadingState.test.d.ts.map +0 -1
- package/dist/tests/coValueCoreLoadingState.test.js.map +0 -1
- package/src/coValueCore/decodeTransactionChangesAndMeta.ts +0 -81
|
@@ -276,44 +276,17 @@ describe("multiple clients syncing with the a cloud-like server mesh", () => {
|
|
|
276
276
|
expect(coValue.get("fromClient")).toEqual("updated");
|
|
277
277
|
});
|
|
278
278
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
).
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
"edge-italy -> core | CONTENT Map header: true new: After: 0 New: 1",
|
|
291
|
-
"edge-italy -> client | CONTENT Group header: true new: After: 0 New: 5",
|
|
292
|
-
"edge-italy -> client | CONTENT Map header: true new: After: 0 New: 1",
|
|
293
|
-
"core -> edge-italy | KNOWN Group sessions: header/5",
|
|
294
|
-
"core -> storage | CONTENT Group header: true new: After: 0 New: 5",
|
|
295
|
-
"core -> edge-italy | KNOWN Map sessions: header/1",
|
|
296
|
-
"core -> storage | CONTENT Map header: true new: After: 0 New: 1",
|
|
297
|
-
"client -> edge-italy | KNOWN Group sessions: header/5",
|
|
298
|
-
"client -> edge-italy | KNOWN Map sessions: header/1",
|
|
299
|
-
"client -> edge-italy | CONTENT Map header: false new: After: 0 New: 1",
|
|
300
|
-
"core -> storage | CONTENT Map header: false new: After: 0 New: 1",
|
|
301
|
-
"core -> edge-italy | CONTENT Map header: false new: After: 0 New: 1",
|
|
302
|
-
"edge-italy -> client | KNOWN CORRECTION Map sessions: empty",
|
|
303
|
-
"edge-italy -> core | KNOWN CORRECTION Map sessions: empty",
|
|
304
|
-
"client -> edge-italy | CONTENT Map header: true new: After: 0 New: 1 | After: 0 New: 1",
|
|
305
|
-
"core -> edge-italy | CONTENT Map header: true new: After: 0 New: 1 | After: 0 New: 1",
|
|
306
|
-
"edge-italy -> client | KNOWN Map sessions: header/2",
|
|
307
|
-
"edge-italy -> storage | CONTENT Map header: true new: After: 0 New: 1 | After: 0 New: 1",
|
|
308
|
-
"edge-italy -> core | CONTENT Map header: false new: After: 0 New: 1",
|
|
309
|
-
"edge-italy -> core | KNOWN Map sessions: header/3",
|
|
310
|
-
"edge-italy -> storage | CONTENT Map header: true new: After: 0 New: 1",
|
|
311
|
-
"edge-italy -> client | CONTENT Map header: false new: After: 0 New: 1",
|
|
312
|
-
"core -> edge-italy | KNOWN Map sessions: header/3",
|
|
313
|
-
"core -> storage | CONTENT Map header: false new: After: 0 New: 1",
|
|
314
|
-
"client -> edge-italy | KNOWN Map sessions: header/3",
|
|
315
|
-
]
|
|
316
|
-
`);
|
|
279
|
+
const syncLog = SyncMessagesLog.getMessages({
|
|
280
|
+
Group: group.core,
|
|
281
|
+
Map: map.core,
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
expect(syncLog).toContain(
|
|
285
|
+
"edge-italy -> client | KNOWN CORRECTION Map sessions: empty",
|
|
286
|
+
);
|
|
287
|
+
expect(syncLog).toContain(
|
|
288
|
+
"edge-italy -> core | KNOWN CORRECTION Map sessions: empty",
|
|
289
|
+
);
|
|
317
290
|
});
|
|
318
291
|
|
|
319
292
|
test("sync of changes of a coValue with bad signatures should be blocked", async () => {
|
|
@@ -20,7 +20,6 @@ import {
|
|
|
20
20
|
waitFor,
|
|
21
21
|
} from "./testUtils";
|
|
22
22
|
import { stableStringify } from "../jsonStringify";
|
|
23
|
-
import { determineValidTransactions } from "../permissions";
|
|
24
23
|
|
|
25
24
|
// We want to simulate a real world communication that happens asynchronously
|
|
26
25
|
TEST_NODE_CONFIG.withAsyncPeers = true;
|
package/src/tests/testUtils.ts
CHANGED
|
@@ -10,14 +10,14 @@ import { ControlledAccount, ControlledAgent } from "../coValues/account.js";
|
|
|
10
10
|
import { WasmCrypto } from "../crypto/WasmCrypto.js";
|
|
11
11
|
import {
|
|
12
12
|
type AgentSecret,
|
|
13
|
+
AnyRawCoValue,
|
|
13
14
|
type CoID,
|
|
14
15
|
type CoValueCore,
|
|
15
|
-
CryptoProvider,
|
|
16
16
|
type RawAccount,
|
|
17
17
|
type RawCoValue,
|
|
18
18
|
StorageAPI,
|
|
19
19
|
} from "../exports.js";
|
|
20
|
-
import type {
|
|
20
|
+
import type { SessionID } from "../ids.js";
|
|
21
21
|
import { LocalNode } from "../localNode.js";
|
|
22
22
|
import { connectedPeers } from "../streamUtils.js";
|
|
23
23
|
import type { Peer, SyncMessage } from "../sync.js";
|
|
@@ -25,6 +25,8 @@ import { expectGroup } from "../typeUtils/expectGroup.js";
|
|
|
25
25
|
import { toSimplifiedMessages } from "./messagesTestUtils.js";
|
|
26
26
|
import { createAsyncStorage, createSyncStorage } from "./testStorage.js";
|
|
27
27
|
import { PureJSCrypto } from "../crypto/PureJSCrypto.js";
|
|
28
|
+
import { CoValueHeader } from "../coValueCore/verifiedState.js";
|
|
29
|
+
import { idforHeader } from "../coValueCore/coValueCore.js";
|
|
28
30
|
|
|
29
31
|
let Crypto = await WasmCrypto.create();
|
|
30
32
|
|
|
@@ -723,3 +725,21 @@ export function createAccountInNode(node: LocalNode) {
|
|
|
723
725
|
accountOnTempNode.core.node.agentSecret,
|
|
724
726
|
);
|
|
725
727
|
}
|
|
728
|
+
|
|
729
|
+
export function createUnloadedCoValue(
|
|
730
|
+
node: LocalNode,
|
|
731
|
+
type: AnyRawCoValue["type"] = "comap",
|
|
732
|
+
) {
|
|
733
|
+
const header = {
|
|
734
|
+
type,
|
|
735
|
+
ruleset: { type: "ownedByGroup", group: node.getCurrentAccountOrAgentID() },
|
|
736
|
+
meta: null,
|
|
737
|
+
...node.crypto.createdNowUnique(),
|
|
738
|
+
} as CoValueHeader;
|
|
739
|
+
|
|
740
|
+
const id = idforHeader(header, node.crypto);
|
|
741
|
+
|
|
742
|
+
const state = node.getCoValue(id);
|
|
743
|
+
|
|
744
|
+
return { coValue: state, id, header };
|
|
745
|
+
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { AvailableCoValueCore, VerifiedTransaction } from "./coValueCore.js";
|
|
2
|
-
export declare function decodeTransactionChangesAndMeta(coValue: AvailableCoValueCore, transaction: VerifiedTransaction, ignorePrivateTransactions: boolean): void;
|
|
3
|
-
//# sourceMappingURL=decodeTransactionChangesAndMeta.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decodeTransactionChangesAndMeta.d.ts","sourceRoot":"","sources":["../../src/coValueCore/decodeTransactionChangesAndMeta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG7E,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,mBAAmB,EAChC,yBAAyB,EAAE,OAAO,QA0EnC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { safeParseJSON } from "../jsonStringify.js";
|
|
2
|
-
export function decodeTransactionChangesAndMeta(coValue, transaction, ignorePrivateTransactions) {
|
|
3
|
-
if (!transaction.isValid) {
|
|
4
|
-
return;
|
|
5
|
-
}
|
|
6
|
-
if (transaction.tx.privacy === "private" && ignorePrivateTransactions) {
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
const needsChagesParsing = !transaction.hasInvalidChanges && !transaction.changes;
|
|
10
|
-
const needsMetaParsing = !transaction.hasInvalidMeta && !transaction.meta && transaction.tx.meta;
|
|
11
|
-
if (!needsChagesParsing && !needsMetaParsing) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (transaction.tx.privacy === "private") {
|
|
15
|
-
const readKey = coValue.getReadKey(transaction.tx.keyUsed);
|
|
16
|
-
if (!readKey) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
if (needsChagesParsing) {
|
|
20
|
-
const changes = coValue.verified.decryptTransaction(transaction.txID.sessionID, transaction.txID.txIndex, readKey);
|
|
21
|
-
if (!changes) {
|
|
22
|
-
transaction.hasInvalidChanges = true;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
transaction.changes = changes;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
if (needsMetaParsing) {
|
|
29
|
-
const meta = coValue.verified.decryptTransactionMeta(transaction.txID.sessionID, transaction.txID.txIndex, readKey);
|
|
30
|
-
if (!meta) {
|
|
31
|
-
transaction.hasInvalidMeta = true;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
transaction.meta = meta;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
if (needsChagesParsing) {
|
|
40
|
-
const changes = safeParseJSON(transaction.tx.changes);
|
|
41
|
-
if (!changes) {
|
|
42
|
-
transaction.hasInvalidChanges = true;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
transaction.changes = changes;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (needsMetaParsing && transaction.tx.meta) {
|
|
49
|
-
const meta = safeParseJSON(transaction.tx.meta);
|
|
50
|
-
if (!meta) {
|
|
51
|
-
transaction.hasInvalidMeta = true;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
transaction.meta = meta;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=decodeTransactionChangesAndMeta.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decodeTransactionChangesAndMeta.js","sourceRoot":"","sources":["../../src/coValueCore/decodeTransactionChangesAndMeta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAC7C,OAA6B,EAC7B,WAAgC,EAChC,yBAAkC;IAElC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,yBAAyB,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GACtB,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IACzD,MAAM,gBAAgB,GACpB,CAAC,WAAW,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC;IAE1E,IAAI,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,WAAW,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CACjD,WAAW,CAAC,IAAI,CAAC,SAAS,EAC1B,WAAW,CAAC,IAAI,CAAC,OAAO,EACxB,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAClD,WAAW,CAAC,IAAI,CAAC,SAAS,EAC1B,WAAW,CAAC,IAAI,CAAC,OAAO,EACxB,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,IAAI,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coValueCoreLoadingState.test.d.ts","sourceRoot":"","sources":["../../src/tests/coValueCoreLoadingState.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coValueCoreLoadingState.test.js","sourceRoot":"","sources":["../../src/tests/coValueCoreLoadingState.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { AvailableCoValueCore, VerifiedTransaction } from "./coValueCore.js";
|
|
2
|
-
import { safeParseJSON } from "../jsonStringify.js";
|
|
3
|
-
|
|
4
|
-
export function decodeTransactionChangesAndMeta(
|
|
5
|
-
coValue: AvailableCoValueCore,
|
|
6
|
-
transaction: VerifiedTransaction,
|
|
7
|
-
ignorePrivateTransactions: boolean,
|
|
8
|
-
) {
|
|
9
|
-
if (!transaction.isValid) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
if (transaction.tx.privacy === "private" && ignorePrivateTransactions) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const needsChagesParsing =
|
|
18
|
-
!transaction.hasInvalidChanges && !transaction.changes;
|
|
19
|
-
const needsMetaParsing =
|
|
20
|
-
!transaction.hasInvalidMeta && !transaction.meta && transaction.tx.meta;
|
|
21
|
-
|
|
22
|
-
if (!needsChagesParsing && !needsMetaParsing) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (transaction.tx.privacy === "private") {
|
|
27
|
-
const readKey = coValue.getReadKey(transaction.tx.keyUsed);
|
|
28
|
-
|
|
29
|
-
if (!readKey) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (needsChagesParsing) {
|
|
34
|
-
const changes = coValue.verified.decryptTransaction(
|
|
35
|
-
transaction.txID.sessionID,
|
|
36
|
-
transaction.txID.txIndex,
|
|
37
|
-
readKey,
|
|
38
|
-
);
|
|
39
|
-
|
|
40
|
-
if (!changes) {
|
|
41
|
-
transaction.hasInvalidChanges = true;
|
|
42
|
-
} else {
|
|
43
|
-
transaction.changes = changes;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
if (needsMetaParsing) {
|
|
48
|
-
const meta = coValue.verified.decryptTransactionMeta(
|
|
49
|
-
transaction.txID.sessionID,
|
|
50
|
-
transaction.txID.txIndex,
|
|
51
|
-
readKey,
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
if (!meta) {
|
|
55
|
-
transaction.hasInvalidMeta = true;
|
|
56
|
-
} else {
|
|
57
|
-
transaction.meta = meta;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
} else {
|
|
61
|
-
if (needsChagesParsing) {
|
|
62
|
-
const changes = safeParseJSON(transaction.tx.changes);
|
|
63
|
-
|
|
64
|
-
if (!changes) {
|
|
65
|
-
transaction.hasInvalidChanges = true;
|
|
66
|
-
} else {
|
|
67
|
-
transaction.changes = changes;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (needsMetaParsing && transaction.tx.meta) {
|
|
72
|
-
const meta = safeParseJSON(transaction.tx.meta);
|
|
73
|
-
|
|
74
|
-
if (!meta) {
|
|
75
|
-
transaction.hasInvalidMeta = true;
|
|
76
|
-
} else {
|
|
77
|
-
transaction.meta = meta;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|