@optimystic/db-p2p 0.13.5 → 0.14.0
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/README.md +6 -6
- package/dist/src/cluster/block-transfer-service.d.ts +67 -8
- package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
- package/dist/src/cluster/block-transfer-service.js +101 -62
- package/dist/src/cluster/block-transfer-service.js.map +1 -1
- package/dist/src/cluster/client.d.ts +18 -1
- package/dist/src/cluster/client.d.ts.map +1 -1
- package/dist/src/cluster/client.js +55 -39
- package/dist/src/cluster/client.js.map +1 -1
- package/dist/src/cluster/cluster-error.d.ts +38 -0
- package/dist/src/cluster/cluster-error.d.ts.map +1 -0
- package/dist/src/cluster/cluster-error.js +51 -0
- package/dist/src/cluster/cluster-error.js.map +1 -0
- package/dist/src/cluster/cluster-repo.d.ts +135 -3
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +333 -58
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/cluster/commit-cert.d.ts +63 -0
- package/dist/src/cluster/commit-cert.d.ts.map +1 -0
- package/dist/src/cluster/commit-cert.js +108 -0
- package/dist/src/cluster/commit-cert.js.map +1 -0
- package/dist/src/cluster/service.d.ts +46 -11
- package/dist/src/cluster/service.d.ts.map +1 -1
- package/dist/src/cluster/service.js +97 -33
- package/dist/src/cluster/service.js.map +1 -1
- package/dist/src/cluster/spread-on-churn.d.ts +13 -0
- package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
- package/dist/src/cluster/spread-on-churn.js +34 -4
- package/dist/src/cluster/spread-on-churn.js.map +1 -1
- package/dist/src/cohort-topic/bootstrap-evidence-builder.d.ts +59 -0
- package/dist/src/cohort-topic/bootstrap-evidence-builder.d.ts.map +1 -0
- package/dist/src/cohort-topic/bootstrap-evidence-builder.js +79 -0
- package/dist/src/cohort-topic/bootstrap-evidence-builder.js.map +1 -0
- package/dist/src/cohort-topic/bootstrap-evidence-verifiers.d.ts +81 -0
- package/dist/src/cohort-topic/bootstrap-evidence-verifiers.d.ts.map +1 -0
- package/dist/src/cohort-topic/bootstrap-evidence-verifiers.js +93 -0
- package/dist/src/cohort-topic/bootstrap-evidence-verifiers.js.map +1 -0
- package/dist/src/cohort-topic/bootstrap-parent-reference.d.ts +108 -0
- package/dist/src/cohort-topic/bootstrap-parent-reference.d.ts.map +1 -0
- package/dist/src/cohort-topic/bootstrap-parent-reference.js +108 -0
- package/dist/src/cohort-topic/bootstrap-parent-reference.js.map +1 -0
- package/dist/src/cohort-topic/change-bridge.d.ts +65 -0
- package/dist/src/cohort-topic/change-bridge.d.ts.map +1 -0
- package/dist/src/cohort-topic/change-bridge.js +76 -0
- package/dist/src/cohort-topic/change-bridge.js.map +1 -0
- package/dist/src/cohort-topic/cohort-gossip-driver.d.ts +74 -0
- package/dist/src/cohort-topic/cohort-gossip-driver.d.ts.map +1 -0
- package/dist/src/cohort-topic/cohort-gossip-driver.js +87 -0
- package/dist/src/cohort-topic/cohort-gossip-driver.js.map +1 -0
- package/dist/src/cohort-topic/cohort-gossip-transport.d.ts +42 -0
- package/dist/src/cohort-topic/cohort-gossip-transport.d.ts.map +1 -0
- package/dist/src/cohort-topic/cohort-gossip-transport.js +57 -0
- package/dist/src/cohort-topic/cohort-gossip-transport.js.map +1 -0
- package/dist/src/cohort-topic/fret-trust-anchor.d.ts +100 -0
- package/dist/src/cohort-topic/fret-trust-anchor.d.ts.map +1 -0
- package/dist/src/cohort-topic/fret-trust-anchor.js +115 -0
- package/dist/src/cohort-topic/fret-trust-anchor.js.map +1 -0
- package/dist/src/cohort-topic/host.d.ts +573 -0
- package/dist/src/cohort-topic/host.d.ts.map +1 -0
- package/dist/src/cohort-topic/host.js +1460 -0
- package/dist/src/cohort-topic/host.js.map +1 -0
- package/dist/src/cohort-topic/index.d.ts +14 -0
- package/dist/src/cohort-topic/index.d.ts.map +1 -0
- package/dist/src/cohort-topic/index.js +14 -0
- package/dist/src/cohort-topic/index.js.map +1 -0
- package/dist/src/cohort-topic/membership-publish-sink.d.ts +14 -0
- package/dist/src/cohort-topic/membership-publish-sink.d.ts.map +1 -0
- package/dist/src/cohort-topic/membership-publish-sink.js +17 -0
- package/dist/src/cohort-topic/membership-publish-sink.js.map +1 -0
- package/dist/src/cohort-topic/membership-source.d.ts +36 -0
- package/dist/src/cohort-topic/membership-source.d.ts.map +1 -0
- package/dist/src/cohort-topic/membership-source.js +58 -0
- package/dist/src/cohort-topic/membership-source.js.map +1 -0
- package/dist/src/cohort-topic/peer-codec.d.ts +18 -0
- package/dist/src/cohort-topic/peer-codec.d.ts.map +1 -0
- package/dist/src/cohort-topic/peer-codec.js +26 -0
- package/dist/src/cohort-topic/peer-codec.js.map +1 -0
- package/dist/src/cohort-topic/peer-sig.d.ts +52 -0
- package/dist/src/cohort-topic/peer-sig.d.ts.map +1 -0
- package/dist/src/cohort-topic/peer-sig.js +83 -0
- package/dist/src/cohort-topic/peer-sig.js.map +1 -0
- package/dist/src/cohort-topic/protocols.d.ts +49 -0
- package/dist/src/cohort-topic/protocols.d.ts.map +1 -0
- package/dist/src/cohort-topic/protocols.js +58 -0
- package/dist/src/cohort-topic/protocols.js.map +1 -0
- package/dist/src/cohort-topic/reactivity-membership-gate.d.ts +49 -0
- package/dist/src/cohort-topic/reactivity-membership-gate.d.ts.map +1 -0
- package/dist/src/cohort-topic/reactivity-membership-gate.js +42 -0
- package/dist/src/cohort-topic/reactivity-membership-gate.js.map +1 -0
- package/dist/src/cohort-topic/size-estimator.d.ts +16 -0
- package/dist/src/cohort-topic/size-estimator.d.ts.map +1 -0
- package/dist/src/cohort-topic/size-estimator.js +16 -0
- package/dist/src/cohort-topic/size-estimator.js.map +1 -0
- package/dist/src/cohort-topic/stream-util.d.ts +19 -0
- package/dist/src/cohort-topic/stream-util.d.ts.map +1 -0
- package/dist/src/cohort-topic/stream-util.js +76 -0
- package/dist/src/cohort-topic/stream-util.js.map +1 -0
- package/dist/src/cohort-topic/threshold-crypto.d.ts +94 -0
- package/dist/src/cohort-topic/threshold-crypto.d.ts.map +1 -0
- package/dist/src/cohort-topic/threshold-crypto.js +178 -0
- package/dist/src/cohort-topic/threshold-crypto.js.map +1 -0
- package/dist/src/cohort-topic/topic-router.d.ts +41 -0
- package/dist/src/cohort-topic/topic-router.d.ts.map +1 -0
- package/dist/src/cohort-topic/topic-router.js +63 -0
- package/dist/src/cohort-topic/topic-router.js.map +1 -0
- package/dist/src/dispute/cascade.d.ts +179 -0
- package/dist/src/dispute/cascade.d.ts.map +1 -0
- package/dist/src/dispute/cascade.js +315 -0
- package/dist/src/dispute/cascade.js.map +1 -0
- package/dist/src/dispute/client.d.ts +2 -1
- package/dist/src/dispute/client.d.ts.map +1 -1
- package/dist/src/dispute/client.js +12 -3
- package/dist/src/dispute/client.js.map +1 -1
- package/dist/src/dispute/dispute-service.d.ts +41 -1
- package/dist/src/dispute/dispute-service.d.ts.map +1 -1
- package/dist/src/dispute/dispute-service.js +147 -21
- package/dist/src/dispute/dispute-service.js.map +1 -1
- package/dist/src/dispute/index.d.ts +2 -0
- package/dist/src/dispute/index.d.ts.map +1 -1
- package/dist/src/dispute/index.js +2 -0
- package/dist/src/dispute/index.js.map +1 -1
- package/dist/src/dispute/invalidation.d.ts +266 -0
- package/dist/src/dispute/invalidation.d.ts.map +1 -0
- package/dist/src/dispute/invalidation.js +405 -0
- package/dist/src/dispute/invalidation.js.map +1 -0
- package/dist/src/dispute/types.d.ts +14 -0
- package/dist/src/dispute/types.d.ts.map +1 -1
- package/dist/src/dispute/types.js.map +1 -1
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +7 -0
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +49 -5
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts +45 -3
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +522 -5
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/matchmaking/aggregate-counts.d.ts +67 -0
- package/dist/src/matchmaking/aggregate-counts.d.ts.map +1 -0
- package/dist/src/matchmaking/aggregate-counts.js +60 -0
- package/dist/src/matchmaking/aggregate-counts.js.map +1 -0
- package/dist/src/matchmaking/index.d.ts +20 -0
- package/dist/src/matchmaking/index.d.ts.map +1 -0
- package/dist/src/matchmaking/index.js +20 -0
- package/dist/src/matchmaking/index.js.map +1 -0
- package/dist/src/matchmaking/module.d.ts +181 -0
- package/dist/src/matchmaking/module.d.ts.map +1 -0
- package/dist/src/matchmaking/module.js +221 -0
- package/dist/src/matchmaking/module.js.map +1 -0
- package/dist/src/matchmaking/protocols.d.ts +37 -0
- package/dist/src/matchmaking/protocols.d.ts.map +1 -0
- package/dist/src/matchmaking/protocols.js +42 -0
- package/dist/src/matchmaking/protocols.js.map +1 -0
- package/dist/src/matchmaking/provider-manager.d.ts +52 -0
- package/dist/src/matchmaking/provider-manager.d.ts.map +1 -0
- package/dist/src/matchmaking/provider-manager.js +74 -0
- package/dist/src/matchmaking/provider-manager.js.map +1 -0
- package/dist/src/matchmaking/query-handler.d.ts +34 -0
- package/dist/src/matchmaking/query-handler.d.ts.map +1 -0
- package/dist/src/matchmaking/query-handler.js +62 -0
- package/dist/src/matchmaking/query-handler.js.map +1 -0
- package/dist/src/matchmaking/query-transport.d.ts +180 -0
- package/dist/src/matchmaking/query-transport.d.ts.map +1 -0
- package/dist/src/matchmaking/query-transport.js +315 -0
- package/dist/src/matchmaking/query-transport.js.map +1 -0
- package/dist/src/matchmaking/seeker-manager.d.ts +39 -0
- package/dist/src/matchmaking/seeker-manager.d.ts.map +1 -0
- package/dist/src/matchmaking/seeker-manager.js +49 -0
- package/dist/src/matchmaking/seeker-manager.js.map +1 -0
- package/dist/src/matchmaking/seeker-walk-client.d.ts +127 -0
- package/dist/src/matchmaking/seeker-walk-client.d.ts.map +1 -0
- package/dist/src/matchmaking/seeker-walk-client.js +189 -0
- package/dist/src/matchmaking/seeker-walk-client.js.map +1 -0
- package/dist/src/matchmaking/traffic-validation.d.ts +128 -0
- package/dist/src/matchmaking/traffic-validation.d.ts.map +1 -0
- package/dist/src/matchmaking/traffic-validation.js +105 -0
- package/dist/src/matchmaking/traffic-validation.js.map +1 -0
- package/dist/src/network/network-manager-service.d.ts +4 -2
- package/dist/src/network/network-manager-service.d.ts.map +1 -1
- package/dist/src/network/network-manager-service.js +9 -3
- package/dist/src/network/network-manager-service.js.map +1 -1
- package/dist/src/protocol-client.d.ts +13 -0
- package/dist/src/protocol-client.d.ts.map +1 -1
- package/dist/src/protocol-client.js +74 -2
- package/dist/src/protocol-client.js.map +1 -1
- package/dist/src/reactivity/forwarder-host.d.ts +198 -0
- package/dist/src/reactivity/forwarder-host.d.ts.map +1 -0
- package/dist/src/reactivity/forwarder-host.js +355 -0
- package/dist/src/reactivity/forwarder-host.js.map +1 -0
- package/dist/src/reactivity/index.d.ts +19 -0
- package/dist/src/reactivity/index.d.ts.map +1 -0
- package/dist/src/reactivity/index.js +19 -0
- package/dist/src/reactivity/index.js.map +1 -0
- package/dist/src/reactivity/notify-transport.d.ts +70 -0
- package/dist/src/reactivity/notify-transport.d.ts.map +1 -0
- package/dist/src/reactivity/notify-transport.js +111 -0
- package/dist/src/reactivity/notify-transport.js.map +1 -0
- package/dist/src/reactivity/origination-manager.d.ts +110 -0
- package/dist/src/reactivity/origination-manager.d.ts.map +1 -0
- package/dist/src/reactivity/origination-manager.js +129 -0
- package/dist/src/reactivity/origination-manager.js.map +1 -0
- package/dist/src/reactivity/protocols.d.ts +43 -0
- package/dist/src/reactivity/protocols.d.ts.map +1 -0
- package/dist/src/reactivity/protocols.js +50 -0
- package/dist/src/reactivity/protocols.js.map +1 -0
- package/dist/src/reactivity/push-state-gossip.d.ts +132 -0
- package/dist/src/reactivity/push-state-gossip.d.ts.map +1 -0
- package/dist/src/reactivity/push-state-gossip.js +231 -0
- package/dist/src/reactivity/push-state-gossip.js.map +1 -0
- package/dist/src/reactivity/recover-transport.d.ts +167 -0
- package/dist/src/reactivity/recover-transport.d.ts.map +1 -0
- package/dist/src/reactivity/recover-transport.js +308 -0
- package/dist/src/reactivity/recover-transport.js.map +1 -0
- package/dist/src/reactivity/rotation-rereg-scheduler.d.ts +142 -0
- package/dist/src/reactivity/rotation-rereg-scheduler.d.ts.map +1 -0
- package/dist/src/reactivity/rotation-rereg-scheduler.js +223 -0
- package/dist/src/reactivity/rotation-rereg-scheduler.js.map +1 -0
- package/dist/src/reactivity/subscriber-registry.d.ts +47 -0
- package/dist/src/reactivity/subscriber-registry.d.ts.map +1 -0
- package/dist/src/reactivity/subscriber-registry.js +87 -0
- package/dist/src/reactivity/subscriber-registry.js.map +1 -0
- package/dist/src/reactivity/subscription-manager.d.ts +221 -0
- package/dist/src/reactivity/subscription-manager.d.ts.map +1 -0
- package/dist/src/reactivity/subscription-manager.js +302 -0
- package/dist/src/reactivity/subscription-manager.js.map +1 -0
- package/dist/src/reactivity/topic-bytes.d.ts +32 -0
- package/dist/src/reactivity/topic-bytes.d.ts.map +1 -0
- package/dist/src/reactivity/topic-bytes.js +34 -0
- package/dist/src/reactivity/topic-bytes.js.map +1 -0
- package/dist/src/repo/client.d.ts.map +1 -1
- package/dist/src/repo/client.js +51 -23
- package/dist/src/repo/client.js.map +1 -1
- package/dist/src/repo/service.d.ts +46 -1
- package/dist/src/repo/service.d.ts.map +1 -1
- package/dist/src/repo/service.js +79 -45
- package/dist/src/repo/service.js.map +1 -1
- package/dist/src/rpc-deadline.d.ts +37 -0
- package/dist/src/rpc-deadline.d.ts.map +1 -0
- package/dist/src/rpc-deadline.js +31 -0
- package/dist/src/rpc-deadline.js.map +1 -0
- package/dist/src/storage/block-storage.d.ts +2 -0
- package/dist/src/storage/block-storage.d.ts.map +1 -1
- package/dist/src/storage/block-storage.js +95 -2
- package/dist/src/storage/block-storage.js.map +1 -1
- package/dist/src/storage/i-block-storage.d.ts +25 -0
- package/dist/src/storage/i-block-storage.d.ts.map +1 -1
- package/dist/src/storage/storage-repo.d.ts +53 -2
- package/dist/src/storage/storage-repo.d.ts.map +1 -1
- package/dist/src/storage/storage-repo.js +193 -9
- package/dist/src/storage/storage-repo.js.map +1 -1
- package/dist/src/sync/client.d.ts +4 -1
- package/dist/src/sync/client.d.ts.map +1 -1
- package/dist/src/sync/client.js +5 -2
- package/dist/src/sync/client.js.map +1 -1
- package/dist/src/testing/cohort-topic-mesh-harness.d.ts +219 -0
- package/dist/src/testing/cohort-topic-mesh-harness.d.ts.map +1 -0
- package/dist/src/testing/cohort-topic-mesh-harness.js +467 -0
- package/dist/src/testing/cohort-topic-mesh-harness.js.map +1 -0
- package/dist/src/testing/matchmaking-mesh-harness.d.ts +187 -0
- package/dist/src/testing/matchmaking-mesh-harness.d.ts.map +1 -0
- package/dist/src/testing/matchmaking-mesh-harness.js +358 -0
- package/dist/src/testing/matchmaking-mesh-harness.js.map +1 -0
- package/dist/src/testing/mesh-harness.d.ts.map +1 -1
- package/dist/src/testing/mesh-harness.js +23 -1
- package/dist/src/testing/mesh-harness.js.map +1 -1
- package/dist/src/testing/reactivity-mesh-harness.d.ts +298 -0
- package/dist/src/testing/reactivity-mesh-harness.d.ts.map +1 -0
- package/dist/src/testing/reactivity-mesh-harness.js +663 -0
- package/dist/src/testing/reactivity-mesh-harness.js.map +1 -0
- package/package.json +7 -4
- package/src/cluster/block-transfer-service.ts +133 -68
- package/src/cluster/client.ts +64 -45
- package/src/cluster/cluster-error.ts +64 -0
- package/src/cluster/cluster-repo.ts +405 -55
- package/src/cluster/commit-cert.ts +139 -0
- package/src/cluster/service.ts +116 -44
- package/src/cluster/spread-on-churn.ts +328 -285
- package/src/cohort-topic/bootstrap-evidence-builder.ts +122 -0
- package/src/cohort-topic/bootstrap-evidence-verifiers.ts +132 -0
- package/src/cohort-topic/bootstrap-parent-reference.ts +159 -0
- package/src/cohort-topic/change-bridge.ts +109 -0
- package/src/cohort-topic/cohort-gossip-driver.ts +144 -0
- package/src/cohort-topic/cohort-gossip-transport.ts +74 -0
- package/src/cohort-topic/fret-trust-anchor.ts +153 -0
- package/src/cohort-topic/host.ts +2175 -0
- package/src/cohort-topic/index.ts +13 -0
- package/src/cohort-topic/membership-publish-sink.ts +20 -0
- package/src/cohort-topic/membership-source.ts +68 -0
- package/src/cohort-topic/peer-codec.ts +31 -0
- package/src/cohort-topic/peer-sig.ts +86 -0
- package/src/cohort-topic/protocols.ts +71 -0
- package/src/cohort-topic/reactivity-membership-gate.ts +77 -0
- package/src/cohort-topic/size-estimator.ts +16 -0
- package/src/cohort-topic/stream-util.ts +87 -0
- package/src/cohort-topic/threshold-crypto.ts +239 -0
- package/src/cohort-topic/topic-router.ts +77 -0
- package/src/dispute/cascade.ts +517 -0
- package/src/dispute/client.ts +12 -2
- package/src/dispute/dispute-service.ts +171 -24
- package/src/dispute/index.ts +42 -0
- package/src/dispute/invalidation.ts +587 -0
- package/src/dispute/types.ts +14 -0
- package/src/index.ts +4 -0
- package/src/libp2p-key-network.ts +49 -6
- package/src/libp2p-node-base.ts +620 -12
- package/src/matchmaking/aggregate-counts.ts +104 -0
- package/src/matchmaking/index.ts +20 -0
- package/src/matchmaking/module.ts +363 -0
- package/src/matchmaking/protocols.ts +51 -0
- package/src/matchmaking/provider-manager.ts +95 -0
- package/src/matchmaking/query-handler.ts +88 -0
- package/src/matchmaking/query-transport.ts +483 -0
- package/src/matchmaking/seeker-manager.ts +64 -0
- package/src/matchmaking/seeker-walk-client.ts +293 -0
- package/src/matchmaking/traffic-validation.ts +195 -0
- package/src/network/network-manager-service.ts +9 -2
- package/src/protocol-client.ts +64 -3
- package/src/reactivity/forwarder-host.ts +438 -0
- package/src/reactivity/index.ts +19 -0
- package/src/reactivity/notify-transport.ts +144 -0
- package/src/reactivity/origination-manager.ts +192 -0
- package/src/reactivity/protocols.ts +61 -0
- package/src/reactivity/push-state-gossip.ts +291 -0
- package/src/reactivity/recover-transport.ts +408 -0
- package/src/reactivity/rotation-rereg-scheduler.ts +256 -0
- package/src/reactivity/subscriber-registry.ts +96 -0
- package/src/reactivity/subscription-manager.ts +450 -0
- package/src/reactivity/topic-bytes.ts +37 -0
- package/src/repo/client.ts +54 -23
- package/src/repo/service.ts +90 -42
- package/src/rpc-deadline.ts +45 -0
- package/src/storage/block-storage.ts +106 -3
- package/src/storage/i-block-storage.ts +27 -0
- package/src/storage/storage-repo.ts +209 -13
- package/src/sync/client.ts +5 -2
- package/src/testing/cohort-topic-mesh-harness.ts +613 -0
- package/src/testing/matchmaking-mesh-harness.ts +475 -0
- package/src/testing/mesh-harness.ts +22 -2
- package/src/testing/reactivity-mesh-harness.ts +922 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/dispute/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/dispute/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAA2B,MAAM,oBAAoB,CAAC;AAG/G;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,cAAc;IAC/B,QAAQ,CAAS;IAElC,YAAY,MAAc,EAAE,WAAyB,EAAE,cAAuB;QAC7E,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,cAAc,IAAI,SAAS,CAAC,GAAG,gBAAgB,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,WAAyB,EAAE,cAAuB;QAC/E,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,aAAa,CAAC,SAA2B,EAAE,SAAkB;QAClE,MAAM,OAAO,GAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACjE,gFAAgF;QAChF,0EAA0E;QAC1E,2EAA2E;QAC3E,6EAA6E;QAC7E,gFAAgF;QAChF,iFAAiF;QACjF,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,EAAE,MAAM,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAClD,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,8CAA8C;IAC9C,KAAK,CAAC,cAAc,CAAC,UAA6B,EAAE,OAA4B;QAC/E,MAAM,OAAO,GAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;QACnE,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,IAAI,CAAC,cAAc,CACxB,OAAO,EACP,IAAI,CAAC,QAAQ,EACb,uBAAuB,CAAC,OAAO,CAAC,CAChC,CAAC;IACH,CAAC;CACD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ClusterRecord, ITransactionValidator } from '@optimystic/db-core';
|
|
1
|
+
import type { ClusterRecord, ITransactionValidator, InvalidateRequest } from '@optimystic/db-core';
|
|
2
2
|
import type { PeerId, PrivateKey } from '@libp2p/interface';
|
|
3
3
|
import type { ValidationEvidence, DisputeChallenge, ArbitrationVote, DisputeResolution, DisputeConfig, DisputeStatus } from './types.js';
|
|
4
4
|
import { EngineHealthMonitor } from './engine-health-monitor.js';
|
|
@@ -20,6 +20,15 @@ export interface DisputeServiceInit {
|
|
|
20
20
|
config?: Partial<DisputeConfig>;
|
|
21
21
|
/** Select arbitrators for a dispute (next K peers beyond the original cluster) */
|
|
22
22
|
selectArbitrators: (blockId: string, excludePeers: string[], count: number) => Promise<PeerId[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Originates the durable reversal when a dispute resolves `challenger-wins`. The dissent
|
|
25
|
+
* coordinator (the node that initiated the dispute, holding the original record) builds the
|
|
26
|
+
* {@link InvalidateRequest} and hands it here to be driven through the critical cluster as a
|
|
27
|
+
* consensus-ordered invalidation; every member then applies it deterministically. Absent on
|
|
28
|
+
* nodes not wired to originate invalidations (today's default) — the in-memory status still flips,
|
|
29
|
+
* but nothing durable is written until this is supplied.
|
|
30
|
+
*/
|
|
31
|
+
onInvalidation?: (request: InvalidateRequest) => Promise<void> | void;
|
|
23
32
|
}
|
|
24
33
|
/**
|
|
25
34
|
* Manages the dispute escalation protocol.
|
|
@@ -37,6 +46,7 @@ export declare class DisputeService {
|
|
|
37
46
|
private readonly config;
|
|
38
47
|
private readonly engineHealth;
|
|
39
48
|
private readonly selectArbitrators;
|
|
49
|
+
private readonly onInvalidation?;
|
|
40
50
|
/** Active disputes initiated by this node */
|
|
41
51
|
private activeDisputes;
|
|
42
52
|
/** Resolved disputes (disputeId -> resolution) */
|
|
@@ -45,6 +55,8 @@ export declare class DisputeService {
|
|
|
45
55
|
private resolvedChallenges;
|
|
46
56
|
/** Track which transactions we've already disputed (prevent spam) */
|
|
47
57
|
private disputedTransactions;
|
|
58
|
+
/** Track which transactions we've already originated an invalidation for (fire once per messageHash) */
|
|
59
|
+
private invalidatedTransactions;
|
|
48
60
|
constructor(init: DisputeServiceInit);
|
|
49
61
|
/** Get the engine health monitor */
|
|
50
62
|
getEngineHealth(): EngineHealthMonitor;
|
|
@@ -62,6 +74,14 @@ export declare class DisputeService {
|
|
|
62
74
|
* Re-executes the transaction and returns a vote.
|
|
63
75
|
*/
|
|
64
76
|
handleChallenge(challenge: DisputeChallenge): Promise<ArbitrationVote>;
|
|
77
|
+
/**
|
|
78
|
+
* Derives the v2 target hash binding a vote to the disputed transaction: its `messageHash` plus the
|
|
79
|
+
* reversal target (the committed action being reversed and the blocks it wrote), extracted from the
|
|
80
|
+
* challenge's `originalRecord` exactly as {@link extractInvalidationTarget} does on the originate/apply
|
|
81
|
+
* side. A record with no extractable target yields an empty target — the resulting vote still verifies
|
|
82
|
+
* self-consistently but will not match a real reversal, which is correct (no real reversal exists).
|
|
83
|
+
*/
|
|
84
|
+
private computeChallengeTargetHash;
|
|
65
85
|
/**
|
|
66
86
|
* Handle an incoming dispute resolution (broadcast from the dispute initiator).
|
|
67
87
|
*/
|
|
@@ -72,11 +92,31 @@ export declare class DisputeService {
|
|
|
72
92
|
resolveDispute(challenge: DisputeChallenge, votes: ArbitrationVote[]): DisputeResolution;
|
|
73
93
|
/** Apply reputation effects based on dispute resolution */
|
|
74
94
|
private applyReputationEffects;
|
|
95
|
+
/**
|
|
96
|
+
* When a dispute resolves `challenger-wins`, originate the durable invalidation. Builds the
|
|
97
|
+
* independently-verifiable {@link buildDisputeResolutionProof proof} and the {@link InvalidateRequest}
|
|
98
|
+
* from the disputed transaction, then hands it to the injected `onInvalidation` originator (which
|
|
99
|
+
* drives it through the critical cluster). Fires at most once per disputed transaction. A no-op
|
|
100
|
+
* when no originator is wired (the in-memory status still flips via {@link getDisputeStatus}).
|
|
101
|
+
*/
|
|
102
|
+
private maybeInvalidate;
|
|
103
|
+
/**
|
|
104
|
+
* Derives the invalidation target — the committed action, its revision, the blocks it wrote, and
|
|
105
|
+
* its owning collection — from the disputed record. Prefers the commit operation (the disputed
|
|
106
|
+
* transaction is committed); falls back to the pend operation defensively.
|
|
107
|
+
*/
|
|
108
|
+
private static extractInvalidationTarget;
|
|
75
109
|
/** Broadcast resolution to all interested parties */
|
|
76
110
|
private broadcastResolution;
|
|
77
111
|
private makeVote;
|
|
78
112
|
private computeDisputeId;
|
|
79
113
|
private signDispute;
|
|
114
|
+
/**
|
|
115
|
+
* Sign the arbitrator-set binding `(disputeId, target, arbitratorSet)` with the challenger's key.
|
|
116
|
+
* Carried on the proof as {@link DisputeResolutionProof.arbitratorSetSignature}; a verifier validates
|
|
117
|
+
* it against this peer's embedded key (`challengerPeerId`), so a relay cannot substitute its own cohort.
|
|
118
|
+
*/
|
|
119
|
+
private signArbitratorSet;
|
|
80
120
|
private verifyDisputeSignature;
|
|
81
121
|
private findChallengeForDispute;
|
|
82
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispute-service.d.ts","sourceRoot":"","sources":["../../../src/dispute/dispute-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"dispute-service.d.ts","sourceRoot":"","sources":["../../../src/dispute/dispute-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { blockIdsForTransforms } from '@optimystic/db-core';
|
|
2
|
+
import { buildDisputeResolutionProof, computeTargetHash, computeArbitratorSetHash, voteSigningPayload, arbitratorSetSigningPayload, VOTE_VERSION } from './invalidation.js';
|
|
1
3
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
2
4
|
import { base58btc } from 'multiformats/bases/base58';
|
|
3
5
|
import { toString as uint8ArrayToString, fromString as uint8ArrayFromString } from 'uint8arrays';
|
|
@@ -23,6 +25,7 @@ export class DisputeService {
|
|
|
23
25
|
config;
|
|
24
26
|
engineHealth;
|
|
25
27
|
selectArbitrators;
|
|
28
|
+
onInvalidation;
|
|
26
29
|
/** Active disputes initiated by this node */
|
|
27
30
|
activeDisputes = new Map();
|
|
28
31
|
/** Resolved disputes (disputeId -> resolution) */
|
|
@@ -31,6 +34,8 @@ export class DisputeService {
|
|
|
31
34
|
resolvedChallenges = new Map();
|
|
32
35
|
/** Track which transactions we've already disputed (prevent spam) */
|
|
33
36
|
disputedTransactions = new Set();
|
|
37
|
+
/** Track which transactions we've already originated an invalidation for (fire once per messageHash) */
|
|
38
|
+
invalidatedTransactions = new Set();
|
|
34
39
|
constructor(init) {
|
|
35
40
|
this.peerId = init.peerId;
|
|
36
41
|
this.privateKey = init.privateKey;
|
|
@@ -40,6 +45,7 @@ export class DisputeService {
|
|
|
40
45
|
this.config = { ...DEFAULT_DISPUTE_CONFIG, ...init.config };
|
|
41
46
|
this.engineHealth = new EngineHealthMonitor(this.config);
|
|
42
47
|
this.selectArbitrators = init.selectArbitrators;
|
|
48
|
+
this.onInvalidation = init.onInvalidation;
|
|
43
49
|
}
|
|
44
50
|
/** Get the engine health monitor */
|
|
45
51
|
getEngineHealth() {
|
|
@@ -97,19 +103,8 @@ export class DisputeService {
|
|
|
97
103
|
? (record.message.expiration - Date.now()) * 2
|
|
98
104
|
: this.config.disputeArbitrationTimeoutMs * 2;
|
|
99
105
|
const expiration = timestamp + Math.max(defaultTtl, this.config.disputeArbitrationTimeoutMs);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
originalMessageHash: record.messageHash,
|
|
103
|
-
originalRecord: record,
|
|
104
|
-
challengerPeerId: this.peerId.toString(),
|
|
105
|
-
challengerEvidence: evidence,
|
|
106
|
-
signature,
|
|
107
|
-
timestamp,
|
|
108
|
-
expiration,
|
|
109
|
-
};
|
|
110
|
-
this.activeDisputes.set(disputeId, challenge);
|
|
111
|
-
log('dispute-initiated', { disputeId, messageHash: record.messageHash });
|
|
112
|
-
// Select arbitrators and collect votes
|
|
106
|
+
// Select the arbitrator set FIRST so the challenge can carry it: each arbitrator folds the set's
|
|
107
|
+
// digest into the v3 vote it signs, binding every vote to the legitimately-selected set (#1).
|
|
113
108
|
const blockIds = record.coordinatingBlockIds ?? [];
|
|
114
109
|
const blockId = blockIds[0] ?? record.messageHash;
|
|
115
110
|
const originalPeers = Object.keys(record.peers);
|
|
@@ -120,14 +115,26 @@ export class DisputeService {
|
|
|
120
115
|
}
|
|
121
116
|
catch (err) {
|
|
122
117
|
log('dispute-arbitrator-selection-failed', { disputeId, error: err instanceof Error ? err.message : String(err) });
|
|
123
|
-
this.activeDisputes.delete(disputeId);
|
|
124
118
|
return undefined;
|
|
125
119
|
}
|
|
126
120
|
if (arbitrators.length === 0) {
|
|
127
121
|
log('dispute-no-arbitrators', { disputeId });
|
|
128
|
-
this.activeDisputes.delete(disputeId);
|
|
129
122
|
return undefined;
|
|
130
123
|
}
|
|
124
|
+
const arbitratorSet = arbitrators.map(a => a.toString());
|
|
125
|
+
const challenge = {
|
|
126
|
+
disputeId,
|
|
127
|
+
originalMessageHash: record.messageHash,
|
|
128
|
+
originalRecord: record,
|
|
129
|
+
challengerPeerId: this.peerId.toString(),
|
|
130
|
+
challengerEvidence: evidence,
|
|
131
|
+
signature,
|
|
132
|
+
timestamp,
|
|
133
|
+
expiration,
|
|
134
|
+
arbitratorSet,
|
|
135
|
+
};
|
|
136
|
+
this.activeDisputes.set(disputeId, challenge);
|
|
137
|
+
log('dispute-initiated', { disputeId, messageHash: record.messageHash });
|
|
131
138
|
// Send challenge to all arbitrators and collect votes
|
|
132
139
|
const votes = await this.collectVotes(challenge, arbitrators);
|
|
133
140
|
const resolution = this.resolveDispute(challenge, votes);
|
|
@@ -136,6 +143,9 @@ export class DisputeService {
|
|
|
136
143
|
this.resolvedDisputes.set(disputeId, resolution);
|
|
137
144
|
// Apply reputation effects
|
|
138
145
|
this.applyReputationEffects(resolution, record);
|
|
146
|
+
// On a proven-invalid transaction, originate the durable reversal through the cluster. The
|
|
147
|
+
// challenger-selected `arbitratorSet` is bound into the proof (#1).
|
|
148
|
+
await this.maybeInvalidate(resolution, record, arbitratorSet);
|
|
139
149
|
// Broadcast resolution
|
|
140
150
|
await this.broadcastResolution(resolution, arbitrators, originalPeers);
|
|
141
151
|
log('dispute-resolved', {
|
|
@@ -152,6 +162,11 @@ export class DisputeService {
|
|
|
152
162
|
*/
|
|
153
163
|
async handleChallenge(challenge) {
|
|
154
164
|
log('dispute-handle-challenge', { disputeId: challenge.disputeId });
|
|
165
|
+
// Bind every vote to the disputed transaction AND the legitimately-selected arbitrator set: derive
|
|
166
|
+
// the reversal target the same way the originator/apply path does (so the verifier recomputes an
|
|
167
|
+
// identical targetHash), digest the set the challenger carried, and sign over both (#1, #2).
|
|
168
|
+
const targetHash = await this.computeChallengeTargetHash(challenge);
|
|
169
|
+
const setHash = await computeArbitratorSetHash(challenge.arbitratorSet ?? []);
|
|
155
170
|
// Verify the challenge signature
|
|
156
171
|
const validSignature = await this.verifyDisputeSignature(challenge.disputeId, challenge.signature, challenge.originalRecord.peers[challenge.challengerPeerId]?.publicKey);
|
|
157
172
|
if (!validSignature) {
|
|
@@ -161,7 +176,7 @@ export class DisputeService {
|
|
|
161
176
|
engineId: 'unknown',
|
|
162
177
|
schemaHash: '',
|
|
163
178
|
blockStateHashes: {},
|
|
164
|
-
});
|
|
179
|
+
}, targetHash, setHash);
|
|
165
180
|
}
|
|
166
181
|
// Re-execute the transaction to produce our own evidence
|
|
167
182
|
let evidence;
|
|
@@ -183,7 +198,7 @@ export class DisputeService {
|
|
|
183
198
|
engineId: 'unknown',
|
|
184
199
|
schemaHash: '',
|
|
185
200
|
blockStateHashes: {},
|
|
186
|
-
});
|
|
201
|
+
}, targetHash, setHash);
|
|
187
202
|
}
|
|
188
203
|
// Compare our evidence with the challenger's
|
|
189
204
|
let vote;
|
|
@@ -195,7 +210,21 @@ export class DisputeService {
|
|
|
195
210
|
// Our re-execution differs from the challenger — the majority is likely right
|
|
196
211
|
vote = 'agree-with-majority';
|
|
197
212
|
}
|
|
198
|
-
return this.makeVote(challenge.disputeId, vote, evidence);
|
|
213
|
+
return this.makeVote(challenge.disputeId, vote, evidence, targetHash, setHash);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Derives the v2 target hash binding a vote to the disputed transaction: its `messageHash` plus the
|
|
217
|
+
* reversal target (the committed action being reversed and the blocks it wrote), extracted from the
|
|
218
|
+
* challenge's `originalRecord` exactly as {@link extractInvalidationTarget} does on the originate/apply
|
|
219
|
+
* side. A record with no extractable target yields an empty target — the resulting vote still verifies
|
|
220
|
+
* self-consistently but will not match a real reversal, which is correct (no real reversal exists).
|
|
221
|
+
*/
|
|
222
|
+
async computeChallengeTargetHash(challenge) {
|
|
223
|
+
const target = DisputeService.extractInvalidationTarget(challenge.originalRecord);
|
|
224
|
+
const certTarget = target
|
|
225
|
+
? { invalidatedActionId: target.actionId, blockIds: target.blockIds }
|
|
226
|
+
: { invalidatedActionId: '', blockIds: [] };
|
|
227
|
+
return computeTargetHash(challenge.originalRecord.messageHash, certTarget);
|
|
199
228
|
}
|
|
200
229
|
/**
|
|
201
230
|
* Handle an incoming dispute resolution (broadcast from the dispute initiator).
|
|
@@ -300,6 +329,91 @@ export class DisputeService {
|
|
|
300
329
|
}
|
|
301
330
|
}
|
|
302
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* When a dispute resolves `challenger-wins`, originate the durable invalidation. Builds the
|
|
334
|
+
* independently-verifiable {@link buildDisputeResolutionProof proof} and the {@link InvalidateRequest}
|
|
335
|
+
* from the disputed transaction, then hands it to the injected `onInvalidation` originator (which
|
|
336
|
+
* drives it through the critical cluster). Fires at most once per disputed transaction. A no-op
|
|
337
|
+
* when no originator is wired (the in-memory status still flips via {@link getDisputeStatus}).
|
|
338
|
+
*/
|
|
339
|
+
async maybeInvalidate(resolution, record, arbitratorSet) {
|
|
340
|
+
if (resolution.outcome !== 'challenger-wins' || !this.onInvalidation) {
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
if (this.invalidatedTransactions.has(record.messageHash)) {
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
const target = DisputeService.extractInvalidationTarget(record);
|
|
347
|
+
if (!target) {
|
|
348
|
+
log('dispute-invalidation-no-target', { disputeId: resolution.disputeId, messageHash: record.messageHash });
|
|
349
|
+
return;
|
|
350
|
+
}
|
|
351
|
+
// Bind the legitimately-selected arbitrator set (#1): the challenger signs (disputeId, target, set)
|
|
352
|
+
// so a third-party relay cannot swap in its own cohort. Same target derivation as the apply path.
|
|
353
|
+
const certTarget = { invalidatedActionId: target.actionId, blockIds: target.blockIds };
|
|
354
|
+
const targetHash = await computeTargetHash(record.messageHash, certTarget);
|
|
355
|
+
const setHash = await computeArbitratorSetHash(arbitratorSet);
|
|
356
|
+
const arbitratorSetSignature = await this.signArbitratorSet(resolution.disputeId, targetHash, setHash);
|
|
357
|
+
this.invalidatedTransactions.add(record.messageHash);
|
|
358
|
+
const request = {
|
|
359
|
+
invalidatedActionId: target.actionId,
|
|
360
|
+
invalidatedRev: target.rev,
|
|
361
|
+
blockIds: target.blockIds,
|
|
362
|
+
collectionId: target.collectionId,
|
|
363
|
+
resolution: buildDisputeResolutionProof(resolution, record.messageHash, {
|
|
364
|
+
arbitratorSet,
|
|
365
|
+
challengerPeerId: this.peerId.toString(),
|
|
366
|
+
arbitratorSetSignature,
|
|
367
|
+
}),
|
|
368
|
+
};
|
|
369
|
+
try {
|
|
370
|
+
await this.onInvalidation(request);
|
|
371
|
+
log('dispute-invalidation-originated', {
|
|
372
|
+
disputeId: resolution.disputeId,
|
|
373
|
+
invalidatedActionId: target.actionId,
|
|
374
|
+
blockCount: target.blockIds.length,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
catch (err) {
|
|
378
|
+
// Roll back the once-guard so a retry can re-originate.
|
|
379
|
+
this.invalidatedTransactions.delete(record.messageHash);
|
|
380
|
+
log('dispute-invalidation-originate-failed', {
|
|
381
|
+
disputeId: resolution.disputeId,
|
|
382
|
+
error: err instanceof Error ? err.message : String(err),
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Derives the invalidation target — the committed action, its revision, the blocks it wrote, and
|
|
388
|
+
* its owning collection — from the disputed record. Prefers the commit operation (the disputed
|
|
389
|
+
* transaction is committed); falls back to the pend operation defensively.
|
|
390
|
+
*/
|
|
391
|
+
static extractInvalidationTarget(record) {
|
|
392
|
+
for (const operation of record.message.operations) {
|
|
393
|
+
if ('commit' in operation) {
|
|
394
|
+
const commit = operation.commit;
|
|
395
|
+
return {
|
|
396
|
+
actionId: commit.actionId,
|
|
397
|
+
rev: commit.rev,
|
|
398
|
+
blockIds: commit.blockIds,
|
|
399
|
+
collectionId: commit.headerId ?? record.coordinatingBlockIds?.[0] ?? commit.blockIds[0],
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
for (const operation of record.message.operations) {
|
|
404
|
+
if ('pend' in operation) {
|
|
405
|
+
const pend = operation.pend;
|
|
406
|
+
const blockIds = blockIdsForTransforms(pend.transforms);
|
|
407
|
+
return {
|
|
408
|
+
actionId: pend.actionId,
|
|
409
|
+
rev: pend.rev ?? 0,
|
|
410
|
+
blockIds,
|
|
411
|
+
collectionId: record.coordinatingBlockIds?.[0] ?? blockIds[0],
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return undefined;
|
|
416
|
+
}
|
|
303
417
|
/** Broadcast resolution to all interested parties */
|
|
304
418
|
async broadcastResolution(resolution, arbitrators, originalPeers) {
|
|
305
419
|
const allTargets = new Set();
|
|
@@ -325,11 +439,14 @@ export class DisputeService {
|
|
|
325
439
|
});
|
|
326
440
|
await Promise.allSettled(promises);
|
|
327
441
|
}
|
|
328
|
-
async makeVote(disputeId, vote, evidence) {
|
|
329
|
-
|
|
330
|
-
|
|
442
|
+
async makeVote(disputeId, vote, evidence, targetHash, setHash) {
|
|
443
|
+
// Target- and set-bound v3 payload: binds the vote to the specific transaction being reversed (#2)
|
|
444
|
+
// AND the legitimately-selected arbitrator set (#1) so a genuine vote can neither be replayed against
|
|
445
|
+
// an unrelated transaction nor presented under a swapped cohort.
|
|
446
|
+
const payloadBytes = voteSigningPayload(disputeId, vote, evidence.computedHash, targetHash, setHash);
|
|
331
447
|
const sigBytes = await this.privateKey.sign(payloadBytes);
|
|
332
448
|
return {
|
|
449
|
+
version: VOTE_VERSION,
|
|
333
450
|
disputeId,
|
|
334
451
|
arbitratorPeerId: this.peerId.toString(),
|
|
335
452
|
vote,
|
|
@@ -348,6 +465,15 @@ export class DisputeService {
|
|
|
348
465
|
const sigBytes = await this.privateKey.sign(payload);
|
|
349
466
|
return uint8ArrayToString(sigBytes, 'base64url');
|
|
350
467
|
}
|
|
468
|
+
/**
|
|
469
|
+
* Sign the arbitrator-set binding `(disputeId, target, arbitratorSet)` with the challenger's key.
|
|
470
|
+
* Carried on the proof as {@link DisputeResolutionProof.arbitratorSetSignature}; a verifier validates
|
|
471
|
+
* it against this peer's embedded key (`challengerPeerId`), so a relay cannot substitute its own cohort.
|
|
472
|
+
*/
|
|
473
|
+
async signArbitratorSet(disputeId, targetHash, setHash) {
|
|
474
|
+
const sigBytes = await this.privateKey.sign(arbitratorSetSigningPayload(disputeId, targetHash, setHash));
|
|
475
|
+
return uint8ArrayToString(sigBytes, 'base64url');
|
|
476
|
+
}
|
|
351
477
|
async verifyDisputeSignature(disputeId, signature, publicKey) {
|
|
352
478
|
if (!publicKey?.length)
|
|
353
479
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispute-service.js","sourceRoot":"","sources":["../../../src/dispute/dispute-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispute-service.js","sourceRoot":"","sources":["../../../src/dispute/dispute-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,6 @@ export { DisputeProtocolService, disputeProtocolService, type DisputeProtocolSer
|
|
|
4
4
|
export { EngineHealthMonitor } from './engine-health-monitor.js';
|
|
5
5
|
export { type ValidationEvidence, type DisputeChallenge, type ArbitrationVote, type DisputeResolution, type DisputeMessage, type DisputeStatus, type DisputeConfig, type DisputePenaltyReason, type EngineHealthState, DEFAULT_DISPUTE_CONFIG, } from './types.js';
|
|
6
6
|
export { selectArbitrators } from './arbitrator-selection.js';
|
|
7
|
+
export { buildDisputeResolutionProof, verifyInvalidationCertificate, computeRevertedBlock, computeTargetHash, computeArbitratorSetHash, voteSigningPayload, arbitratorSetSigningPayload, applyInvalidation, hashBlockContent, DELETED_BLOCK_RESTORE, VOTE_VERSION, type CertificateTarget, type ArbitratorSetBinding, type ArbitratorSetRecompute, type ArbitratorSetRecomputeContext, type ArbitratorSetVerdict, type UnanchoredAcceptanceInfo, type VerifyCertificateOptions, type RevertedComputation, type InvalidationContext, type ApplyInvalidationParams, type ApplyInvalidationResult, } from './invalidation.js';
|
|
8
|
+
export { cascadeInvalidate, contentEqualityReevaluator, DEFAULT_CASCADE_CONFIG, type CascadeConfig, type CollectionEnv, type InvalidatedPair, type CascadeCandidate, type CascadeVerdict, type Reevaluate, type CascadeSeed, type CascadeInput, type CascadeChild, type CascadeStanding, type CascadeEscalation, type CascadeResult, } from './cascade.js';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dispute/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,KAAK,gCAAgC,EAAE,KAAK,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dispute/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,KAAK,gCAAgC,EAAE,KAAK,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACN,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GAClB,MAAM,cAAc,CAAC"}
|
|
@@ -4,4 +4,6 @@ export { DisputeProtocolService, disputeProtocolService } from './service.js';
|
|
|
4
4
|
export { EngineHealthMonitor } from './engine-health-monitor.js';
|
|
5
5
|
export { DEFAULT_DISPUTE_CONFIG, } from './types.js';
|
|
6
6
|
export { selectArbitrators } from './arbitrator-selection.js';
|
|
7
|
+
export { buildDisputeResolutionProof, verifyInvalidationCertificate, computeRevertedBlock, computeTargetHash, computeArbitratorSetHash, voteSigningPayload, arbitratorSetSigningPayload, applyInvalidation, hashBlockContent, DELETED_BLOCK_RESTORE, VOTE_VERSION, } from './invalidation.js';
|
|
8
|
+
export { cascadeInvalidate, contentEqualityReevaluator, DEFAULT_CASCADE_CONFIG, } from './cascade.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dispute/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiF,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAA0E,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAUN,sBAAsB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dispute/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiF,MAAM,sBAAsB,CAAC;AACrI,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAA0E,MAAM,cAAc,CAAC;AACtJ,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAUN,sBAAsB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACN,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,GAYZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACN,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,GAatB,MAAM,cAAc,CAAC"}
|