@minip2p/react-native 0.1.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +25 -83
  2. package/android/src/main/jniLibs/arm64-v8a/libminip2p_ffi.so +0 -0
  3. package/android/src/main/jniLibs/x86_64/libminip2p_ffi.so +0 -0
  4. package/build/Minip2pFfi.xcframework/ios-arm64/libminip2p_ffi.a +0 -0
  5. package/build/Minip2pFfi.xcframework/ios-arm64-simulator/libminip2p_ffi.a +0 -0
  6. package/cpp/generated/minip2p_ffi.cpp +45 -2
  7. package/cpp/generated/minip2p_ffi.hpp +2 -0
  8. package/lib/module/adapter.js +16 -8
  9. package/lib/module/adapter.js.map +1 -1
  10. package/lib/module/generated/minip2p_ffi-ffi.js.map +1 -1
  11. package/lib/module/generated/minip2p_ffi.js +159 -46
  12. package/lib/module/generated/minip2p_ffi.js.map +1 -1
  13. package/lib/module/hook-lifecycle.js +116 -0
  14. package/lib/module/hook-lifecycle.js.map +1 -0
  15. package/lib/module/hooks.js +56 -0
  16. package/lib/module/hooks.js.map +1 -0
  17. package/lib/module/index.js +2 -1
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/typescript/src/adapter.d.ts +4 -4
  20. package/lib/typescript/src/adapter.d.ts.map +1 -1
  21. package/lib/typescript/src/generated/minip2p_ffi-ffi.d.ts +3 -1
  22. package/lib/typescript/src/generated/minip2p_ffi-ffi.d.ts.map +1 -1
  23. package/lib/typescript/src/generated/minip2p_ffi.d.ts +89 -3
  24. package/lib/typescript/src/generated/minip2p_ffi.d.ts.map +1 -1
  25. package/lib/typescript/src/hook-lifecycle.d.ts +38 -0
  26. package/lib/typescript/src/hook-lifecycle.d.ts.map +1 -0
  27. package/lib/typescript/src/hooks.d.ts +49 -0
  28. package/lib/typescript/src/hooks.d.ts.map +1 -0
  29. package/lib/typescript/src/index.d.ts +2 -1
  30. package/lib/typescript/src/index.d.ts.map +1 -1
  31. package/package.json +3 -2
  32. package/src/adapter.ts +40 -25
  33. package/src/generated/minip2p_ffi-ffi.ts +3 -1
  34. package/src/generated/minip2p_ffi.ts +199 -55
  35. package/src/hook-lifecycle.ts +152 -0
  36. package/src/hooks.ts +102 -0
  37. package/src/index.ts +8 -1
@@ -383,6 +383,44 @@ const FfiConverterTypeKnownPeerInfo = (() => {
383
383
  return new FFIConverter();
384
384
  })();
385
385
 
386
+ /**
387
+ * Full identity allocated for an outbound application stream.
388
+ */
389
+
390
+ /**
391
+ * Generated factory for {@link OpenStreamResult} record objects.
392
+ */
393
+ export const OpenStreamResult = (() => {
394
+ const defaults = () => ({});
395
+ const create = (() => {
396
+ return uniffiCreateRecord(defaults);
397
+ })();
398
+ return Object.freeze({
399
+ create,
400
+ new: create,
401
+ defaults: () => Object.freeze(defaults())
402
+ });
403
+ })();
404
+ const FfiConverterTypeOpenStreamResult = (() => {
405
+ class FFIConverter extends AbstractFfiConverterByteArray {
406
+ read(from) {
407
+ return {
408
+ connId: FfiConverterUInt64.read(from),
409
+ streamId: FfiConverterUInt64.read(from)
410
+ };
411
+ }
412
+ write(value, into) {
413
+ FfiConverterUInt64.write(value.connId, into);
414
+ FfiConverterUInt64.write(value.streamId, into);
415
+ }
416
+ allocationSize(value) {
417
+ return FfiConverterUInt64.allocationSize(value.connId) + FfiConverterUInt64.allocationSize(value.streamId);
418
+ }
419
+ }
420
+ ;
421
+ return new FFIConverter();
422
+ })();
423
+
386
424
  /**
387
425
  * Snapshot of the active inbound relay reservation.
388
426
  */
