@toon-protocol/connector 3.33.1 → 3.34.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 (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 +173 -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 +3 -0
  64. package/dist/http/admin-api.d.ts.map +1 -1
  65. package/dist/http/admin-api.js +24 -1
  66. package/dist/http/admin-api.js.map +1 -1
  67. package/dist/http/admin-server.d.ts +2 -0
  68. package/dist/http/admin-server.d.ts.map +1 -1
  69. package/dist/http/admin-server.js +4 -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":";;;AA0gEA,wDAkDC;AAkCD,4DAsFC;AAOD,gDAcC;AAn8BD,IAAY,eAsBX;AAtBD,WAAY,eAAe;IAMzB,gCAAa,CAAA;IAOb,4DAAyC,CAAA;IAQzC,oEAAiD,CAAA;AACnD,CAAC,EAtBW,eAAe,+BAAf,eAAe,QAsB1B;AA8sBD,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAG1F,MAAM,6BAA6B,GAAsC;IACvE,GAAG,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,CAAC;IAC3D,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC;IACxC,IAAI,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;CACrC,CAAC;AAyBF,SAAgB,sBAAsB,CAAC,MAAuB,EAAE,OAA0B;IACxF,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;IAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAG5B,MAAM,GAAG,GAAG,KAA2C,CAAC;QACxD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAmB,CAAC;QAE1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAGD,MAAM,OAAO,GAAG,GAAG,CAAC,OAA6B,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,SAAS,GAAG,CAAC,CAAC;QACpF,CAAC;QAGD,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAG1B,MAAM,cAAc,GAAG,6BAA6B,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,cAAc,EAAE,CAAC;YACnB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,qBAAqB,SAAS,eAAe,OAAO,GAAG,CACxF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAGD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,oCAAoC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;AACH,CAAC;AAOY,QAAA,kBAAkB,GAAkC,IAAI,GAAG,CAAmB;IACzF,KAAK;IACL,QAAQ;IACR,MAAM;CACP,CAAC,CAAC;AAuBH,SAAgB,wBAAwB,CACtC,KAAsD,EACtD,aAAyC;IAGzC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAEjE,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,uCAAuC,EAAE,CAAC;IAC/E,CAAC;IACD,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,kCAAkC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC1F,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAChE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,0CAA0C,MAAM,CAAC,QAAQ,GAAG;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,GAAG,KAAK,qEAAqE,MAAM,CACxF,KAAK,CAAC,KAAK,CACZ,EAAE;SACJ,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,oCAAoC,EAAE,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,CAAC,0BAAkB,CAAC,GAAG,CAAC,KAAyB,CAAC,EAAE,CAAC;YACvD,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,GAAG,KAAK,gCAAgC,MAAM,CAAC,KAAK,CAAC,6BAA6B;aAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,yCAAyC,EAAE,CAAC;IACjF,CAAC;IAED,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC5C,IAAI,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,IAAI,KAAK,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACxF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,yCAAyC,EAAE,CAAC;QACjF,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,GAAG,KAAK,kCAAkC,GAAG,yBAAyB;iBAC9E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,2BAA2B,EAAE,CAAC;QACnE,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,oBAAoB,GAAG,yBAAyB,EAAE,CAAC;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IACE,KAAK,CAAC,qBAAqB,KAAK,SAAS;QACzC,OAAO,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAChD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,2CAA2C,EAAE,CAAC;IACnF,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAOD,SAAgB,kBAAkB,CAAC,KAAgC;IACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAe;QAC5B,MAAM,EAAE,KAAK,CAAC,MAA4B;QAC1C,UAAU,EAAE,KAAK,CAAC,UAAoB;QACtC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,EAAE;QACpD,KAAK,EAAE,KAAK,CAAC,KAAK;QAElB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,KAAK;KAC5D,CAAC;AACJ,CAAC"}
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,8 @@ 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),
983
1063
  });
984
1064
  await this._adminServer.start();
