@optimystic/db-p2p 0.1.3 → 0.2.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.
Files changed (41) hide show
  1. package/README.md +44 -0
  2. package/dist/index.min.js +17 -17
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/cluster/client.d.ts +1 -2
  5. package/dist/src/cluster/client.d.ts.map +1 -1
  6. package/dist/src/cluster/client.js.map +1 -1
  7. package/dist/src/libp2p-key-network.d.ts.map +1 -1
  8. package/dist/src/libp2p-key-network.js +4 -4
  9. package/dist/src/libp2p-key-network.js.map +1 -1
  10. package/dist/src/libp2p-node-base.d.ts +53 -0
  11. package/dist/src/libp2p-node-base.d.ts.map +1 -0
  12. package/dist/src/libp2p-node-base.js +291 -0
  13. package/dist/src/libp2p-node-base.js.map +1 -0
  14. package/dist/src/libp2p-node-rn.d.ts +11 -0
  15. package/dist/src/libp2p-node-rn.d.ts.map +1 -0
  16. package/dist/src/libp2p-node-rn.js +19 -0
  17. package/dist/src/libp2p-node-rn.js.map +1 -0
  18. package/dist/src/libp2p-node.d.ts +3 -37
  19. package/dist/src/libp2p-node.d.ts.map +1 -1
  20. package/dist/src/libp2p-node.js +6 -287
  21. package/dist/src/libp2p-node.js.map +1 -1
  22. package/dist/src/protocol-client.d.ts +1 -2
  23. package/dist/src/protocol-client.d.ts.map +1 -1
  24. package/dist/src/protocol-client.js.map +1 -1
  25. package/dist/src/repo/client.d.ts +1 -2
  26. package/dist/src/repo/client.d.ts.map +1 -1
  27. package/dist/src/repo/client.js.map +1 -1
  28. package/dist/src/rn.d.ts +29 -0
  29. package/dist/src/rn.d.ts.map +1 -0
  30. package/dist/src/rn.js +29 -0
  31. package/dist/src/rn.js.map +1 -0
  32. package/package.json +6 -2
  33. package/src/cluster/client.ts +1 -2
  34. package/src/index.ts +0 -2
  35. package/src/libp2p-key-network.ts +5 -6
  36. package/src/libp2p-node-base.ts +386 -0
  37. package/src/libp2p-node-rn.ts +30 -0
  38. package/src/libp2p-node.ts +14 -364
  39. package/src/protocol-client.ts +3 -3
  40. package/src/repo/client.ts +1 -2
  41. package/src/rn.ts +28 -0
@@ -1,293 +1,12 @@
1
- import { createLibp2p } from 'libp2p';
2
1
  import { tcp } from '@libp2p/tcp';
