@toon-protocol/connector 3.33.1 → 3.34.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 (91) hide show
  1. package/dist/config/child-expander.d.ts +11 -0
  2. package/dist/config/child-expander.d.ts.map +1 -0
  3. package/dist/config/child-expander.js +131 -0
  4. package/dist/config/child-expander.js.map +1 -0
  5. package/dist/config/config-loader.d.ts +7 -0
  6. package/dist/config/config-loader.d.ts.map +1 -1
  7. package/dist/config/config-loader.js +280 -4
  8. package/dist/config/config-loader.js.map +1 -1
  9. package/dist/config/types.d.ts +39 -0
  10. package/dist/config/types.d.ts.map +1 -1
  11. package/dist/config/types.js.map +1 -1
  12. package/dist/core/connector-node.d.ts +14 -0
  13. package/dist/core/connector-node.d.ts.map +1 -1
  14. package/dist/core/connector-node.js +175 -3
  15. package/dist/core/connector-node.js.map +1 -1
  16. package/dist/discovery/bootstrap-cache.d.ts +20 -0
  17. package/dist/discovery/bootstrap-cache.d.ts.map +1 -0
  18. package/dist/discovery/bootstrap-cache.js +69 -0
  19. package/dist/discovery/bootstrap-cache.js.map +1 -0
  20. package/dist/discovery/bootstrap-manifest.d.ts +23 -0
  21. package/dist/discovery/bootstrap-manifest.d.ts.map +1 -0
  22. package/dist/discovery/bootstrap-manifest.js +119 -0
  23. package/dist/discovery/bootstrap-manifest.js.map +1 -0
  24. package/dist/discovery/bootstrap-seeds.d.ts +7 -0
  25. package/dist/discovery/bootstrap-seeds.d.ts.map +1 -0
  26. package/dist/discovery/bootstrap-seeds.js +10 -0
  27. package/dist/discovery/bootstrap-seeds.js.map +1 -0
  28. package/dist/discovery/bootstrap-service.d.ts +64 -0
  29. package/dist/discovery/bootstrap-service.d.ts.map +1 -0
  30. package/dist/discovery/bootstrap-service.js +320 -0
  31. package/dist/discovery/bootstrap-service.js.map +1 -0
  32. package/dist/discovery/discovered-node-registry.d.ts +46 -0
  33. package/dist/discovery/discovered-node-registry.d.ts.map +1 -0
  34. package/dist/discovery/discovered-node-registry.js +185 -0
  35. package/dist/discovery/discovered-node-registry.js.map +1 -0
  36. package/dist/discovery/ilp-peer-info-event.d.ts +20 -0
  37. package/dist/discovery/ilp-peer-info-event.d.ts.map +1 -1
  38. package/dist/discovery/ilp-peer-info-event.js +76 -1
  39. package/dist/discovery/ilp-peer-info-event.js.map +1 -1
  40. package/dist/discovery/index.d.ts +18 -3
  41. package/dist/discovery/index.d.ts.map +1 -1
  42. package/dist/discovery/index.js +39 -1
  43. package/dist/discovery/index.js.map +1 -1
  44. package/dist/discovery/nostr-relay-client.d.ts +13 -0
  45. package/dist/discovery/nostr-relay-client.d.ts.map +1 -0
  46. package/dist/discovery/nostr-relay-client.js +17 -0
  47. package/dist/discovery/nostr-relay-client.js.map +1 -0
  48. package/dist/discovery/relay-probe.d.ts +5 -0
  49. package/dist/discovery/relay-probe.d.ts.map +1 -0
  50. package/dist/discovery/relay-probe.js +85 -0
  51. package/dist/discovery/relay-probe.js.map +1 -0
  52. package/dist/discovery/route-learning-service.d.ts +55 -0
  53. package/dist/discovery/route-learning-service.d.ts.map +1 -0
  54. package/dist/discovery/route-learning-service.js +238 -0
  55. package/dist/discovery/route-learning-service.js.map +1 -0
  56. package/dist/discovery/self-announce-builder.d.ts +8 -3
  57. package/dist/discovery/self-announce-builder.d.ts.map +1 -1
  58. package/dist/discovery/self-announce-builder.js +124 -5
  59. package/dist/discovery/self-announce-builder.js.map +1 -1
  60. package/dist/http/admin-api-inventory.d.ts.map +1 -1
  61. package/dist/http/admin-api-inventory.js +22 -0
  62. package/dist/http/admin-api-inventory.js.map +1 -1
  63. package/dist/http/admin-api.d.ts +5 -0
  64. package/dist/http/admin-api.d.ts.map +1 -1
  65. package/dist/http/admin-api.js +26 -1
  66. package/dist/http/admin-api.js.map +1 -1
  67. package/dist/http/admin-server.d.ts +4 -0
  68. package/dist/http/admin-server.d.ts.map +1 -1
  69. package/dist/http/admin-server.js +6 -1
  70. package/dist/http/admin-server.js.map +1 -1
  71. package/dist/lib.d.ts +25 -1
  72. package/dist/lib.d.ts.map +1 -1
  73. package/dist/lib.js +46 -2
  74. package/dist/lib.js.map +1 -1
  75. package/dist/observability/metrics-registry.d.ts +7 -0
  76. package/dist/observability/metrics-registry.d.ts.map +1 -1
  77. package/dist/observability/metrics-registry.js +24 -0
  78. package/dist/observability/metrics-registry.js.map +1 -1
  79. package/dist/routing/link-state-db.d.ts +27 -0
  80. package/dist/routing/link-state-db.d.ts.map +1 -0
  81. package/dist/routing/link-state-db.js +81 -0
  82. package/dist/routing/link-state-db.js.map +1 -0
  83. package/dist/routing/path-computation.d.ts +13 -0
  84. package/dist/routing/path-computation.d.ts.map +1 -0
  85. package/dist/routing/path-computation.js +97 -0
  86. package/dist/routing/path-computation.js.map +1 -0
  87. package/dist/routing/routing-table.d.ts +5 -0
  88. package/dist/routing/routing-table.d.ts.map +1 -1
  89. package/dist/routing/routing-table.js +35 -0
  90. package/dist/routing/routing-table.js.map +1 -1
  91. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import type { ProviderConfig } from '../settlement/provider/payment-channel-provider';
