@optimystic/db-core 0.14.1 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/blocks/block-store.d.ts +18 -1
- package/dist/src/blocks/block-store.d.ts.map +1 -1
- package/dist/src/blocks/helpers.d.ts +2 -2
- package/dist/src/blocks/helpers.d.ts.map +1 -1
- package/dist/src/blocks/helpers.js +2 -2
- package/dist/src/blocks/helpers.js.map +1 -1
- package/dist/src/btree/btree.d.ts +27 -6
- package/dist/src/btree/btree.d.ts.map +1 -1
- package/dist/src/btree/btree.js +104 -61
- package/dist/src/btree/btree.js.map +1 -1
- package/dist/src/chain/chain.d.ts.map +1 -1
- package/dist/src/chain/chain.js +11 -1
- package/dist/src/chain/chain.js.map +1 -1
- package/dist/src/cluster/index.d.ts +1 -0
- package/dist/src/cluster/index.d.ts.map +1 -1
- package/dist/src/cluster/index.js +1 -0
- package/dist/src/cluster/index.js.map +1 -1
- package/dist/src/cluster/membership.d.ts +49 -0
- package/dist/src/cluster/membership.d.ts.map +1 -0
- package/dist/src/cluster/membership.js +75 -0
- package/dist/src/cluster/membership.js.map +1 -0
- package/dist/src/cluster/structs.d.ts +50 -1
- package/dist/src/cluster/structs.d.ts.map +1 -1
- package/dist/src/cluster/structs.js +9 -1
- package/dist/src/cluster/structs.js.map +1 -1
- package/dist/src/cohort-topic/addressing.d.ts +8 -2
- package/dist/src/cohort-topic/addressing.d.ts.map +1 -1
- package/dist/src/cohort-topic/addressing.js +11 -3
- package/dist/src/cohort-topic/addressing.js.map +1 -1
- package/dist/src/cohort-topic/antidos/bootstrap-evidence.d.ts +13 -7
- package/dist/src/cohort-topic/antidos/bootstrap-evidence.d.ts.map +1 -1
- package/dist/src/cohort-topic/antidos/bootstrap-evidence.js +17 -6
- package/dist/src/cohort-topic/antidos/bootstrap-evidence.js.map +1 -1
- package/dist/src/cohort-topic/antidos/replay-guard.d.ts +17 -0
- package/dist/src/cohort-topic/antidos/replay-guard.d.ts.map +1 -1
- package/dist/src/cohort-topic/antidos/replay-guard.js +33 -0
- package/dist/src/cohort-topic/antidos/replay-guard.js.map +1 -1
- package/dist/src/cohort-topic/antidos/topic-budget.d.ts +7 -0
- package/dist/src/cohort-topic/antidos/topic-budget.d.ts.map +1 -1
- package/dist/src/cohort-topic/antidos/topic-budget.js +8 -2
- package/dist/src/cohort-topic/antidos/topic-budget.js.map +1 -1
- package/dist/src/cohort-topic/coldstart.d.ts +34 -14
- package/dist/src/cohort-topic/coldstart.d.ts.map +1 -1
- package/dist/src/cohort-topic/coldstart.js +25 -11
- package/dist/src/cohort-topic/coldstart.js.map +1 -1
- package/dist/src/cohort-topic/gossip/bus.d.ts +12 -1
- package/dist/src/cohort-topic/gossip/bus.d.ts.map +1 -1
- package/dist/src/cohort-topic/gossip/bus.js +27 -1
- package/dist/src/cohort-topic/gossip/bus.js.map +1 -1
- package/dist/src/cohort-topic/gossip/view.d.ts +8 -0
- package/dist/src/cohort-topic/gossip/view.d.ts.map +1 -1
- package/dist/src/cohort-topic/gossip/view.js +17 -1
- package/dist/src/cohort-topic/gossip/view.js.map +1 -1
- package/dist/src/cohort-topic/member-engine.d.ts +10 -3
- package/dist/src/cohort-topic/member-engine.d.ts.map +1 -1
- package/dist/src/cohort-topic/member-engine.js +29 -14
- package/dist/src/cohort-topic/member-engine.js.map +1 -1
- package/dist/src/cohort-topic/membership/publisher.d.ts +14 -7
- package/dist/src/cohort-topic/membership/publisher.d.ts.map +1 -1
- package/dist/src/cohort-topic/membership/publisher.js +15 -27
- package/dist/src/cohort-topic/membership/publisher.js.map +1 -1
- package/dist/src/cohort-topic/membership/verifier.d.ts +35 -0
- package/dist/src/cohort-topic/membership/verifier.d.ts.map +1 -1
- package/dist/src/cohort-topic/membership/verifier.js +88 -3
- package/dist/src/cohort-topic/membership/verifier.js.map +1 -1
- package/dist/src/cohort-topic/promotion.d.ts +7 -0
- package/dist/src/cohort-topic/promotion.d.ts.map +1 -1
- package/dist/src/cohort-topic/promotion.js +16 -2
- package/dist/src/cohort-topic/promotion.js.map +1 -1
- package/dist/src/cohort-topic/registration/renewal.d.ts +18 -0
- package/dist/src/cohort-topic/registration/renewal.d.ts.map +1 -1
- package/dist/src/cohort-topic/registration/renewal.js +54 -0
- package/dist/src/cohort-topic/registration/renewal.js.map +1 -1
- package/dist/src/cohort-topic/registration/types.d.ts +12 -0
- package/dist/src/cohort-topic/registration/types.d.ts.map +1 -1
- package/dist/src/cohort-topic/registration/types.js +14 -0
- package/dist/src/cohort-topic/registration/types.js.map +1 -1
- package/dist/src/cohort-topic/service.d.ts +4 -3
- package/dist/src/cohort-topic/service.d.ts.map +1 -1
- package/dist/src/cohort-topic/service.js +38 -12
- package/dist/src/cohort-topic/service.js.map +1 -1
- package/dist/src/cohort-topic/sig/payloads.d.ts +23 -7
- package/dist/src/cohort-topic/sig/payloads.d.ts.map +1 -1
- package/dist/src/cohort-topic/sig/payloads.js +22 -6
- package/dist/src/cohort-topic/sig/payloads.js.map +1 -1
- package/dist/src/cohort-topic/traffic.d.ts +6 -0
- package/dist/src/cohort-topic/traffic.d.ts.map +1 -1
- package/dist/src/cohort-topic/traffic.js +16 -1
- package/dist/src/cohort-topic/traffic.js.map +1 -1
- package/dist/src/cohort-topic/walk.d.ts +22 -7
- package/dist/src/cohort-topic/walk.d.ts.map +1 -1
- package/dist/src/cohort-topic/walk.js +78 -18
- package/dist/src/cohort-topic/walk.js.map +1 -1
- package/dist/src/cohort-topic/wire/codec.d.ts +3 -1
- package/dist/src/cohort-topic/wire/codec.d.ts.map +1 -1
- package/dist/src/cohort-topic/wire/codec.js +7 -1
- package/dist/src/cohort-topic/wire/codec.js.map +1 -1
- package/dist/src/cohort-topic/wire/index.d.ts +1 -1
- package/dist/src/cohort-topic/wire/index.d.ts.map +1 -1
- package/dist/src/cohort-topic/wire/index.js +1 -1
- package/dist/src/cohort-topic/wire/index.js.map +1 -1
- package/dist/src/cohort-topic/wire/payloads.d.ts +5 -4
- package/dist/src/cohort-topic/wire/payloads.d.ts.map +1 -1
- package/dist/src/cohort-topic/wire/payloads.js +14 -5
- package/dist/src/cohort-topic/wire/payloads.js.map +1 -1
- package/dist/src/cohort-topic/wire/primitives.d.ts +65 -0
- package/dist/src/cohort-topic/wire/primitives.d.ts.map +1 -0
- package/dist/src/cohort-topic/wire/primitives.js +173 -0
- package/dist/src/cohort-topic/wire/primitives.js.map +1 -0
- package/dist/src/cohort-topic/wire/types.d.ts +132 -5
- package/dist/src/cohort-topic/wire/types.d.ts.map +1 -1
- package/dist/src/cohort-topic/wire/validate.d.ts +15 -5
- package/dist/src/cohort-topic/wire/validate.d.ts.map +1 -1
- package/dist/src/cohort-topic/wire/validate.js +146 -123
- package/dist/src/cohort-topic/wire/validate.js.map +1 -1
- package/dist/src/collection/collection.d.ts +23 -12
- package/dist/src/collection/collection.d.ts.map +1 -1
- package/dist/src/collection/collection.js +111 -35
- package/dist/src/collection/collection.js.map +1 -1
- package/dist/src/collection/struct.d.ts +37 -2
- package/dist/src/collection/struct.d.ts.map +1 -1
- package/dist/src/collection/struct.js +16 -1
- package/dist/src/collection/struct.js.map +1 -1
- package/dist/src/collections/tree/tree.d.ts +18 -1
- package/dist/src/collections/tree/tree.d.ts.map +1 -1
- package/dist/src/collections/tree/tree.js +36 -6
- package/dist/src/collections/tree/tree.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/log/log.d.ts +26 -3
- package/dist/src/log/log.d.ts.map +1 -1
- package/dist/src/log/log.js +34 -7
- package/dist/src/log/log.js.map +1 -1
- package/dist/src/log/struct.d.ts +5 -4
- package/dist/src/log/struct.d.ts.map +1 -1
- package/dist/src/log/struct.js.map +1 -1
- package/dist/src/matchmaking/wire.d.ts +2 -1
- package/dist/src/matchmaking/wire.d.ts.map +1 -1
- package/dist/src/matchmaking/wire.js +13 -92
- package/dist/src/matchmaking/wire.js.map +1 -1
- package/dist/src/network/i-key-network.d.ts +9 -0
- package/dist/src/network/i-key-network.d.ts.map +1 -1
- package/dist/src/network/i-repo.d.ts +8 -0
- package/dist/src/network/i-repo.d.ts.map +1 -1
- package/dist/src/network/struct.d.ts +10 -0
- package/dist/src/network/struct.d.ts.map +1 -1
- package/dist/src/reactivity/push-state.d.ts.map +1 -1
- package/dist/src/reactivity/push-state.js +4 -33
- package/dist/src/reactivity/push-state.js.map +1 -1
- package/dist/src/reactivity/wire-validate.d.ts +7 -22
- package/dist/src/reactivity/wire-validate.d.ts.map +1 -1
- package/dist/src/reactivity/wire-validate.js +7 -73
- package/dist/src/reactivity/wire-validate.js.map +1 -1
- package/dist/src/reactivity/wire.js +3 -3
- package/dist/src/reactivity/wire.js.map +1 -1
- package/dist/src/testing/async-wait.d.ts +23 -0
- package/dist/src/testing/async-wait.d.ts.map +1 -0
- package/dist/src/testing/async-wait.js +42 -0
- package/dist/src/testing/async-wait.js.map +1 -0
- package/dist/src/testing/index.d.ts +3 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +3 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/test-transactor.d.ts +44 -0
- package/dist/src/testing/test-transactor.d.ts.map +1 -0
- package/dist/src/testing/test-transactor.js +423 -0
- package/dist/src/testing/test-transactor.js.map +1 -0
- package/dist/src/transaction/actions-engine.d.ts +6 -3
- package/dist/src/transaction/actions-engine.d.ts.map +1 -1
- package/dist/src/transaction/actions-engine.js +8 -7
- package/dist/src/transaction/actions-engine.js.map +1 -1
- package/dist/src/transaction/coordinator.d.ts +43 -22
- package/dist/src/transaction/coordinator.d.ts.map +1 -1
- package/dist/src/transaction/coordinator.js +443 -178
- package/dist/src/transaction/coordinator.js.map +1 -1
- package/dist/src/transaction/errors.d.ts +82 -0
- package/dist/src/transaction/errors.d.ts.map +1 -0
- package/dist/src/transaction/errors.js +93 -0
- package/dist/src/transaction/errors.js.map +1 -0
- package/dist/src/transaction/index.d.ts +6 -3
- package/dist/src/transaction/index.d.ts.map +1 -1
- package/dist/src/transaction/index.js +4 -2
- package/dist/src/transaction/index.js.map +1 -1
- package/dist/src/transaction/operations-hash.d.ts +119 -0
- package/dist/src/transaction/operations-hash.d.ts.map +1 -0
- package/dist/src/transaction/operations-hash.js +180 -0
- package/dist/src/transaction/operations-hash.js.map +1 -0
- package/dist/src/transaction/read-dependency-collector.d.ts +43 -0
- package/dist/src/transaction/read-dependency-collector.d.ts.map +1 -0
- package/dist/src/transaction/read-dependency-collector.js +69 -0
- package/dist/src/transaction/read-dependency-collector.js.map +1 -0
- package/dist/src/transaction/session.d.ts +12 -3
- package/dist/src/transaction/session.d.ts.map +1 -1
- package/dist/src/transaction/session.js +35 -9
- package/dist/src/transaction/session.js.map +1 -1
- package/dist/src/transaction/transaction.d.ts +162 -1
- package/dist/src/transaction/transaction.d.ts.map +1 -1
- package/dist/src/transaction/transaction.js +85 -3
- package/dist/src/transaction/transaction.js.map +1 -1
- package/dist/src/transaction/validator.d.ts +3 -11
- package/dist/src/transaction/validator.d.ts.map +1 -1
- package/dist/src/transaction/validator.js +69 -28
- package/dist/src/transaction/validator.js.map +1 -1
- package/dist/src/transactor/network-transactor.d.ts +35 -0
- package/dist/src/transactor/network-transactor.d.ts.map +1 -1
- package/dist/src/transactor/network-transactor.js +146 -40
- package/dist/src/transactor/network-transactor.js.map +1 -1
- package/dist/src/transactor/transactor-source.d.ts +19 -5
- package/dist/src/transactor/transactor-source.d.ts.map +1 -1
- package/dist/src/transactor/transactor-source.js +43 -11
- package/dist/src/transactor/transactor-source.js.map +1 -1
- package/dist/src/transform/atomic-proxy.d.ts +35 -5
- package/dist/src/transform/atomic-proxy.d.ts.map +1 -1
- package/dist/src/transform/atomic-proxy.js +39 -7
- package/dist/src/transform/atomic-proxy.js.map +1 -1
- package/dist/src/transform/cache-source.d.ts +36 -5
- package/dist/src/transform/cache-source.d.ts.map +1 -1
- package/dist/src/transform/cache-source.js +84 -8
- package/dist/src/transform/cache-source.js.map +1 -1
- package/dist/src/transform/helpers.d.ts.map +1 -1
- package/dist/src/transform/helpers.js +8 -2
- package/dist/src/transform/helpers.js.map +1 -1
- package/dist/src/transform/tracker.d.ts +17 -2
- package/dist/src/transform/tracker.d.ts.map +1 -1
- package/dist/src/transform/tracker.js +66 -11
- package/dist/src/transform/tracker.js.map +1 -1
- package/dist/src/utility/backoff.d.ts +48 -0
- package/dist/src/utility/backoff.d.ts.map +1 -0
- package/dist/src/utility/backoff.js +60 -0
- package/dist/src/utility/backoff.js.map +1 -0
- package/dist/src/utility/pending.d.ts +1 -0
- package/dist/src/utility/pending.d.ts.map +1 -1
- package/dist/src/utility/pending.js +3 -1
- package/dist/src/utility/pending.js.map +1 -1
- package/package.json +4 -4
- package/src/blocks/block-store.ts +19 -1
- package/src/blocks/helpers.ts +3 -3
- package/src/btree/btree.ts +108 -63
- package/src/chain/chain.ts +11 -1
- package/src/cluster/index.ts +1 -0
- package/src/cluster/membership.ts +85 -0
- package/src/cluster/structs.ts +51 -1
- package/src/cohort-topic/addressing.ts +12 -4
- package/src/cohort-topic/antidos/bootstrap-evidence.ts +21 -9
- package/src/cohort-topic/antidos/replay-guard.ts +37 -0
- package/src/cohort-topic/antidos/topic-budget.ts +17 -2
- package/src/cohort-topic/coldstart.ts +48 -15
- package/src/cohort-topic/gossip/bus.ts +39 -2
- package/src/cohort-topic/gossip/view.ts +26 -1
- package/src/cohort-topic/member-engine.ts +36 -15
- package/src/cohort-topic/membership/publisher.ts +25 -33
- package/src/cohort-topic/membership/verifier.ts +119 -3
- package/src/cohort-topic/promotion.ts +23 -2
- package/src/cohort-topic/registration/renewal.ts +73 -1
- package/src/cohort-topic/registration/types.ts +15 -0
- package/src/cohort-topic/service.ts +41 -15
- package/src/cohort-topic/sig/payloads.ts +29 -9
- package/src/cohort-topic/traffic.ts +23 -1
- package/src/cohort-topic/walk.ts +95 -24
- package/src/cohort-topic/wire/codec.ts +12 -0
- package/src/cohort-topic/wire/index.ts +2 -0
- package/src/cohort-topic/wire/payloads.ts +14 -5
- package/src/cohort-topic/wire/primitives.ts +188 -0
- package/src/cohort-topic/wire/types.ts +136 -4
- package/src/cohort-topic/wire/validate.ts +168 -134
- package/src/collection/collection.ts +123 -40
- package/src/collection/struct.ts +44 -2
- package/src/collections/tree/tree.ts +42 -5
- package/src/index.ts +1 -0
- package/src/log/log.ts +37 -9
- package/src/log/struct.ts +5 -4
- package/src/matchmaking/wire.ts +25 -102
- package/src/network/i-key-network.ts +10 -0
- package/src/network/i-repo.ts +8 -0
- package/src/network/struct.ts +10 -0
- package/src/reactivity/push-state.ts +4 -37
- package/src/reactivity/wire-validate.ts +7 -81
- package/src/reactivity/wire.ts +3 -3
- package/src/testing/async-wait.ts +65 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/test-transactor.ts +468 -0
- package/src/transaction/actions-engine.ts +8 -6
- package/src/transaction/coordinator.ts +498 -229
- package/src/transaction/errors.ts +91 -0
- package/src/transaction/index.ts +23 -3
- package/src/transaction/operations-hash.ts +196 -0
- package/src/transaction/read-dependency-collector.ts +78 -0
- package/src/transaction/session.ts +37 -9
- package/src/transaction/transaction.ts +211 -4
- package/src/transaction/validator.ts +73 -48
- package/src/transactor/network-transactor.ts +164 -49
- package/src/transactor/transactor-source.ts +47 -12
- package/src/transform/atomic-proxy.ts +92 -49
- package/src/transform/cache-source.ts +87 -9
- package/src/transform/helpers.ts +8 -2
- package/src/transform/tracker.ts +69 -11
- package/src/utility/backoff.ts +95 -0
- package/src/utility/pending.ts +3 -1
- package/src/transaction/context.ts +0 -103
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/transaction/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/transaction/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { CollectionId } from "../collection/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Thrown by {@link TransactionCoordinator.commit} when a multi-collection commit
|
|
4
|
+
* fails AFTER at least one collection has already DURABLY committed through the
|
|
5
|
+
* distributed consensus path (GATHER/PEND/COMMIT).
|
|
6
|
+
*
|
|
7
|
+
* ## Why this exists (and why we can't just "roll back")
|
|
8
|
+
*
|
|
9
|
+
* The COMMIT phase commits each collection's pended blocks independently (see
|
|
10
|
+
* `commitPhase`). A per-collection commit can *permanently* fail — e.g. a racing
|
|
11
|
+
* transaction advanced that collection's log tail between PEND and COMMIT (a stale
|
|
12
|
+
* loss) — while the other collections commit successfully. Those durable commits
|
|
13
|
+
* are per-collection and there is no cross-collection undo, so a failure on one
|
|
14
|
+
* collection cannot un-commit the ones that already landed.
|
|
15
|
+
*
|
|
16
|
+
* Uniformly restoring every collection's pre-commit local state (as a clean
|
|
17
|
+
* rollback would) is exactly wrong here: for a collection that DID durably commit
|
|
18
|
+
* it would re-stage its already-durable actions as still-pending, making local
|
|
19
|
+
* tracker memory disagree with cluster storage. Instead the coordinator gives the
|
|
20
|
+
* committed collections the success-path local treatment (fold to cache + reset)
|
|
21
|
+
* and only reverts the failed/never-committed collections, then surfaces THIS error
|
|
22
|
+
* naming both sets so the caller knows reconciliation is required and does NOT
|
|
23
|
+
* falsely report a clean rollback.
|
|
24
|
+
*
|
|
25
|
+
* This is the session-mode / distributed-consensus analog of the plugin's legacy
|
|
26
|
+
* `PartialCommitError` (single-node, per-tree `sync()`).
|
|
27
|
+
*
|
|
28
|
+
* ## The design decision is settled (not "still open")
|
|
29
|
+
*
|
|
30
|
+
* The default multi-collection guarantee is formally **atomicity of intent + eventual,
|
|
31
|
+
* reported visibility**, NOT all-or-nothing — see `docs/correctness.md` **Theorem 3** and
|
|
32
|
+
* `docs/transactions.md` (§ "Session-mode (distributed) commit is not atomic across
|
|
33
|
+
* collections"). This error IS that guarantee's reporting surface, not a placeholder for a
|
|
34
|
+
* stronger one. Genuine cross-collection all-or-nothing is a future opt-in strong mode
|
|
35
|
+
* (backlog `feat-cross-collection-atomic-commit`).
|
|
36
|
+
*
|
|
37
|
+
* ## Reconcile contract for the catcher
|
|
38
|
+
*
|
|
39
|
+
* A caller receiving this error MUST NOT blindly retry the whole transaction and MUST NOT
|
|
40
|
+
* treat it as a clean abort: `committedCollections` are durable and cannot be rolled back,
|
|
41
|
+
* so a whole-transaction retry would double-apply them. Reconcile the named committed set
|
|
42
|
+
* against `failedCollections` (re-drive only the failed collections, or repair the split).
|
|
43
|
+
*/
|
|
44
|
+
export declare class CoordinatorPartialCommitError extends Error {
|
|
45
|
+
/** Collections durably committed via consensus before the failure (NOT rolled back). */
|
|
46
|
+
readonly committedCollections: readonly CollectionId[];
|
|
47
|
+
/** Collections that never committed this attempt (local state reverted for retry). */
|
|
48
|
+
readonly failedCollections: readonly CollectionId[];
|
|
49
|
+
/** The underlying commit-phase failure that aborted the commit. */
|
|
50
|
+
readonly reason?: unknown | undefined;
|
|
51
|
+
constructor(
|
|
52
|
+
/** Collections durably committed via consensus before the failure (NOT rolled back). */
|
|
53
|
+
committedCollections: readonly CollectionId[],
|
|
54
|
+
/** Collections that never committed this attempt (local state reverted for retry). */
|
|
55
|
+
failedCollections: readonly CollectionId[],
|
|
56
|
+
/** The underlying commit-phase failure that aborted the commit. */
|
|
57
|
+
reason?: unknown | undefined);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Thrown by {@link TransactionCoordinator.commit} when a multi-collection commit failed as a
|
|
61
|
+
* CLEAN stale loss — an optimistic-concurrency conflict (a racing transaction advanced a log tail)
|
|
62
|
+
* in which NOTHING durably committed, so every participating collection's local tracker was
|
|
63
|
+
* restored to its pre-append state and the transaction is safe to re-drive.
|
|
64
|
+
*
|
|
65
|
+
* This is the retryable counterpart to {@link CoordinatorPartialCommitError}: a partial landing
|
|
66
|
+
* cannot be blindly retried (it would double-apply the durable half), but a clean loss can. The
|
|
67
|
+
* coordinator's built-in backoff+jitter retry catches this internally and re-drives after re-reading
|
|
68
|
+
* fresh revisions; it only escapes to the caller once the retry budget (`maxAttempts` / `deadlineMs`)
|
|
69
|
+
* is exhausted, at which point it signals "gave up after a clean loss" rather than a partial split.
|
|
70
|
+
*/
|
|
71
|
+
export declare class CoordinatorStaleLossError extends Error {
|
|
72
|
+
/** Collections that lost the race this attempt (all had their local state reverted for retry). */
|
|
73
|
+
readonly failedCollections: readonly CollectionId[];
|
|
74
|
+
/** The underlying stale/conflict reason surfaced by the failed pend/commit phase. */
|
|
75
|
+
readonly reason?: string | undefined;
|
|
76
|
+
constructor(
|
|
77
|
+
/** Collections that lost the race this attempt (all had their local state reverted for retry). */
|
|
78
|
+
failedCollections: readonly CollectionId[],
|
|
79
|
+
/** The underlying stale/conflict reason surfaced by the failed pend/commit phase. */
|
|
80
|
+
reason?: string | undefined);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/transaction/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IAEtD,wFAAwF;aACxE,oBAAoB,EAAE,SAAS,YAAY,EAAE;IAC7D,sFAAsF;aACtE,iBAAiB,EAAE,SAAS,YAAY,EAAE;IAC1D,mEAAmE;aACnD,MAAM,CAAC,EAAE,OAAO;;IALhC,wFAAwF;IACxE,oBAAoB,EAAE,SAAS,YAAY,EAAE;IAC7D,sFAAsF;IACtE,iBAAiB,EAAE,SAAS,YAAY,EAAE;IAC1D,mEAAmE;IACnD,MAAM,CAAC,EAAE,OAAO,YAAA;CAYjC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAElD,kGAAkG;aAClF,iBAAiB,EAAE,SAAS,YAAY,EAAE;IAC1D,qFAAqF;aACrE,MAAM,CAAC,EAAE,MAAM;;IAH/B,kGAAkG;IAClF,iBAAiB,EAAE,SAAS,YAAY,EAAE;IAC1D,qFAAqF;IACrE,MAAM,CAAC,EAAE,MAAM,YAAA;CAQhC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by {@link TransactionCoordinator.commit} when a multi-collection commit
|
|
3
|
+
* fails AFTER at least one collection has already DURABLY committed through the
|
|
4
|
+
* distributed consensus path (GATHER/PEND/COMMIT).
|
|
5
|
+
*
|
|
6
|
+
* ## Why this exists (and why we can't just "roll back")
|
|
7
|
+
*
|
|
8
|
+
* The COMMIT phase commits each collection's pended blocks independently (see
|
|
9
|
+
* `commitPhase`). A per-collection commit can *permanently* fail — e.g. a racing
|
|
10
|
+
* transaction advanced that collection's log tail between PEND and COMMIT (a stale
|
|
11
|
+
* loss) — while the other collections commit successfully. Those durable commits
|
|
12
|
+
* are per-collection and there is no cross-collection undo, so a failure on one
|
|
13
|
+
* collection cannot un-commit the ones that already landed.
|
|
14
|
+
*
|
|
15
|
+
* Uniformly restoring every collection's pre-commit local state (as a clean
|
|
16
|
+
* rollback would) is exactly wrong here: for a collection that DID durably commit
|
|
17
|
+
* it would re-stage its already-durable actions as still-pending, making local
|
|
18
|
+
* tracker memory disagree with cluster storage. Instead the coordinator gives the
|
|
19
|
+
* committed collections the success-path local treatment (fold to cache + reset)
|
|
20
|
+
* and only reverts the failed/never-committed collections, then surfaces THIS error
|
|
21
|
+
* naming both sets so the caller knows reconciliation is required and does NOT
|
|
22
|
+
* falsely report a clean rollback.
|
|
23
|
+
*
|
|
24
|
+
* This is the session-mode / distributed-consensus analog of the plugin's legacy
|
|
25
|
+
* `PartialCommitError` (single-node, per-tree `sync()`).
|
|
26
|
+
*
|
|
27
|
+
* ## The design decision is settled (not "still open")
|
|
28
|
+
*
|
|
29
|
+
* The default multi-collection guarantee is formally **atomicity of intent + eventual,
|
|
30
|
+
* reported visibility**, NOT all-or-nothing — see `docs/correctness.md` **Theorem 3** and
|
|
31
|
+
* `docs/transactions.md` (§ "Session-mode (distributed) commit is not atomic across
|
|
32
|
+
* collections"). This error IS that guarantee's reporting surface, not a placeholder for a
|
|
33
|
+
* stronger one. Genuine cross-collection all-or-nothing is a future opt-in strong mode
|
|
34
|
+
* (backlog `feat-cross-collection-atomic-commit`).
|
|
35
|
+
*
|
|
36
|
+
* ## Reconcile contract for the catcher
|
|
37
|
+
*
|
|
38
|
+
* A caller receiving this error MUST NOT blindly retry the whole transaction and MUST NOT
|
|
39
|
+
* treat it as a clean abort: `committedCollections` are durable and cannot be rolled back,
|
|
40
|
+
* so a whole-transaction retry would double-apply them. Reconcile the named committed set
|
|
41
|
+
* against `failedCollections` (re-drive only the failed collections, or repair the split).
|
|
42
|
+
*/
|
|
43
|
+
export class CoordinatorPartialCommitError extends Error {
|
|
44
|
+
committedCollections;
|
|
45
|
+
failedCollections;
|
|
46
|
+
reason;
|
|
47
|
+
constructor(
|
|
48
|
+
/** Collections durably committed via consensus before the failure (NOT rolled back). */
|
|
49
|
+
committedCollections,
|
|
50
|
+
/** Collections that never committed this attempt (local state reverted for retry). */
|
|
51
|
+
failedCollections,
|
|
52
|
+
/** The underlying commit-phase failure that aborted the commit. */
|
|
53
|
+
reason) {
|
|
54
|
+
super(`Multi-collection commit was not atomic: ${committedCollections.length} collection(s) ` +
|
|
55
|
+
`durably committed via distributed consensus before the commit failed and CANNOT be ` +
|
|
56
|
+
`rolled back — reconciliation is required. ` +
|
|
57
|
+
`Committed (durable, now out of sync with the failed collections): [${committedCollections.join(', ')}]. ` +
|
|
58
|
+
`Failed (never committed; local state reverted for retry): [${failedCollections.join(', ')}]. ` +
|
|
59
|
+
`Underlying failure: ${reason instanceof Error ? reason.message : String(reason)}`);
|
|
60
|
+
this.committedCollections = committedCollections;
|
|
61
|
+
this.failedCollections = failedCollections;
|
|
62
|
+
this.reason = reason;
|
|
63
|
+
this.name = 'CoordinatorPartialCommitError';
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Thrown by {@link TransactionCoordinator.commit} when a multi-collection commit failed as a
|
|
68
|
+
* CLEAN stale loss — an optimistic-concurrency conflict (a racing transaction advanced a log tail)
|
|
69
|
+
* in which NOTHING durably committed, so every participating collection's local tracker was
|
|
70
|
+
* restored to its pre-append state and the transaction is safe to re-drive.
|
|
71
|
+
*
|
|
72
|
+
* This is the retryable counterpart to {@link CoordinatorPartialCommitError}: a partial landing
|
|
73
|
+
* cannot be blindly retried (it would double-apply the durable half), but a clean loss can. The
|
|
74
|
+
* coordinator's built-in backoff+jitter retry catches this internally and re-drives after re-reading
|
|
75
|
+
* fresh revisions; it only escapes to the caller once the retry budget (`maxAttempts` / `deadlineMs`)
|
|
76
|
+
* is exhausted, at which point it signals "gave up after a clean loss" rather than a partial split.
|
|
77
|
+
*/
|
|
78
|
+
export class CoordinatorStaleLossError extends Error {
|
|
79
|
+
failedCollections;
|
|
80
|
+
reason;
|
|
81
|
+
constructor(
|
|
82
|
+
/** Collections that lost the race this attempt (all had their local state reverted for retry). */
|
|
83
|
+
failedCollections,
|
|
84
|
+
/** The underlying stale/conflict reason surfaced by the failed pend/commit phase. */
|
|
85
|
+
reason) {
|
|
86
|
+
super(`Multi-collection commit failed on a clean stale loss (no collection durably committed) ` +
|
|
87
|
+
`for [${failedCollections.join(', ')}]` + (reason ? ` — ${reason}` : ''));
|
|
88
|
+
this.failedCollections = failedCollections;
|
|
89
|
+
this.reason = reason;
|
|
90
|
+
this.name = 'CoordinatorStaleLossError';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/transaction/errors.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAGtC;IAEA;IAEA;IANjB;IACC,wFAAwF;IACxE,oBAA6C;IAC7D,sFAAsF;IACtE,iBAA0C;IAC1D,mEAAmE;IACnD,MAAgB;QAEhC,KAAK,CACJ,2CAA2C,oBAAoB,CAAC,MAAM,iBAAiB;YACvF,qFAAqF;YACrF,4CAA4C;YAC5C,sEAAsE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAC1G,8DAA8D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAC/F,uBAAuB,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAClF,CAAC;QAbc,yBAAoB,GAApB,oBAAoB,CAAyB;QAE7C,sBAAiB,GAAjB,iBAAiB,CAAyB;QAE1C,WAAM,GAAN,MAAM,CAAU;QAUhC,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC7C,CAAC;CACD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAGlC;IAEA;IAJjB;IACC,kGAAkG;IAClF,iBAA0C;IAC1D,qFAAqF;IACrE,MAAe;QAE/B,KAAK,CACJ,yFAAyF;YACzF,QAAQ,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxE,CAAC;QAPc,sBAAiB,GAAjB,iBAAiB,CAAyB;QAE1C,WAAM,GAAN,MAAM,CAAS;QAM/B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IACzC,CAAC;CACD"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
export type { Transaction, TransactionStamp, ReadDependency, TransactionRef, ITransactionEngine, ExecutionResult, CollectionActions, ValidationResult, ITransactionValidator, ActionsStatement } from './transaction.js';
|
|
2
|
-
export { createTransactionStamp, createTransactionId, createActionsStatements, DEFAULT_TRANSACTION_TTL_MS, isTransactionExpired } from './transaction.js';
|
|
1
|
+
export type { Transaction, TransactionStamp, StampFields, ReadDependency, TransactionRef, ITransactionEngine, ExecutionResult, CollectionActions, ValidationResult, ITransactionValidator, ActionsStatement, TransactionSigner, ClientSignatureVerifier } from './transaction.js';
|
|
2
|
+
export { createTransactionStamp, computeStampId, createTransactionId, createActionsStatements, DEFAULT_TRANSACTION_TTL_MS, isTransactionExpired, clientSignaturePayload, CLIENT_SIG_VERSION, MaxPriority, clampPriority } from './transaction.js';
|
|
3
3
|
export { ActionsEngine, ACTIONS_ENGINE_ID, } from './actions-engine.js';
|
|
4
|
+
export { ReadDependencyCollector } from './read-dependency-collector.js';
|
|
4
5
|
export { TransactionCoordinator } from './coordinator.js';
|
|
5
|
-
export {
|
|
6
|
+
export { CoordinatorPartialCommitError, CoordinatorStaleLossError } from './errors.js';
|
|
6
7
|
export { TransactionSession } from './session.js';
|
|
7
8
|
export { TransactionValidator } from './validator.js';
|
|
8
9
|
export type { EngineRegistration, ValidationCoordinatorFactory, BlockStateProvider } from './validator.js';
|
|
10
|
+
export { collectOperations, hashOperations, canonicalStringify, canonicalOperationsPayload, opsHashVersion, OPS_HASH_VERSION, OPS_HASH_PREFIX, } from './operations-hash.js';
|
|
11
|
+
export type { Operation } from './operations-hash.js';
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,aAAa,EACb,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,aAAa,EACb,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE3G,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,eAAe,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export { createTransactionStamp, createTransactionId, createActionsStatements, DEFAULT_TRANSACTION_TTL_MS, isTransactionExpired } from './transaction.js';
|
|
1
|
+
export { createTransactionStamp, computeStampId, createTransactionId, createActionsStatements, DEFAULT_TRANSACTION_TTL_MS, isTransactionExpired, clientSignaturePayload, CLIENT_SIG_VERSION, MaxPriority, clampPriority } from './transaction.js';
|
|
2
2
|
export { ActionsEngine, ACTIONS_ENGINE_ID, } from './actions-engine.js';
|
|
3
|
+
export { ReadDependencyCollector } from './read-dependency-collector.js';
|
|
3
4
|
export { TransactionCoordinator } from './coordinator.js';
|
|
4
|
-
export {
|
|
5
|
+
export { CoordinatorPartialCommitError, CoordinatorStaleLossError } from './errors.js';
|
|
5
6
|
export { TransactionSession } from './session.js';
|
|
6
7
|
export { TransactionValidator } from './validator.js';
|
|
8
|
+
export { collectOperations, hashOperations, canonicalStringify, canonicalOperationsPayload, opsHashVersion, OPS_HASH_VERSION, OPS_HASH_PREFIX, } from './operations-hash.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EACN,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACN,aAAa,EACb,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EAChB,eAAe,GACf,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { BlockId, IBlock, BlockOperations } from '../blocks/structs.js';
|
|
2
|
+
import type { CollectionId } from '../collection/struct.js';
|
|
3
|
+
import type { Transforms } from '../transform/struct.js';
|
|
4
|
+
/**
|
|
5
|
+
* Represents an operation on a block within a collection.
|
|
6
|
+
*
|
|
7
|
+
* This is the SINGLE source of truth for the operation shape used by the
|
|
8
|
+
* transaction "operations hash" — the fingerprint a coordinator sends and a
|
|
9
|
+
* validator recomputes. Both {@link TransactionCoordinator} and
|
|
10
|
+
* {@link TransactionValidator} import this type; it must never be duplicated,
|
|
11
|
+
* because the two sides disagreeing is exactly the bug this module prevents.
|
|
12
|
+
*/
|
|
13
|
+
export type Operation = {
|
|
14
|
+
readonly type: 'insert';
|
|
15
|
+
readonly collectionId: CollectionId;
|
|
16
|
+
readonly blockId: BlockId;
|
|
17
|
+
readonly block: IBlock;
|
|
18
|
+
} | {
|
|
19
|
+
readonly type: 'update';
|
|
20
|
+
readonly collectionId: CollectionId;
|
|
21
|
+
readonly blockId: BlockId;
|
|
22
|
+
readonly operations: BlockOperations;
|
|
23
|
+
} | {
|
|
24
|
+
readonly type: 'delete';
|
|
25
|
+
readonly collectionId: CollectionId;
|
|
26
|
+
readonly blockId: BlockId;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Collect every block operation across all collections into a flat list.
|
|
30
|
+
*
|
|
31
|
+
* The returned order reflects Map/object insertion order and is therefore NOT
|
|
32
|
+
* canonical — {@link hashOperations} sorts before hashing, so callers do not need
|
|
33
|
+
* to pre-sort. Shared by the coordinator (both commit() and execute()) and the
|
|
34
|
+
* validator so all three collect sites produce the identical logical set.
|
|
35
|
+
*/
|
|
36
|
+
export declare function collectOperations(transforms: Map<CollectionId, Transforms>): Operation[];
|
|
37
|
+
/**
|
|
38
|
+
* Canonical JSON encoder: recursively sorts object keys but PRESERVES array element
|
|
39
|
+
* order, and matches JSON.stringify leaf semantics.
|
|
40
|
+
*
|
|
41
|
+
* - Object keys are emitted in ascending (sorted) order, so two objects with the
|
|
42
|
+
* same content but different key-insertion order encode identically.
|
|
43
|
+
* - Array element order is preserved because BlockOperations is an ordered list of
|
|
44
|
+
* [entity, index, deleteCount, inserted] tuples whose order is semantically
|
|
45
|
+
* meaningful (as are any data arrays nested inside an IBlock).
|
|
46
|
+
* - Leaf semantics mirror JSON.stringify: `undefined`/function/symbol object-values
|
|
47
|
+
* are dropped, the same in arrays encode as `null`, `null` encodes as `null`,
|
|
48
|
+
* non-finite numbers as `null`, and other primitives via JSON.stringify.
|
|
49
|
+
*
|
|
50
|
+
* Exported so the order-independence test can exercise it directly.
|
|
51
|
+
*
|
|
52
|
+
* NOTE: no toJSON/Date special-casing — a value carrying toJSON (e.g. a Date)
|
|
53
|
+
* encodes as its plain enumerable keys ({} for a Date), not JSON.stringify's
|
|
54
|
+
* toJSON string. Harmless today (blocks hold plain JSON) and still deterministic
|
|
55
|
+
* across nodes (both sides run this same encoder); if IBlock content ever grows
|
|
56
|
+
* toJSON-bearing values and matching JSON.stringify exactly matters, add the hook.
|
|
57
|
+
*/
|
|
58
|
+
export declare function canonicalStringify(value: unknown): string;
|
|
59
|
+
/**
|
|
60
|
+
* Current operations-hash FORMAT VERSION. Versions the *serialization* of operations
|
|
61
|
+
* into bytes (the sort key, {@link canonicalStringify} rules, and the SHA-256/base64url
|
|
62
|
+
* step) — distinct from `engineId` in the TransactionStamp, which versions the operation
|
|
63
|
+
* *content* an engine produces from the same statements. Two honest nodes must agree on
|
|
64
|
+
* BOTH dimensions to produce the same ops-hash.
|
|
65
|
+
*
|
|
66
|
+
* Bump this whenever a change to the canonical serialization alters the emitted bytes,
|
|
67
|
+
* so a peer running the old format is *detected* (a legible version-skew error) rather
|
|
68
|
+
* than mistaken for a content disagreement or a Byzantine lie. See docs/transactions.md
|
|
69
|
+
* ("Operations Hash — Canonical Serialization").
|
|
70
|
+
*/
|
|
71
|
+
export declare const OPS_HASH_VERSION = "v1";
|
|
72
|
+
/**
|
|
73
|
+
* Wire-token prefix carrying {@link OPS_HASH_VERSION}: `ops.v1:`. The `.` delimiter is
|
|
74
|
+
* outside the base64url alphabet (A–Z a–z 0–9 `-` `_`) that follows the trailing `:`, so
|
|
75
|
+
* the version segment can always be sliced back out unambiguously — see {@link opsHashVersion}.
|
|
76
|
+
*/
|
|
77
|
+
export declare const OPS_HASH_PREFIX = "ops.v1:";
|
|
78
|
+
/**
|
|
79
|
+
* Extract the format-version segment from an ops-hash token — the `v1` in `ops.v1:<hash>` —
|
|
80
|
+
* or `null` if the string is not a recognizable versioned ops-hash token.
|
|
81
|
+
*
|
|
82
|
+
* Total: never throws. A bare legacy `ops:<hash>` token (no `.` delimiter), an empty
|
|
83
|
+
* string, or any garbage all return `null`. A validator treats a `null` (or a version it
|
|
84
|
+
* does not recognize) as an unsupported/foreign format — a legible version-skew error —
|
|
85
|
+
* never as an accidental content match.
|
|
86
|
+
*/
|
|
87
|
+
export declare function opsHashVersion(token: string): string | null;
|
|
88
|
+
/**
|
|
89
|
+
* The EXACT canonical byte-string {@link hashOperations} feeds into SHA-256: the operations
|
|
90
|
+
* sorted by {@link compareOperations} and run through {@link canonicalStringify}. The version
|
|
91
|
+
* token is NOT part of this preimage — it wraps the resulting hash, it is not hashed.
|
|
92
|
+
*
|
|
93
|
+
* Exposed so a future client signature (design-client-transaction-signatures) can bind the
|
|
94
|
+
* IDENTICAL bytes the validators hash, rather than re-deriving the serialization and risking
|
|
95
|
+
* drift. Pair it with {@link OPS_HASH_VERSION} to record which format the bytes belong to.
|
|
96
|
+
*/
|
|
97
|
+
export declare function canonicalOperationsPayload(operations: readonly Operation[]): string;
|
|
98
|
+
/**
|
|
99
|
+
* Compute the transaction operations hash: sort into canonical order, canonically
|
|
100
|
+
* stringify, SHA-256 (base64url) via {@link hashString}, then prefix the versioned
|
|
101
|
+
* {@link OPS_HASH_PREFIX} token (`ops.v1:`) so the wire string is self-describing.
|
|
102
|
+
*
|
|
103
|
+
* This is the fingerprint the coordinator sends in PendRequest.operationsHash and
|
|
104
|
+
* the validator recomputes; equality of this string is the cross-node agreement
|
|
105
|
+
* that a transaction's operations match.
|
|
106
|
+
*
|
|
107
|
+
* NOTE: the ops-hash carries a format-version token, so a mixed-version cluster now
|
|
108
|
+
* *detects* skew — a validator seeing a foreign/legacy version emits a distinct
|
|
109
|
+
* "unsupported operations-hash format version" error instead of the ambiguous
|
|
110
|
+
* "Operations hash mismatch" (see TransactionValidator). What it does NOT do is
|
|
111
|
+
* *cross-compute* older formats: a node only recognizes that a peer speaks a different
|
|
112
|
+
* version, it cannot reproduce that peer's historical bytes. Mixed-version clusters
|
|
113
|
+
* therefore fail LEGIBLY, not interoperably; multi-version compatibility is future
|
|
114
|
+
* work if rolling upgrades ship. The ops-hash is recomputed fresh on both sides and
|
|
115
|
+
* never persisted, so bumping the version cannot retroactively invalidate committed
|
|
116
|
+
* transactions (unlike transaction.id, which IS persisted — leave it untouched).
|
|
117
|
+
*/
|
|
118
|
+
export declare function hashOperations(operations: readonly Operation[]): Promise<string>;
|
|
119
|
+
//# sourceMappingURL=operations-hash.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations-hash.d.ts","sourceRoot":"","sources":["../../../src/transaction/operations-hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnH;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;CAAE,GACjI;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAgB/F;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,SAAS,EAAE,CAcxF;AAeD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA6BzD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAA6B,CAAC;AAE1D;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAEnF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtF"}
|