3
- import { noise } from '@chainsafe/libp2p-noise';
4
- import { yamux } from '@chainsafe/libp2p-yamux';
5
- import { identify } from '@libp2p/identify';
6
- import { ping } from '@libp2p/ping';
7
- import { gossipsub } from '@chainsafe/libp2p-gossipsub';
8
- import { bootstrap } from '@libp2p/bootstrap';
9
- import { circuitRelayServer, circuitRelayTransport } from '@libp2p/circuit-relay-v2';
10
- import { peerIdFromString } from '@libp2p/peer-id';
11
- import { clusterService } from './cluster/service.js';
12
- import { repoService } from './repo/service.js';
13
- import { StorageRepo } from './storage/storage-repo.js';
14
- import { BlockStorage } from './storage/block-storage.js';
15
- import { MemoryRawStorage } from './storage/memory-storage.js';
16
- import { clusterMember } from './cluster/cluster-repo.js';
17
- import { coordinatorRepo } from './repo/coordinator-repo.js';
18
- import { Libp2pKeyPeerNetwork } from './libp2p-key-network.js';
19
- import { ClusterClient } from './cluster/client.js';
20
- import { networkManagerService } from './network/network-manager-service.js';
21
- import { fretService } from 'p2p-fret';
22
- import { syncService } from './sync/service.js';
23
- import { SyncClient } from './sync/client.js';
24
- import { RestorationCoordinator } from './storage/restoration-coordinator-v2.js';
25
- import { RingSelector } from './storage/ring-selector.js';
26
- import { StorageMonitor } from './storage/storage-monitor.js';
27
- import { ArachnodeFretAdapter } from './storage/arachnode-fret-adapter.js';
28
- import { PartitionDetector } from './cluster/partition-detector.js';
29
- function resolveStorage(provider) {
30
- if (!provider) {
31
- return new MemoryRawStorage();
32
- }
33
- return typeof provider === 'function' ? provider() : provider;
34
- }
2
+ import { circuitRelayTransport } from '@libp2p/circuit-relay-v2';
3
+ import { createLibp2pNodeBase, } from './libp2p-node-base.js';
35
4
  export async function createLibp2pNode(options) {
36
- const rawStorage = resolveStorage(options.storage);
37
- // Create placeholder restore callback (will be replaced after node starts)
38
- let restoreCallback = async (_blockId, _rev) => {
39
- return undefined;
40
- };
41
- // Create shared storage layers with restoration callback
42
- const storageRepo = new StorageRepo((blockId) => new BlockStorage(blockId, rawStorage, restoreCallback));
43
- let clusterImpl;
44
- let coordinatedRepo;
45
- const clusterProxy = {
46
- async update(record) {
47
- if (!clusterImpl) {
48
- throw new Error('ClusterMember not initialized');
49
- }
50
- return await clusterImpl.update(record);
51
- }
52
- };
53
- const repoProxy = {
54
- async get(blockGets, options) {
55
- const target = coordinatedRepo ?? storageRepo;
56
- return await target.get(blockGets, options);
57
- },
58
- async pend(request, options) {
59
- const target = coordinatedRepo ?? storageRepo;
60
- return await target.pend(request, options);
61
- },
62
- async cancel(trxRef, options) {
63
- const target = coordinatedRepo ?? storageRepo;
64
- return await target.cancel(trxRef, options);
65
- },
66
- async commit(request, options) {
67
- const target = coordinatedRepo ?? storageRepo;
68
- return await target.commit(request, options);
69
- }
70
- };
71
- // Parse peer ID if provided
72
- const peerId = options.id ? await peerIdFromString(options.id) : undefined;
73
- const libp2pOptions = {
74
- start: false,
75
- ...(peerId ? { peerId } : {}),
76
- addresses: {
77
- listen: [`/ip4/0.0.0.0/tcp/${options.port}`]
78
- },
79
- connectionManager: {
80
- autoDial: true,
81
- minConnections: 1,
82
- maxConnections: 16,
83
- inboundConnectionUpgradeTimeout: 10_000,
84
- dialQueue: { concurrency: 2, attempts: 2 }
85
- },
86
- // Add circuitRelayTransport so this node can dial through relays
5
+ const port = options.port ?? 0;
6
+ return await createLibp2pNodeBase(options, {
7
+ listenAddrs: [`/ip4/0.0.0.0/tcp/${port}`],
8
+ // Default node transports: TCP + relay transport so this node can dial through relays
87
9
  transports: [tcp(), circuitRelayTransport()],
88
- connectionEncrypters: [noise()],
89
- streamMuxers: [yamux()],
90
- services: {
91
- identify: identify({
92
- protocolPrefix: `/optimystic/${options.networkName}`
93
- }),
94
- ping: ping(),
95
- pubsub: gossipsub({
96
- allowPublishToZeroTopicPeers: true,
97
- heartbeatInterval: 7000
98
- }),
99
- // Circuit relay server - enables this node to relay connections for other peers
100
- ...(options.relay ? { relay: circuitRelayServer() } : {}),
101
- // Custom services - create wrapper factories that inject dependencies
102
- cluster: (components) => {
103
- const serviceFactory = clusterService({
104
- protocolPrefix: `/optimystic/${options.networkName}`,
105
- configuredClusterSize: options.clusterSize ?? 10,
106
- allowClusterDownsize: options.clusterPolicy?.allowDownsize ?? true,
107
- clusterSizeTolerance: options.clusterPolicy?.sizeTolerance ?? 0.5,
108
- responsibilityK: options.responsibilityK ?? 1
109
- });
110
- return serviceFactory({
111
- logger: components.logger,
112
- registrar: components.registrar,
113
- cluster: clusterProxy
114
- });
115
- },
116
- repo: (components) => {
117
- const serviceFactory = repoService({
118
- protocolPrefix: `/optimystic/${options.networkName}`,
119
- responsibilityK: options.responsibilityK ?? 1
120
- });
121
- return serviceFactory({
122
- logger: components.logger,
123
- registrar: components.registrar,
124
- repo: repoProxy
125
- });
126
- },
127
- sync: (components) => {
128
- const serviceFactory = syncService({
129
- protocolPrefix: `/optimystic/${options.networkName}`
130
- });
131
- return serviceFactory({
132
- logger: components.logger,
133
- registrar: components.registrar,
134
- repo: repoProxy
135
- });
136
- },
137
- networkManager: (components) => {
138
- const svcFactory = networkManagerService({
139
- clusterSize: options.clusterSize ?? 10,
140
- expectedRemotes: (options.bootstrapNodes?.length ?? 0) > 0,
141
- allowClusterDownsize: options.clusterPolicy?.allowDownsize ?? true,
142
- clusterSizeTolerance: options.clusterPolicy?.sizeTolerance ?? 0.5
143
- });
144
- const svc = svcFactory(components);
145
- try {
146
- svc.setLibp2p?.(components.libp2p);
147
- }
148
- catch { }
149
- return svc;
150
- },
151
- fret: (components) => {
152
- const svcFactory = fretService({
153
- k: 15,
154
- m: 8,
155
- capacity: 2048,
156
- profile: options.fretProfile ?? ((options.bootstrapNodes?.length ?? 0) > 0 ? 'core' : 'edge'),
157
- networkName: options.networkName,
158
- bootstraps: options.bootstrapNodes ?? []
159
- });
160
- const svc = svcFactory(components);
161
- try {
162
- svc.setLibp2p(components.libp2p);
163
- }
164
- catch { }
165
- return svc;
166
- }
167
- },
168
- // Add bootstrap nodes as needed
169
- peerDiscovery: [
170
- ...(options.bootstrapNodes?.length ? [bootstrap({ list: options.bootstrapNodes })] : [])
171
- ],
172
- };
173
- const node = await createLibp2p(libp2pOptions);
174
- // Inject libp2p reference into services that need it before start
175
- try {
176
- node.services?.fret?.setLibp2p?.(node);
177
- }
178
- catch { }
179
- try {
180
- node.services?.networkManager?.setLibp2p?.(node);
181
- }
182
- catch { }
183
- await node.start();
184
- // Initialize cluster coordination components
185
- const keyNetwork = new Libp2pKeyPeerNetwork(node);
186
- const protocolPrefix = `/optimystic/${options.networkName}`;
187
- const createClusterClient = (peerId) => ClusterClient.create(peerId, keyNetwork, protocolPrefix);
188
- // Create partition detector and get FRET service
189
- const partitionDetector = new PartitionDetector();
190
- const fretSvc = node.services?.fret;
191
- clusterImpl = clusterMember({
192
- storageRepo,
193
- peerNetwork: keyNetwork,
194
- peerId: node.peerId,
195
- protocolPrefix,
196
- partitionDetector,
197
- fretService: fretSvc,
198
- validator: options.validator
199
- });
200
- const coordinatorRepoFactory = coordinatorRepo(keyNetwork, createClusterClient, {
201
- clusterSize: options.clusterSize ?? 10,
202
- superMajorityThreshold: options.clusterPolicy?.superMajorityThreshold ?? 0.67,
203
- simpleMajorityThreshold: 0.51,
204
- minAbsoluteClusterSize: 2, // Allow 2-node clusters for development/small networks
205
- allowClusterDownsize: options.clusterPolicy?.allowDownsize ?? true,
206
- clusterSizeTolerance: options.clusterPolicy?.sizeTolerance ?? 0.5,
207
- partitionDetectionWindow: 60000
208
- }, fretSvc);
209
- // Create callback for querying cluster peers for their latest block revision
210
- const clusterLatestCallback = async (peerId, blockId) => {
211
- const syncClient = new SyncClient(peerId, keyNetwork, protocolPrefix);
212
- try {
213
- const response = await syncClient.requestBlock({ blockId, rev: undefined });
214
- if (response.success && response.archive) {
215
- const revisions = Object.keys(response.archive.revisions).map(Number);
216
- if (revisions.length > 0) {
217
- const maxRev = Math.max(...revisions);
218
- const revisionData = response.archive.revisions[maxRev];
219
- if (revisionData?.action) {
220
- return { actionId: revisionData.action.actionId, rev: maxRev };
221
- }
222
- }
223
- }
224
- }
225
- catch {
226
- // Peer may be unreachable - return undefined to skip this peer
227
- }
228
- return undefined;
229
- };
230
- coordinatedRepo = coordinatorRepoFactory({
231
- storageRepo,
232
- localCluster: clusterImpl,
233
- localPeerId: node.peerId,
234
- clusterLatestCallback
235
10
  });
236
- // Initialize Arachnode ring membership and restoration
237
- const enableArachnode = options.arachnode?.enableRingZulu ?? true;
238
- if (enableArachnode) {
239
- const log = node.logger?.forComponent?.('db-p2p:arachnode');
240
- const fret = node.services?.fret;
241
- if (fret) {
242
- const fretAdapter = new ArachnodeFretAdapter(fret);
243
- const storageMonitor = new StorageMonitor(rawStorage, options.arachnode?.storage ?? {});
244
- const ringSelector = new RingSelector(fretAdapter, storageMonitor, {
245
- minCapacity: 100 * 1024 * 1024, // 100MB minimum
246
- thresholds: {
247
- moveOut: 0.85,
248
- moveIn: 0.40
249
- }
250
- });
251
- // Determine and announce ring membership
252
- const peerId = node.peerId.toString();
253
- const arachnodeInfo = await ringSelector.createArachnodeInfo(peerId);
254
- fretAdapter.setArachnodeInfo(arachnodeInfo);
255
- log?.('Announced Arachnode membership: Ring %d', arachnodeInfo.ringDepth);
256
- // Setup restoration coordinator with FRET adapter
257
- const restorationCoordinatorV2 = new RestorationCoordinator(fretAdapter, { connect: (pid, protocol) => node.dialProtocol(pid, [protocol]) }, `/optimystic/${options.networkName}`);
258
- // Update restore callback to use new coordinator
259
- const newRestoreCallback = async (blockId, rev) => {
260
- return await restorationCoordinatorV2.restore(blockId, rev);
261
- };
262
- // Replace the restore callback (this is a bit hacky, but works for now)
263
- // In production, we'd want to properly manage this
264
- storageRepo.createBlockStorage = (blockId) => new BlockStorage(blockId, rawStorage, newRestoreCallback);
265
- // Monitor capacity and adjust ring periodically
266
- const monitorInterval = setInterval(async () => {
267
- const transition = await ringSelector.shouldTransition();
268
- if (transition.shouldMove) {
269
- log?.('Ring transition needed: moving %s to Ring %d', transition.direction, transition.newRingDepth);
270
- // Update Arachnode info with new ring
271
- const updatedInfo = await ringSelector.createArachnodeInfo(peerId);
272
- fretAdapter.setArachnodeInfo(updatedInfo);
273
- }
274
- }, 60_000); // Check every minute
275
- // Cleanup on node stop
276
- const originalStop = node.stop.bind(node);
277
- node.stop = async () => {
278
- clearInterval(monitorInterval);
279
- await originalStop();
280
- };
281
- }
282
- else {
283
- log?.('FRET service not available, Arachnode disabled');
284
- }
285
- }
286
- // Skip proactive bootstrap dials; rely on discovery and minimal churn
287
- // Expose coordinated repo and storage for external use
288
- node.coordinatedRepo = coordinatedRepo;
289
- node.storageRepo = storageRepo;
290
- node.keyNetwork = keyNetwork;
291
- return node;
292
11
  }
293
12
  //# sourceMappingURL=libp2p-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p-node.js","sourceRoot":"","sources":["../../src/libp2p-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"libp2p-node.js","sourceRoot":"","sources":["../../src/libp2p-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EACN,oBAAoB,GAIpB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAoB;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IAC/B,OAAO,MAAM,oBAAoB,CAAC,OAAO,EAAE;QAC1C,WAAW,EAAE,CAAC,oBAAoB,IAAI,EAAE,CAAC;QACzC,sFAAsF;QACtF,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,qBAAqB,EAAE,CAAC;KAC5C,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { PeerId } from '@libp2p/interface';
2
- import type { IPeerNetwork } from '@optimystic/db-core';
1
+ import type { PeerId, IPeerNetwork } from '@optimystic/db-core';
3
2
  /** Base class for clients that communicate via a libp2p protocol */
4
3
  export declare class ProtocolClient {
5
4
  protected readonly peerId: PeerId;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-client.d.ts","sourceRoot":"","sources":["../../src/protocol-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,oEAAoE;AACpE,qBAAa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY;gBADzB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,YAAY;cAG7B,cAAc,CAAC,CAAC,EAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAChC,OAAO,CAAC,CAAC,CAAC;CAmCb"}
1
+ {"version":3,"file":"protocol-client.d.ts","sourceRoot":"","sources":["../../src/protocol-client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGhE,oEAAoE;AACpE,qBAAa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY;gBADzB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,YAAY;cAG7B,cAAc,CAAC,CAAC,EAC/B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAChC,OAAO,CAAC,CAAC,CAAC;CAmCb"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-client.js","sourceRoot":"","sources":["../../src/protocol-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,oEAAoE;AACpE,MAAM,OAAO,cAAc;IAEN;IACA;IAFpB,YACoB,MAAc,EACd,WAAyB;QADzB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAc;IACzC,CAAC;IAEK,KAAK,CAAC,cAAc,CAC7B,OAAgB,EAChB,QAAgB,EAChB,OAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAC5C,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC;YACJ,kDAAkD;YAClD,MAAM,OAAO,GAAG,IAAI,CACnB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EACnD,QAAQ,CACR,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,0EAA0E;YAC1E,MAAM,MAAM,GAAG,IAAI,CAClB,MAAM,EACN,QAAQ,EACR,KAAK,SAAS,CAAC,EAAE,MAAM;gBACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnC,MAAM,MAAM,CAAC;gBACd,CAAC;YACF,CAAC,CACmB,CAAC;YAEtB,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"protocol-client.js","sourceRoot":"","sources":["../../src/protocol-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,oEAAoE;AACpE,MAAM,OAAO,cAAc;IAEN;IACA;IAFpB,YACoB,MAAc,EACd,WAAyB;QADzB,WAAM,GAAN,MAAM,CAAQ;QACd,gBAAW,GAAX,WAAW,CAAc;IACzC,CAAC;IAEK,KAAK,CAAC,cAAc,CAC7B,OAAgB,EAChB,QAAgB,EAChB,OAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAC5C,IAAI,CAAC,MAAM,EACX,QAAQ,EACR,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACA,CAAC;QAE7B,IAAI,CAAC;YACJ,kDAAkD;YAClD,MAAM,OAAO,GAAG,IAAI,CACnB,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EACnD,QAAQ,CACR,CAAC;YACF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAED,0EAA0E;YAC1E,MAAM,MAAM,GAAG,IAAI,CAClB,MAAM,EACN,QAAQ,EACR,KAAK,SAAS,CAAC,EAAE,MAAM;gBACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACnC,MAAM,MAAM,CAAC;gBACd,CAAC;YACF,CAAC,CACmB,CAAC;YAEtB,OAAO,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACV,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;CACD"}
@@ -1,5 +1,4 @@
1
- import type { IRepo, GetBlockResults, PendSuccess, StaleFailure, ActionBlocks, MessageOptions, CommitResult, PendRequest, CommitRequest, BlockGets, IPeerNetwork } from "@optimystic/db-core";
2
- import type { PeerId } from "@libp2p/interface";
1
+ import type { IRepo, GetBlockResults, PendSuccess, StaleFailure, ActionBlocks, MessageOptions, CommitResult, PendRequest, CommitRequest, BlockGets, IPeerNetwork, PeerId } from "@optimystic/db-core";
3
2
  import { ProtocolClient } from "../protocol-client.js";
4
3
  export declare class RepoClient extends ProtocolClient implements IRepo {
5
4
  readonly protocolPrefix?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/repo/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAC7F,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EACnD,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,qBAAa,UAAW,SAAQ,cAAe,YAAW,KAAK;IACC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM;IAA/F,OAAO;IAIP,mCAAmC;WACrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU;IAI9F,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAO5E,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC;IAOxF,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;YAOtE,kBAAkB;IAwChC,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,kCAAkC;CAQ1C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/repo/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAC7F,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAC3D,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,qBAAa,UAAW,SAAQ,cAAe,YAAW,KAAK;IACC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM;IAA/F,OAAO;IAIP,mCAAmC;WACrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU;IAI9F,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAO5E,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC;IAOxF,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;YAOtE,kBAAkB;IAwChC,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,kCAAkC;CAQ1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/repo/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/repo/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ export * from './cluster/client.js';
2
+ export * from './cluster/cluster-repo.js';
3
+ export * from './cluster/service.js';
4
+ export * from './protocol-client.js';
5
+ export * from './repo/client.js';
6
+ export * from './repo/cluster-coordinator.js';
7
+ export * from './repo/coordinator-repo.js';
8
+ export * from './repo/service.js';
9
+ export * from './storage/block-storage.js';
10
+ export * from './storage/memory-storage.js';
11
+ export * from './storage/i-block-storage.js';
12
+ export * from './storage/i-raw-storage.js';
13
+ export * from './storage/struct.js';
14
+ export * from './storage/storage-repo.js';
15
+ export * from './storage/restoration-coordinator-v2.js';
16
+ export * from './storage/ring-selector.js';
17
+ export * from './storage/storage-monitor.js';
18
+ export * from './storage/arachnode-fret-adapter.js';
19
+ export * from './sync/protocol.js';
20
+ export * from './sync/client.js';
21
+ export * from './sync/service.js';
22
+ export * from './it-utility.js';
23
+ export * from './libp2p-key-network.js';
24
+ export * from './libp2p-node-rn.js';
25
+ export * from './routing/responsibility.js';
26
+ export * from './routing/libp2p-known-peers.js';
27
+ export * from './network/network-manager-service.js';
28
+ export * from './network/get-network-manager.js';
29
+ //# sourceMappingURL=rn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rn.d.ts","sourceRoot":"","sources":["../../src/rn.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC"}
package/dist/src/rn.js ADDED
@@ -0,0 +1,29 @@
1
+ export * from './cluster/client.js';
2
+ export * from './cluster/cluster-repo.js';
3
+ export * from './cluster/service.js';
4
+ export * from './protocol-client.js';
5
+ export * from './repo/client.js';
6
+ export * from './repo/cluster-coordinator.js';
7
+ export * from './repo/coordinator-repo.js';
8
+ export * from './repo/service.js';
9
+ export * from './storage/block-storage.js';
10
+ export * from './storage/memory-storage.js';
11
+ export * from './storage/i-block-storage.js';
12
+ export * from './storage/i-raw-storage.js';
13
+ export * from './storage/struct.js';
14
+ export * from './storage/storage-repo.js';
15
+ export * from './storage/restoration-coordinator-v2.js';
16
+ export * from './storage/ring-selector.js';
17
+ export * from './storage/storage-monitor.js';
18
+ export * from './storage/arachnode-fret-adapter.js';
19
+ export * from './sync/protocol.js';
20
+ export * from './sync/client.js';
21
+ export * from './sync/service.js';
22
+ export * from './it-utility.js';
23
+ export * from './libp2p-key-network.js';
24
+ export * from './libp2p-node-rn.js';
25
+ export * from './routing/responsibility.js';
26
+ export * from './routing/libp2p-known-peers.js';
27
+ export * from './network/network-manager-service.js';
28
+ export * from './network/get-network-manager.js';
29
+ //# sourceMappingURL=rn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rn.js","sourceRoot":"","sources":["../../src/rn.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimystic/db-p2p",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "P2P database functionality for Optimystic",
6
6
  "main": "dist/src/index.js",
@@ -15,6 +15,10 @@
15
15
  ".": {
16
16
  "types": "./dist/src/index.d.ts",
17
17
  "import": "./dist/src/index.js"
18
+ },
19
+ "./rn": {
20
+ "types": "./dist/src/rn.d.ts",
21
+ "import": "./dist/src/rn.js"
18
22
  }
19
23
  },
20
24
  "repository": {
@@ -64,7 +68,7 @@
64
68
  "@libp2p/tcp": "^11.0.10",
65
69
  "@libp2p/websockets": "^10.1.3",
66
70
  "@multiformats/multiaddr": "^13.0.1",
67
- "@optimystic/db-core": "^0.4.2",
71
+ "@optimystic/db-core": "^0.5.0",
68
72
  "async-mutex": "^0.5.0",
69
73
  "debug": "^4.4.3",
70
74
  "it-all": "^3.0.9",
@@ -1,5 +1,4 @@
1
- import { type PeerId } from '@libp2p/interface';
2
- import type { IPeerNetwork, ICluster, ClusterRecord } from '@optimystic/db-core';
1
+ import type { PeerId, IPeerNetwork, ICluster, ClusterRecord } from '@optimystic/db-core';
3
2
  import { ProtocolClient } from '../protocol-client.js';
4
3
  import { peerIdFromString } from '@libp2p/peer-id';
5
4
 
package/src/index.ts CHANGED
@@ -26,5 +26,3 @@ export * from "./routing/responsibility.js";
26
26
  export * from "./routing/libp2p-known-peers.js";
27
27
  export * from "./network/network-manager-service.js";
28
28
  export * from "./network/get-network-manager.js";
29
-
30
-
@@ -290,10 +290,10 @@ export class Libp2pKeyPeerNetwork implements IKeyNetwork, IPeerNetwork {
290
290
  return byPeer
291
291
  }
292
292
 
293
- private parseMultiaddrs(addrs: string[]): ReturnType<typeof multiaddr>[] {
294
- const out: ReturnType<typeof multiaddr>[] = []
293
+ private parseMultiaddrs(addrs: string[]): string[] {
294
+ const out: string[] = []
295
295
  for (const a of addrs) {
296
- try { out.push(multiaddr(a)) } catch (err) { console.warn('invalid multiaddr from connection', a, err) }
296
+ try { multiaddr(a); out.push(a) } catch (err) { console.warn('invalid multiaddr from connection', a, err) }
297
297
  }
298
298
  return out
299
299
  }
@@ -317,12 +317,11 @@ export class Libp2pKeyPeerNetwork implements IKeyNetwork, IPeerNetwork {
317
317
 
318
318
  for (const idStr of ids) {
319
319
  if (idStr === this.libp2p.peerId.toString()) {
320
- peers[idStr] = { multiaddrs: this.libp2p.getMultiaddrs(), publicKey: this.libp2p.peerId.publicKey?.raw ?? new Uint8Array() }
320
+ peers[idStr] = { multiaddrs: this.libp2p.getMultiaddrs().map(ma => ma.toString()), publicKey: this.libp2p.peerId.publicKey?.raw ?? new Uint8Array() }
321
321
  continue
322
322
  }
323
323
  const strings = connectedByPeer[idStr] ?? []
324
- const addrs = this.parseMultiaddrs(strings)
325
- peers[idStr] = { multiaddrs: addrs, publicKey: new Uint8Array() }
324
+ peers[idStr] = { multiaddrs: this.parseMultiaddrs(strings), publicKey: new Uint8Array() }
326
325
  }
327
326
 
328
327
  this.log('findCluster:result key=%s clusterSize=%d withAddrs=%d connectedInCohort=%d',