@minip2p/react-native 0.3.0 → 0.4.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 CHANGED
@@ -1,19 +1,16 @@
1
1
  # @minip2p/react-native
2
2
 
3
- React Native adapter for the platform-neutral `@minip2p/core` SDK, backed by a TurboModule generated with UniFFI and `uniffi-bindgen-react-native`.
3
+ React Native bindings for [minip2p](https://minip2p.com), with the platform-neutral `@minip2p/core` API and bundled Android and iOS libraries.
4
4
 
5
- The package is pre-1.0. Its JavaScript API, generated types, native ABI, and event variants may change between releases.
5
+ The package is pre-1.0 and may introduce breaking changes between releases.
6
6
 
7
7
  ## Requirements
8
8
 
9
9
  - React Native 0.85 with the New Architecture and Hermes
10
- - Node.js 22 or newer
11
- - pnpm 11.18
12
- - Rust with the configured mobile targets
13
- - Android SDK 36 and NDK 28.2.13676358
14
- - Xcode 26 with an iOS deployment target of at least 15.1
10
+ - iOS 15.1 or newer
11
+ - Android API 24 or newer
15
12
 
16
- The example uses Expo SDK 56 and `expo-dev-client`. Expo Go is not supported: it cannot load this package's Rust and C++ native libraries. Use `expo prebuild` followed by `expo run:android` or `expo run:ios`.
13
+ Expo Go cannot load custom Rust and C++ native libraries. Expo projects must use a [development build](https://docs.expo.dev/develop/development-builds/introduction/).
17
14
 
18
15
  ## Installation
19
16
 
@@ -21,7 +18,7 @@ The example uses Expo SDK 56 and `expo-dev-client`. Expo Go is not supported: it
21
18
  pnpm add @minip2p/react-native
22
19
  ```
23
20
 
24
- The ubrn runtime packages are regular dependencies of this package and are version-locked to the compatible UniFFI 0.31 toolchain.
21
+ Rebuild the native app after installing the package.
25
22
 
26
23
  ## Usage
27
24
 
@@ -34,85 +31,36 @@ const endpoint = Minip2p.create({
34
31
  protocols: ["/example/files/1"],
35
32
  });
36
33
 
37
- const unsubscribe = endpoint.on("peerReady", ({ peerId, protocols }) => {
38
- console.log("peer ready", peerId, protocols);
34
+ const unsubscribe = endpoint.on("peerReady", ({ peerId }) => {
35
+ console.log("peer ready", peerId);
39
36
  });
40
37
 
41
38
  endpoint.subscribe("/example/chat/1");
42
- endpoint.publish("/example/chat/1", "hello from React Native");
39
+ endpoint.publish("/example/chat/1", "hello");
43
40
 
44
- const result = await endpoint.connectAddr(remoteListenAddr);
45
- await endpoint.waitPeerReady(result.peerId);
46
- const rttMs = await endpoint.ping(result.peerId);
47
- const stream = await endpoint.openStream(result.peerId, "/example/files/1");
41
+ const path = await endpoint.connectAddr(remoteAddress);
42
+ await endpoint.waitPeerReady(path.peerId);
43
+ const rttMs = await endpoint.ping(path.peerId);
44
+
45
+ const stream = await endpoint.openStream(path.peerId, "/example/files/1");
48
46
  stream.write(new Uint8Array([1, 2, 3]));
49
47
  stream.closeWrite();
50
48
 
51
- // Signal AppState changes before foreground queries or reconnect work.
52
- endpoint.setActive(false);
53
- endpoint.setActive(true);
54
-
55
49
  unsubscribe();
56
50
  endpoint.close();
57
51
  ```
58
52
 
59
- `Minip2p.create` constructs and starts the native driver. Event buffering, typed waits, Promise operations, Stream handles, and public errors come from `@minip2p/core`; this package owns React Native loading and conversion. `useMinip2p` owns an endpoint for a committed component lifetime and `bindAppState` mirrors the current AppState immediately.
60
-
61
- Configuration defaults to gossipsub, signed messages, no relay, and no discovery. Set `pubsubRouter` to `PubsubRouter.Floodsub` when interoperability requires floodsub. mDNS requires local-network/multicast permissions in the host app; Expo Go cannot provide the native module, so use the included Expo development-build workflow.
62
-
63
- ## Wrapper contracts
64
-
65
- - Generated Rust `u64` values are checked before conversion from `bigint` to JavaScript `number`. Values outside the safe integer range throw.
66
- - Native events are delivered FIFO through a bounded host queue. Overflow is a typed `queueOverflow` event; refresh queryable state when it occurs.
67
- - Named event handlers receive flattened payloads. Catch-all handlers receive flattened discriminated events and safe inbound-stream metadata only.
68
- - `handlerError` is queued after fan-out when an event handler throws.
69
- - `path(peerId)` is authoritative for NAT-orchestrated paths and independent of event consumption.
70
- - `close` rejects pending work, closes streams, destroys the UniFFI object, and then fires `onClose` once. A host needing the native stopped barrier can import the generated low-level API from `@minip2p/react-native/native`.
71
- - Unsigned pubsub messages are explicitly untrusted. When `signed` is false, both payload and `fromPeerId` are attacker-controlled.
72
-
73
- ## Generation
74
-
75
- Generated TypeScript, C++, Kotlin, Objective-C++, and React Native Codegen sources are committed. Do not edit them directly.
76
-
77
- ```sh
78
- pnpm install --frozen-lockfile
79
- pnpm ubrn:ios
80
- pnpm ubrn:android
81
- ```
82
-
83
- `uniffi`, `uniffi-bindgen-react-native`, and `@ubjs/core` must move together. The current exact versions are `0.31.0`, `0.31.0-3`, and `0.31.0-3`.
84
-
85
- The pnpm patch in `patches/` fixes two ubrn 0.31 Android generator issues: package-root resolution under package exports and `jniLibs` resolution when CMake is included by an application.
53
+ `Minip2p.create` starts the native driver. `useMinip2p` manages an endpoint for a React component, while `bindAppState` keeps its foreground state synchronized.
86
54
 
87
- Native binaries are build outputs and are not committed: `android/src/main/jniLibs/` and `build/*.xcframework`.
55
+ Configuration defaults to gossipsub with signed messages and no relay or discovery. Set `mdns: true` for local discovery and ensure the host app has local-network and multicast permissions.
88
56
 
89
- Per-PR CI checks the frozen pnpm install, types, Ultracite's Oxlint/Oxfmt rules, package build, and a whole-worktree regeneration diff. A weekly and manually dispatchable native workflow builds both Android ABIs and both iOS slices, validates Android 16 KiB ELF/APK alignment and requires the allocator-hook symbols to be either optimized away or exactly three defined `LOCAL OBJECT` symbols, checks the XCFramework slices, and uploads the artifacts. Native sizes are compared with `native-size-baseline.json`; growth over 20% warns in monitoring builds and blocks a release.
90
-
91
- ## Example development build
92
-
93
- ```sh
94
- pnpm example prebuild
95
- pnpm example android
96
- pnpm example ios
97
- ```
98
-
99
- The example's `android/` and `ios/` directories are generated by Expo and ignored. Its config plugin pins NDK r28c on every prebuild.
100
-
101
- The app is an executable smoke suite, not a mock UI. It creates two native endpoints over loopback QUIC and checks:
102
-
103
- - path establishment and a reentrant query from a callback;
104
- - Unicode and 60 KiB signed pubsub payloads;
105
- - listener-exception containment and waiter fan-out;
106
- - active, idle, and foreground-transition query latency;
107
- - close during event delivery, 50 create/close cycles, and reverse close order.
108
-
109
- Use an Expo development build and Metro:
110
-
111
- ```sh
112
- pnpm example start --dev-client --lan
113
- ```
57
+ ## Important behavior
114
58
 
115
- The suite runs automatically and can be repeated from the app. Expo Go cannot run it because the minip2p TurboModule is compiled into the development build.
59
+ - Operations support timeouts and `AbortSignal` cancellation.
60
+ - Native events are delivered FIFO through a bounded queue; handle `queueOverflow` by refreshing queryable state.
61
+ - Use a named `stream` handler to claim inbound streams.
62
+ - Unsigned pubsub payloads and peer IDs are attacker-controlled.
63
+ - `close()` rejects pending work, closes streams, and releases the native endpoint.
116
64
 
117
65
  ## License
118
66
 
@@ -197,7 +197,7 @@ export function peerIdFromSecretKey(secretKey) {
197
197
  return backendFactory.peerIdFromSecretKey(secretKey);
198
198
  }
199
199
 
200
- /** Builds a circuit multiaddress through a direct QUIC relay address. */
200
+ /** Builds a circuit multiaddress through a direct TCP or QUIC relay address. */
201
201
  export function circuitAddress(relayAddress, peerId) {
202
202
  return backendFactory.circuitAddress(relayAddress, peerId);
203
203
  }
@@ -219,17 +219,35 @@ function toNativeConfig(config) {
219
219
  socketPollIntervalMs: numberToU64(mdnsOptions.socketPollIntervalMs ?? 100, "socketPollIntervalMs"),
220
220
  ttlMs: numberToU64(mdnsOptions.ttlMs ?? 120_000, "ttlMs")
221
221
  };
222
+ const configuredTransports = config.transports;
223
+ const transports = configuredTransports === undefined || configuredTransports.quic === undefined && configuredTransports.tcp === undefined ? {
224
+ quic: true
225
+ } : configuredTransports;
222
226
  return {
223
227
  agentVersion: config.agentVersion,
224
228
  allowUnsigned: config.allowUnsigned ?? false,
225
229
  autonatServers: [...(config.autonatServers ?? [])],
226
230
  discovery,
227
231
  forceRelay: config.forceRelay ?? false,
228
- listenAddr: config.listenAddr,
229
232
  mdns,
230
233
  protocols: [...(config.protocols ?? [])],
231
234
  pubsubRouter: config.pubsubRouter ?? PubsubRouter.Gossipsub,
232
- relays: [...(config.relays ?? [])]
235
+ quic: toNativeTransport(transports.quic),
236
+ relays: [...(config.relays ?? [])],
237
+ tcp: toNativeTransport(transports.tcp)
238
+ };
239
+ }
240
+ function toNativeTransport(transport) {
241
+ if (transport === undefined) {
242
+ return undefined;
243
+ }
244
+ if (transport === true) {
245
+ return {
246
+ listenAddrs: undefined
247
+ };
248
+ }
249
+ return {
250
+ listenAddrs: transport.listen === undefined ? undefined : [...transport.listen]
233
251
  };
234
252
  }
235
253
  function resolveMdnsAutoDial(mdns, discovery) {
@@ -1 +1 @@
1
- {"version":3,"names":["BackpressureError","MessageTooLargeError","Minip2pBase","NotPermittedError","PubsubRouter","FfiError_Tags","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","listener","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","toNativeConfig","error","start","onEvent","event","normalizeEvent","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","u64ToNumber","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","connId","streamId","sendStream","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","connectWithAddrs","addresses","connectAddr","address","dial","id","dialIp4","dialIp6","cancelConnect","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","discovery","autoDial","beaconIntervalMs","peerTtlMs","mdnsOptions","resolveMdnsAutoDial","enableIpv6","interfaceRefreshMs","maxAnnouncedAddrs","numberToU32","maxPacketBytes","queryIntervalMs","socketPollIntervalMs","ttlMs","agentVersion","allowUnsigned","autonatServers","forceRelay","listenAddr","protocols","pubsubRouter","Gossipsub","inner","tag","peer","value","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","key","from","buffer","name","assertSafeUnsignedInteger","BigInt","RangeError","number","Number","isSafeInteger","operation","getErrorTag","Backpressure","MessageTooLarge","NotPermitted","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":";;AAAA;;AAEA,SACEA,iBAAiB,EACjBC,oBAAoB,EACpBC,WAAW,EACXC,iBAAiB,EACjBC,YAAY,QACP,eAAe;AAmBtB,SACEC,aAAa,EACbC,WAAW,EACXC,cAAc,IAAIC,oBAAoB,EACtCC,iBAAiB,IAAIC,uBAAuB,EAC5CC,mBAAmB,IAAIC,yBAAyB,QAC3C,aAAU;AAWjB,OAAOC,YAAY,MAAM,oBAAiB;AAE1C,MAAMC,kBAAkB,CAA2B;EACxC,CAACC,QAAQ;EACT,CAACC,WAAW;EACrB,CAACC,QAAQ;EAETC,WAAWA,CAACC,MAAqB,EAAE;IACjC,IAAI,CAAC,CAACH,WAAW,GAAGG,MAAM,CAACC,IAAI,KAAKC,SAAS,IAAIF,MAAM,CAACC,IAAI,KAAK,KAAK;IACtE,IAAI,IAAI,CAAC,CAACJ,WAAW,EAAE;MACrBH,YAAY,CAACS,cAAc,CAAC,IAAI,CAAC;IACnC;IACA,IAAI;MACF,IAAI,CAAC,CAACP,QAAQ,GAAGQ,eAAe,CAC9B,MACE,IAAIjB,WAAW,CACbkB,aAAa,CAACL,MAAM,CAACM,SAAS,CAAC,EAC/BC,cAAc,CAACP,MAAM,CACvB,CACJ,CAAC;IACH,CAAC,CAAC,OAAOQ,KAAK,EAAE;MACd,IAAI,IAAI,CAAC,CAACX,WAAW,EAAE;QACrBH,YAAY,CAACS,cAAc,CAAC,KAAK,CAAC;MACpC;MACA,MAAMK,KAAK;IACb;EACF;EAEAC,KAAKA,CAACX,QAAmC,EAAQ;IAC/C,IAAI,CAAC,CAACA,QAAQ,GAAG;MACfY,OAAO,EAAGC,KAAK,IAAK;QAClB,IAAI;UACFb,QAAQ,CAACc,cAAc,CAACD,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,MAAM;UACN;QAAA;MAEJ;IACF,CAAC;IACDP,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACa,KAAK,CAAC,IAAI,CAAC,CAACX,QAA4B,CAAC;IAC1D,CAAC,CAAC;EACJ;EAEAe,KAAKA,CAAA,EAAS;IACZ,IAAI;MACF,IAAI,CAAC,CAACjB,QAAQ,CAACkB,IAAI,CAAC,CAAC;MACrB,IAAI,CAAC,CAAClB,QAAQ,CAACmB,aAAa,CAAC,CAAC;MAC9B,IAAI,CAAC,CAACjB,QAAQ,GAAGI,SAAS;IAC5B,CAAC,SAAS;MACR,IAAI,IAAI,CAAC,CAACL,WAAW,EAAE;QACrBH,YAAY,CAACS,cAAc,CAAC,KAAK,CAAC;MACpC;IACF;EACF;EAEAa,MAAMA,CAAA,EAAW;IACf,OAAO,IAAI,CAAC,CAACpB,QAAQ,CAACoB,MAAM,CAAC,CAAC;EAChC;EAEAC,WAAWA,CAAA,EAAa;IACtB,OAAO,IAAI,CAAC,CAACrB,QAAQ,CAACqB,WAAW,CAAC,CAAC;EACrC;EAEAC,cAAcA,CAAA,EAAa;IACzB,OAAOd,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACsB,cAAc,CAAC,CAAC,CAAC;EAC/D;EAEAC,WAAWA,CAACH,MAAc,EAAW;IACnC,OAAOZ,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACuB,WAAW,CAACH,MAAM,CAAC,CAAC;EAClE;EAEAI,QAAQA,CAACJ,MAAc,EAA4B;IACjD,MAAMK,IAAI,GAAGjB,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACwB,QAAQ,CAACJ,MAAM,CAAC,CAAC;IACnE,OAAOK,IAAI,KAAKnB,SAAS,GAAGA,SAAS,GAAGoB,qBAAqB,CAACD,IAAI,CAAC;EACrE;EAEAE,UAAUA,CAAA,EAAoB;IAC5B,OAAOnB,eAAe,CAAC,MACrB,IAAI,CAAC,CAACR,QAAQ,CAAC2B,UAAU,CAAC,CAAC,CAACC,GAAG,CAACC,kBAAkB,CACpD,CAAC;EACH;EAEAC,cAAcA,CAAA,EAAuB;IACnC,MAAMC,GAAG,GAAGvB,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAAC8B,cAAc,CAAC,CAAC,CAAC;IAClE,OAAOC,GAAG,KAAKzB,SAAS,GAAGA,SAAS,GAAG0B,WAAW,CAACD,GAAG,EAAE,gBAAgB,CAAC;EAC3E;EAEAE,iBAAiBA,CAAA,EAAqC;IACpD,MAAMC,WAAW,GAAG1B,eAAe,CAAC,MAClC,IAAI,CAAC,CAACR,QAAQ,CAACiC,iBAAiB,CAAC,CACnC,CAAC;IACD,OAAOC,WAAW,KAAK5B,SAAS,GAC5BA,SAAS,GACT6B,oBAAoB,CAACD,WAAW,CAAC;EACvC;EAEAE,IAAIA,CAAChB,MAAc,EAAwB;IACzC,MAAMgB,IAAI,GAAG5B,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACoC,IAAI,CAAChB,MAAM,CAAC,CAAC;IAC/D,OAAOgB,IAAI,KAAK9B,SAAS,GACrBA,SAAS,GACR+B,gBAAgB,CAACD,IAAI,CAAc;EAC1C;EAEA5C,cAAcA,CAAC8C,YAAoB,EAAElB,MAAc,EAAU;IAC3D,OAAOZ,eAAe,CAAC,MAAMf,oBAAoB,CAAC6C,YAAY,EAAElB,MAAM,CAAC,CAAC;EAC1E;EAEAmB,YAAYA,CAAA,EAAiB;IAC3B,OAAO/B,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACuC,YAAY,CAAC,CAAC,CAAC;EAC7D;EAEAC,SAASA,CAAA,EAAY;IACnB,OAAO,IAAI,CAAC,CAACxC,QAAQ,CAACwC,SAAS,CAAC,CAAC;EACnC;EAEAC,SAASA,CAACC,MAAe,EAAQ;IAC/B,IAAI,CAAC,CAAC1C,QAAQ,CAACyC,SAAS,CAACC,MAAM,CAAC;EAClC;EAEAC,SAASA,CAACC,KAAa,EAAW;IAChC,OAAOpC,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAAC2C,SAAS,CAACC,KAAK,CAAC,CAAC;EAC/D;EAEAC,WAAWA,CAACD,KAAa,EAAW;IAClC,OAAOpC,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAAC6C,WAAW,CAACD,KAAK,CAAC,CAAC;EACjE;EAEAE,OAAOA,CAACF,KAAa,EAAEG,IAAgB,EAAQ;IAC7CvC,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAAC8C,OAAO,CAACF,KAAK,EAAEnC,aAAa,CAACsC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC;EACJ;EAEAC,IAAIA,CAAC5B,MAAc,EAAQ;IACzBZ,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACgD,IAAI,CAAC5B,MAAM,CAAC;IAC7B,CAAC,CAAC;EACJ;EAEA6B,WAAWA,CAACC,UAAkB,EAAQ;IACpC1C,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACiD,WAAW,CAACC,UAAU,CAAC;IACxC,CAAC,CAAC;EACJ;EAEAC,UAAUA,CAAC/B,MAAc,EAAE8B,UAAkB,EAAqB;IAChE,MAAME,MAAM,GAAG5C,eAAe,CAAC,MAC7B,IAAI,CAAC,CAACR,QAAQ,CAACmD,UAAU,CAAC/B,MAAM,EAAE8B,UAAU,CAC9C,CAAC;IACD,OAAO;MACLG,MAAM,EAAErB,WAAW,CAACoB,MAAM,CAACC,MAAM,EAAE,QAAQ,CAAC;MAC5CC,QAAQ,EAAEtB,WAAW,CAACoB,MAAM,CAACE,QAAQ,EAAE,UAAU;IACnD,CAAC;EACH;EAEAC,UAAUA,CAACnC,MAAc,EAAEkC,QAAgB,EAAEP,IAAgB,EAAQ;IACnEvC,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACuD,UAAU,CACvBnC,MAAM,EACNoC,WAAW,CAACF,QAAQ,EAAE,UAAU,CAAC,EACjC7C,aAAa,CAACsC,IAAI,CACpB,CAAC;IACH,CAAC,CAAC;EACJ;EAEAU,gBAAgBA,CAACrC,MAAc,EAAEkC,QAAgB,EAAQ;IACvD9C,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACyD,gBAAgB,CAC7BrC,MAAM,EACNoC,WAAW,CAACF,QAAQ,EAAE,UAAU,CAClC,CAAC;IACH,CAAC,CAAC;EACJ;EAEAI,WAAWA,CAACtC,MAAc,EAAEkC,QAAgB,EAAQ;IAClD9C,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAAC0D,WAAW,CAACtC,MAAM,EAAEoC,WAAW,CAACF,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,CAAC,CAAC;EACJ;EAEAK,aAAaA,CAACvC,MAAc,EAAEkC,QAAgB,EAAQ;IACpD9C,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAAC2D,aAAa,CAACvC,MAAM,EAAEoC,WAAW,CAACF,QAAQ,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC,CAAC;EACJ;EAEAM,OAAOA,CAACxC,MAAc,EAAU;IAC9B,OAAOY,WAAW,CAChBxB,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAAC4D,OAAO,CAACxC,MAAM,CAAC,CAAC,EACrD,WACF,CAAC;EACH;EAEAyC,gBAAgBA,CAACzC,MAAc,EAAE0C,SAA4B,EAAU;IACrE,OAAO9B,WAAW,CAChBxB,eAAe,CAAC,MACd,IAAI,CAAC,CAACR,QAAQ,CAAC6D,gBAAgB,CAACzC,MAAM,EAAE,CAAC,GAAG0C,SAAS,CAAC,CACxD,CAAC,EACD,WACF,CAAC;EACH;EAEAC,WAAWA,CAACC,OAAe,EAAU;IACnC,OAAOhC,WAAW,CAChBxB,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAAC+D,WAAW,CAACC,OAAO,CAAC,CAAC,EAC1D,WACF,CAAC;EACH;EAEAC,IAAIA,CAACD,OAAe,EAAY;IAC9B,OAAOxD,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACiE,IAAI,CAACD,OAAO,CAAC,CAAC,CAACpC,GAAG,CAAEsC,EAAE,IAChElC,WAAW,CAACkC,EAAE,EAAE,cAAc,CAChC,CAAC;EACH;EAEAC,OAAOA,CAACH,OAAe,EAAU;IAC/B,OAAOhC,WAAW,CAChBxB,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACmE,OAAO,CAACH,OAAO,CAAC,CAAC,EACtD,cACF,CAAC;EACH;EAEAI,OAAOA,CAACJ,OAAe,EAAU;IAC/B,OAAOhC,WAAW,CAChBxB,eAAe,CAAC,MAAM,IAAI,CAAC,CAACR,QAAQ,CAACoE,OAAO,CAACJ,OAAO,CAAC,CAAC,EACtD,cACF,CAAC;EACH;EAEAK,aAAaA,CAACH,EAAU,EAAQ;IAC9B1D,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACqE,aAAa,CAACb,WAAW,CAACU,EAAE,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC;EACJ;EAEAI,UAAUA,CAAClD,MAAc,EAAQ;IAC/BZ,eAAe,CAAC,MAAM;MACpB,IAAI,CAAC,CAACR,QAAQ,CAACsE,UAAU,CAAClD,MAAM,CAAC;IACnC,CAAC,CAAC;EACJ;AACF;AAEA,MAAMmD,cAAqC,GAAG;EAC5C/E,cAAc,EAAEA,CAAC8C,YAAY,EAAElB,MAAM,KACnCZ,eAAe,CAAC,MAAMf,oBAAoB,CAAC6C,YAAY,EAAElB,MAAM,CAAC,CAAC;EACnEoD,MAAM,EAAGpE,MAAM,IAAK,IAAIL,kBAAkB,CAACK,MAAM,CAAC;EAClDV,iBAAiB,EAAEA,CAAA,KAAM,IAAI+E,UAAU,CAAC9E,uBAAuB,CAAC,CAAC,CAAC;EAClEC,mBAAmB,EAAGc,SAAS,IAC7BF,eAAe,CAAC,MAAMX,yBAAyB,CAACY,aAAa,CAACC,SAAS,CAAC,CAAC;AAC7E,CAAC;;AAED;AACA,OAAO,MAAMgE,OAAO,SAASvF,WAAW,CAAC;EAC/BgB,WAAWA,CAACwE,OAAuB,EAAEC,MAAyB,EAAE;IACtE,KAAK,CAACD,OAAO,EAAEC,MAAM,CAAC;EACxB;;EAEA;EACA,OAAOJ,MAAMA,CAACpE,MAAqB,EAAW;IAC5C,OAAO,IAAIsE,OAAO,CAACH,cAAc,CAACC,MAAM,CAACpE,MAAM,CAAC,EAAEA,MAAM,CAACwE,MAAM,IAAI,EAAE,CAAC;EACxE;AACF;;AAEA;AACA,OAAO,SAASlF,iBAAiBA,CAAA,EAAe;EAC9C,OAAO6E,cAAc,CAAC7E,iBAAiB,CAAC,CAAC;AAC3C;;AAEA;AACA,OAAO,SAASE,mBAAmBA,CAACc,SAAgB,EAAU;EAC5D,OAAO6D,cAAc,CAAC3E,mBAAmB,CAACc,SAAS,CAAC;AACtD;;AAEA;AACA,OAAO,SAASlB,cAAcA,CAAC8C,YAAoB,EAAElB,MAAc,EAAU;EAC3E,OAAOmD,cAAc,CAAC/E,cAAc,CAAC8C,YAAY,EAAElB,MAAM,CAAC;AAC5D;AAEA,SAAST,cAAcA,CAACP,MAAqB,EAAwB;EACnE,MAAMyE,SAA6C,GACjDzE,MAAM,CAACyE,SAAS,KAAKvE,SAAS,GAC1BA,SAAS,GACT;IACEwE,QAAQ,EAAE1E,MAAM,CAACyE,SAAS,CAACC,QAAQ,IAAI,IAAI;IAC3CC,gBAAgB,EAAEvB,WAAW,CAC3BpD,MAAM,CAACyE,SAAS,CAACE,gBAAgB,IAAI,MAAM,EAC3C,kBACF,CAAC;IACDC,SAAS,EAAExB,WAAW,CACpBpD,MAAM,CAACyE,SAAS,CAACG,SAAS,IAAI,MAAM,EACpC,WACF,CAAC;IACDpC,KAAK,EAAExC,MAAM,CAACyE,SAAS,CAACjC;EAC1B,CAAC;EACP,MAAMqC,WAAW,GAAG7E,MAAM,CAACC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,GAAGD,MAAM,CAACC,IAAI;EAC3D,MAAMA,IAAmC,GACvC4E,WAAW,KAAK3E,SAAS,IAAI2E,WAAW,KAAK,KAAK,GAC9C3E,SAAS,GACT;IACEwE,QAAQ,EAAEI,mBAAmB,CAACD,WAAW,EAAE7E,MAAM,CAACyE,SAAS,CAAC;IAC5DM,UAAU,EAAEF,WAAW,CAACE,UAAU,IAAI,KAAK;IAC3CC,kBAAkB,EAAE5B,WAAW,CAC7ByB,WAAW,CAACG,kBAAkB,IAAI,MAAM,EACxC,oBACF,CAAC;IACDC,iBAAiB,EAAEC,WAAW,CAC5BL,WAAW,CAACI,iBAAiB,IAAI,EAAE,EACnC,mBACF,CAAC;IACDE,cAAc,EAAED,WAAW,CACzBL,WAAW,CAACM,cAAc,IAAI,IAAI,EAClC,gBACF,CAAC;IACDC,eAAe,EAAEhC,WAAW,CAC1ByB,WAAW,CAACO,eAAe,IAAI,OAAO,EACtC,iBACF,CAAC;IACDC,oBAAoB,EAAEjC,WAAW,CAC/ByB,WAAW,CAACQ,oBAAoB,IAAI,GAAG,EACvC,sBACF,CAAC;IACDC,KAAK,EAAElC,WAAW,CAACyB,WAAW,CAACS,KAAK,IAAI,OAAO,EAAE,OAAO;EAC1D,CAAC;EACP,OAAO;IACLC,YAAY,EAAEvF,MAAM,CAACuF,YAAY;IACjCC,aAAa,EAAExF,MAAM,CAACwF,aAAa,IAAI,KAAK;IAC5CC,cAAc,EAAE,CAAC,IAAIzF,MAAM,CAACyF,cAAc,IAAI,EAAE,CAAC,CAAC;IAClDhB,SAAS;IACTiB,UAAU,EAAE1F,MAAM,CAAC0F,UAAU,IAAI,KAAK;IACtCC,UAAU,EAAE3F,MAAM,CAAC2F,UAAU;IAC7B1F,IAAI;IACJ2F,SAAS,EAAE,CAAC,IAAI5F,MAAM,CAAC4F,SAAS,IAAI,EAAE,CAAC,CAAC;IACxCC,YAAY,EAAG7F,MAAM,CAAC6F,YAAY,IAChC5G,YAAY,CAAC6G,SAAkD;IACjEtB,MAAM,EAAE,CAAC,IAAIxE,MAAM,CAACwE,MAAM,IAAI,EAAE,CAAC;EACnC,CAAC;AACH;AAEA,SAASM,mBAAmBA,CAC1B7E,IAAwB,EACxBwE,SAA8C,EACrC;EACT,OAAOxE,IAAI,CAACyE,QAAQ,IAAID,SAAS,EAAEC,QAAQ,IAAI,IAAI;AACrD;AAEA,SAAS9D,cAAcA,CAACD,KAAqB,EAAY;EACvD,OAAOsB,gBAAgB,CAAC;IACtB8D,KAAK,EAAEpF,KAAK,CAACoF,KAAK;IAClBC,GAAG,EAAErF,KAAK,CAACqF;EACb,CAAC,CAAC;AACJ;AAEA,SAASvE,kBAAkBA,CAACwE,IAAyB,EAAiB;EACpE,OAAOhE,gBAAgB,CAACgE,IAAI,CAAC;AAC/B;AAEA,SAAS3E,qBAAqBA,CAACD,IAAwB,EAAgB;EACrE,OAAOY,gBAAgB,CAACZ,IAAI,CAAC;AAC/B;AAEA,SAASU,oBAAoBA,CAC3BD,WAAuC,EACjB;EACtB,OAAOG,gBAAgB,CAACH,WAAW,CAAC;AACtC;AAEA,SAASG,gBAAgBA,CAACiE,KAAc,EAAW;EACjD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOtE,WAAW,CAACsE,KAAK,EAAE,YAAY,CAAC;EACzC;EACA,IAAIA,KAAK,YAAYC,WAAW,EAAE;IAChC,OAAOD,KAAK;EACd;EACA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAAC1E,GAAG,CAAE8E,IAAI,IAAKrE,gBAAgB,CAACqE,IAAI,CAAC,CAAC;EACpD;EACA,IAAIJ,KAAK,KAAK,IAAI,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC/C,OAAOK,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACP,KAAK,CAAC,CAAC1E,GAAG,CAAC,CAAC,CAACkF,GAAG,EAAEJ,IAAI,CAAC,KAAK,CAACI,GAAG,EAAEzE,gBAAgB,CAACqE,IAAI,CAAC,CAAC,CAC1E,CAAC;EACH;EACA,OAAOJ,KAAK;AACd;AAEA,SAAS7F,aAAaA,CAAC6F,KAAY,EAAe;EAChD,IAAIA,KAAK,YAAYC,WAAW,EAAE;IAChC,OAAOD,KAAK;EACd;EACA,OAAO7B,UAAU,CAACsC,IAAI,CAACT,KAAK,CAAC,CAACU,MAAM;AACtC;AAEA,SAASxD,WAAWA,CAAC8C,KAAa,EAAEW,IAAY,EAAU;EACxDC,yBAAyB,CAACZ,KAAK,EAAEW,IAAI,CAAC;EACtC,OAAOE,MAAM,CAACb,KAAK,CAAC;AACtB;AAEA,SAAShB,WAAWA,CAACgB,KAAa,EAAEW,IAAY,EAAU;EACxDC,yBAAyB,CAACZ,KAAK,EAAEW,IAAI,CAAC;EACtC,IAAIX,KAAK,GAAG,aAAa,EAAE;IACzB,MAAM,IAAIc,UAAU,CAAC,GAAGH,IAAI,oCAAoC,CAAC;EACnE;EACA,OAAOX,KAAK;AACd;AAEA,SAAStE,WAAWA,CAACsE,KAAa,EAAEW,IAAY,EAAU;EACxD,MAAMI,MAAM,GAAGC,MAAM,CAAChB,KAAK,CAAC;EAC5B,IAAI,CAACgB,MAAM,CAACC,aAAa,CAACF,MAAM,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE;IAC/C,MAAM,IAAID,UAAU,CAAC,GAAGH,IAAI,0CAA0C,CAAC;EACzE;EACA,OAAOI,MAAM;AACf;AAEA,SAASH,yBAAyBA,CAACZ,KAAa,EAAEW,IAAY,EAAQ;EACpE,IAAI,CAACK,MAAM,CAACC,aAAa,CAACjB,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,EAAE;IAC7C,MAAM,IAAIc,UAAU,CAAC,GAAGH,IAAI,sCAAsC,CAAC;EACrE;AACF;AAEA,SAASzG,eAAeA,CAAIgH,SAAkB,EAAK;EACjD,IAAI;IACF,OAAOA,SAAS,CAAC,CAAC;EACpB,CAAC,CAAC,OAAO5G,KAAK,EAAE;IACd,MAAMwF,GAAG,GAAGqB,WAAW,CAAC7G,KAAK,CAAC;IAC9B,QAAQwF,GAAG;MACT,KAAK9G,aAAa,CAACoI,YAAY;QAAE;UAC/B,MAAM,IAAIzI,iBAAiB,CAAC,CAAC;QAC/B;MACA,KAAKK,aAAa,CAACqI,eAAe;QAAE;UAClC,MAAM,IAAIzI,oBAAoB,CAAC,CAAC;QAClC;MACA,KAAKI,aAAa,CAACsI,YAAY;QAAE;UAC/B,MAAM,IAAIxI,iBAAiB,CAACyI,cAAc,CAACjH,KAAK,CAAC,CAAC;QACpD;MACA;QAAS;UACP,MAAMA,KAAK;QACb;IACF;EACF;AACF;AAEA,SAAS6G,WAAWA,CAAC7G,KAAc,EAA6B;EAC9D,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,KAAK,IAAIA,KAAK,GAC/DA,KAAK,CAACwF,GAAG,GACV9F,SAAS;AACf;AAEA,SAASuH,cAAcA,CAACjH,KAAc,EAAsB;EAC1D,IACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACd,OAAO,IAAIA,KAAK,IAChB,OAAOA,KAAK,CAACuF,KAAK,KAAK,QAAQ,IAC/BvF,KAAK,CAACuF,KAAK,KAAK,IAAI,IACpB,QAAQ,IAAIvF,KAAK,CAACuF,KAAK,IACvB,OAAOvF,KAAK,CAACuF,KAAK,CAAC2B,MAAM,KAAK,QAAQ,EACtC;IACA,OAAOlH,KAAK,CAACuF,KAAK,CAAC2B,MAAM;EAC3B;EACA,OAAOxH,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"names":["BackpressureError","MessageTooLargeError","Minip2pBase","NotPermittedError","PubsubRouter","FfiError_Tags","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","listener","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","toNativeConfig","error","start","onEvent","event","normalizeEvent","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","u64ToNumber","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","connId","streamId","sendStream","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","connectWithAddrs","addresses","connectAddr","address","dial","id","dialIp4","dialIp6","cancelConnect","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","discovery","autoDial","beaconIntervalMs","peerTtlMs","mdnsOptions","resolveMdnsAutoDial","enableIpv6","interfaceRefreshMs","maxAnnouncedAddrs","numberToU32","maxPacketBytes","queryIntervalMs","socketPollIntervalMs","ttlMs","configuredTransports","transports","quic","tcp","agentVersion","allowUnsigned","autonatServers","forceRelay","protocols","pubsubRouter","Gossipsub","toNativeTransport","transport","listen","inner","tag","peer","value","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","key","from","buffer","name","assertSafeUnsignedInteger","BigInt","RangeError","number","Number","isSafeInteger","operation","getErrorTag","Backpressure","MessageTooLarge","NotPermitted","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}