985
1065
  this._logger.info({
@@ -1052,7 +1132,9 @@ class ConnectorNode {
1052
1132
  await Promise.allSettled(channelCreationPromises);
1053
1133
  this._logger.info({ event: 'payment_channels_initialized' }, 'Payment channel creation completed');
1054
1134
  }
1135
+ this._startBootstrap();
1055
1136
  this._startSelfAnnounce();
1137
+ this._startRouteLearning();
1056
1138
  this._updateHealthStatus();
1057
1139
  this._logger.info({
1058
1140
  event: 'connector_ready',
@@ -1105,6 +1187,15 @@ class ConnectorNode {
1105
1187
  this._selfAnnounceService.stop();
1106
1188
  this._selfAnnounceService = null;
1107
1189
  }
1190
+ if (this._routeLearningService) {
1191
+ this._routeLearningService.stop();
1192
+ this._routeLearningService = null;
1193
+ }
1194
+ this._discoveredNodeRegistry = null;
1195
+ if (this._bootstrapService) {
1196
+ this._bootstrapService.stop();
1197
+ this._bootstrapService = null;
1198
+ }
1108
1199
  if (this._settlementMonitor) {
1109
1200
  await this._settlementMonitor.stop();
1110
1201
  this._logger.info({ event: 'settlement_monitor_stopped' }, 'Settlement monitor stopped');
@@ -1224,6 +1315,9 @@ class ConnectorNode {
1224
1315
  get transportProvider() {
1225
1316
  return this._transportProviderReady ? this._transportProvider : null;
1226
1317
  }
1318
+ get bootstrapService() {
1319
+ return this._bootstrapService;
1320
+ }
1227
1321
  _createTransportProvider(_cfg) {
1228
1322
  const externalUrl = `ws://localhost:${this._config.btpServerPort}`;
1229
1323
  this._logger.debug({ event: 'direct_transport_external_url_synthesized', externalUrl }, 'DirectTransportProvider externalUrl synthesized from btpServerPort (local placeholder)');
@@ -1395,9 +1489,19 @@ class ConnectorNode {
1395
1489
  throw new Error(settlementError);
1396
1490
  }
1397
1491
  }
1398
- const localPrefixes = (0, relation_route_validator_1.deriveLocalPrefixes)(this._routingTable.getAllRoutes(), this._config.nodeId);
1492
+ if (config.settlement) {
1493
+ const capError = this._checkFundedChannelCap(config.id);
1494
+ if (capError) {
1495
+ throw new Error(capError);
1496
+ }
1497
+ }
1498
+ const childBinding = this._config.children?.find((c) => c.peerId === config.id);
1499
+ if (childBinding && config.relation !== undefined && config.relation !== 'child') {
1500
+ throw new Error(`Peer '${config.id}' is bound as child '${childBinding.name}' in config; relation must be 'child' (got '${config.relation}')`);
1501
+ }
1502
+ const localPrefixes = this._selfPrefixesWithApex();
1399
1503
  let effectiveRoutes = config.routes;
1400
- if (!effectiveRoutes || effectiveRoutes.length === 0) {
1504
+ if ((!effectiveRoutes || effectiveRoutes.length === 0) && !childBinding) {
1401
1505
  const autoRoute = (0, relation_route_validator_1.deriveDefaultChildRoute)(config.relation, localPrefixes, config.id);
1402
1506
  if (autoRoute) {
1403
1507
  effectiveRoutes = [autoRoute];
@@ -1436,6 +1540,7 @@ class ConnectorNode {
1436
1540
  transport: config.transport,
1437
1541
  };
1438
1542
  await this._btpClientManager.addPeer(peer);
1543
+ this._runtimePeerUrls.set(config.id, config.url);
1439
1544
  this._ilpMetrics.registerPeer(config.id);
1440
1545
  this._logger.info({
1441
1546
  event: 'peer_registered',
@@ -1508,6 +1613,7 @@ class ConnectorNode {
1508
1613
  throw new Error(`Peer not found: ${peerId}`);
1509
1614
  }
1510
1615
  await this._btpClientManager.removePeer(peerId);
1616
+ this._runtimePeerUrls.delete(peerId);
1511
1617
  this._ilpMetrics.unregisterPeer(peerId);
1512
1618
  this._logger.info({ event: 'peer_removed', peerId }, `Removed peer: ${peerId}`);
1513
1619
  if (this._settlementPeers.delete(peerId)) {
@@ -1552,6 +1658,62 @@ class ConnectorNode {
1552
1658
  return peerInfo;
1553
1659
  });
1554
1660
  }
1661
+ getDiscoveredNodes() {
1662
+ return this._discoveredNodeRegistry ? this._discoveredNodeRegistry.list() : [];
1663
+ }
1664
+ _getFundedPeerRefs() {
1665
+ const refsById = new Map();
1666
+ for (const peerId of this._btpClientManager.getPeerIds()) {
1667
+ refsById.set(peerId, { peerId });
1668
+ }
1669
+ for (const peerId of this._httpPeerClientManager.getPeerIds()) {
1670
+ if (!refsById.has(peerId))
1671
+ refsById.set(peerId, { peerId });
1672
+ }
1673
+ for (const peer of this._config.peers) {
1674
+ const ref = refsById.get(peer.id);
1675
+ if (!ref)
1676
+ continue;
1677
+ const nostrPubkey = (0, self_announce_builder_1.nip59KeyToNostrPubkey)(peer.nip59PublicKey);
1678
+ if (nostrPubkey)
1679
+ ref.nostrPubkey = nostrPubkey;
1680
+ if (peer.url)
1681
+ ref.btpUrl = peer.url;
1682
+ }
1683
+ for (const [peerId, url] of this._runtimePeerUrls) {
1684
+ const ref = refsById.get(peerId);
1685
+ if (ref && ref.btpUrl === undefined)
1686
+ ref.btpUrl = url;
1687
+ }
1688
+ return Array.from(refsById.values());
1689
+ }
1690
+ _countFundedChannels() {
1691
+ const liveIds = new Set([
1692
+ ...this._btpClientManager.getPeerIds(),
1693
+ ...this._httpPeerClientManager.getPeerIds(),
1694
+ ]);
1695
+ let count = 0;
1696
+ for (const peerId of this._settlementPeers.keys()) {
1697
+ if (liveIds.has(peerId))
1698
+ count++;
1699
+ }
1700
+ return count;
1701
+ }
1702
+ _checkFundedChannelCap(peerId) {
1703
+ const maxFundedChannels = this._config.peeringPolicy?.maxFundedChannels;
1704
+ if (maxFundedChannels === undefined)
1705
+ return null;
1706
+ if (this._settlementPeers.has(peerId))
1707
+ return null;
1708
+ const funded = this._countFundedChannels();
1709
+ if (funded < maxFundedChannels)
1710
+ return null;
1711
+ return (`Funded-channel cap reached: ${funded}/${maxFundedChannels} funded channels in use ` +
1712
+ `(peeringPolicy.maxFundedChannels). Registering '${peerId}' with settlement config would ` +
1713
+ `open another funded channel — remove a funded peer first (DELETE /admin/peers/:peerId) ` +
1714
+ `or raise the cap. Discovered nodes stay reachable through learned multi-hop routes ` +
1715
+ `without a funded channel.`);
1716
+ }
1555
1717
  async getBalance(peerId, tokenId = this._defaultSettlementTokenId) {
1556
1718
  if (!this._accountManager) {
1557
1719
  throw new Error('Account management not enabled');
@@ -1577,6 +1739,14 @@ class ConnectorNode {
1577
1739
  priority: r.priority ?? 0,
1578
1740
  }));
1579
1741
  }
1742
+ _selfPrefixesWithApex() {
1743
+ const localPrefixes = (0, relation_route_validator_1.deriveLocalPrefixes)(this._routingTable.getAllRoutes(), this._config.nodeId);
1744
+ const apex = this._config.apex;
1745
+ if (apex !== undefined && !localPrefixes.includes(apex)) {
1746
+ localPrefixes.push(apex);
1747
+ }
1748
+ return localPrefixes;
1749
+ }
1580
1750
  addRoute(route) {
1581
1751
  if (!(0, shared_1.isValidILPAddress)(route.prefix)) {
1582
1752
  throw new Error(`Invalid ILP address prefix: ${route.prefix}`);
@@ -1589,7 +1759,7 @@ class ConnectorNode {
1589
1759
  this._logger.warn({ event: 'route_nextHop_unknown', prefix: route.prefix, nextHop: route.nextHop }, `Adding route with unknown nextHop peer: ${route.nextHop}`);
1590
1760
  }
1591
1761
  const nextHopRelation = this._packetHandler.getPeerRelation(route.nextHop);
1592
- const localPrefixes = (0, relation_route_validator_1.deriveLocalPrefixes)(this._routingTable.getAllRoutes(), this._config.nodeId);
1762
+ const localPrefixes = this._selfPrefixesWithApex();
1593
1763
  const relationValidation = (0, relation_route_validator_1.validateRelationRoute)(nextHopRelation, localPrefixes, [
1594
1764
  route.prefix,
1595
1765
  ]);