@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.
Files changed (194) hide show
  1. package/dist/src/cluster/client.d.ts +10 -0
  2. package/dist/src/cluster/client.d.ts.map +1 -1
  3. package/dist/src/cluster/client.js +30 -1
  4. package/dist/src/cluster/client.js.map +1 -1
  5. package/dist/src/cluster/cluster-repo.d.ts +39 -14
  6. package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
  7. package/dist/src/cluster/cluster-repo.js +226 -119
  8. package/dist/src/cluster/cluster-repo.js.map +1 -1
  9. package/dist/src/cluster/service.d.ts +32 -1
  10. package/dist/src/cluster/service.d.ts.map +1 -1
  11. package/dist/src/cluster/service.js +43 -2
  12. package/dist/src/cluster/service.js.map +1 -1
  13. package/dist/src/cohort-topic/host.js +34 -11
  14. package/dist/src/cohort-topic/host.js.map +1 -1
  15. package/dist/src/cohort-topic/stream-util.d.ts +37 -7
  16. package/dist/src/cohort-topic/stream-util.d.ts.map +1 -1
  17. package/dist/src/cohort-topic/stream-util.js +77 -19
  18. package/dist/src/cohort-topic/stream-util.js.map +1 -1
  19. package/dist/src/dispute/dispute-service.d.ts.map +1 -1
  20. package/dist/src/dispute/dispute-service.js +9 -3
  21. package/dist/src/dispute/dispute-service.js.map +1 -1
  22. package/dist/src/index.d.ts +3 -0
  23. package/dist/src/index.d.ts.map +1 -1
  24. package/dist/src/index.js +3 -0
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/libp2p-key-network.d.ts +88 -2
  27. package/dist/src/libp2p-key-network.d.ts.map +1 -1
  28. package/dist/src/libp2p-key-network.js +134 -28
  29. package/dist/src/libp2p-key-network.js.map +1 -1
  30. package/dist/src/libp2p-node-base.d.ts.map +1 -1
  31. package/dist/src/libp2p-node-base.js +25 -1
  32. package/dist/src/libp2p-node-base.js.map +1 -1
  33. package/dist/src/logger.d.ts +17 -1
  34. package/dist/src/logger.d.ts.map +1 -1
  35. package/dist/src/logger.js +19 -2
  36. package/dist/src/logger.js.map +1 -1
  37. package/dist/src/matchmaking/query-transport.js +3 -3
  38. package/dist/src/matchmaking/query-transport.js.map +1 -1
  39. package/dist/src/owned-block-seed.d.ts +6 -3
  40. package/dist/src/owned-block-seed.d.ts.map +1 -1
  41. package/dist/src/owned-block-seed.js +16 -3
  42. package/dist/src/owned-block-seed.js.map +1 -1
  43. package/dist/src/peer-address-book.d.ts +72 -0
  44. package/dist/src/peer-address-book.d.ts.map +1 -0
  45. package/dist/src/peer-address-book.js +123 -0
  46. package/dist/src/peer-address-book.js.map +1 -0
  47. package/dist/src/reactivity/notify-transport.d.ts +4 -4
  48. package/dist/src/reactivity/notify-transport.js +6 -6
  49. package/dist/src/reactivity/notify-transport.js.map +1 -1
  50. package/dist/src/reactivity/push-state-gossip.js +2 -2
  51. package/dist/src/reactivity/push-state-gossip.js.map +1 -1
  52. package/dist/src/reactivity/recover-transport.d.ts +6 -2
  53. package/dist/src/reactivity/recover-transport.d.ts.map +1 -1
  54. package/dist/src/reactivity/recover-transport.js +7 -3
  55. package/dist/src/reactivity/recover-transport.js.map +1 -1
  56. package/dist/src/repo/client.d.ts.map +1 -1
  57. package/dist/src/repo/client.js +11 -2
  58. package/dist/src/repo/client.js.map +1 -1
  59. package/dist/src/repo/cluster-coordinator.d.ts +30 -0
  60. package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
  61. package/dist/src/repo/cluster-coordinator.js +95 -3
  62. package/dist/src/repo/cluster-coordinator.js.map +1 -1
  63. package/dist/src/repo/coordinator-repo.d.ts +62 -9
  64. package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
  65. package/dist/src/repo/coordinator-repo.js +242 -73
  66. package/dist/src/repo/coordinator-repo.js.map +1 -1
  67. package/dist/src/rn.d.ts +3 -0
  68. package/dist/src/rn.d.ts.map +1 -1
  69. package/dist/src/rn.js +3 -0
  70. package/dist/src/rn.js.map +1 -1
  71. package/dist/src/storage/cached-raw-storage.d.ts +83 -0
  72. package/dist/src/storage/cached-raw-storage.d.ts.map +1 -0
  73. package/dist/src/storage/cached-raw-storage.js +152 -0
  74. package/dist/src/storage/cached-raw-storage.js.map +1 -0
  75. package/dist/src/storage/cached-store-driver.d.ts +186 -0
  76. package/dist/src/storage/cached-store-driver.d.ts.map +1 -0
  77. package/dist/src/storage/cached-store-driver.js +775 -0
  78. package/dist/src/storage/cached-store-driver.js.map +1 -0
  79. package/dist/src/storage/i-raw-storage.d.ts +12 -5
  80. package/dist/src/storage/i-raw-storage.d.ts.map +1 -1
  81. package/dist/src/storage/shared-cache-pool.d.ts +234 -0
  82. package/dist/src/storage/shared-cache-pool.d.ts.map +1 -0
  83. package/dist/src/storage/shared-cache-pool.js +354 -0
  84. package/dist/src/storage/shared-cache-pool.js.map +1 -0
  85. package/dist/src/testing/cohort-topic-mesh-harness.d.ts +13 -6
  86. package/dist/src/testing/cohort-topic-mesh-harness.d.ts.map +1 -1
  87. package/dist/src/testing/cohort-topic-mesh-harness.js +15 -6
  88. package/dist/src/testing/cohort-topic-mesh-harness.js.map +1 -1
  89. package/dist/src/testing/raw-storage-conformance.d.ts +2 -1
  90. package/dist/src/testing/raw-storage-conformance.d.ts.map +1 -1
  91. package/dist/src/testing/raw-storage-conformance.js +35 -2
  92. package/dist/src/testing/raw-storage-conformance.js.map +1 -1
  93. package/package.json +3 -3
  94. package/readme.md +668 -668
  95. package/src/cluster/block-transfer.ts +424 -424
  96. package/src/cluster/client.ts +119 -88
  97. package/src/cluster/cluster-error.ts +64 -64
  98. package/src/cluster/cluster-policy.ts +203 -203
  99. package/src/cluster/cluster-repo.ts +242 -122
  100. package/src/cluster/cluster-size-coupling.ts +45 -45
  101. package/src/cluster/commit-cert.ts +139 -139
  102. package/src/cluster/i-transaction-state-store.ts +43 -43
  103. package/src/cluster/memory-transaction-state-store.ts +56 -56
  104. package/src/cluster/peer-key-binding.ts +37 -37
  105. package/src/cluster/persistent-transaction-state-store.ts +92 -92
  106. package/src/cluster/quorum-restore.ts +223 -223
  107. package/src/cluster/reconcile-block.ts +203 -203
  108. package/src/cluster/service.ts +293 -241
  109. package/src/cluster/supermajority-coupling.ts +37 -37
  110. package/src/cohort-topic/bootstrap-evidence-builder.ts +122 -122
  111. package/src/cohort-topic/bootstrap-evidence-verifiers.ts +132 -132
  112. package/src/cohort-topic/bootstrap-parent-reference.ts +159 -159
  113. package/src/cohort-topic/change-bridge.ts +109 -109
  114. package/src/cohort-topic/cohort-gossip-driver.ts +231 -231
  115. package/src/cohort-topic/cohort-gossip-transport.ts +84 -84
  116. package/src/cohort-topic/fret-trust-anchor.ts +153 -153
  117. package/src/cohort-topic/host.ts +42 -11
  118. package/src/cohort-topic/index.ts +13 -13
  119. package/src/cohort-topic/membership-publish-sink.ts +20 -20
  120. package/src/cohort-topic/membership-source.ts +68 -68
  121. package/src/cohort-topic/peer-codec.ts +31 -31
  122. package/src/cohort-topic/peer-sig.ts +86 -86
  123. package/src/cohort-topic/protocols.ts +71 -71
  124. package/src/cohort-topic/reactivity-membership-gate.ts +77 -77
  125. package/src/cohort-topic/size-estimator.ts +16 -16
  126. package/src/cohort-topic/stream-util.ts +79 -19
  127. package/src/cohort-topic/threshold-crypto.ts +239 -239
  128. package/src/cohort-topic/topic-router.ts +77 -77
  129. package/src/dispute/arbitrator-selection.ts +138 -138
  130. package/src/dispute/cascade.ts +524 -524
  131. package/src/dispute/dispute-service.ts +11 -5
  132. package/src/dispute/invalidation.ts +625 -625
  133. package/src/inbound-authorization.ts +190 -190
  134. package/src/index.ts +52 -49
  135. package/src/libp2p-key-network.ts +1120 -990
  136. package/src/libp2p-node-base.ts +1675 -1651
  137. package/src/libp2p-node-rn.ts +30 -30
  138. package/src/libp2p-node.ts +36 -36
  139. package/src/logger.ts +19 -2
  140. package/src/matchmaking/aggregate-counts.ts +104 -104
  141. package/src/matchmaking/index.ts +20 -20
  142. package/src/matchmaking/module.ts +363 -363
  143. package/src/matchmaking/protocols.ts +51 -51
  144. package/src/matchmaking/provider-manager.ts +95 -95
  145. package/src/matchmaking/query-handler.ts +88 -88
  146. package/src/matchmaking/query-transport.ts +3 -3
  147. package/src/matchmaking/seeker-manager.ts +64 -64
  148. package/src/matchmaking/seeker-walk-client.ts +293 -293
  149. package/src/matchmaking/traffic-validation.ts +195 -195
  150. package/src/optimystic-node.ts +36 -36
  151. package/src/owned-block-seed.ts +53 -40
  152. package/src/peer-address-book.ts +149 -0
  153. package/src/protocol-limits.ts +33 -33
  154. package/src/reactivity/forwarder-host.ts +438 -438
  155. package/src/reactivity/index.ts +19 -19
  156. package/src/reactivity/notify-transport.ts +144 -144
  157. package/src/reactivity/origination-manager.ts +192 -192
  158. package/src/reactivity/protocols.ts +61 -61
  159. package/src/reactivity/push-state-gossip.ts +291 -291
  160. package/src/reactivity/recover-transport.ts +7 -3
  161. package/src/reactivity/rotation-rereg-scheduler.ts +256 -256
  162. package/src/reactivity/subscriber-registry.ts +96 -96
  163. package/src/reactivity/subscription-manager.ts +450 -450
  164. package/src/reactivity/topic-bytes.ts +37 -37
  165. package/src/repo/client.ts +12 -2
  166. package/src/repo/cluster-coordinator.ts +99 -3
  167. package/src/repo/coordinator-repo.ts +281 -74
  168. package/src/repo/types.ts +7 -7
  169. package/src/rn.ts +39 -36
  170. package/src/rpc-deadline.ts +45 -45
  171. package/src/storage/arachnode-partition.ts +74 -74
  172. package/src/storage/cached-raw-storage.ts +180 -0
  173. package/src/storage/cached-store-driver.ts +859 -0
  174. package/src/storage/i-kv-store.ts +8 -8
  175. package/src/storage/i-raw-storage.ts +12 -5
  176. package/src/storage/kv-raw-storage.ts +135 -135
  177. package/src/storage/memory-kv-store.ts +28 -28
  178. package/src/storage/memory-storage.ts +25 -25
  179. package/src/storage/memory-store-driver.ts +157 -157
  180. package/src/storage/raw-store-codec.ts +42 -42
  181. package/src/storage/raw-store-driver.ts +80 -80
  182. package/src/storage/ring-selector.ts +317 -317
  183. package/src/storage/ring-shift-coordinator.ts +271 -271
  184. package/src/storage/shared-cache-pool.ts +452 -0
  185. package/src/storage/storage-repo.ts +1014 -1014
  186. package/src/testing/cohort-topic-mesh-harness.ts +673 -663
  187. package/src/testing/index.ts +8 -8
  188. package/src/testing/matchmaking-mesh-harness.ts +475 -475
  189. package/src/testing/raw-storage-conformance.ts +453 -417
  190. package/src/testing/reactivity-mesh-harness.ts +922 -922
  191. package/dist/src/storage/restoration-coordinator-v2.d.ts +0 -67
  192. package/dist/src/storage/restoration-coordinator-v2.d.ts.map +0 -1
  193. package/dist/src/storage/restoration-coordinator-v2.js +0 -172
  194. 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