2
+ import type { IlpCapabilityEntry } from '../discovery/ilp-peer-info-event';
2
3
  export type ChainProviderConfigEntry = ProviderConfig & {
3
4
  chainId: string;
4
5
  };
@@ -28,6 +29,14 @@ export interface RouteTermination {
28
29
  asset?: Partial<Record<TerminationChain, string>>;
29
30
  requireRequestBinding?: boolean;
30
31
  }
32
+ export interface ChildConfig {
33
+ name: string;
34
+ upstream?: string;
35
+ peerId?: string;
36
+ price?: string;
37
+ capability?: string;
38
+ schema?: string;
39
+ }
31
40
  export interface RouteConfig extends Partial<RouteTermination> {
32
41
  prefix: string;
33
42
  nextHop: string;
@@ -43,6 +52,8 @@ export interface ConnectorConfig {
43
52
  logLevel?: 'debug' | 'info' | 'warn' | 'error';
44
53
  peers: PeerConfig[];
45
54
  routes: RouteConfig[];
55
+ apex?: string;
56
+ children?: ChildConfig[];
46
57
  settlement?: SettlementConfig;
47
58
  chainProviders?: ChainProviderConfigEntry[];
48
59
  environment: Environment;
@@ -59,6 +70,32 @@ export interface ConnectorConfig {
59
70
  btpAuthToken?: string;
60
71
  localDelivery?: LocalDeliveryConfig;
61
72
  selfAnnounce?: SelfAnnounceConfig;
73
+ routeLearning?: RouteLearningConfig;
74
+ bootstrap?: BootstrapConfig;
75
+ peeringPolicy?: PeeringPolicyConfig;
76
+ }
77
+ export interface PeeringPolicyConfig {
78
+ maxFundedChannels?: number;
79
+ autoRegister?: boolean;
80
+ }
81
+ export interface RouteLearningConfig {
82
+ enabled: boolean;
83
+ relayUrls?: string[];
84
+ refreshIntervalSecs?: number;
85
+ maxRoutes?: number;
86
+ }
87
+ export interface BootstrapSeedEntry {
88
+ relayUrl: string;
89
+ pubkey?: string;
90
+ }
91
+ export interface BootstrapConfig {
92
+ enabled: boolean;
93
+ registryUrl?: string;
94
+ curatorPubkey?: string;
95
+ seeds?: BootstrapSeedEntry[];
96
+ cachePath?: string;
97
+ sampleSize?: number;
98
+ refreshIntervalSecs?: number;
62
99
  }
63
100
  export interface SelfAnnounceConfig {
64
101
  enabled: boolean;
@@ -70,10 +107,12 @@ export interface SelfAnnounceConfig {
70
107
  relayUrl?: string;
71
108
  assetCode?: string;
72
109
  assetScale?: number;
110
+ aggregate?: boolean;
73
111
  routes?: {
74
112
  publish?: string;
75
113
  store?: string;
76
114
  };
115
+ capabilities?: IlpCapabilityEntry[];
77
116
  }
78
117
  export interface CreditLimitConfig {
79
118
  defaultLimit?: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ import { PaymentChannelSDK } from '../settlement/payment-channel-sdk';
11
11
  import { ChannelManager } from '../settlement/channel-manager';
12
12
  import { AccountManager } from '../settlement/account-manager';
13
13
  import { ChainProviderRegistry } from '../settlement/provider/chain-provider-registry';
14
+ import { type DiscoveredNode } from '../discovery/discovered-node-registry';
15
+ import { BootstrapService } from '../discovery/bootstrap-service';
14
16
  export declare class ConnectorNode implements HealthStatusProvider {
15
17
  private readonly _config;
16
18
  private readonly _logger;
@@ -49,6 +51,10 @@ export declare class ConnectorNode implements HealthStatusProvider {
49
51
  private readonly _mnemonicOverride?;
50
52
  private readonly _mnemonicAccountIndex?;
51
53
  private _selfAnnounceService;
54
+ private _routeLearningService;
55
+ private _discoveredNodeRegistry;
56
+ private readonly _runtimePeerUrls;
57
+ private _bootstrapService;
52
58
  get defaultSettlementTokenId(): string;
53
59
  constructor(config: ConnectorConfig | string, logger: Logger, opts?: {
54
60
  transportHealthIntervalMs?: number;
@@ -64,7 +70,9 @@ export declare class ConnectorNode implements HealthStatusProvider {
64
70
  private _decodeExecutionCondition;
65
71
  private _applyMnemonicSigningMode;
66
72
  private _resolveNostrSecretKey;
73
+ private _startBootstrap;
67
74
  private _startSelfAnnounce;
75
+ private _startRouteLearning;
68
76
  private _resolveAnnounceTokenNetworks;
69
77
  private _publishAnnouncement;
70
78
  start(): Promise<void>;
@@ -74,6 +82,7 @@ export declare class ConnectorNode implements HealthStatusProvider {
74
82
  get routeTerminationRegistry(): RouteTerminationRegistry;
75
83
  get btpClientManager(): BTPClientManager;
76
84
  get transportProvider(): TransportProvider | null;
85
+ get bootstrapService(): BootstrapService | null;
77
86
  private _createTransportProvider;
78
87
  get paymentChannelSDK(): PaymentChannelSDK | null;
79
88
  get chainRegistry(): ChainProviderRegistry | null;
@@ -85,8 +94,13 @@ export declare class ConnectorNode implements HealthStatusProvider {
85
94
  registerPeer(config: PeerRegistrationRequest): Promise<PeerInfo>;
86
95
  removePeer(peerId: string, removeRoutes?: boolean): Promise<RemovePeerResult>;
87
96
  listPeers(): PeerInfo[];
97
+ getDiscoveredNodes(): DiscoveredNode[];
98
+ private _getFundedPeerRefs;
99
+ private _countFundedChannels;
100
+ private _checkFundedChannelCap;
88
101
  getBalance(peerId: string, tokenId?: string): Promise<PeerAccountBalance>;
89
102
  listRoutes(): RouteInfo[];
103
+ private _selfPrefixesWithApex;
90
104
  addRoute(route: RouteInfo): void;
91
105
  removeRoute(prefix: string): void;
92
106
  private _openRegistryStore;
@@ -1 +1 @@
1
- {"version":3,"file":"connector-node.d.ts","sourceRoot":"","sources":["../../src/core/connector-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-node.d.ts","sourceRoot":"","sources":["../../src/core/connector-node.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,14 @@ const nip59_claim_wrapper_1 = require("../settlement/privacy/nip59-claim-wrapper
47
47
  const mnemonic_keys_1 = require("../wallet/mnemonic-keys");
48
48
  const self_announce_service_1 = require("../discovery/self-announce-service");
49
49
  const self_announce_publish_1 = require("../discovery/self-announce-publish");
50
+ const route_learning_service_1 = require("../discovery/route-learning-service");
51
+ const discovered_node_registry_1 = require("../discovery/discovered-node-registry");
52
+ const self_announce_builder_1 = require("../discovery/self-announce-builder");
53
+ const nostr_relay_client_1 = require("../discovery/nostr-relay-client");
54
+ const nostr_tools_1 = require("nostr-tools");
55
+ const bootstrap_service_1 = require("../discovery/bootstrap-service");
56
+ const bootstrap_cache_1 = require("../discovery/bootstrap-cache");
57
+ const relay_probe_1 = require("../discovery/relay-probe");
50
58
  const utils_1 = require("@noble/hashes/utils");
51
59
  const SELF_ANNOUNCE_PREPARE_TIMEOUT_MS = 30_000;
52
60
  const dns_1 = require("dns");
@@ -89,6 +97,10 @@ class ConnectorNode {
89
97
  _mnemonicOverride;
90
98
  _mnemonicAccountIndex;
91
99
  _selfAnnounceService = null;
100
+ _routeLearningService = null;
101
+ _discoveredNodeRegistry = null;
102
+ _runtimePeerUrls = new Map();
103
+ _bootstrapService = null;
92
104
  get defaultSettlementTokenId() {
93
105
  return this._defaultSettlementTokenId;
94
106
  }
@@ -358,6 +370,37 @@ class ConnectorNode {
358
370
  }
359
371
  return null;
360
372
  }
373
+ _startBootstrap() {
374
+ const bootstrap = this._config.bootstrap;
375
+ if (!bootstrap?.enabled) {
376
+ return;
377
+ }
378
+ try {
379
+ const cachePath = bootstrap.cachePath ?? `./data/bootstrap-cache-${this._config.nodeId}.json`;
380
+ const service = new bootstrap_service_1.BootstrapService({
381
+ config: bootstrap,
382
+ relayProbe: (0, relay_probe_1.createKind10032RelayProbe)(this._logger),
383
+ cacheStore: new bootstrap_cache_1.FileBootstrapCacheStore(cachePath, this._logger),
384
+ logger: this._logger,
385
+ });
386
+ service.onRelaysResolved((relayUrls) => {
387
+ this._logger.info({
388
+ event: 'bootstrap_relays_available',
389
+ relayUrls,
390
+ selfAnnounceHasRelayHint: Boolean(this._config.selfAnnounce?.relayUrl),
391
+ }, 'Bootstrap discovered verified relays');
392
+ });
393
+ service.start();
394
+ this._bootstrapService = service;
395
+ }
396
+ catch (err) {
397
+ this._bootstrapService = null;
398
+ this._logger.warn({
399
+ event: 'bootstrap_start_failed',
400
+ err: err instanceof Error ? err.message : String(err),
401
+ }, 'Failed to start cold-start bootstrap service; continuing without it');
402
+ }
403
+ }
361
404
  _startSelfAnnounce() {
362
405
  const selfAnnounce = this._config.selfAnnounce;
363
406
  if (!selfAnnounce?.enabled) {
@@ -387,6 +430,41 @@ class ConnectorNode {
387
430
  }, 'Failed to start self-announce service; continuing without it');
388
431
  }
389
432
  }
433
+ _startRouteLearning() {
434
+ const routeLearning = this._config.routeLearning;
435
+ if (!routeLearning?.enabled) {
436
+ return;
437
+ }
438
+ const secretKey = this._resolveNostrSecretKey();
439
+ const ownPubkey = secretKey ? (0, nostr_tools_1.getPublicKey)(secretKey) : undefined;
440
+ try {
441
+ this._discoveredNodeRegistry = new discovered_node_registry_1.DiscoveredNodeRegistry({
442
+ getFundedPeers: () => this._getFundedPeerRefs(),
443
+ ...(ownPubkey ? { ownPubkey } : {}),
444
+ logger: this._logger,
445
+ });
446
+ this._ilpMetrics.setDiscoveredNodeCountsProvider(() => this._discoveredNodeRegistry?.counts() ?? { discovered: 0, funded: 0 });
447
+ this._routeLearningService = new route_learning_service_1.RouteLearningService({
448
+ config: this._config,
449
+ routeLearning,
450
+ routingTable: this._routingTable,
451
+ relayClient: (0, nostr_relay_client_1.createNostrRelayClient)(),
452
+ getDirectPeerIds: () => this._btpClientManager.getPeerIds(),
453
+ ...(ownPubkey ? { ownPubkey } : {}),
454
+ discoveredNodes: this._discoveredNodeRegistry,
455
+ logger: this._logger,
456
+ });
457
+ this._routeLearningService.start();
458
+ }
459
+ catch (err) {
460
+ this._routeLearningService = null;
461
+ this._discoveredNodeRegistry = null;
462
+ this._logger.warn({
463
+ event: 'route_learning_start_failed',
464
+ err: err instanceof Error ? err.message : String(err),
465
+ }, 'Failed to start route-learning service; continuing without it');
466
+ }
467
+ }
390
468
  async _resolveAnnounceTokenNetworks() {
391
469
  const out = {};
392
470
  const providers = this._chainRegistry?.getAllProviders() ?? [];
@@ -980,6 +1058,10 @@ class ConnectorNode {
980
1058
  httpPeerEgress: this._httpPeerClientManager,
981
1059
  setPeerProtocol: (peerId, protocol) => this._packetHandler.setPeerProtocol(peerId, protocol),
982
1060
  routeTerminationRegistry: this._routeTerminationRegistry,
1061
+ getDiscoveredNodes: () => this.getDiscoveredNodes(),
1062
+ checkFundedChannelCap: (peerId) => this._checkFundedChannelCap(peerId),
1063
+ recordRuntimePeerUrl: (peerId, url) => this._runtimePeerUrls.set(peerId, url),
1064
+ forgetRuntimePeerUrl: (peerId) => this._runtimePeerUrls.delete(peerId),
983
1065
  });
984
1066
  await this._adminServer.start();
985
1067
  this._logger.info({
@@ -1052,7 +1134,9 @@ class ConnectorNode {
1052
1134
  await Promise.allSettled(channelCreationPromises);
1053
1135
  this._logger.info({ event: 'payment_channels_initialized' }, 'Payment channel creation completed');
1054
1136
  }
1137
+ this._startBootstrap();
1055
1138
  this._startSelfAnnounce();
1139
+ this._startRouteLearning();
1056
1140
  this._updateHealthStatus();
1057
1141
  this._logger.info({
1058
1142
  event: 'connector_ready',
@@ -1105,6 +1189,15 @@ class ConnectorNode {
1105
1189
  this._selfAnnounceService.stop();
1106
1190
  this._selfAnnounceService = null;
1107
1191
  }
1192
+ if (this._routeLearningService) {
1193
+ this._routeLearningService.stop();
1194
+ this._routeLearningService = null;
1195
+ }
1196
+ this._discoveredNodeRegistry = null;
1197
+ if (this._bootstrapService) {
1198
+ this._bootstrapService.stop();
1199
+ this._bootstrapService = null;
1200
+ }
1108
1201
  if (this._settlementMonitor) {
1109
1202
  await this._settlementMonitor.stop();
1110
1203
  this._logger.info({ event: 'settlement_monitor_stopped' }, 'Settlement monitor stopped');
@@ -1224,6 +1317,9 @@ class ConnectorNode {
1224
1317
  get transportProvider() {
1225
1318
  return this._transportProviderReady ? this._transportProvider : null;
1226
1319
  }
1320
+ get bootstrapService() {
1321
+ return this._bootstrapService;
1322
+ }
1227
1323
  _createTransportProvider(_cfg) {
1228
1324
  const externalUrl = `ws://localhost:${this._config.btpServerPort}`;
1229
1325
  this._logger.debug({ event: 'direct_transport_external_url_synthesized', externalUrl }, 'DirectTransportProvider externalUrl synthesized from btpServerPort (local placeholder)');
@@ -1395,9 +1491,19 @@ class ConnectorNode {
1395
1491
  throw new Error(settlementError);
1396
1492
  }
1397
1493
  }
1398
- const localPrefixes = (0, relation_route_validator_1.deriveLocalPrefixes)(this._routingTable.getAllRoutes(), this._config.nodeId);
1494
+ if (config.settlement) {
1495
+ const capError = this._checkFundedChannelCap(config.id);
1496
+ if (capError) {
1497
+ throw new Error(capError);
1498
+ }
1499
+ }
1500
+ const childBinding = this._config.children?.find((c) => c.peerId === config.id);
1501
+ if (childBinding && config.relation !== undefined && config.relation !== 'child') {
1502
+ throw new Error(`Peer '${config.id}' is bound as child '${childBinding.name}' in config; relation must be 'child' (got '${config.relation}')`);
1503
+ }
1504
+ const localPrefixes = this._selfPrefixesWithApex();
1399
1505
  let effectiveRoutes = config.routes;
1400
- if (!effectiveRoutes || effectiveRoutes.length === 0) {
1506
+ if ((!effectiveRoutes || effectiveRoutes.length === 0) && !childBinding) {
1401
1507
  const autoRoute = (0, relation_route_validator_1.deriveDefaultChildRoute)(config.relation, localPrefixes, config.id);
1402
1508
  if (autoRoute) {
1403
1509
  effectiveRoutes = [autoRoute];
@@ -1436,6 +1542,7 @@ class ConnectorNode {
1436
1542
  transport: config.transport,
1437
1543
  };
1438
1544
  await this._btpClientManager.addPeer(peer);
1545
+ this._runtimePeerUrls.set(config.id, config.url);
1439
1546
  this._ilpMetrics.registerPeer(config.id);
1440
1547
  this._logger.info({
1441
1548
  event: 'peer_registered',
@@ -1508,6 +1615,7 @@ class ConnectorNode {
1508
1615
  throw new Error(`Peer not found: ${peerId}`);
1509
1616
  }
1510
1617
  await this._btpClientManager.removePeer(peerId);
1618
+ this._runtimePeerUrls.delete(peerId);
1511
1619
  this._ilpMetrics.unregisterPeer(peerId);
1512
1620
  this._logger.info({ event: 'peer_removed', peerId }, `Removed peer: ${peerId}`);
1513
1621
  if (this._settlementPeers.delete(peerId)) {
@@ -1552,6 +1660,62 @@ class ConnectorNode {
1552
1660
  return peerInfo;
1553
1661
  });
1554
1662
  }
1663
+ getDiscoveredNodes() {
1664
+ return this._discoveredNodeRegistry ? this._discoveredNodeRegistry.list() : [];
1665
+ }
1666
+ _getFundedPeerRefs() {
1667
+ const refsById = new Map();
1668
+ for (const peerId of this._btpClientManager.getPeerIds()) {
1669
+ refsById.set(peerId, { peerId });
1670
+ }
1671
+ for (const peerId of this._httpPeerClientManager.getPeerIds()) {
1672
+ if (!refsById.has(peerId))
1673
+ refsById.set(peerId, { peerId });
1674
+ }
1675
+ for (const peer of this._config.peers) {
1676
+ const ref = refsById.get(peer.id);
1677
+ if (!ref)
1678
+ continue;
1679
+ const nostrPubkey = (0, self_announce_builder_1.nip59KeyToNostrPubkey)(peer.nip59PublicKey);
1680
+ if (nostrPubkey)
1681
+ ref.nostrPubkey = nostrPubkey;
1682
+ if (peer.url)
1683
+ ref.btpUrl = peer.url;
1684
+ }
1685
+ for (const [peerId, url] of this._runtimePeerUrls) {
1686
+ const ref = refsById.get(peerId);
1687
+ if (ref && ref.btpUrl === undefined)
1688
+ ref.btpUrl = url;
1689
+ }
1690
+ return Array.from(refsById.values());
1691
+ }
1692
+ _countFundedChannels() {
1693
+ const liveIds = new Set([
1694
+ ...this._btpClientManager.getPeerIds(),
1695
+ ...this._httpPeerClientManager.getPeerIds(),
1696
+ ]);
1697
+ let count = 0;
1698
+ for (const peerId of this._settlementPeers.keys()) {
1699
+ if (liveIds.has(peerId))
1700
+ count++;
1701
+ }
1702
+ return count;
1703
+ }
1704
+ _checkFundedChannelCap(peerId) {
1705
+ const maxFundedChannels = this._config.peeringPolicy?.maxFundedChannels;
1706
+ if (maxFundedChannels === undefined)
1707
+ return null;
1708
+ if (this._settlementPeers.has(peerId))
1709
+ return null;
1710
+ const funded = this._countFundedChannels();
1711
+ if (funded < maxFundedChannels)
1712
+ return null;
1713
+ return (`Funded-channel cap reached: ${funded}/${maxFundedChannels} funded channels in use ` +
1714
+ `(peeringPolicy.maxFundedChannels). Registering '${peerId}' with settlement config would ` +
1715
+ `open another funded channel — remove a funded peer first (DELETE /admin/peers/:peerId) ` +
1716
+ `or raise the cap. Discovered nodes stay reachable through learned multi-hop routes ` +
1717
+ `without a funded channel.`);
1718
+ }
1555
1719
  async getBalance(peerId, tokenId = this._defaultSettlementTokenId) {
1556
1720
  if (!this._accountManager) {
1557
1721
  throw new Error('Account management not enabled');
@@ -1577,6 +1741,14 @@ class ConnectorNode {
1577
1741
  priority: r.priority ?? 0,
1578
1742
  }));
1579
1743
  }
1744
+ _selfPrefixesWithApex() {
1745
+ const localPrefixes = (0, relation_route_validator_1.deriveLocalPrefixes)(this._routingTable.getAllRoutes(), this._config.nodeId);
1746
+ const apex = this._config.apex;
1747
+ if (apex !== undefined && !localPrefixes.includes(apex)) {
1748
+ localPrefixes.push(apex);
1749
+ }
1750
+ return localPrefixes;
1751
+ }
1580
1752
  addRoute(route) {
1581
1753
  if (!(0, shared_1.isValidILPAddress)(route.prefix)) {
1582
1754
  throw new Error(`Invalid ILP address prefix: ${route.prefix}`);
@@ -1589,7 +1761,7 @@ class ConnectorNode {
1589
1761
  this._logger.warn({ event: 'route_nextHop_unknown', prefix: route.prefix, nextHop: route.nextHop }, `Adding route with unknown nextHop peer: ${route.nextHop}`);
1590
1762
  }
1591
1763
  const nextHopRelation = this._packetHandler.getPeerRelation(route.nextHop);
1592
- const localPrefixes = (0, relation_route_validator_1.deriveLocalPrefixes)(this._routingTable.getAllRoutes(), this._config.nodeId);
1764
+ const localPrefixes = this._selfPrefixesWithApex();
1593
1765
  const relationValidation = (0, relation_route_validator_1.validateRelationRoute)(nextHopRelation, localPrefixes, [
1594
1766
  route.prefix,
1595
1767
  ]);