@optimystic/db-p2p 0.22.0 → 0.24.1
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/cluster/client.d.ts +10 -0
- package/dist/src/cluster/client.d.ts.map +1 -1
- package/dist/src/cluster/client.js +30 -1
- package/dist/src/cluster/client.js.map +1 -1
- package/dist/src/cluster/cluster-repo.d.ts +39 -14
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +226 -119
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/cluster/service.d.ts +32 -1
- package/dist/src/cluster/service.d.ts.map +1 -1
- package/dist/src/cluster/service.js +43 -2
- package/dist/src/cluster/service.js.map +1 -1
- package/dist/src/cohort-topic/host.js +34 -11
- package/dist/src/cohort-topic/host.js.map +1 -1
- package/dist/src/cohort-topic/stream-util.d.ts +37 -7
- package/dist/src/cohort-topic/stream-util.d.ts.map +1 -1
- package/dist/src/cohort-topic/stream-util.js +77 -19
- package/dist/src/cohort-topic/stream-util.js.map +1 -1
- package/dist/src/dispute/dispute-service.d.ts.map +1 -1
- package/dist/src/dispute/dispute-service.js +9 -3
- package/dist/src/dispute/dispute-service.js.map +1 -1
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +88 -2
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +134 -28
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +25 -1
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/logger.d.ts +17 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +19 -2
- package/dist/src/logger.js.map +1 -1
- package/dist/src/matchmaking/query-transport.js +3 -3
- package/dist/src/matchmaking/query-transport.js.map +1 -1
- package/dist/src/owned-block-seed.d.ts +6 -3
- package/dist/src/owned-block-seed.d.ts.map +1 -1
- package/dist/src/owned-block-seed.js +16 -3
- package/dist/src/owned-block-seed.js.map +1 -1
- package/dist/src/peer-address-book.d.ts +72 -0
- package/dist/src/peer-address-book.d.ts.map +1 -0
- package/dist/src/peer-address-book.js +123 -0
- package/dist/src/peer-address-book.js.map +1 -0
- package/dist/src/reactivity/notify-transport.d.ts +4 -4
- package/dist/src/reactivity/notify-transport.js +6 -6
- package/dist/src/reactivity/notify-transport.js.map +1 -1
- package/dist/src/reactivity/push-state-gossip.js +2 -2
- package/dist/src/reactivity/push-state-gossip.js.map +1 -1
- package/dist/src/reactivity/recover-transport.d.ts +6 -2
- package/dist/src/reactivity/recover-transport.d.ts.map +1 -1
- package/dist/src/reactivity/recover-transport.js +7 -3
- package/dist/src/reactivity/recover-transport.js.map +1 -1
- package/dist/src/repo/client.d.ts.map +1 -1
- package/dist/src/repo/client.js +11 -2
- package/dist/src/repo/client.js.map +1 -1
- package/dist/src/repo/cluster-coordinator.d.ts +30 -0
- package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
- package/dist/src/repo/cluster-coordinator.js +95 -3
- package/dist/src/repo/cluster-coordinator.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +62 -9
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +242 -73
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/rn.d.ts +3 -0
- package/dist/src/rn.d.ts.map +1 -1
- package/dist/src/rn.js +3 -0
- package/dist/src/rn.js.map +1 -1
- package/dist/src/storage/cached-raw-storage.d.ts +83 -0
- package/dist/src/storage/cached-raw-storage.d.ts.map +1 -0
- package/dist/src/storage/cached-raw-storage.js +152 -0
- package/dist/src/storage/cached-raw-storage.js.map +1 -0
- package/dist/src/storage/cached-store-driver.d.ts +186 -0
- package/dist/src/storage/cached-store-driver.d.ts.map +1 -0
- package/dist/src/storage/cached-store-driver.js +775 -0
- package/dist/src/storage/cached-store-driver.js.map +1 -0
- package/dist/src/storage/i-raw-storage.d.ts +12 -5
- package/dist/src/storage/i-raw-storage.d.ts.map +1 -1
- package/dist/src/storage/shared-cache-pool.d.ts +234 -0
- package/dist/src/storage/shared-cache-pool.d.ts.map +1 -0
- package/dist/src/storage/shared-cache-pool.js +354 -0
- package/dist/src/storage/shared-cache-pool.js.map +1 -0
- package/dist/src/testing/cohort-topic-mesh-harness.d.ts +13 -6
- package/dist/src/testing/cohort-topic-mesh-harness.d.ts.map +1 -1
- package/dist/src/testing/cohort-topic-mesh-harness.js +15 -6
- package/dist/src/testing/cohort-topic-mesh-harness.js.map +1 -1
- package/dist/src/testing/raw-storage-conformance.d.ts +2 -1
- package/dist/src/testing/raw-storage-conformance.d.ts.map +1 -1
- package/dist/src/testing/raw-storage-conformance.js +35 -2
- package/dist/src/testing/raw-storage-conformance.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +668 -668
- package/src/cluster/block-transfer.ts +424 -424
- package/src/cluster/client.ts +119 -88
- package/src/cluster/cluster-error.ts +64 -64
- package/src/cluster/cluster-policy.ts +203 -203
- package/src/cluster/cluster-repo.ts +242 -122
- package/src/cluster/cluster-size-coupling.ts +45 -45
- package/src/cluster/commit-cert.ts +139 -139
- package/src/cluster/i-transaction-state-store.ts +43 -43
- package/src/cluster/memory-transaction-state-store.ts +56 -56
- package/src/cluster/peer-key-binding.ts +37 -37
- package/src/cluster/persistent-transaction-state-store.ts +92 -92
- package/src/cluster/quorum-restore.ts +223 -223
- package/src/cluster/reconcile-block.ts +203 -203
- package/src/cluster/service.ts +293 -241
- package/src/cluster/supermajority-coupling.ts +37 -37
- package/src/cohort-topic/bootstrap-evidence-builder.ts +122 -122
- package/src/cohort-topic/bootstrap-evidence-verifiers.ts +132 -132
- package/src/cohort-topic/bootstrap-parent-reference.ts +159 -159
- package/src/cohort-topic/change-bridge.ts +109 -109
- package/src/cohort-topic/cohort-gossip-driver.ts +231 -231
- package/src/cohort-topic/cohort-gossip-transport.ts +84 -84
- package/src/cohort-topic/fret-trust-anchor.ts +153 -153
- package/src/cohort-topic/host.ts +42 -11
- package/src/cohort-topic/index.ts +13 -13
- package/src/cohort-topic/membership-publish-sink.ts +20 -20
- package/src/cohort-topic/membership-source.ts +68 -68
- package/src/cohort-topic/peer-codec.ts +31 -31
- package/src/cohort-topic/peer-sig.ts +86 -86
- package/src/cohort-topic/protocols.ts +71 -71
- package/src/cohort-topic/reactivity-membership-gate.ts +77 -77
- package/src/cohort-topic/size-estimator.ts +16 -16
- package/src/cohort-topic/stream-util.ts +79 -19
- package/src/cohort-topic/threshold-crypto.ts +239 -239
- package/src/cohort-topic/topic-router.ts +77 -77
- package/src/dispute/arbitrator-selection.ts +138 -138
- package/src/dispute/cascade.ts +524 -524
- package/src/dispute/dispute-service.ts +11 -5
- package/src/dispute/invalidation.ts +625 -625
- package/src/inbound-authorization.ts +190 -190
- package/src/index.ts +52 -49
- package/src/libp2p-key-network.ts +1120 -990
- package/src/libp2p-node-base.ts +1675 -1651
- package/src/libp2p-node-rn.ts +30 -30
- package/src/libp2p-node.ts +36 -36
- package/src/logger.ts +19 -2
- package/src/matchmaking/aggregate-counts.ts +104 -104
- package/src/matchmaking/index.ts +20 -20
- package/src/matchmaking/module.ts +363 -363
- package/src/matchmaking/protocols.ts +51 -51
- package/src/matchmaking/provider-manager.ts +95 -95
- package/src/matchmaking/query-handler.ts +88 -88
- package/src/matchmaking/query-transport.ts +3 -3
- package/src/matchmaking/seeker-manager.ts +64 -64
- package/src/matchmaking/seeker-walk-client.ts +293 -293
- package/src/matchmaking/traffic-validation.ts +195 -195
- package/src/optimystic-node.ts +36 -36
- package/src/owned-block-seed.ts +53 -40
- package/src/peer-address-book.ts +149 -0
- package/src/protocol-limits.ts +33 -33
- package/src/reactivity/forwarder-host.ts +438 -438
- package/src/reactivity/index.ts +19 -19
- package/src/reactivity/notify-transport.ts +144 -144
- package/src/reactivity/origination-manager.ts +192 -192
- package/src/reactivity/protocols.ts +61 -61
- package/src/reactivity/push-state-gossip.ts +291 -291
- package/src/reactivity/recover-transport.ts +7 -3
- package/src/reactivity/rotation-rereg-scheduler.ts +256 -256
- package/src/reactivity/subscriber-registry.ts +96 -96
- package/src/reactivity/subscription-manager.ts +450 -450
- package/src/reactivity/topic-bytes.ts +37 -37
- package/src/repo/client.ts +12 -2
- package/src/repo/cluster-coordinator.ts +99 -3
- package/src/repo/coordinator-repo.ts +281 -74
- package/src/repo/types.ts +7 -7
- package/src/rn.ts +39 -36
- package/src/rpc-deadline.ts +45 -45
- package/src/storage/arachnode-partition.ts +74 -74
- package/src/storage/cached-raw-storage.ts +180 -0
- package/src/storage/cached-store-driver.ts +859 -0
- package/src/storage/i-kv-store.ts +8 -8
- package/src/storage/i-raw-storage.ts +12 -5
- package/src/storage/kv-raw-storage.ts +135 -135
- package/src/storage/memory-kv-store.ts +28 -28
- package/src/storage/memory-storage.ts +25 -25
- package/src/storage/memory-store-driver.ts +157 -157
- package/src/storage/raw-store-codec.ts +42 -42
- package/src/storage/raw-store-driver.ts +80 -80
- package/src/storage/ring-selector.ts +317 -317
- package/src/storage/ring-shift-coordinator.ts +271 -271
- package/src/storage/shared-cache-pool.ts +452 -0
- package/src/storage/storage-repo.ts +1014 -1014
- package/src/testing/cohort-topic-mesh-harness.ts +673 -663
- package/src/testing/index.ts +8 -8
- package/src/testing/matchmaking-mesh-harness.ts +475 -475
- package/src/testing/raw-storage-conformance.ts +453 -417
- package/src/testing/reactivity-mesh-harness.ts +922 -922
- package/dist/src/storage/restoration-coordinator-v2.d.ts +0 -67
- package/dist/src/storage/restoration-coordinator-v2.d.ts.map +0 -1
- package/dist/src/storage/restoration-coordinator-v2.js +0 -172
- package/dist/src/storage/restoration-coordinator-v2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../src/cohort-topic/host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../../../src/cohort-topic/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Single-frame libp2p stream helpers, shared by cohort-topic, matchmaking, and reactivity.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* These protocols exchange a single varint-length-prefixed frame each way, via FRET's exported
|
|
5
|
+
* `sendFramed` / `readFramed` pair — the varint prefix is what delimits the frame on the wire
|
|
6
|
+
* (the db-core codec's own internal length prefix travels *inside* the framed body and plays no
|
|
7
|
+
* part in stream delimiting). Request/response is one framed send + one framed read, matching
|
|
8
|
+
* FRET's own four RPC protocols and the `it-length-prefixed` framing the rest of `db-p2p`
|
|
9
|
+
* (`protocol-client.ts`, the cluster/repo/sync/dispute services) already uses, keeping the stream
|
|
10
|
+
* lifecycle (open → send → close-write → read → close) consistent across all protocol families.
|
|
11
|
+
*
|
|
12
|
+
* NOTE: every `sendFramed` here discards its boolean result (`false` = "write accepted, transport
|
|
13
|
+
* buffer now full"), so these helpers apply no backpressure. Harmless while each protocol writes
|
|
14
|
+
* exactly one bounded frame per stream and then closes; if a caller ever writes repeatedly on one
|
|
15
|
+
* stream, honor the flag by awaiting the stream's `'drain'` event the way FRET's `rpcRequest` does.
|
|
16
|
+
*
|
|
17
|
+
* {@link openStream} deliberately duplicates FRET's `rpc/protocols.ts#openRpcStream` connection
|
|
18
|
+
* selection. FRET now exports `openRpcStream`, but the accepted tradeoff on
|
|
19
|
+
* {@link STREAM_OPTIONS} is why the local copy stays: FRET's helper pins `negotiateFully: false`,
|
|
20
|
+
* which this module deliberately does not set — swapping would silently reverse that decision.
|
|
21
|
+
* Same applies to `libp2p-key-network.ts#connect`, which is a third copy.
|
|
8
22
|
*/
|
|
9
23
|
import type { Libp2p } from "libp2p";
|
|
10
24
|
import type { PeerId } from "@libp2p/interface";
|
|
11
25
|
/** Default per-frame ceiling — matches FRET's 512 KiB maybe-act bound. */
|
|
12
26
|
export declare const DEFAULT_STREAM_MAX_BYTES: number;
|
|
13
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Open `protocol` to `peer`, send `frame`, and read the bounded reply frame.
|
|
29
|
+
*
|
|
30
|
+
* NOTE: takes no `AbortSignal`, so a caller cannot set its own deadline. Bounded today anyway —
|
|
31
|
+
* `readFramed` self-times-out at 5s and `dialProtocol` falls back to libp2p's default dial
|
|
32
|
+
* timeout (~30s) — so an unresponsive peer is slow, not hung. If a caller ever needs a tighter
|
|
33
|
+
* deadline (`membership-source.fetch` walks candidate peers *sequentially*, so its worst case is
|
|
34
|
+
* peers × dial-timeout), thread a signal through {@link openStream} the way
|
|
35
|
+
* `libp2p-key-network.ts#connect` does.
|
|
36
|
+
*/
|
|
14
37
|
export declare function requestResponse(node: Libp2p, peer: PeerId, protocol: string, frame: Uint8Array, maxBytes?: number): Promise<Uint8Array>;
|
|
15
38
|
/** Open `protocol` to `peer` and send `frame` without awaiting a reply (fire-and-forget gossip). */
|
|
16
39
|
export declare function sendOneWay(node: Libp2p, peer: PeerId, protocol: string, frame: Uint8Array): Promise<void>;
|
|
17
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Register a request/response handler for `protocol`: read one bounded frame, reply with one frame.
|
|
42
|
+
*
|
|
43
|
+
* A `handle` that returns `undefined` (a drop, a gate rejection, no serving engine) replies with an
|
|
44
|
+
* explicit **zero-length frame** rather than silence: `readFramed` treats end-of-stream as a
|
|
45
|
+
* truncation error, so "no reply" must travel in-band — the dialer's {@link requestResponse}
|
|
46
|
+
* resolves it as empty bytes, exactly what the old read-to-EOF returned for a silent close.
|
|
47
|
+
*/
|
|
18
48
|
export declare function handleRequestResponse(node: Libp2p, protocol: string, handle: (frame: Uint8Array, from: PeerId) => Promise<Uint8Array | undefined>, maxBytes?: number): void;
|
|
19
49
|
//# sourceMappingURL=stream-util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-util.d.ts","sourceRoot":"","sources":["../../../src/cohort-topic/stream-util.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stream-util.d.ts","sourceRoot":"","sources":["../../../src/cohort-topic/stream-util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAc,MAAM,EAAU,MAAM,mBAAmB,CAAC;AAGpE,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAoCnD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,EACjB,QAAQ,SAA2B,GACjC,OAAO,CAAC,UAAU,CAAC,CAgBrB;AAED,oGAAoG;AACpG,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/G;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,EAC5E,QAAQ,SAA2B,GACjC,IAAI,CAiBN"}
|
|
@@ -1,23 +1,77 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Single-frame libp2p stream helpers, shared by cohort-topic, matchmaking, and reactivity.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* These protocols exchange a single varint-length-prefixed frame each way, via FRET's exported
|
|
5
|
+
* `sendFramed` / `readFramed` pair — the varint prefix is what delimits the frame on the wire
|
|
6
|
+
* (the db-core codec's own internal length prefix travels *inside* the framed body and plays no
|
|
7
|
+
* part in stream delimiting). Request/response is one framed send + one framed read, matching
|
|
8
|
+
* FRET's own four RPC protocols and the `it-length-prefixed` framing the rest of `db-p2p`
|
|
9
|
+
* (`protocol-client.ts`, the cluster/repo/sync/dispute services) already uses, keeping the stream
|
|
10
|
+
* lifecycle (open → send → close-write → read → close) consistent across all protocol families.
|
|
11
|
+
*
|
|
12
|
+
* NOTE: every `sendFramed` here discards its boolean result (`false` = "write accepted, transport
|
|
13
|
+
* buffer now full"), so these helpers apply no backpressure. Harmless while each protocol writes
|
|
14
|
+
* exactly one bounded frame per stream and then closes; if a caller ever writes repeatedly on one
|
|
15
|
+
* stream, honor the flag by awaiting the stream's `'drain'` event the way FRET's `rpcRequest` does.
|
|
16
|
+
*
|
|
17
|
+
* {@link openStream} deliberately duplicates FRET's `rpc/protocols.ts#openRpcStream` connection
|
|
18
|
+
* selection. FRET now exports `openRpcStream`, but the accepted tradeoff on
|
|
19
|
+
* {@link STREAM_OPTIONS} is why the local copy stays: FRET's helper pins `negotiateFully: false`,
|
|
20
|
+
* which this module deliberately does not set — swapping would silently reverse that decision.
|
|
21
|
+
* Same applies to `libp2p-key-network.ts#connect`, which is a third copy.
|
|
8
22
|
*/
|
|
9
|
-
import {
|
|
23
|
+
import { readFramed, sendFramed } from "p2p-fret";
|
|
10
24
|
/** Default per-frame ceiling — matches FRET's 512 KiB maybe-act bound. */
|
|
11
25
|
export const DEFAULT_STREAM_MAX_BYTES = 512 * 1024;
|
|
12
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* libp2p refuses to open a protocol stream over a *limited* (circuit-relay) connection unless the
|
|
28
|
+
* caller opts in, so every peer reachable only through a relay — the steady state for browsers and
|
|
29
|
+
* NATed peers — depends on this flag. It is a harmless no-op on a direct connection.
|
|
30
|
+
*
|
|
31
|
+
* NOTE: accepted tradeoff — FRET's `openRpcStream` and `libp2p-key-network.ts#connect` also set
|
|
32
|
+
* `negotiateFully: false`; deliberately not set here. It saves a round trip but defers an
|
|
33
|
+
* unsupported-protocol failure from stream-open to the first read, which would turn
|
|
34
|
+
* {@link sendOneWay} against a peer lacking the protocol into a silent no-op. Revisit if
|
|
35
|
+
* stream-open latency shows up in a profile.
|
|
36
|
+
*/
|
|
37
|
+
const STREAM_OPTIONS = { runOnLimitedConnection: true };
|
|
38
|
+
/** True for a circuit-relay ("limited") connection: libp2p stamps one with per-circuit `limits`;
|
|
39
|
+
* sniffing `/p2p-circuit` in the multiaddr covers transports that leave `limits` unpopulated. */
|
|
40
|
+
function isLimitedConnection(c) {
|
|
41
|
+
if (c.limits != null)
|
|
42
|
+
return true;
|
|
43
|
+
return c.remoteAddr?.toString?.().includes("/p2p-circuit") ?? false;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Open `protocol` to `peer`, reusing a healthy existing connection when there is one.
|
|
47
|
+
*
|
|
48
|
+
* Skips connections libp2p has not yet evicted from its index but that are no longer open, and
|
|
49
|
+
* prefers a direct connection over a relayed one — a relayed connection can be reset once the
|
|
50
|
+
* relay's per-circuit cap or reservation lapses, and after DCUtR upgrades a link to direct both
|
|
51
|
+
* briefly coexist. Falls back to the relayed connection when it is the only open path.
|
|
52
|
+
*/
|
|
53
|
+
async function openStream(node, peer, protocol) {
|
|
54
|
+
const open = node.getConnections(peer).filter(c => c?.status === "open" && typeof c?.newStream === "function");
|
|
55
|
+
const chosen = open.find(c => !isLimitedConnection(c)) ?? open[0];
|
|
56
|
+
return chosen ? await chosen.newStream([protocol], STREAM_OPTIONS) : await node.dialProtocol(peer, [protocol], STREAM_OPTIONS);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Open `protocol` to `peer`, send `frame`, and read the bounded reply frame.
|
|
60
|
+
*
|
|
61
|
+
* NOTE: takes no `AbortSignal`, so a caller cannot set its own deadline. Bounded today anyway —
|
|
62
|
+
* `readFramed` self-times-out at 5s and `dialProtocol` falls back to libp2p's default dial
|
|
63
|
+
* timeout (~30s) — so an unresponsive peer is slow, not hung. If a caller ever needs a tighter
|
|
64
|
+
* deadline (`membership-source.fetch` walks candidate peers *sequentially*, so its worst case is
|
|
65
|
+
* peers × dial-timeout), thread a signal through {@link openStream} the way
|
|
66
|
+
* `libp2p-key-network.ts#connect` does.
|
|
67
|
+
*/
|
|
13
68
|
export async function requestResponse(node, peer, protocol, frame, maxBytes = DEFAULT_STREAM_MAX_BYTES) {
|
|
14
|
-
const conns = node.getConnections(peer);
|
|
15
69
|
let stream;
|
|
16
70
|
try {
|
|
17
|
-
stream =
|
|
18
|
-
stream
|
|
71
|
+
stream = await openStream(node, peer, protocol);
|
|
72
|
+
sendFramed(stream, frame);
|
|
19
73
|
await stream.close();
|
|
20
|
-
return await
|
|
74
|
+
return await readFramed(stream, maxBytes);
|
|
21
75
|
}
|
|
22
76
|
finally {
|
|
23
77
|
if (stream != null) {
|
|
@@ -32,11 +86,10 @@ export async function requestResponse(node, peer, protocol, frame, maxBytes = DE
|
|
|
32
86
|
}
|
|
33
87
|
/** Open `protocol` to `peer` and send `frame` without awaiting a reply (fire-and-forget gossip). */
|
|
34
88
|
export async function sendOneWay(node, peer, protocol, frame) {
|
|
35
|
-
const conns = node.getConnections(peer);
|
|
36
89
|
let stream;
|
|
37
90
|
try {
|
|
38
|
-
stream =
|
|
39
|
-
stream
|
|
91
|
+
stream = await openStream(node, peer, protocol);
|
|
92
|
+
sendFramed(stream, frame);
|
|
40
93
|
await stream.close();
|
|
41
94
|
}
|
|
42
95
|
finally {
|
|
@@ -50,16 +103,21 @@ export async function sendOneWay(node, peer, protocol, frame) {
|
|
|
50
103
|
}
|
|
51
104
|
}
|
|
52
105
|
}
|
|
53
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Register a request/response handler for `protocol`: read one bounded frame, reply with one frame.
|
|
108
|
+
*
|
|
109
|
+
* A `handle` that returns `undefined` (a drop, a gate rejection, no serving engine) replies with an
|
|
110
|
+
* explicit **zero-length frame** rather than silence: `readFramed` treats end-of-stream as a
|
|
111
|
+
* truncation error, so "no reply" must travel in-band — the dialer's {@link requestResponse}
|
|
112
|
+
* resolves it as empty bytes, exactly what the old read-to-EOF returned for a silent close.
|
|
113
|
+
*/
|
|
54
114
|
export function handleRequestResponse(node, protocol, handle, maxBytes = DEFAULT_STREAM_MAX_BYTES) {
|
|
55
115
|
void node.handle(protocol, (stream, connection) => {
|
|
56
116
|
void (async () => {
|
|
57
117
|
try {
|
|
58
|
-
const frame = await
|
|
118
|
+
const frame = await readFramed(stream, maxBytes);
|
|
59
119
|
const reply = await handle(frame, connection.remotePeer);
|
|
60
|
-
|
|
61
|
-
stream.send(reply);
|
|
62
|
-
}
|
|
120
|
+
sendFramed(stream, reply ?? new Uint8Array(0));
|
|
63
121
|
await stream.close();
|
|
64
122
|
}
|
|
65
123
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-util.js","sourceRoot":"","sources":["../../../src/cohort-topic/stream-util.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stream-util.js","sourceRoot":"","sources":["../../../src/cohort-topic/stream-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispute-service.d.ts","sourceRoot":"","sources":["../../../src/dispute/dispute-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"dispute-service.d.ts","sourceRoot":"","sources":["../../../src/dispute/dispute-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { blockIdsForTransforms, computeClusterPromiseHash, recordMembershipDigest } from '@optimystic/db-core';
|
|
1
|
+
import { blockIdsForTransforms, computeClusterPromiseHash, clusterVoteVerificationPayload, recordMembershipDigest } from '@optimystic/db-core';
|
|
2
2
|
import { buildDisputeResolutionProof, computeTargetHash, computeArbitratorSetHash, voteSigningPayload, arbitratorSetSigningPayload, VOTE_VERSION } from './invalidation.js';
|
|
3
3
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
4
4
|
import { base58btc } from 'multiformats/bases/base58';
|
|
@@ -299,6 +299,13 @@ export class DisputeService {
|
|
|
299
299
|
// peer's id to get that peer a FalseApproval penalty. Gate each false-approval on the approval
|
|
300
300
|
// being binding-valid (key bound to the id AND signature verifies); skip — never penalize —
|
|
301
301
|
// any approval that is unbound or invalid.
|
|
302
|
+
//
|
|
303
|
+
// For the same reason, the peer multiaddrs inside `originalRecord.peers` are deliberately
|
|
304
|
+
// NOT fed to the address book here, unlike the cluster/redirect paths (see
|
|
305
|
+
// `peer-address-book.ts`). Those paths consume a record we are an intended recipient of;
|
|
306
|
+
// a challenge's originalRecord is attacker-supplied on a path that already flags itself as
|
|
307
|
+
// unverified, so learning addresses from it would widen that surface for no gain — a
|
|
308
|
+
// disputing peer is not one we are about to need a route to.
|
|
302
309
|
const originalRecord = challenge.originalRecord;
|
|
303
310
|
const promiseHash = await this.computePromiseHash(originalRecord);
|
|
304
311
|
for (const [peerId, signature] of Object.entries(originalRecord.promises)) {
|
|
@@ -554,8 +561,7 @@ export class DisputeService {
|
|
|
554
561
|
if (!peerIdBindsPublicKey(peerId, keyBytes))
|
|
555
562
|
return false;
|
|
556
563
|
const pubKey = publicKeyFromRaw(keyBytes);
|
|
557
|
-
const
|
|
558
|
-
const payload = new TextEncoder().encode(payloadStr);
|
|
564
|
+
const payload = clusterVoteVerificationPayload(promiseHash, signature);
|
|
559
565
|
const sigBytes = uint8ArrayFromString(signature.signature, 'base64url');
|
|
560
566
|
return pubKey.verify(payload, sigBytes);
|
|
561
567
|
}
|