@@ -1513,6 +1551,7 @@ export let P2pEvent_Tags = /*#__PURE__*/function (P2pEvent_Tags) {
1513
1551
  P2pEvent_Tags["RelayReserved"] = "RelayReserved";
1514
1552
  P2pEvent_Tags["RelayReservationLost"] = "RelayReservationLost";
1515
1553
  P2pEvent_Tags["PathEstablished"] = "PathEstablished";
1554
+ P2pEvent_Tags["InboundPathEstablished"] = "InboundPathEstablished";
1516
1555
  P2pEvent_Tags["PathUpgraded"] = "PathUpgraded";
1517
1556
  P2pEvent_Tags["HolePunchFailed"] = "HolePunchFailed";
1518
1557
  P2pEvent_Tags["FellBackToRelay"] = "FellBackToRelay";
@@ -1912,6 +1951,27 @@ export const P2pEvent = (() => {
1912
1951
  return obj.tag === P2pEvent_Tags.PathEstablished;
1913
1952
  }
1914
1953
  }
1954
+ /**
1955
+ * An inbound relay circuit became a usable path.
1956
+ */
1957
+ class InboundPathEstablished_ extends UniffiEnum {
1958
+ /**
1959
+ * @private
1960
+ * This field is private and should not be used, use `tag` instead.
1961
+ */
1962
+ [uniffiTypeNameSymbol] = "P2pEvent";
1963
+ tag = P2pEvent_Tags.InboundPathEstablished;
1964
+ constructor(inner) {
1965
+ super("P2pEvent", "InboundPathEstablished");
1966
+ this.inner = Object.freeze(inner);
1967
+ }
1968
+ static new(inner) {
1969
+ return new InboundPathEstablished_(inner);
1970
+ }
1971
+ static instanceOf(obj) {
1972
+ return obj.tag === P2pEvent_Tags.InboundPathEstablished;
1973
+ }
1974
+ }
1915
1975
  /**
1916
1976
  * A better path replaced an earlier path.
1917
1977
  */
@@ -2254,6 +2314,7 @@ export const P2pEvent = (() => {
2254
2314
  RelayReserved: RelayReserved_,
2255
2315
  RelayReservationLost: RelayReservationLost_,
2256
2316
  PathEstablished: PathEstablished_,
2317
+ InboundPathEstablished: InboundPathEstablished_,
2257
2318
  PathUpgraded: PathUpgraded_,
2258
2319
  HolePunchFailed: HolePunchFailed_,
2259
2320
  FellBackToRelay: FellBackToRelay_,
@@ -2352,6 +2413,7 @@ const FfiConverterTypeP2pEvent = (() => {
2352
2413
  kind: FfiConverterTypeEndpointErrorKind.read(from),
2353
2414
  peerId: FfiConverterOptionalString.read(from),
2354
2415
  connId: FfiConverterOptionalUInt64.read(from),
2416
+ streamId: FfiConverterOptionalUInt64.read(from),
2355
2417
  detail: FfiConverterString.read(from)
2356
2418
  });
2357
2419
  case 14:
@@ -2380,35 +2442,40 @@ const FfiConverterTypeP2pEvent = (() => {
2380
2442
  path: FfiConverterTypePathKind.read(from)
2381
2443
  });
2382
2444
  case 19:
2445
+ return new P2pEvent.InboundPathEstablished({
2446
+ peerId: FfiConverterString.read(from),
2447
+ path: FfiConverterTypePathKind.read(from)
2448
+ });
2449
+ case 20:
2383
2450
  return new P2pEvent.PathUpgraded({
2384
2451
  connectId: FfiConverterUInt64.read(from),
2385
2452
  peerId: FfiConverterString.read(from),
2386
2453
  from: FfiConverterTypePathKind.read(from),
2387
2454
  to: FfiConverterTypePathKind.read(from)
2388
2455
  });
2389
- case 20:
2456
+ case 21:
2390
2457
  return new P2pEvent.HolePunchFailed({
2391
2458
  connectId: FfiConverterUInt64.read(from),
2392
2459
  attempt: FfiConverterUInt32.read(from),
2393
2460
  reason: FfiConverterString.read(from)
2394
2461
  });
2395
- case 21:
2462
+ case 22:
2396
2463
  return new P2pEvent.FellBackToRelay({
2397
2464
  connectId: FfiConverterUInt64.read(from),
2398
2465
  peerId: FfiConverterString.read(from)
2399
2466
  });
2400
- case 22:
2467
+ case 23:
2401
2468
  return new P2pEvent.ConnectFailed({
2402
2469
  connectId: FfiConverterUInt64.read(from),
2403
2470
  peerId: FfiConverterString.read(from),
2404
2471
  kind: FfiConverterTypeNatErrorKind.read(from),
2405
2472
  detail: FfiConverterString.read(from)
2406
2473
  });
2407
- case 23:
2474
+ case 24:
2408
2475
  return new P2pEvent.InboundDirectUpgrade({
2409
2476
  peerId: FfiConverterString.read(from)
2410
2477
  });
2411
- case 24:
2478
+ case 25:
2412
2479
  return new P2pEvent.Message({
2413
2480
  fromPeerId: FfiConverterString.read(from),
2414
2481
  topics: FfiConverterSequenceString.read(from),
@@ -2416,48 +2483,48 @@ const FfiConverterTypeP2pEvent = (() => {
2416
2483
  seqno: FfiConverterArrayBuffer.read(from),
2417
2484
  signed: FfiConverterBool.read(from)
2418
2485
  });
2419
- case 25:
2486
+ case 26:
2420
2487
  return new P2pEvent.PeerSubscribed({
2421
2488
  peerId: FfiConverterString.read(from),
2422
2489
  topic: FfiConverterString.read(from)
2423
2490
  });
2424
- case 26:
2491
+ case 27:
2425
2492
  return new P2pEvent.PeerUnsubscribed({
2426
2493
  peerId: FfiConverterString.read(from),
2427
2494
  topic: FfiConverterString.read(from)
2428
2495
  });
2429
- case 27:
2496
+ case 28:
2430
2497
  return new P2pEvent.PubsubOutboundFailure({
2431
2498
  peerId: FfiConverterString.read(from),
2432
2499
  reason: FfiConverterString.read(from)
2433
2500
  });
2434
- case 28:
2501
+ case 29:
2435
2502
  return new P2pEvent.PubsubProtocolViolation({
2436
2503
  peerId: FfiConverterString.read(from),
2437
2504
  reason: FfiConverterString.read(from)
2438
2505
  });
2439
- case 29:
2506
+ case 30:
2440
2507
  return new P2pEvent.PeerDiscovered({
2441
2508
  peerId: FfiConverterString.read(from),
2442
2509
  addrs: FfiConverterSequenceString.read(from),
2443
2510
  source: FfiConverterTypeDiscoverySource.read(from)
2444
2511
  });
2445
- case 30:
2512
+ case 31:
2446
2513
  return new P2pEvent.PeerUpdated({
2447
2514
  peerId: FfiConverterString.read(from),
2448
2515
  addrs: FfiConverterSequenceString.read(from),
2449
2516
  source: FfiConverterTypeDiscoverySource.read(from)
2450
2517
  });
2451
- case 31:
2518
+ case 32:
2452
2519
  return new P2pEvent.PeerExpired({
2453
2520
  peerId: FfiConverterString.read(from)
2454
2521
  });
2455
- case 32:
2522
+ case 33:
2456
2523
  return new P2pEvent.DiscoveryDialFailed({
2457
2524
  peerId: FfiConverterString.read(from),
2458
2525
  reason: FfiConverterString.read(from)
2459
2526
  });
2460
- case 33:
2527
+ case 34:
2461
2528
  return new P2pEvent.DiscoveryProtocolViolation({
2462
2529
  peerId: FfiConverterOptionalString.read(from),
2463
2530
  source: FfiConverterTypeDiscoverySource.read(from),
@@ -2579,6 +2646,7 @@ const FfiConverterTypeP2pEvent = (() => {
2579
2646
  FfiConverterTypeEndpointErrorKind.write(inner.kind, into);
2580
2647
  FfiConverterOptionalString.write(inner.peerId, into);
2581
2648
  FfiConverterOptionalUInt64.write(inner.connId, into);
2649
+ FfiConverterOptionalUInt64.write(inner.streamId, into);
2582
2650
  FfiConverterString.write(inner.detail, into);
2583
2651
  return;
2584
2652
  }
@@ -2622,10 +2690,18 @@ const FfiConverterTypeP2pEvent = (() => {
2622
2690
  FfiConverterTypePathKind.write(inner.path, into);
2623
2691
  return;
2624
2692
  }
2625
- case P2pEvent_Tags.PathUpgraded:
2693
+ case P2pEvent_Tags.InboundPathEstablished:
2626
2694
  {
2627
2695
  ordinalConverter.write(19, into);
2628
2696
  const inner = value.inner;
2697
+ FfiConverterString.write(inner.peerId, into);
2698
+ FfiConverterTypePathKind.write(inner.path, into);
2699
+ return;
2700
+ }
2701
+ case P2pEvent_Tags.PathUpgraded:
2702
+ {
2703
+ ordinalConverter.write(20, into);
2704
+ const inner = value.inner;
2629
2705
  FfiConverterUInt64.write(inner.connectId, into);
2630
2706
  FfiConverterString.write(inner.peerId, into);
2631
2707
  FfiConverterTypePathKind.write(inner.from, into);
@@ -2634,7 +2710,7 @@ const FfiConverterTypeP2pEvent = (() => {
2634
2710
  }
2635
2711
  case P2pEvent_Tags.HolePunchFailed:
2636
2712
  {
2637
- ordinalConverter.write(20, into);
2713
+ ordinalConverter.write(21, into);
2638
2714
  const inner = value.inner;
2639
2715
  FfiConverterUInt64.write(inner.connectId, into);
2640
2716
  FfiConverterUInt32.write(inner.attempt, into);
@@ -2643,7 +2719,7 @@ const FfiConverterTypeP2pEvent = (() => {
2643
2719
  }
2644
2720
  case P2pEvent_Tags.FellBackToRelay:
2645
2721
  {
2646
- ordinalConverter.write(21, into);
2722
+ ordinalConverter.write(22, into);
2647
2723
  const inner = value.inner;
2648
2724
  FfiConverterUInt64.write(inner.connectId, into);
2649
2725
  FfiConverterString.write(inner.peerId, into);
@@ -2651,7 +2727,7 @@ const FfiConverterTypeP2pEvent = (() => {
2651
2727
  }
2652
2728
  case P2pEvent_Tags.ConnectFailed:
2653
2729
  {
2654
- ordinalConverter.write(22, into);
2730
+ ordinalConverter.write(23, into);
2655
2731
  const inner = value.inner;
2656
2732
  FfiConverterUInt64.write(inner.connectId, into);
2657
2733
  FfiConverterString.write(inner.peerId, into);
@@ -2661,14 +2737,14 @@ const FfiConverterTypeP2pEvent = (() => {
2661
2737
  }
2662
2738
  case P2pEvent_Tags.InboundDirectUpgrade:
2663
2739
  {
2664
- ordinalConverter.write(23, into);
2740
+ ordinalConverter.write(24, into);
2665
2741
  const inner = value.inner;
2666
2742
  FfiConverterString.write(inner.peerId, into);
2667
2743
  return;
2668
2744
  }
2669
2745
  case P2pEvent_Tags.Message:
2670
2746
  {
2671
- ordinalConverter.write(24, into);
2747
+ ordinalConverter.write(25, into);
2672
2748
  const inner = value.inner;
2673
2749
  FfiConverterString.write(inner.fromPeerId, into);
2674
2750
  FfiConverterSequenceString.write(inner.topics, into);
@@ -2679,7 +2755,7 @@ const FfiConverterTypeP2pEvent = (() => {
2679
2755
  }
2680
2756
  case P2pEvent_Tags.PeerSubscribed:
2681
2757
  {
2682
- ordinalConverter.write(25, into);
2758
+ ordinalConverter.write(26, into);
2683
2759
  const inner = value.inner;
2684
2760
  FfiConverterString.write(inner.peerId, into);
2685
2761
  FfiConverterString.write(inner.topic, into);
@@ -2687,7 +2763,7 @@ const FfiConverterTypeP2pEvent = (() => {
2687
2763
  }
2688
2764
  case P2pEvent_Tags.PeerUnsubscribed:
2689
2765
  {
2690
- ordinalConverter.write(26, into);
2766
+ ordinalConverter.write(27, into);
2691
2767
  const inner = value.inner;
2692
2768
  FfiConverterString.write(inner.peerId, into);
2693
2769
  FfiConverterString.write(inner.topic, into);
@@ -2695,7 +2771,7 @@ const FfiConverterTypeP2pEvent = (() => {
2695
2771
  }
2696
2772
  case P2pEvent_Tags.PubsubOutboundFailure:
2697
2773
  {
2698
- ordinalConverter.write(27, into);
2774
+ ordinalConverter.write(28, into);
2699
2775
  const inner = value.inner;
2700
2776
  FfiConverterString.write(inner.peerId, into);
2701
2777
  FfiConverterString.write(inner.reason, into);
@@ -2703,7 +2779,7 @@ const FfiConverterTypeP2pEvent = (() => {
2703
2779
  }
2704
2780
  case P2pEvent_Tags.PubsubProtocolViolation:
2705
2781
  {
2706
- ordinalConverter.write(28, into);
2782
+ ordinalConverter.write(29, into);
2707
2783
  const inner = value.inner;
2708
2784
  FfiConverterString.write(inner.peerId, into);
2709
2785
  FfiConverterString.write(inner.reason, into);
@@ -2711,7 +2787,7 @@ const FfiConverterTypeP2pEvent = (() => {
2711
2787
  }
2712
2788
  case P2pEvent_Tags.PeerDiscovered:
2713
2789
  {
2714
- ordinalConverter.write(29, into);
2790
+ ordinalConverter.write(30, into);
2715
2791
  const inner = value.inner;
2716
2792
  FfiConverterString.write(inner.peerId, into);
2717
2793
  FfiConverterSequenceString.write(inner.addrs, into);
@@ -2720,7 +2796,7 @@ const FfiConverterTypeP2pEvent = (() => {
2720
2796
  }
2721
2797
  case P2pEvent_Tags.PeerUpdated:
2722
2798
  {
2723
- ordinalConverter.write(30, into);
2799
+ ordinalConverter.write(31, into);
2724
2800
  const inner = value.inner;
2725
2801
  FfiConverterString.write(inner.peerId, into);
2726
2802
  FfiConverterSequenceString.write(inner.addrs, into);
@@ -2729,14 +2805,14 @@ const FfiConverterTypeP2pEvent = (() => {
2729
2805
  }
2730
2806
  case P2pEvent_Tags.PeerExpired:
2731
2807
  {
2732
- ordinalConverter.write(31, into);
2808
+ ordinalConverter.write(32, into);
2733
2809
  const inner = value.inner;
2734
2810
  FfiConverterString.write(inner.peerId, into);
2735
2811
  return;
2736
2812
  }
2737
2813
  case P2pEvent_Tags.DiscoveryDialFailed:
2738
2814
  {
2739
- ordinalConverter.write(32, into);
2815
+ ordinalConverter.write(33, into);
2740
2816
  const inner = value.inner;
2741
2817
  FfiConverterString.write(inner.peerId, into);
2742
2818
  FfiConverterString.write(inner.reason, into);
@@ -2744,7 +2820,7 @@ const FfiConverterTypeP2pEvent = (() => {
2744
2820
  }
2745
2821
  case P2pEvent_Tags.DiscoveryProtocolViolation:
2746
2822
  {
2747
- ordinalConverter.write(33, into);
2823
+ ordinalConverter.write(34, into);
2748
2824
  const inner = value.inner;
2749
2825
  FfiConverterOptionalString.write(inner.peerId, into);
2750
2826
  FfiConverterTypeDiscoverySource.write(inner.source, into);
@@ -2868,6 +2944,7 @@ const FfiConverterTypeP2pEvent = (() => {
2868
2944
  size += FfiConverterTypeEndpointErrorKind.allocationSize(inner.kind);
2869
2945
  size += FfiConverterOptionalString.allocationSize(inner.peerId);
2870
2946
  size += FfiConverterOptionalUInt64.allocationSize(inner.connId);
2947
+ size += FfiConverterOptionalUInt64.allocationSize(inner.streamId);
2871
2948
  size += FfiConverterString.allocationSize(inner.detail);
2872
2949
  return size;
2873
2950
  }
@@ -2911,10 +2988,18 @@ const FfiConverterTypeP2pEvent = (() => {
2911
2988
  size += FfiConverterTypePathKind.allocationSize(inner.path);
2912
2989
  return size;
2913
2990
  }
2914
- case P2pEvent_Tags.PathUpgraded:
2991
+ case P2pEvent_Tags.InboundPathEstablished:
2915
2992
  {
2916
2993
  const inner = value.inner;
2917
2994
  let size = ordinalConverter.allocationSize(19);
2995
+ size += FfiConverterString.allocationSize(inner.peerId);
2996
+ size += FfiConverterTypePathKind.allocationSize(inner.path);
2997
+ return size;
2998
+ }
2999
+ case P2pEvent_Tags.PathUpgraded:
3000
+ {
3001
+ const inner = value.inner;
3002
+ let size = ordinalConverter.allocationSize(20);
2918
3003
  size += FfiConverterUInt64.allocationSize(inner.connectId);
2919
3004
  size += FfiConverterString.allocationSize(inner.peerId);
2920
3005
  size += FfiConverterTypePathKind.allocationSize(inner.from);
@@ -2924,7 +3009,7 @@ const FfiConverterTypeP2pEvent = (() => {
2924
3009
  case P2pEvent_Tags.HolePunchFailed:
2925
3010
  {
2926
3011
  const inner = value.inner;
2927
- let size = ordinalConverter.allocationSize(20);
3012
+ let size = ordinalConverter.allocationSize(21);
2928
3013
  size += FfiConverterUInt64.allocationSize(inner.connectId);
2929
3014
  size += FfiConverterUInt32.allocationSize(inner.attempt);
2930
3015
  size += FfiConverterString.allocationSize(inner.reason);
@@ -2933,7 +3018,7 @@ const FfiConverterTypeP2pEvent = (() => {
2933
3018
  case P2pEvent_Tags.FellBackToRelay:
2934
3019
  {
2935
3020
  const inner = value.inner;
2936
- let size = ordinalConverter.allocationSize(21);
3021
+ let size = ordinalConverter.allocationSize(22);
2937
3022
  size += FfiConverterUInt64.allocationSize(inner.connectId);
2938
3023
  size += FfiConverterString.allocationSize(inner.peerId);
2939
3024
  return size;
@@ -2941,7 +3026,7 @@ const FfiConverterTypeP2pEvent = (() => {
2941
3026
  case P2pEvent_Tags.ConnectFailed:
2942
3027
  {
2943
3028
  const inner = value.inner;
2944
- let size = ordinalConverter.allocationSize(22);
3029
+ let size = ordinalConverter.allocationSize(23);
2945
3030
  size += FfiConverterUInt64.allocationSize(inner.connectId);
2946
3031
  size += FfiConverterString.allocationSize(inner.peerId);
2947
3032
  size += FfiConverterTypeNatErrorKind.allocationSize(inner.kind);
@@ -2951,14 +3036,14 @@ const FfiConverterTypeP2pEvent = (() => {
2951
3036
  case P2pEvent_Tags.InboundDirectUpgrade:
2952
3037
  {
2953
3038
  const inner = value.inner;
2954
- let size = ordinalConverter.allocationSize(23);
3039
+ let size = ordinalConverter.allocationSize(24);
2955
3040
  size += FfiConverterString.allocationSize(inner.peerId);
2956
3041
  return size;
2957
3042
  }
2958
3043
  case P2pEvent_Tags.Message:
2959
3044
  {
2960
3045
  const inner = value.inner;
2961
- let size = ordinalConverter.allocationSize(24);
3046
+ let size = ordinalConverter.allocationSize(25);
2962
3047
  size += FfiConverterString.allocationSize(inner.fromPeerId);
2963
3048
  size += FfiConverterSequenceString.allocationSize(inner.topics);
2964
3049
  size += FfiConverterArrayBuffer.allocationSize(inner.data);
@@ -2969,7 +3054,7 @@ const FfiConverterTypeP2pEvent = (() => {
2969
3054
  case P2pEvent_Tags.PeerSubscribed:
2970
3055
  {
2971
3056
  const inner = value.inner;
2972
- let size = ordinalConverter.allocationSize(25);
3057
+ let size = ordinalConverter.allocationSize(26);
2973
3058
  size += FfiConverterString.allocationSize(inner.peerId);
2974
3059
  size += FfiConverterString.allocationSize(inner.topic);
2975
3060
  return size;
@@ -2977,7 +3062,7 @@ const FfiConverterTypeP2pEvent = (() => {
2977
3062
  case P2pEvent_Tags.PeerUnsubscribed:
2978
3063
  {
2979
3064
  const inner = value.inner;
2980
- let size = ordinalConverter.allocationSize(26);
3065
+ let size = ordinalConverter.allocationSize(27);
2981
3066
  size += FfiConverterString.allocationSize(inner.peerId);
2982
3067
  size += FfiConverterString.allocationSize(inner.topic);
2983
3068
  return size;
@@ -2985,7 +3070,7 @@ const FfiConverterTypeP2pEvent = (() => {
2985
3070
  case P2pEvent_Tags.PubsubOutboundFailure:
2986
3071
  {
2987
3072
  const inner = value.inner;
2988
- let size = ordinalConverter.allocationSize(27);
3073
+ let size = ordinalConverter.allocationSize(28);
2989
3074
  size += FfiConverterString.allocationSize(inner.peerId);
2990
3075
  size += FfiConverterString.allocationSize(inner.reason);
2991
3076
  return size;
@@ -2993,7 +3078,7 @@ const FfiConverterTypeP2pEvent = (() => {
2993
3078
  case P2pEvent_Tags.PubsubProtocolViolation:
2994
3079
  {
2995
3080
  const inner = value.inner;
2996
- let size = ordinalConverter.allocationSize(28);
3081
+ let size = ordinalConverter.allocationSize(29);
2997
3082
  size += FfiConverterString.allocationSize(inner.peerId);
2998
3083
  size += FfiConverterString.allocationSize(inner.reason);
2999
3084
  return size;
@@ -3001,7 +3086,7 @@ const FfiConverterTypeP2pEvent = (() => {
3001
3086
  case P2pEvent_Tags.PeerDiscovered:
3002
3087
  {
3003
3088
  const inner = value.inner;
3004
- let size = ordinalConverter.allocationSize(29);
3089
+ let size = ordinalConverter.allocationSize(30);
3005
3090
  size += FfiConverterString.allocationSize(inner.peerId);
3006
3091
  size += FfiConverterSequenceString.allocationSize(inner.addrs);
3007
3092
  size += FfiConverterTypeDiscoverySource.allocationSize(inner.source);
@@ -3010,7 +3095,7 @@ const FfiConverterTypeP2pEvent = (() => {
3010
3095
  case P2pEvent_Tags.PeerUpdated:
3011
3096
  {
3012
3097
  const inner = value.inner;
3013
- let size = ordinalConverter.allocationSize(30);
3098
+ let size = ordinalConverter.allocationSize(31);
3014
3099
  size += FfiConverterString.allocationSize(inner.peerId);
3015
3100
  size += FfiConverterSequenceString.allocationSize(inner.addrs);
3016
3101
  size += FfiConverterTypeDiscoverySource.allocationSize(inner.source);
@@ -3019,14 +3104,14 @@ const FfiConverterTypeP2pEvent = (() => {
3019
3104
  case P2pEvent_Tags.PeerExpired:
3020
3105
  {
3021
3106
  const inner = value.inner;
3022
- let size = ordinalConverter.allocationSize(31);
3107
+ let size = ordinalConverter.allocationSize(32);
3023
3108
  size += FfiConverterString.allocationSize(inner.peerId);
3024
3109
  return size;
3025
3110
  }
3026
3111
  case P2pEvent_Tags.DiscoveryDialFailed:
3027
3112
  {
3028
3113
  const inner = value.inner;
3029
- let size = ordinalConverter.allocationSize(32);
3114
+ let size = ordinalConverter.allocationSize(33);
3030
3115
  size += FfiConverterString.allocationSize(inner.peerId);
3031
3116
  size += FfiConverterString.allocationSize(inner.reason);
3032
3117
  return size;
@@ -3034,7 +3119,7 @@ const FfiConverterTypeP2pEvent = (() => {
3034
3119
  case P2pEvent_Tags.DiscoveryProtocolViolation:
3035
3120
  {
3036
3121
  const inner = value.inner;
3037
- let size = ordinalConverter.allocationSize(33);
3122
+ let size = ordinalConverter.allocationSize(34);
3038
3123
  size += FfiConverterOptionalString.allocationSize(inner.peerId);
3039
3124
  size += FfiConverterTypeDiscoverySource.allocationSize(inner.source);
3040
3125
  size += FfiConverterString.allocationSize(inner.reason);
@@ -3395,11 +3480,32 @@ export class P2pEndpoint extends UniffiAbstractObject {
3395
3480
  * Opens a negotiated application stream and returns its opaque id.
3396
3481
  */
3397
3482
  openStream(peerId, protocolId) /*throws*/{
3398
- return FfiConverterUInt64.lift(uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
3483
+ return (__rb => {
3484
+ try {
3485
+ return FfiConverterTypeOpenStreamResult.lift(__rb);
3486
+ } finally {
3487
+ nativeModule().rustbuffer_free(__rb);
3488
+ }
3489
+ })(uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
3399
3490
  return nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_open_stream(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterString.lower(peerId, nativeModule().rustbuffer_alloc), FfiConverterString.lower(protocolId, nativeModule().rustbuffer_alloc), callStatus);
3400
3491
  }, /*liftString:*/FfiConverterString.lift.bind(FfiConverterString)));
3401
3492
  }
3402
3493
 
3494
+ /**
3495
+ * Returns the current usable NAT-orchestrated path to `peer_id`.
3496
+ */
3497
+ path(peerId) /*throws*/{
3498
+ return (__rb => {
3499
+ try {
3500
+ return FfiConverterOptionalTypePathKind.lift(__rb);
3501
+ } finally {
3502
+ nativeModule().rustbuffer_free(__rb);
3503
+ }
3504
+ })(uniffiCaller.rustCallWithError(/*liftError:*/FfiConverterTypeFfiError.lift.bind(FfiConverterTypeFfiError), /*caller:*/callStatus => {
3505
+ return nativeModule().ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_path(uniffiTypeP2pEndpointObjectFactory.clonePointer(this), FfiConverterString.lower(peerId, nativeModule().rustbuffer_alloc), callStatus);
3506
+ }, /*liftString:*/FfiConverterString.lift.bind(FfiConverterString)));
3507
+ }
3508
+
3403
3509
  /**
3404
3510
  * Returns the local peer ID as legacy base58 text.
3405
3511
  */
@@ -3616,6 +3722,9 @@ const FfiConverterSequenceUInt64 = new FfiConverterArray(FfiConverterUInt64);
3616
3722
  // FfiConverter for Array<KnownPeerInfo>
3617
3723
  const FfiConverterSequenceTypeKnownPeerInfo = new FfiConverterArray(FfiConverterTypeKnownPeerInfo);
3618
3724
 
3725
+ // FfiConverter for PathKind | undefined
3726
+ const FfiConverterOptionalTypePathKind = new FfiConverterOptional(FfiConverterTypePathKind);
3727
+
3619
3728
  // FfiConverter for IdentifyInfo | undefined
3620
3729
  const FfiConverterOptionalTypeIdentifyInfo = new FfiConverterOptional(FfiConverterTypeIdentifyInfo);
3621
3730
 
@@ -3703,9 +3812,12 @@ function uniffiEnsureInitialized() {
3703
3812
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_listen_addrs() !== 19812) {
3704
3813
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_listen_addrs");
3705
3814
  }
3706
- if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_open_stream() !== 21297) {
3815
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_open_stream() !== 18245) {
3707
3816
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_open_stream");
3708
3817
  }
3818
+ if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_path() !== 58210) {
3819
+ throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_path");
3820
+ }
3709
3821
  if (nativeModule().ubrn_uniffi_minip2p_ffi_checksum_method_p2pendpoint_peer_id() !== 34289) {
3710
3822
  throw new UniffiInternalError.ApiChecksumMismatch("uniffi_minip2p_ffi_checksum_method_p2pendpoint_peer_id");
3711
3823
  }
@@ -3763,6 +3875,7 @@ export default Object.freeze({
3763
3875
  FfiConverterTypeKnownPeerInfo,
3764
3876
  FfiConverterTypeMdnsOptions,
3765
3877
  FfiConverterTypeNatErrorKind,
3878
+ FfiConverterTypeOpenStreamResult,
3766
3879
  FfiConverterTypeP2pEndpoint,
3767
3880
  FfiConverterTypeP2pEvent,
3768
3881
  FfiConverterTypeP2pEventListener,