- * Cohort-topic libp2p stream helpers.
2
+ * Single-frame libp2p stream helpers, shared by cohort-topic, matchmaking, and reactivity.
3
3
  *
4
- * The cohort-topic protocols exchange a single self-delimiting cohort frame each way (the db-core wire
5
- * codec already length-prefixes the body), so request/response is one `send` + one bounded read. This
6
- * mirrors FRET's `rpc/maybe-act.ts` exactly and reuses FRET's exported `readAllBounded`, keeping the
7
- * stream lifecycle (open send close-write read close) consistent across both protocol families.
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
- /** Open `protocol` to `peer`, send `frame`, and read the bounded reply frame. */
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
- /** Register a request/response handler for `protocol`: read one bounded frame, reply with one frame. */
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;;;;;;;GAOG;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;AAEnD,iFAAiF;AACjF,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,CAiBrB;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,CAgB/G;AAED,wGAAwG;AACxG,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,CAmBN"}
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
- * Cohort-topic libp2p stream helpers.
2
+ * Single-frame libp2p stream helpers, shared by cohort-topic, matchmaking, and reactivity.
3
3
  *
4
- * The cohort-topic protocols exchange a single self-delimiting cohort frame each way (the db-core wire
5
- * codec already length-prefixes the body), so request/response is one `send` + one bounded read. This
6
- * mirrors FRET's `rpc/maybe-act.ts` exactly and reuses FRET's exported `readAllBounded`, keeping the
7
- * stream lifecycle (open send close-write read close) consistent across both protocol families.
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 { readAllBounded } from "p2p-fret";
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
- /** Open `protocol` to `peer`, send `frame`, and read the bounded reply frame. */
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 = conns.length > 0 ? await conns[0].newStream([protocol]) : await node.dialProtocol(peer, [protocol]);
18
- stream.send(frame);
71
+ stream = await openStream(node, peer, protocol);
72
+ sendFramed(stream, frame);
19
73
  await stream.close();
20
- return await readAllBounded(stream, maxBytes);
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 = conns.length > 0 ? await conns[0].newStream([protocol]) : await node.dialProtocol(peer, [protocol]);
39
- stream.send(frame);
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
- /** Register a request/response handler for `protocol`: read one bounded frame, reply with one frame. */
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 readAllBounded(stream, maxBytes);
118
+ const frame = await readFramed(stream, maxBytes);
59
119
  const reply = await handle(frame, connection.remotePeer);
60
- if (reply !== undefined) {
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":"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"}
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":"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"}
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 payloadStr = promiseHash + ':' + signature.type + (signature.rejectReason ? ':' + signature.rejectReason : '');
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
  }