@optimystic/db-p2p 0.24.2 → 0.25.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 → README.md} +688 -668
- package/dist/src/cluster/block-transfer-service.d.ts +133 -10
- package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
- package/dist/src/cluster/block-transfer-service.js +155 -9
- package/dist/src/cluster/block-transfer-service.js.map +1 -1
- package/dist/src/cluster/block-transfer.d.ts +67 -7
- package/dist/src/cluster/block-transfer.d.ts.map +1 -1
- package/dist/src/cluster/block-transfer.js +127 -24
- package/dist/src/cluster/block-transfer.js.map +1 -1
- package/dist/src/cluster/certified-claims.d.ts +170 -0
- package/dist/src/cluster/certified-claims.d.ts.map +1 -0
- package/dist/src/cluster/certified-claims.js +200 -0
- package/dist/src/cluster/certified-claims.js.map +1 -0
- package/dist/src/cluster/client-signature-verifier.d.ts +23 -0
- package/dist/src/cluster/client-signature-verifier.d.ts.map +1 -0
- package/dist/src/cluster/client-signature-verifier.js +33 -0
- package/dist/src/cluster/client-signature-verifier.js.map +1 -0
- package/dist/src/cluster/cluster-policy.d.ts +9 -3
- package/dist/src/cluster/cluster-policy.d.ts.map +1 -1
- package/dist/src/cluster/cluster-policy.js +111 -27
- package/dist/src/cluster/cluster-policy.js.map +1 -1
- package/dist/src/cluster/cluster-repo.d.ts +140 -11
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +485 -29
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/cluster/commit-proof.d.ts +134 -0
- package/dist/src/cluster/commit-proof.d.ts.map +1 -0
- package/dist/src/cluster/commit-proof.js +263 -0
- package/dist/src/cluster/commit-proof.js.map +1 -0
- package/dist/src/cluster/quorum-restore.d.ts +95 -8
- package/dist/src/cluster/quorum-restore.d.ts.map +1 -1
- package/dist/src/cluster/quorum-restore.js +113 -14
- package/dist/src/cluster/quorum-restore.js.map +1 -1
- package/dist/src/cluster/rebalance-monitor.d.ts +84 -0
- package/dist/src/cluster/rebalance-monitor.d.ts.map +1 -1
- package/dist/src/cluster/rebalance-monitor.js +207 -5
- package/dist/src/cluster/rebalance-monitor.js.map +1 -1
- package/dist/src/cluster/reconcile-block.d.ts +27 -7
- package/dist/src/cluster/reconcile-block.d.ts.map +1 -1
- package/dist/src/cluster/reconcile-block.js +179 -38
- package/dist/src/cluster/reconcile-block.js.map +1 -1
- package/dist/src/cluster/service.d.ts +13 -4
- package/dist/src/cluster/service.d.ts.map +1 -1
- package/dist/src/cluster/service.js +17 -18
- package/dist/src/cluster/service.js.map +1 -1
- package/dist/src/cluster/spread-on-churn.d.ts +8 -2
- package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
- package/dist/src/cluster/spread-on-churn.js +7 -7
- package/dist/src/cluster/spread-on-churn.js.map +1 -1
- package/dist/src/cohort-topic/host.d.ts.map +1 -1
- package/dist/src/cohort-topic/host.js +8 -7
- package/dist/src/cohort-topic/host.js.map +1 -1
- package/dist/src/cohort-topic/stream-util.d.ts +7 -6
- package/dist/src/cohort-topic/stream-util.d.ts.map +1 -1
- package/dist/src/cohort-topic/stream-util.js +14 -41
- package/dist/src/cohort-topic/stream-util.js.map +1 -1
- package/dist/src/dispute/cascade.d.ts +7 -8
- package/dist/src/dispute/cascade.d.ts.map +1 -1
- package/dist/src/dispute/cascade.js +24 -7
- package/dist/src/dispute/cascade.js.map +1 -1
- package/dist/src/dispute/dispute-service.d.ts +5 -0
- package/dist/src/dispute/dispute-service.d.ts.map +1 -1
- package/dist/src/dispute/dispute-service.js +13 -3
- package/dist/src/dispute/dispute-service.js.map +1 -1
- package/dist/src/dispute/invalidation.d.ts +33 -15
- package/dist/src/dispute/invalidation.d.ts.map +1 -1
- package/dist/src/dispute/invalidation.js +127 -34
- package/dist/src/dispute/invalidation.js.map +1 -1
- package/dist/src/dispute/service.d.ts.map +1 -1
- package/dist/src/dispute/service.js +2 -1
- package/dist/src/dispute/service.js.map +1 -1
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +14 -10
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +28 -58
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts +38 -7
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +148 -63
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/network/open-protocol-stream.d.ts +56 -0
- package/dist/src/network/open-protocol-stream.d.ts.map +1 -0
- package/dist/src/network/open-protocol-stream.js +60 -0
- package/dist/src/network/open-protocol-stream.js.map +1 -0
- package/dist/src/network/register-protocol-handler.d.ts +66 -0
- package/dist/src/network/register-protocol-handler.d.ts.map +1 -0
- package/dist/src/network/register-protocol-handler.js +51 -0
- package/dist/src/network/register-protocol-handler.js.map +1 -0
- package/dist/src/peer-address-book.d.ts +60 -2
- package/dist/src/peer-address-book.d.ts.map +1 -1
- package/dist/src/peer-address-book.js +89 -1
- package/dist/src/peer-address-book.js.map +1 -1
- package/dist/src/pend-validation.d.ts +65 -0
- package/dist/src/pend-validation.d.ts.map +1 -0
- package/dist/src/pend-validation.js +69 -0
- package/dist/src/pend-validation.js.map +1 -0
- package/dist/src/reactivity/notify-transport.d.ts.map +1 -1
- package/dist/src/reactivity/notify-transport.js +2 -1
- package/dist/src/reactivity/notify-transport.js.map +1 -1
- package/dist/src/reactivity/push-state-gossip.d.ts.map +1 -1
- package/dist/src/reactivity/push-state-gossip.js +2 -1
- package/dist/src/reactivity/push-state-gossip.js.map +1 -1
- package/dist/src/repo/cluster-coordinator.d.ts +32 -6
- package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
- package/dist/src/repo/cluster-coordinator.js +44 -10
- package/dist/src/repo/cluster-coordinator.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +181 -25
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +650 -62
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/repo/served-repo-proxy.d.ts +30 -0
- package/dist/src/repo/served-repo-proxy.d.ts.map +1 -0
- package/dist/src/repo/served-repo-proxy.js +50 -0
- package/dist/src/repo/served-repo-proxy.js.map +1 -0
- package/dist/src/repo/service.d.ts +16 -1
- package/dist/src/repo/service.d.ts.map +1 -1
- package/dist/src/repo/service.js +18 -16
- package/dist/src/repo/service.js.map +1 -1
- package/dist/src/reputation/types.d.ts +3 -1
- package/dist/src/reputation/types.d.ts.map +1 -1
- package/dist/src/reputation/types.js +3 -1
- package/dist/src/reputation/types.js.map +1 -1
- package/dist/src/rn.d.ts +24 -2
- package/dist/src/rn.d.ts.map +1 -1
- package/dist/src/rn.js +33 -4
- package/dist/src/rn.js.map +1 -1
- package/dist/src/storage/block-archive.d.ts +153 -0
- package/dist/src/storage/block-archive.d.ts.map +1 -0
- package/dist/src/storage/block-archive.js +194 -0
- package/dist/src/storage/block-archive.js.map +1 -0
- package/dist/src/storage/block-latch.d.ts +92 -0
- package/dist/src/storage/block-latch.d.ts.map +1 -0
- package/dist/src/storage/block-latch.js +132 -0
- package/dist/src/storage/block-latch.js.map +1 -0
- package/dist/src/storage/block-storage.d.ts +169 -12
- package/dist/src/storage/block-storage.d.ts.map +1 -1
- package/dist/src/storage/block-storage.js +415 -152
- package/dist/src/storage/block-storage.js.map +1 -1
- package/dist/src/storage/cached-raw-storage.d.ts +5 -1
- package/dist/src/storage/cached-raw-storage.d.ts.map +1 -1
- package/dist/src/storage/cached-raw-storage.js +16 -1
- package/dist/src/storage/cached-raw-storage.js.map +1 -1
- package/dist/src/storage/cached-store-driver.d.ts +14 -4
- package/dist/src/storage/cached-store-driver.d.ts.map +1 -1
- package/dist/src/storage/cached-store-driver.js +39 -5
- package/dist/src/storage/cached-store-driver.js.map +1 -1
- package/dist/src/storage/i-block-storage.d.ts +70 -19
- package/dist/src/storage/i-block-storage.d.ts.map +1 -1
- package/dist/src/storage/i-block-storage.js +21 -1
- package/dist/src/storage/i-block-storage.js.map +1 -1
- package/dist/src/storage/i-raw-storage.d.ts +38 -0
- package/dist/src/storage/i-raw-storage.d.ts.map +1 -1
- package/dist/src/storage/kv-raw-storage.d.ts +14 -8
- package/dist/src/storage/kv-raw-storage.d.ts.map +1 -1
- package/dist/src/storage/kv-raw-storage.js +29 -9
- package/dist/src/storage/kv-raw-storage.js.map +1 -1
- package/dist/src/storage/memory-store-driver.d.ts +4 -1
- package/dist/src/storage/memory-store-driver.d.ts.map +1 -1
- package/dist/src/storage/memory-store-driver.js +22 -2
- package/dist/src/storage/memory-store-driver.js.map +1 -1
- package/dist/src/storage/raw-store-codec.js +2 -2
- package/dist/src/storage/raw-store-driver.d.ts +44 -3
- package/dist/src/storage/raw-store-driver.d.ts.map +1 -1
- package/dist/src/storage/shared-cache-pool.d.ts +60 -3
- package/dist/src/storage/shared-cache-pool.d.ts.map +1 -1
- package/dist/src/storage/shared-cache-pool.js +68 -4
- package/dist/src/storage/shared-cache-pool.js.map +1 -1
- package/dist/src/storage/storage-repo.d.ts +204 -26
- package/dist/src/storage/storage-repo.d.ts.map +1 -1
- package/dist/src/storage/storage-repo.js +422 -119
- package/dist/src/storage/storage-repo.js.map +1 -1
- package/dist/src/storage/store-identity.d.ts +21 -0
- package/dist/src/storage/store-identity.d.ts.map +1 -0
- package/dist/src/storage/store-identity.js +33 -0
- package/dist/src/storage/store-identity.js.map +1 -0
- package/dist/src/storage/struct.d.ts +15 -0
- package/dist/src/storage/struct.d.ts.map +1 -1
- package/dist/src/storage/with-read-cache.d.ts +92 -0
- package/dist/src/storage/with-read-cache.d.ts.map +1 -0
- package/dist/src/storage/with-read-cache.js +132 -0
- package/dist/src/storage/with-read-cache.js.map +1 -0
- package/dist/src/sync/service.d.ts +13 -3
- package/dist/src/sync/service.d.ts.map +1 -1
- package/dist/src/sync/service.js +7 -30
- package/dist/src/sync/service.js.map +1 -1
- package/dist/src/testing/mesh-harness.d.ts +75 -2
- package/dist/src/testing/mesh-harness.d.ts.map +1 -1
- package/dist/src/testing/mesh-harness.js +193 -81
- package/dist/src/testing/mesh-harness.js.map +1 -1
- package/dist/src/testing/raw-storage-conformance.d.ts +8 -0
- package/dist/src/testing/raw-storage-conformance.d.ts.map +1 -1
- package/dist/src/testing/raw-storage-conformance.js +97 -2
- package/dist/src/testing/raw-storage-conformance.js.map +1 -1
- package/package.json +5 -6
- package/src/cluster/block-transfer-service.ts +528 -312
- package/src/cluster/block-transfer.ts +547 -424
- package/src/cluster/certified-claims.ts +319 -0
- package/src/cluster/client-signature-verifier.ts +34 -0
- package/src/cluster/cluster-policy.ts +294 -203
- package/src/cluster/cluster-repo.ts +2501 -2034
- package/src/cluster/commit-proof.ts +344 -0
- package/src/cluster/quorum-restore.ts +348 -223
- package/src/cluster/rebalance-monitor.ts +539 -254
- package/src/cluster/reconcile-block.ts +404 -203
- package/src/cluster/service.ts +23 -20
- package/src/cluster/spread-on-churn.ts +352 -346
- package/src/cohort-topic/host.ts +8 -7
- package/src/cohort-topic/stream-util.ts +14 -43
- package/src/dispute/cascade.ts +31 -15
- package/src/dispute/dispute-service.ts +706 -696
- package/src/dispute/invalidation.ts +162 -52
- package/src/dispute/service.ts +126 -125
- package/src/index.ts +7 -0
- package/src/libp2p-key-network.ts +1204 -1235
- package/src/libp2p-node-base.ts +185 -70
- package/src/network/open-protocol-stream.ts +87 -0
- package/src/network/register-protocol-handler.ts +85 -0
- package/src/peer-address-book.ts +96 -2
- package/src/pend-validation.ts +89 -0
- package/src/reactivity/notify-transport.ts +2 -1
- package/src/reactivity/push-state-gossip.ts +2 -1
- package/src/repo/cluster-coordinator.ts +65 -11
- package/src/repo/coordinator-repo.ts +729 -71
- package/src/repo/served-repo-proxy.ts +55 -0
- package/src/repo/service.ts +25 -16
- package/src/reputation/types.ts +3 -1
- package/src/rn.ts +34 -4
- package/src/storage/block-archive.ts +242 -0
- package/src/storage/block-latch.ts +144 -0
- package/src/storage/block-storage.ts +787 -498
- package/src/storage/cached-raw-storage.ts +21 -1
- package/src/storage/cached-store-driver.ts +898 -859
- package/src/storage/i-block-storage.ts +172 -116
- package/src/storage/i-raw-storage.ts +40 -0
- package/src/storage/kv-raw-storage.ts +34 -9
- package/src/storage/memory-store-driver.ts +26 -2
- package/src/storage/raw-store-codec.ts +42 -42
- package/src/storage/raw-store-driver.ts +45 -3
- package/src/storage/shared-cache-pool.ts +516 -452
- package/src/storage/storage-repo.ts +1421 -1014
- package/src/storage/store-identity.ts +41 -0
- package/src/storage/struct.ts +52 -34
- package/src/storage/with-read-cache.ts +182 -0
- package/src/sync/service.ts +178 -198
- package/src/testing/mesh-harness.ts +524 -344
- package/src/testing/raw-storage-conformance.ts +114 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-node-base.d.ts","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"libp2p-node-base.d.ts","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { identify, identifyPush } from '@libp2p/identify';
|
|
|
5
5
|
import { ping } from '@libp2p/ping';
|
|
6
6
|
import { dcutr } from '@libp2p/dcutr';
|
|
7
7
|
import { autoNAT } from '@libp2p/autonat';
|
|
8
|
-
import { gossipsub } from '@chainsafe/libp2p-gossipsub';
|
|
9
8
|
import { bootstrap } from '@libp2p/bootstrap';
|
|
10
9
|
import { circuitRelayServer } from '@libp2p/circuit-relay-v2';
|
|
11
10
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
@@ -13,9 +12,12 @@ import { generateKeyPair } from '@libp2p/crypto/keys';
|
|
|
13
12
|
import { clusterService } from './cluster/service.js';
|
|
14
13
|
import { blockTransferService } from './cluster/block-transfer-service.js';
|
|
15
14
|
import { repoService } from './repo/service.js';
|
|
16
|
-
import { StorageRepo
|
|
15
|
+
import { StorageRepo } from './storage/storage-repo.js';
|
|
17
16
|
import { BlockStorage } from './storage/block-storage.js';
|
|
18
17
|
import { MemoryRawStorage } from './storage/memory-storage.js';
|
|
18
|
+
import { withReadCache } from './storage/with-read-cache.js';
|
|
19
|
+
import { latestClaimFromArchive, servableProof } from './storage/block-archive.js';
|
|
20
|
+
import { createServedRepoProxy } from './repo/served-repo-proxy.js';
|
|
19
21
|
import { seedOwnedBlocksFromStorage } from './owned-block-seed.js';
|
|
20
22
|
import { clusterMember } from './cluster/cluster-repo.js';
|
|
21
23
|
import { createReconcileBlock } from './cluster/reconcile-block.js';
|
|
@@ -24,7 +26,7 @@ import { assertClusterSizeCoupling } from './cluster/cluster-size-coupling.js';
|
|
|
24
26
|
import { createCommitCertStore, makeClusterCommitCertExtractor } from './cluster/commit-cert.js';
|
|
25
27
|
import { coordinatorRepo } from './repo/coordinator-repo.js';
|
|
26
28
|
import { Libp2pKeyPeerNetwork } from './libp2p-key-network.js';
|
|
27
|
-
import { mergePeerAddresses,
|
|
29
|
+
import { mergePeerAddresses, publishableAddrsForPeer } from './peer-address-book.js';
|
|
28
30
|
import { ClusterClient } from './cluster/client.js';
|
|
29
31
|
import { networkManagerService } from './network/network-manager-service.js';
|
|
30
32
|
import { BlockTransferCoordinator } from './cluster/block-transfer.js';
|
|
@@ -67,11 +69,30 @@ const reactivityWiringLog = createLogger('reactivity-node-wiring');
|
|
|
67
69
|
* not fatal.
|
|
68
70
|
*/
|
|
69
71
|
const wiringLog = createLogger('node-wiring');
|
|
70
|
-
|
|
72
|
+
/**
|
|
73
|
+
* Resolve the node's raw storage and put the write-through read cache in front of it. This is
|
|
74
|
+
* the single place the network node resolves its `IRawStorage`, so it is the single place the
|
|
75
|
+
* cache is wired (`withReadCache` states the exclusions: memory storage and already-cached
|
|
76
|
+
* storage pass through unchanged). The default is a bare `MemoryRawStorage`, deliberately not
|
|
77
|
+
* routed through the helper — nothing to cache.
|
|
78
|
+
*
|
|
79
|
+
* `lease` is this node's claim on the (possibly shared) cache, and the ONLY thing its stop path
|
|
80
|
+
* may release — a host that supplied its own `CachedRawStorage` keeps owning it (see
|
|
81
|
+
* {@link ResolvedReadCache}).
|
|
82
|
+
*/
|
|
83
|
+
function resolveStorage(provider, networkName) {
|
|
71
84
|
if (!provider) {
|
|
72
|
-
return new MemoryRawStorage();
|
|
85
|
+
return { storage: new MemoryRawStorage(), lease: undefined };
|
|
73
86
|
}
|
|
74
|
-
|
|
87
|
+
const storage = typeof provider === 'function' ? provider() : provider;
|
|
88
|
+
// NOTE: the label is the network name, so N nodes on one network in one process over N DISTINCT
|
|
89
|
+
// stores produce N identically-labelled rows in `SharedCachePool.stats()` (the pool keys on a
|
|
90
|
+
// monotonic store id, not the label); N nodes over ONE store share a single row, labelled by
|
|
91
|
+
// whichever node wrapped first. Harmless while the label is only read by a human eyeballing
|
|
92
|
+
// occupancy; if pool stats ever need to attribute bytes to a SPECIFIC node, fold the peer id
|
|
93
|
+
// in — it is not known here, so that would mean labelling after node construction rather than
|
|
94
|
+
// at resolve time.
|
|
95
|
+
return withReadCache(storage, `node:${networkName}`);
|
|
75
96
|
}
|
|
76
97
|
/**
|
|
77
98
|
* Resolve the full FRET engine the cohort-topic host needs.
|
|
@@ -105,21 +126,13 @@ function resolveCurrentServedTopic(forwarderHost, collectionId) {
|
|
|
105
126
|
return ps === undefined ? undefined : b64urlToBytes(ps.topicId);
|
|
106
127
|
}
|
|
107
128
|
export async function createLibp2pNodeBase(options, defaults) {
|
|
108
|
-
const rawStorage = resolveStorage(options.storage);
|
|
129
|
+
const { storage: rawStorage, lease } = resolveStorage(options.storage, options.networkName);
|
|
109
130
|
// Create placeholder restore callback (will be replaced after node starts)
|
|
110
131
|
let restoreCallback = async (_blockId, _rev) => {
|
|
111
132
|
return undefined;
|
|
112
133
|
};
|
|
113
134
|
// Create shared storage layers with restoration callback
|
|
114
135
|
const storageRepo = new StorageRepo((blockId) => new BlockStorage(blockId, rawStorage, restoreCallback));
|
|
115
|
-
// Per-block commit-latch runner, ready to thread into the invalidation-apply sink (`onInvalidate`)
|
|
116
|
-
// passed to `clusterMember(...)` and into each cascade `CollectionEnv`, the instant either is wired
|
|
117
|
-
// here. Sharing the `StorageRepo.commit:<blockId>` latch makes a compensating saveReplica/saveDeletion
|
|
118
|
-
// RMW of `meta.latest` mutually exclusive with a concurrent commit on the same block. It is unused
|
|
119
|
-
// today only because no `onInvalidate`/cascade driver is wired in the live node (see review handoff);
|
|
120
|
-
// it is bound here so that wiring is a one-liner and cannot reach for a divergent latch key.
|
|
121
|
-
const blockCommitLatch = withBlockCommitLatch;
|
|
122
|
-
void blockCommitLatch;
|
|
123
136
|
let clusterImpl;
|
|
124
137
|
let coordinatedRepo;
|
|
125
138
|
// The running node, bound immediately after `createLibp2p` below. Service factories that need
|
|
@@ -138,24 +151,11 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
138
151
|
return await clusterImpl.update(record);
|
|
139
152
|
}
|
|
140
153
|
};
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
async pend(request, options) {
|
|
147
|
-
const target = coordinatedRepo ?? storageRepo;
|
|
148
|
-
return await target.pend(request, options);
|
|
149
|
-
},
|
|
150
|
-
async cancel(trxRef, options) {
|
|
151
|
-
const target = coordinatedRepo ?? storageRepo;
|
|
152
|
-
return await target.cancel(trxRef, options);
|
|
153
|
-
},
|
|
154
|
-
async commit(request, options) {
|
|
155
|
-
const target = coordinatedRepo ?? storageRepo;
|
|
156
|
-
return await target.commit(request, options);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
154
|
+
// Built by a named factory, not an inline literal: see `createServedRepoProxy` for why (an
|
|
155
|
+
// inline object here is unreachable from every test that does not boot a libp2p node, which is
|
|
156
|
+
// how it served every repair archive without its commit proof). `coordinatedRepo` is read per
|
|
157
|
+
// call because it is assigned further down, after the cluster is assembled.
|
|
158
|
+
const repoProxy = createServedRepoProxy(storageRepo, () => coordinatedRepo);
|
|
159
159
|
// The ONE authorization slice, spread verbatim into all four database-protocol service inits
|
|
160
160
|
// below. Building it once (rather than repeating two option reads per service) is what makes
|
|
161
161
|
// "secured three surfaces, missed the fourth" impossible: adding a fifth protocol service is a
|
|
@@ -264,10 +264,16 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
264
264
|
// is acceptable — they neither throw nor break the build in that case.
|
|
265
265
|
dcutr: dcutr(),
|
|
266
266
|
autoNAT: autoNAT(),
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
267
|
+
// NOTE: no `pubsub` service. `@chainsafe/libp2p-gossipsub` (currently at 14.1.2, the newest
|
|
268
|
+
// published version) is built against `@libp2p/interface@^2` — its `Stream` still expects
|
|
269
|
+
// `.sink`/`.source`. Under libp2p 3 `Stream extends MessageStream` (event target +
|
|
270
|
+
// AsyncIterable), which has neither, so `it-pipe`'s `isDuplex` check on the outbound stream
|
|
271
|
+
// fails and `OutboundStream`'s constructor throws `fns.shift(...) is not a function`
|
|
272
|
+
// synchronously — before gossipsub's own `.catch` can attach. Gossipsub logs and swallows
|
|
273
|
+
// it, so the service reports as running while never sending a subscription to any peer:
|
|
274
|
+
// `publish` always resolves with zero recipients. Verified end-to-end against this repo's
|
|
275
|
+
// installed dependency tree (gotchoices/Optimystic#9). Nothing in this repo uses `pubsub`
|
|
276
|
+
// today — re-add only against a gossipsub release built for libp2p 3.
|
|
271
277
|
// Circuit relay server - enables this node to relay connections for other peers
|
|
272
278
|
...(options.relay ? { relay: circuitRelayServer(options.relayServerInit) } : {}),
|
|
273
279
|
// Custom services - create wrapper factories that inject dependencies
|
|
@@ -287,18 +293,14 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
287
293
|
peerId: components.peerId,
|
|
288
294
|
// Fallback addr resolver for redirect targets whose multiaddrs are not
|
|
289
295
|
// already embedded in record.peers. A redirect payload is handed to a THIRD
|
|
290
|
-
// party, so it
|
|
291
|
-
// `
|
|
292
|
-
//
|
|
293
|
-
getConnectionAddrs: (peerId) => {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
if (addr !== undefined)
|
|
299
|
-
addrs.push(addr);
|
|
300
|
-
}
|
|
301
|
-
return addrs;
|
|
296
|
+
// party, so it answers with `publishableAddrsForPeer` — the same rule, and the
|
|
297
|
+
// same function, `findCluster` uses to fill a cluster record: the publishable
|
|
298
|
+
// half of our live connections plus the peer's own advertised addresses.
|
|
299
|
+
getConnectionAddrs: async (peerId) => {
|
|
300
|
+
if (!liveNode)
|
|
301
|
+
return [];
|
|
302
|
+
const conns = liveNode.getConnections?.(peerId) ?? [];
|
|
303
|
+
return await publishableAddrsForPeer(liveNode, conns, peerId, addressLog);
|
|
302
304
|
},
|
|
303
305
|
// Inbound cluster records carry each cohort member's multiaddrs. libp2p only
|
|
304
306
|
// propagates addresses between directly-connected peers, so for a cohort chosen
|
|
@@ -350,11 +352,20 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
350
352
|
blockTransfer: (components) => {
|
|
351
353
|
const serviceFactory = blockTransferService({
|
|
352
354
|
protocolPrefix: `/optimystic/${options.networkName}`,
|
|
355
|
+
// Absent → the strict default inside the service; see `blockTransfer` on the options.
|
|
356
|
+
...(options.blockTransfer?.requirePushCertificate !== undefined
|
|
357
|
+
? { requirePushCertificate: options.blockTransfer.requirePushCertificate }
|
|
358
|
+
: {}),
|
|
353
359
|
...inboundAuthorization
|
|
354
360
|
});
|
|
355
361
|
return serviceFactory({
|
|
356
362
|
registrar: components.registrar,
|
|
357
363
|
repo: storageRepo,
|
|
364
|
+
// Verifying a pushed block's commit proof needs the cohort's super-majority fraction.
|
|
365
|
+
// Read from the SAME resolved `consensusConfig` the member and coordinator read (whose
|
|
366
|
+
// coupling `assertSuperMajorityCoupling` below already asserts) — a third copy resolving
|
|
367
|
+
// its own default would defeat that.
|
|
368
|
+
superMajorityThreshold: consensusConfig.superMajorityThreshold,
|
|
358
369
|
// So this service's authorization denials reach the same error sink as the other three.
|
|
359
370
|
logger: components.logger
|
|
360
371
|
});
|
|
@@ -412,6 +423,26 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
412
423
|
// redirect-addr resolvers read it on every inbound request, and the first one can arrive as
|
|
413
424
|
// soon as the protocol handler goes live in start().
|
|
414
425
|
liveNode = node;
|
|
426
|
+
// Release this node's lease on the raw-storage read cache when the node stops. Installed FIRST
|
|
427
|
+
// — before start() and before every other stop wrapper — so it runs LAST in the wrapper chain,
|
|
428
|
+
// after every monitor and service that may still read storage during its own stop. Only wired
|
|
429
|
+
// when the seam handed out a lease: a MemoryRawStorage passes through unwrapped, and a
|
|
430
|
+
// host-supplied `CachedRawStorage` stays the host's to dispose. Releasing a lease is safe even
|
|
431
|
+
// when other nodes share the cache — it is cleared and unregistered only when the last lease
|
|
432
|
+
// goes, so stopping one node never blinds the others. A skipped release leaks only cold
|
|
433
|
+
// entries the pool evicts under pressure; the point of the polite release is honest pool
|
|
434
|
+
// occupancy on a long-lived provider node.
|
|
435
|
+
if (lease) {
|
|
436
|
+
const previousStop = node.stop.bind(node);
|
|
437
|
+
node.stop = async () => {
|
|
438
|
+
try {
|
|
439
|
+
await previousStop();
|
|
440
|
+
}
|
|
441
|
+
finally {
|
|
442
|
+
await lease.release();
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
}
|
|
415
446
|
// Inject the REAL libp2p node into the services that need it, before start(). These are
|
|
416
447
|
// load-bearing and the node has NOT started yet, so any throw fails fast and rejects node
|
|
417
448
|
// creation (nothing started leaks) — far better than the service silently falling back to the
|
|
@@ -490,10 +521,20 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
490
521
|
const reconcileBlock = createReconcileBlock({
|
|
491
522
|
selfPeerId: node.peerId.toString(),
|
|
492
523
|
fetchArchive: fetchArchiveFromPeer,
|
|
493
|
-
|
|
524
|
+
// The 4th parameter is a proof reconcile verified against these exact bytes; it is
|
|
525
|
+
// persisted so the repaired replica serves it onward (see StorageRepo.saveReplicatedBlock).
|
|
526
|
+
saveReplicatedBlock: (blockId, block, source, verifiedProof) => storageRepo.saveReplicatedBlock(blockId, block, source, verifiedProof),
|
|
494
527
|
simpleMajorityThreshold: consensusConfig.simpleMajorityThreshold,
|
|
528
|
+
superMajorityThreshold: consensusConfig.superMajorityThreshold,
|
|
495
529
|
repairCorroborationClusterSize: consensusConfig.repairCorroborationClusterSize,
|
|
496
530
|
reputation
|
|
531
|
+
// `anchoring` (proof layer-2, `ProofAnchoring`) is intentionally NOT wired here yet — nor
|
|
532
|
+
// is the coordinator's `proofAnchoring` below: a real implementation re-derives the
|
|
533
|
+
// block's cohort from `keyNetwork.findCluster` (the same source `deriveExpectedCluster`
|
|
534
|
+
// uses) and needs a churn-tolerance window so historic cohort rotation does not read as an
|
|
535
|
+
// anomaly flood. Until then certification runs on layer-1 cryptography and LOGS the
|
|
536
|
+
// unanchored residual. See `feat-cluster-membership-threshold-cert-anchoring`, and the
|
|
537
|
+
// matching `recomputeArbitratorSet` note at the clusterMember construction below.
|
|
497
538
|
});
|
|
498
539
|
// Member-side membership derivation for the admission gate: independently re-derive this block's
|
|
499
540
|
// responsible cluster from the SAME source the coordinator uses (IKeyNetwork.findCluster), plus FRET's
|
|
@@ -558,12 +599,18 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
558
599
|
...consensusConfig
|
|
559
600
|
}, fretSvc, reputation, options.transactionStateStore);
|
|
560
601
|
// Create callback for querying cluster peers for their latest block revision. Three-way
|
|
561
|
-
// contract (see ClusterLatestCallback):
|
|
602
|
+
// contract (see ClusterLatestCallback): a CertifiedActionRev is the peer's claim, a resolved
|
|
562
603
|
// `undefined` is the peer answering "I hold nothing", and a REJECTION is silence — the
|
|
563
604
|
// coordinator counts it as "did not answer" and refuses to report an authoritative absent
|
|
564
605
|
// over it. Transport errors must therefore propagate, not collapse into `undefined` (that
|
|
565
606
|
// collapse let a slow two-node cohort report a missing block as authoritatively absent —
|
|
566
607
|
// ticket cluster-read-consult-cannot-report-unreachable).
|
|
608
|
+
//
|
|
609
|
+
// The claim carries the cohort's commit proof for the claimed revision when the answering
|
|
610
|
+
// peer retained one. It is attached UNVERIFIED — a peer chooses what to send. Both repair
|
|
611
|
+
// paths verify it before weighing it (the shared layer in `cluster/certified-claims.ts`):
|
|
612
|
+
// the coordinator's certifyClaim pass in `queryClusterForLatest`, and reconcile's
|
|
613
|
+
// certification pass in `cluster/reconcile-block.ts`.
|
|
567
614
|
const clusterLatestCallback = async (peerId, blockId, context) => {
|
|
568
615
|
// Self-read short-circuit: dialling self via SyncClient is a round trip
|
|
569
616
|
// with no remote on the other end, and on nodes without listen addresses
|
|
@@ -574,7 +621,14 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
574
621
|
if (peerId.equals(node.peerId)) {
|
|
575
622
|
try {
|
|
576
623
|
const result = await storageRepo.get({ blockIds: [blockId], context });
|
|
577
|
-
|
|
624
|
+
const latest = result[blockId]?.state?.latest;
|
|
625
|
+
if (!latest)
|
|
626
|
+
return undefined;
|
|
627
|
+
// The SAME lookup a peer serving an archive uses, so a self answer and a remote
|
|
628
|
+
// answer attach proofs by one rule (including the mis-pairing guard). It never
|
|
629
|
+
// throws — a proof fault degrades to "no proof", never to a lost claim.
|
|
630
|
+
const proof = await servableProof(storageRepo, blockId, latest);
|
|
631
|
+
return proof ? { ...latest, proof } : latest;
|
|
578
632
|
}
|
|
579
633
|
catch {
|
|
580
634
|
return undefined;
|
|
@@ -585,14 +639,12 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
585
639
|
// per-peer deadline also bounds a hung request — slowness needs no race here.
|
|
586
640
|
const response = await syncClient.requestBlock({ blockId, rev: undefined });
|
|
587
641
|
if (response.success && response.archive) {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
}
|
|
595
|
-
}
|
|
642
|
+
// Projection lives with the archive shape (`latestClaimFromArchive`) rather than
|
|
643
|
+
// re-read inline here — it reads the claim and its proof out of ONE revision entry,
|
|
644
|
+
// so a serving peer cannot pair a proof with a revision it does not certify.
|
|
645
|
+
const claim = latestClaimFromArchive(response.archive);
|
|
646
|
+
if (claim)
|
|
647
|
+
return claim;
|
|
596
648
|
}
|
|
597
649
|
// The peer DID answer, without data: `success:false` is the sync service's "Block not
|
|
598
650
|
// found in local storage", and an archive with no usable revisions holds nothing either
|
|
@@ -745,7 +797,12 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
745
797
|
fretAdapter.setArachnodeInfo(arachnodeInfo);
|
|
746
798
|
log?.('Announced Arachnode membership: Ring %d', arachnodeInfo.ringDepth);
|
|
747
799
|
// Setup restoration coordinator with FRET adapter
|
|
748
|
-
const restorationCoordinatorV2 = new RestorationCoordinator(fretAdapter,
|
|
800
|
+
const restorationCoordinatorV2 = new RestorationCoordinator(fretAdapter,
|
|
801
|
+
// The node's own IPeerNetwork, not an inline `dialProtocol` lambda: the lambda opened
|
|
802
|
+
// streams without `runOnLimitedConnection`, so a block holder reachable only through a
|
|
803
|
+
// relay looked like a peer that simply did not have the block, and it dropped the
|
|
804
|
+
// caller's AbortSignal, so `SyncClient`'s per-peer dial deadline never bounded a dial.
|
|
805
|
+
keyNetwork, `/optimystic/${options.networkName}`, node.peerId.toString());
|
|
749
806
|
// Update restore callback to use new coordinator
|
|
750
807
|
const newRestoreCallback = async (blockId, rev) => {
|
|
751
808
|
return await restorationCoordinatorV2.restore(blockId, rev);
|
|
@@ -795,6 +852,18 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
795
852
|
// async loop. Adding/deleting a Set entry during iteration does not throw in JS — entries
|
|
796
853
|
// are visited best-effort — which is acceptable for a resilience mechanism, so we
|
|
797
854
|
// document it here rather than add locking.
|
|
855
|
+
//
|
|
856
|
+
// The event's `grown` arm (blocks this node KEEPS whose cohort acquired new peers — the
|
|
857
|
+
// founder/cohort-growth case): handleRebalanceEvent pushes each grown block to the newly
|
|
858
|
+
// co-responsible peers and returns a per-block GrowthOutcome in `result.growth`, which is
|
|
859
|
+
// fed back into the monitor here. The monitor records a peer as seen ONLY off that
|
|
860
|
+
// feedback (a confirmed replica, or a block that otherwise reached its floor), so a failed
|
|
861
|
+
// push is re-detected on the next check instead of being silently dropped — bounded by
|
|
862
|
+
// growthMaxAttempts, after which the monitor abandons the peer for that block (visible in
|
|
863
|
+
// getGrowthDiagnostics). Nothing is released or untracked off the grown arm — the node
|
|
864
|
+
// keeps serving the block either way. On the catch path NOTHING is recorded: the monitor's
|
|
865
|
+
// state stays un-advanced and the next check retries, the correct outcome for a reaction
|
|
866
|
+
// that threw.
|
|
798
867
|
rebalanceMonitor.onRebalance((event) => {
|
|
799
868
|
for (const blockId of event.gained)
|
|
800
869
|
ownedBlocks.add(blockId);
|
|
@@ -803,7 +872,23 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
803
872
|
rebalanceMonitor.untrackBlock(blockId); // also evicts from the shared ownedBlocks set
|
|
804
873
|
gcEligible.add(blockId); // confirmed replicated → safe to sweep
|
|
805
874
|
}
|
|
875
|
+
for (const [blockId, outcome] of result.growth) {
|
|
876
|
+
rebalanceMonitor.recordGrowthOutcome(blockId, outcome);
|
|
877
|
+
}
|
|
878
|
+
if (result.underReplicated.length > 0) {
|
|
879
|
+
const growthDiag = rebalanceMonitor.getGrowthDiagnostics();
|
|
880
|
+
log?.('cohort-growth: %d of %d grown blocks not confirmed on new peers this pass ' +
|
|
881
|
+
'(awaiting-confirmation=%d given-up-pairs=%d)', result.underReplicated.length, event.grown.size, growthDiag.blocksAwaitingConfirmation, growthDiag.abandonedPairs);
|
|
882
|
+
}
|
|
806
883
|
}).catch((err) => {
|
|
884
|
+
// NOTE: accepted tradeoff — recording nothing here means growthMaxAttempts (which
|
|
885
|
+
// only counts RECORDED incomplete outcomes) never bounds a reaction that throws
|
|
886
|
+
// every time, so the re-check timer retries it at growthRecheckIntervalMs forever,
|
|
887
|
+
// logging each failure. Kept deliberately: per-peer errors are already caught
|
|
888
|
+
// inside the coordinator, so a throw out of handleRebalanceEvent is a coding bug,
|
|
889
|
+
// and a loud unbounded retry is the right way to surface one — silently abandoning
|
|
890
|
+
// the block would hide it and leave the block singly held. Revisit if a legitimate
|
|
891
|
+
// recoverable condition is ever allowed to throw out of the reaction.
|
|
807
892
|
log?.('rebalance reaction failed: %o', err);
|
|
808
893
|
});
|
|
809
894
|
});
|
|
@@ -1145,13 +1230,13 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
1145
1230
|
});
|
|
1146
1231
|
// Inbound notify frames → forwarder host (subscriber role delivers in-process; forwarder role fans out).
|
|
1147
1232
|
// NOTE: the four `register*Handler` helpers below (notify / pushStateGossip / recover /
|
|
1148
|
-
// matchmaking query) all call `
|
|
1233
|
+
// matchmaking query) all call `registerProtocolHandler(...)` fire-and-forget (`void`), so a rejected
|
|
1149
1234
|
// registration escapes the post-start rollback `catch` as an UNHANDLED rejection instead of
|
|
1150
1235
|
// failing node creation. Harmless today — every protocol id here is a fixed constant registered
|
|
1151
1236
|
// exactly once, so the only realistic rejection is a duplicate, and that needs a caller to pass
|
|
1152
1237
|
// overlapping custom `cohortTopic.host.protocols`. If any of these ids ever becomes
|
|
1153
1238
|
// caller-configurable, or a helper grows a registration that can genuinely fail, make them await
|
|
1154
|
-
// their `
|
|
1239
|
+
// their `registerProtocolHandler` so the failure reaches the rollback.
|
|
1155
1240
|
registerNotifyHandler(node, reactivityProtocols.notify, notify);
|
|
1156
1241
|
offInboundNotify = notify.onNotification((from, n) => { void forwarderHost.onInbound(from, n); });
|
|
1157
1242
|
// 3. Origination emit — install onLocalCommit: a member commit builds a NotificationV1 and ingests it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-node-base.js","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libp2p-node-base.js","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The single place in `db-p2p` that opens a libp2p protocol stream.
|
|
3
|
+
*
|
|
4
|
+
* libp2p refuses to open a protocol stream over a *limited* (circuit-relay) connection unless the
|
|
5
|
+
* caller opts in with `runOnLimitedConnection: true`. Omitting it produces no compile error and no
|
|
6
|
+
* obvious failure — only "that peer never answers" — so every peer reachable only through a relay
|
|
7
|
+
* (the steady state for browsers, phones, and NATed peers) silently drops out. The flag is
|
|
8
|
+
* deliberately NOT an option here: a new call site gets relay support without its author needing to
|
|
9
|
+
* know the flag exists, and `test/dial-options-single-site.spec.ts` fails the build if a second
|
|
10
|
+
* source file calls `dialProtocol` / `newStream` directly.
|
|
11
|
+
*
|
|
12
|
+
* NOTE: accepted tradeoff — this duplicates FRET's `rpc/protocols.ts#openRpcStream` (exported since
|
|
13
|
+
* `p2p-fret@1.0.0-beta.3`) rather than delegating to it. FRET's helper pins `negotiateFully: false`
|
|
14
|
+
* with no way to opt out, and `cohort-topic/stream-util.ts` deliberately does not set that option
|
|
15
|
+
* (see the NOTE at its call sites); adopting FRET's would silently reverse a decision a human
|
|
16
|
+
* already made. It also has no hook for the pre-dial check `libp2p-key-network.ts#connect` runs.
|
|
17
|
+
* Revisit — and delete this module in favour of `openRpcStream` — if FRET ever parameterizes
|
|
18
|
+
* `negotiateFully`.
|
|
19
|
+
*
|
|
20
|
+
* Imports here are type-only on purpose: this module is reachable from the react-native entry
|
|
21
|
+
* (`src/rn.ts`) via `libp2p-key-network.ts`, which must not pull node-specific code.
|
|
22
|
+
*/
|
|
23
|
+
import type { Libp2p } from "libp2p";
|
|
24
|
+
import type { Connection, PeerId, Stream } from "@libp2p/interface";
|
|
25
|
+
export interface OpenProtocolStreamOptions {
|
|
26
|
+
/** Forwarded to libp2p so a caller's deadline cancels both the connection reuse and the dial. */
|
|
27
|
+
signal?: AbortSignal;
|
|
28
|
+
/**
|
|
29
|
+
* Omit for libp2p's default (full multistream-select negotiation at stream-open).
|
|
30
|
+
* Pass `false` to save the round trip, accepting that an unsupported-protocol failure is
|
|
31
|
+
* deferred to the first read — only safe when the caller always reads a reply.
|
|
32
|
+
*/
|
|
33
|
+
negotiateFully?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Runs immediately before a FRESH dial, and never on the connection-reuse path.
|
|
36
|
+
* Throwing aborts the open. This is the seam for checks that are only meaningful when no
|
|
37
|
+
* connection exists yet (see `libp2p-key-network.ts#assertNotSelfRelayOnly`).
|
|
38
|
+
*/
|
|
39
|
+
beforeDial?: () => Promise<void> | void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* True for a circuit-relay ("limited") connection: libp2p stamps one with per-circuit `limits`
|
|
43
|
+
* (data/duration caps); sniffing `/p2p-circuit` in the remote multiaddr covers transports and
|
|
44
|
+
* versions that leave `limits` unpopulated.
|
|
45
|
+
*/
|
|
46
|
+
export declare function isLimitedConnection(c: Connection): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Open `protocol` to `peer`, reusing a healthy existing connection when there is one.
|
|
49
|
+
*
|
|
50
|
+
* Skips connections libp2p has not yet evicted from its index but that are no longer open, and
|
|
51
|
+
* prefers a direct connection over a relayed one — a relayed connection can be reset once the
|
|
52
|
+
* relay's per-circuit cap or reservation lapses, and after DCUtR upgrades a link to direct both
|
|
53
|
+
* briefly coexist. Falls back to the relayed connection when it is the only open path.
|
|
54
|
+
*/
|
|
55
|
+
export declare function openProtocolStream(node: Libp2p, peer: PeerId, protocol: string, options?: OpenProtocolStreamOptions): Promise<Stream>;
|
|
56
|
+
//# sourceMappingURL=open-protocol-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-protocol-stream.d.ts","sourceRoot":"","sources":["../../../src/network/open-protocol-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,yBAAyB;IACzC,iGAAiG;IACjG,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAG1D;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
|