@toon-protocol/connector 2.1.0 → 2.3.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 (82) hide show
  1. package/README.md +117 -46
  2. package/dist/btp/btp-client-manager.d.ts +3 -0
  3. package/dist/btp/btp-client-manager.d.ts.map +1 -1
  4. package/dist/btp/btp-client-manager.js +19 -4
  5. package/dist/btp/btp-client-manager.js.map +1 -1
  6. package/dist/btp/btp-client.d.ts +4 -1
  7. package/dist/btp/btp-client.d.ts.map +1 -1
  8. package/dist/btp/btp-client.js +24 -10
  9. package/dist/btp/btp-client.js.map +1 -1
  10. package/dist/btp/inbound-claim-validator.d.ts +4 -1
  11. package/dist/btp/inbound-claim-validator.d.ts.map +1 -1
  12. package/dist/btp/inbound-claim-validator.js +23 -3
  13. package/dist/btp/inbound-claim-validator.js.map +1 -1
  14. package/dist/config/config-loader.d.ts +4 -0
  15. package/dist/config/config-loader.d.ts.map +1 -1
  16. package/dist/config/config-loader.js +166 -1
  17. package/dist/config/config-loader.js.map +1 -1
  18. package/dist/config/index.d.ts +1 -0
  19. package/dist/config/index.d.ts.map +1 -1
  20. package/dist/config/types.d.ts +22 -15
  21. package/dist/config/types.d.ts.map +1 -1
  22. package/dist/config/types.js +2 -5
  23. package/dist/config/types.js.map +1 -1
  24. package/dist/core/connector-node.d.ts +12 -1
  25. package/dist/core/connector-node.d.ts.map +1 -1
  26. package/dist/core/connector-node.js +259 -25
  27. package/dist/core/connector-node.js.map +1 -1
  28. package/dist/core/packet-handler.d.ts +10 -1
  29. package/dist/core/packet-handler.d.ts.map +1 -1
  30. package/dist/core/packet-handler.js +67 -2
  31. package/dist/core/packet-handler.js.map +1 -1
  32. package/dist/http/types.d.ts +4 -0
  33. package/dist/http/types.d.ts.map +1 -1
  34. package/dist/lib.d.ts +1 -1
  35. package/dist/lib.d.ts.map +1 -1
  36. package/dist/settlement/claim-receiver.d.ts +5 -1
  37. package/dist/settlement/claim-receiver.d.ts.map +1 -1
  38. package/dist/settlement/claim-receiver.js +28 -1
  39. package/dist/settlement/claim-receiver.js.map +1 -1
  40. package/dist/settlement/per-packet-claim-service.d.ts +6 -1
  41. package/dist/settlement/per-packet-claim-service.d.ts.map +1 -1
  42. package/dist/settlement/per-packet-claim-service.js +38 -8
  43. package/dist/settlement/per-packet-claim-service.js.map +1 -1
  44. package/dist/settlement/privacy/nip59-claim-wrapper.d.ts +10 -0
  45. package/dist/settlement/privacy/nip59-claim-wrapper.d.ts.map +1 -1
  46. package/dist/settlement/privacy/nip59-claim-wrapper.js +110 -2
  47. package/dist/settlement/privacy/nip59-claim-wrapper.js.map +1 -1
  48. package/dist/settlement/provider/payment-channel-provider.d.ts +9 -0
  49. package/dist/settlement/provider/payment-channel-provider.d.ts.map +1 -1
  50. package/dist/transport/direct-transport-provider.d.ts +12 -0
  51. package/dist/transport/direct-transport-provider.d.ts.map +1 -0
  52. package/dist/transport/direct-transport-provider.js +27 -0
  53. package/dist/transport/direct-transport-provider.js.map +1 -0
  54. package/dist/transport/index.d.ts +7 -0
  55. package/dist/transport/index.d.ts.map +1 -0
  56. package/dist/transport/index.js +16 -0
  57. package/dist/transport/index.js.map +1 -0
  58. package/dist/transport/managed-anon-client.d.ts +47 -0
  59. package/dist/transport/managed-anon-client.d.ts.map +1 -0
  60. package/dist/transport/managed-anon-client.js +264 -0
  61. package/dist/transport/managed-anon-client.js.map +1 -0
  62. package/dist/transport/probe-tcp-port.d.ts +3 -0
  63. package/dist/transport/probe-tcp-port.d.ts.map +1 -0
  64. package/dist/transport/probe-tcp-port.js +59 -0
  65. package/dist/transport/probe-tcp-port.js.map +1 -0
  66. package/dist/transport/socks-transport-provider.d.ts +29 -0
  67. package/dist/transport/socks-transport-provider.d.ts.map +1 -0
  68. package/dist/transport/socks-transport-provider.js +136 -0
  69. package/dist/transport/socks-transport-provider.js.map +1 -0
  70. package/dist/transport/socks-url.d.ts +6 -0
  71. package/dist/transport/socks-url.d.ts.map +1 -0
  72. package/dist/transport/socks-url.js +29 -0
  73. package/dist/transport/socks-url.js.map +1 -0
  74. package/dist/transport/transport-provider.d.ts +9 -0
  75. package/dist/transport/transport-provider.d.ts.map +1 -0
  76. package/dist/transport/transport-provider.js +3 -0
  77. package/dist/transport/transport-provider.js.map +1 -0
  78. package/dist/utils/redact.d.ts +3 -0
  79. package/dist/utils/redact.d.ts.map +1 -0
  80. package/dist/utils/redact.js +21 -0
  81. package/dist/utils/redact.js.map +1 -0
  82. package/package.json +4 -2
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  [![npm](https://img.shields.io/npm/v/@toon-protocol/connector)](https://www.npmjs.com/package/@toon-protocol/connector)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../../LICENSE)
5
5
 
6
- > ILP connector node for AI agent payment networks. Routes packets, tracks balances, settles on-chain.
6
+ > Multi-chain ILP connector for AI agent payment networks. Routes packets, tracks balances, settles on EVM, Solana, and Mina. Supports ATOR overlay transport for privacy-enabled peering from any network.
7
7
 
8
8
  See the [root README](../../README.md) for conceptual overview, network architecture, and Docker deployment.
9
9
 
@@ -141,20 +141,20 @@ const node = new ConnectorNode(config: ConnectorConfig | string, logger: Logger)
141
141
 
142
142
  ### Optional Fields
143
143
 
144
- | Field | Type | Default | Description |
145
- | ----------------- | ----------------------- | ------------- | ---------------------------------------------- |
146
- | `deploymentMode` | `DeploymentMode` | inferred | `'embedded'` \| `'standalone'` |
147
- | `healthCheckPort` | `number` | `8080` | HTTP health endpoint port |
148
- | `logLevel` | `string` | `'info'` | `'debug'` \| `'info'` \| `'warn'` \| `'error'` |
149
- | `adminApi` | `AdminApiConfig` | disabled | Admin REST API settings |
150
- | `localDelivery` | `LocalDeliveryConfig` | disabled | HTTP forwarding to BLS |
151
- | `settlement` | `SettlementConfig` | — | TigerBeetle accounting config |
152
- | `settlementInfra` | `SettlementInfraConfig` | — | EVM settlement infrastructure |
153
- | `blockchain` | `BlockchainConfig` | | Multi-chain EVM config (Base, Arbitrum) |
154
- | `security` | `SecurityConfig` | — | Key management backend |
155
- | `performance` | `PerformanceConfig` | — | Batching, pooling, parallelization |
156
- | `explorer` | `ExplorerConfig` | enabled:3001 | Explorer UI settings |
157
- | `mode` | `string` | `'connector'` | `'connector'` \| `'gateway'` |
144
+ | Field | Type | Default | Description |
145
+ | ----------------- | ---------------------------- | ------------- | ---------------------------------------------------- |
146
+ | `deploymentMode` | `DeploymentMode` | inferred | `'embedded'` \| `'standalone'` |
147
+ | `healthCheckPort` | `number` | `8080` | HTTP health endpoint port |
148
+ | `logLevel` | `string` | `'info'` | `'debug'` \| `'info'` \| `'warn'` \| `'error'` |
149
+ | `adminApi` | `AdminApiConfig` | disabled | Admin REST API settings |
150
+ | `localDelivery` | `LocalDeliveryConfig` | disabled | HTTP forwarding to BLS |
151
+ | `settlement` | `SettlementConfig` | — | TigerBeetle accounting config |
152
+ | `chainProviders` | `ChainProviderConfigEntry[]` | — | Multi-chain settlement providers (EVM, Solana, Mina) |
153
+ | `transport` | `TransportConfig` | direct | Network transport: `direct` or `socks5` (ATOR) |
154
+ | `security` | `SecurityConfig` | — | Key management backend |
155
+ | `performance` | `PerformanceConfig` | — | Batching, pooling, parallelization |
156
+ | `explorer` | `ExplorerConfig` | enabled:3001 | Explorer UI settings |
157
+ | `mode` | `string` | `'connector'` | `'connector'` \| `'gateway'` |
158
158
 
159
159
  ### PeerConfig
160
160
 
@@ -293,44 +293,114 @@ High-performance double-entry accounting. Falls back to in-memory if connection
293
293
  | `TIGERBEETLE_CLUSTER_ID` | Yes | TigerBeetle cluster identifier |
294
294
  | `TIGERBEETLE_REPLICAS` | Yes | Comma-separated replica addresses |
295
295
 
296
- ## Settlement Infrastructure
296
+ ## Multi-Chain Settlement via `chainProviders`
297
297
 
298
- EVM payment channels on Base L2 (and optionally Arbitrum):
298
+ Settlement is configured through the `chainProviders` array. Each entry connects the connector to a specific chain for payment channel operations. The connector supports EVM (Base L2), Solana, and Mina simultaneously — each peer's `chain` field determines which provider handles its settlement.
299
299
 
300
- | Variable | Description |
301
- | ----------------------------- | ------------------------------------------------------------- |
302
- | `SETTLEMENT_ENABLED` | Enable automatic settlement (default: `true`) |
303
- | `SETTLEMENT_THRESHOLD` | Balance threshold to trigger settlement |
304
- | `SETTLEMENT_POLLING_INTERVAL` | Polling frequency in ms (default: `30000`) |
305
- | `BASE_L2_RPC_URL` | Base L2 RPC endpoint |
306
- | `EVM_PRIVATE_KEY` | Private key (dev only — use KMS in production) |
307
- | `M2M_TOKEN_ADDRESS` | ERC-20 token contract |
308
- | `TOKEN_NETWORK_REGISTRY` | Payment channel registry contract |
309
- | `KEY_BACKEND` | Key management: `env` \| `aws-kms` \| `gcp-kms` \| `azure-kv` |
310
- | `NETWORK_MODE` | Auto-configure chain settings: `testnet` \| `mainnet` |
311
-
312
- ### Multi-Chain Support
313
-
314
- Configure per-chain settings via `blockchain` config:
300
+ ### EVM Example (Base L2)
315
301
 
316
302
  ```typescript
317
303
  const config: ConnectorConfig = {
318
- // ...
319
- blockchain: {
320
- base: {
321
- enabled: true,
322
- rpcUrl: 'https://mainnet.base.org',
323
- chainId: 8453,
304
+ // ...required fields...
305
+ chainProviders: [
306
+ {
307
+ chainType: 'evm',
308
+ chainId: 'evm:8453',
309
+ rpcUrl: 'https://base-mainnet.g.alchemy.com/v2/YOUR_KEY',
310
+ registryAddress: '0x...', // Payment channel registry contract
311
+ tokenAddress: '0x...', // ERC-20 token contract
312
+ keyId: '0x...', // Private key (dev) or KMS key reference
313
+ settlementOptions: { // Optional tuning
314
+ threshold: '1000000',
315
+ settlementTimeoutSecs: 86400,
316
+ pollingIntervalMs: 30000,
317
+ },
324
318
  },
325
- arbitrum: {
326
- enabled: true,
327
- rpcUrl: 'https://arb1.arbitrum.io/rpc',
328
- chainId: 42161,
329
- },
330
- },
319
+ ],
331
320
  };
332
321
  ```
333
322
 
323
+ ### Multi-Chain Example (EVM + Solana + Mina)
324
+
325
+ ```yaml
326
+ chainProviders:
327
+ - chainType: evm
328
+ chainId: evm:8453
329
+ rpcUrl: https://base-mainnet.g.alchemy.com/v2/YOUR_KEY
330
+ registryAddress: '0x...'
331
+ tokenAddress: '0x...'
332
+ keyId: '0x...'
333
+
334
+ - chainType: solana
335
+ chainId: solana:mainnet
336
+ rpcUrl: https://api.mainnet-beta.solana.com
337
+ programId: 'YourProgram...'
338
+ keyId: '/path/to/keypair.json'
339
+
340
+ - chainType: mina
341
+ chainId: mina:mainnet
342
+ graphqlUrl: https://proxy.minaprotocol.com/graphql
343
+ zkAppAddress: 'B62q...'
344
+ keyId: 'EKE...'
345
+ ```
346
+
347
+ Settlement is **optional** — you can run a connector without `chainProviders` for testing or private networks. Chain SDKs are loaded lazily, so you only need dependencies for chains you actually use.
348
+
349
+ ### Key Management
350
+
351
+ | `keyId` Format | Backend | Use Case |
352
+ | --- | --- | --- |
353
+ | `0x...` (hex string) | Raw private key | Local development only |
354
+ | `aws-kms://...` | AWS KMS | Production |
355
+ | `gcp-kms://...` | GCP Cloud KMS | Production |
356
+ | `azure-kv://...` | Azure Key Vault | Production |
357
+
358
+ ### Migrating from `settlementInfra`
359
+
360
+ The `settlementInfra` config block was removed in v2.3.0. If your config still uses it, the connector will print a descriptive error at startup explaining the migration. The mapping is:
361
+
362
+ | Old (`settlementInfra`) | New (`chainProviders[evm]`) |
363
+ | ------------------------ | --------------------------------- |
364
+ | `rpcUrl` | `rpcUrl` |
365
+ | `registryAddress` | `registryAddress` |
366
+ | `tokenAddress` | `tokenAddress` |
367
+ | `privateKey` | `keyId` |
368
+ | `enabled: true` | Presence of the entry enables it |
369
+
370
+ Legacy environment variables (`BASE_L2_RPC_URL`, `SETTLEMENT_ENABLED`, `TOKEN_NETWORK_REGISTRY`, `M2M_TOKEN_ADDRESS`, `TREASURY_EVM_PRIVATE_KEY`) are no longer read. If detected at startup, the connector logs a warning directing you to use `chainProviders`.
371
+
372
+ ## Transport Configuration
373
+
374
+ By default, connectors peer over direct TCP WebSocket connections. For network-level privacy or to run from a home network without port forwarding, enable ATOR overlay transport.
375
+
376
+ ATOR (Anyone Protocol) is an incentivized onion-routing network. When enabled, all outbound BTP traffic is tunneled through ATOR circuits. Inbound peering works through `.anon` hidden services — no open ports or special router configuration needed.
377
+
378
+ ### Direct Transport (Default)
379
+
380
+ No configuration required. Existing deployments are unaffected.
381
+
382
+ ### ATOR/SOCKS5 Transport
383
+
384
+ ```yaml
385
+ transport:
386
+ type: socks5
387
+ socksUrl: socks5h://127.0.0.1:9050 # Must use socks5h:// (DNS at proxy)
388
+ managed: true # Auto-start/stop the ATOR binary
389
+ hiddenService:
390
+ enabled: true # Accept inbound via .anon address
391
+ hostname: your-address.anon # Assigned on first start
392
+ virtualPort: 3000
393
+ ```
394
+
395
+ Two modes are supported:
396
+
397
+ - **Managed** (`managed: true`) — The connector starts and monitors the ATOR binary automatically. Best for most operators, especially on home networks.
398
+ - **External** (`managed: false`) — You run `anon` or system `tor` yourself. Point `socksUrl` at its SOCKS5 port.
399
+
400
+ The `socks5h://` scheme (note the `h`) is required — it routes DNS through the proxy to prevent leaks.
401
+
402
+ See the full [ATOR Transport Guide](../../docs/ator-transport.md) for monitoring, performance tuning, hidden-service setup, and troubleshooting.
403
+
334
404
  ## Explorer UI
335
405
 
336
406
  Built-in real-time dashboard for packet flow, balances, and settlement monitoring.
@@ -388,7 +458,7 @@ npx connector validate config.yaml # Validate config file
388
458
 
389
459
  **Classes:** `ConnectorNode`, `ConfigLoader`, `ConfigurationError`, `ConnectorNotStartedError`, `RoutingTable`, `PacketHandler`, `BTPServer`, `BTPClient`, `BTPClientManager`, `AdminServer`, `AccountManager`, `SettlementMonitor`, `UnifiedSettlementExecutor`, `IlpSendHandler`
390
460
 
391
- **Types:** `ConnectorConfig`, `PeerConfig`, `RouteConfig`, `SettlementConfig`, `SettlementInfraConfig`, `LocalDeliveryConfig`, `LocalDeliveryHandler`, `LocalDeliveryRequest`, `LocalDeliveryResponse`, `SendPacketParams`, `PeerRegistrationRequest`, `PeerInfo`, `PeerAccountBalance`, `RouteInfo`, `RemovePeerResult`, `IlpSendRequest`, `IlpSendResponse`, `AdminSettlementConfig`, `ChannelOpenOptions`, `ChannelMetadata`, `PaymentRequest`, `PaymentResponse`, `PaymentHandler`, `PacketSenderFn`, `IsReadyFn`, `ILPPreparePacket`, `ILPFulfillPacket`, `ILPRejectPacket`
461
+ **Types:** `ConnectorConfig`, `PeerConfig`, `RouteConfig`, `SettlementConfig`, `LocalDeliveryConfig`, `LocalDeliveryHandler`, `LocalDeliveryRequest`, `LocalDeliveryResponse`, `SendPacketParams`, `PeerRegistrationRequest`, `PeerInfo`, `PeerAccountBalance`, `RouteInfo`, `RemovePeerResult`, `IlpSendRequest`, `IlpSendResponse`, `AdminSettlementConfig`, `ChannelOpenOptions`, `ChannelMetadata`, `PaymentRequest`, `PaymentResponse`, `PaymentHandler`, `PacketSenderFn`, `IsReadyFn`, `ILPPreparePacket`, `ILPFulfillPacket`, `ILPRejectPacket`
392
462
 
393
463
  **Utilities:** `createLogger`, `createPaymentHandlerAdapter`, `computeFulfillmentFromData`, `computeConditionFromData`, `validateIlpSendRequest`, `generatePaymentId`, `mapRejectCode`, `validateResponseData`, `REJECT_CODE_MAP`
394
464
 
@@ -399,7 +469,8 @@ src/
399
469
  ├── core/ # ConnectorNode, PacketHandler, payment handler, local delivery
400
470
  ├── btp/ # BTP server and client (WebSocket peers)
401
471
  ├── routing/ # Routing table and prefix matching
402
- ├── settlement/ # EVM settlement, payment channels, account manager
472
+ ├── settlement/ # Multi-chain settlement, payment channels, account manager
473
+ ├── transport/ # Transport providers (direct TCP, SOCKS5/ATOR overlay)
403
474
  ├── http/ # Admin API, health endpoints, ILP send handler
404
475
  ├── explorer/ # Embedded telemetry UI server and event store
405
476
  ├── wallet/ # HD wallet derivation for EVM keys
@@ -1,3 +1,4 @@
1
+ import type http from 'http';
1
2
  import { Logger } from '../utils/logger';
2
3
  import { BTPClient, Peer } from './btp-client';
3
4
  import { ILPPreparePacket, ILPFulfillPacket, ILPRejectPacket } from '@toon-protocol/shared';
@@ -7,7 +8,9 @@ export declare class BTPClientManager {
7
8
  private readonly _logger;
8
9
  private readonly _nodeId;
9
10
  private _packetHandler;
11
+ private _agentFactory;
10
12
  constructor(nodeId: string, logger: Logger);
13
+ setAgentFactory(factory: ((peerUrl: string) => http.Agent | undefined) | null): void;
11
14
  setPacketHandler(packetHandler: PacketHandler): void;
12
15
  addPeer(peer: Peer): Promise<void>;
13
16
  removePeer(peerId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"btp-client-manager.d.ts","sourceRoot":"","sources":["../../src/btp/btp-client-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAM5D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,cAAc,CAA8B;gBAOxC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS1C,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAa9C,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAwElC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCzC,UAAU,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAiE9C,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAYrC,UAAU,IAAI,MAAM,EAAE;IAUtB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUvD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpC,qBAAqB,IAAI,MAAM;IAU/B,iBAAiB,IAAI,MAAM;IAS3B,mBAAmB,IAAI,MAAM;CAQ9B"}
1
+ {"version":3,"file":"btp-client-manager.d.ts","sourceRoot":"","sources":["../../src/btp/btp-client-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,aAAa,CAA8D;gBAOvE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAe1C,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI;IAQpF,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAa9C,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAqFlC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCzC,UAAU,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAiE9C,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAYrC,UAAU,IAAI,MAAM,EAAE;IAUtB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAUvD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAUpC,qBAAqB,IAAI,MAAM;IAU/B,iBAAiB,IAAI,MAAM;IAS3B,mBAAmB,IAAI,MAAM;CAQ9B"}
@@ -2,15 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BTPClientManager = void 0;
4
4
  const btp_client_1 = require("./btp-client");
5
+ const redact_1 = require("../utils/redact");
5
6
  class BTPClientManager {
6
7
  _clients = new Map();
7
8
  _logger;
8
9
  _nodeId;
9
10
  _packetHandler = null;
11
+ _agentFactory = null;
10
12
  constructor(nodeId, logger) {
11
13
  this._nodeId = nodeId;
12
14
  this._logger = logger.child({ component: 'BTPClientManager' });
13
15
  }
16
+ setAgentFactory(factory) {
17
+ this._agentFactory = factory;
18
+ }
14
19
  setPacketHandler(packetHandler) {
15
20
  this._packetHandler = packetHandler;
16
21
  for (const client of this._clients.values()) {
@@ -18,12 +23,14 @@ class BTPClientManager {
18
23
  }
19
24
  }
20
25
  async addPeer(peer) {
21
- this._logger.info({ event: 'btp_client_add_peer', peerId: peer.id, url: peer.url }, 'Adding peer');
26
+ this._logger.info({ event: 'btp_client_add_peer', peerId: peer.id, url: (0, redact_1.redactPeerUrl)(peer.url) }, 'Adding peer');
22
27
  if (this._clients.has(peer.id)) {
23
28
  this._logger.warn({ event: 'btp_client_peer_exists', peerId: peer.id }, 'Peer already exists, skipping');
24
29
  return;
25
30
  }
26
- const client = new btp_client_1.BTPClient(peer, this._nodeId, this._logger);
31
+ const client = this._agentFactory
32
+ ? new btp_client_1.BTPClient(peer, this._nodeId, this._logger, undefined, this._agentFactory)
33
+ : new btp_client_1.BTPClient(peer, this._nodeId, this._logger);
27
34
  if (this._packetHandler) {
28
35
  client.setPacketHandler(this._packetHandler);
29
36
  }
@@ -34,7 +41,11 @@ class BTPClientManager {
34
41
  this._logger.warn({ event: 'btp_client_disconnected', peerId: peer.id }, 'BTP client disconnected from peer');
35
42
  });
36
43
  client.on('error', (error) => {
37
- this._logger.error({ event: 'btp_client_error', peerId: peer.id, error: error.message }, 'BTP client error');
44
+ this._logger.error({
45
+ event: 'btp_client_error',
46
+ peerId: peer.id,
47
+ error: (0, redact_1.redactAnonInMessage)(error.message),
48
+ }, 'BTP client error');
38
49
  });
39
50
  this._clients.set(peer.id, client);
40
51
  try {
@@ -43,7 +54,11 @@ class BTPClientManager {
43
54
  }
44
55
  catch (error) {
45
56
  const errorMessage = error instanceof Error ? error.message : String(error);
46
- this._logger.warn({ event: 'btp_client_add_peer_failed', peerId: peer.id, error: errorMessage }, 'Initial connection to peer failed (will retry in background)');
57
+ this._logger.warn({
58
+ event: 'btp_client_add_peer_failed',
59
+ peerId: peer.id,
60
+ error: (0, redact_1.redactAnonInMessage)(errorMessage),
61
+ }, 'Initial connection to peer failed (will retry in background)');
47
62
  }
48
63
  }
49
64
  async removePeer(peerId) {
@@ -1 +1 @@
1
- {"version":3,"file":"btp-client-manager.js","sourceRoot":"","sources":["../../src/btp/btp-client-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"btp-client-manager.js","sourceRoot":"","sources":["../../src/btp/btp-client-manager.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type http from 'http';
1
2
  import { EventEmitter } from 'events';
2
3
  import { Logger } from '../utils/logger';
3
4
  import { ILPPreparePacket, ILPFulfillPacket, ILPRejectPacket } from '@toon-protocol/shared';
@@ -32,8 +33,10 @@ export declare class BTPClient extends EventEmitter {
32
33
  private readonly _defaultPacketSendTimeoutMs;
33
34
  private readonly _nodeId;
34
35
  private _packetHandler;
35
- constructor(peer: Peer, nodeId: string, logger: Logger, maxRetries?: number);
36
+ private readonly _agentFactory?;
37
+ constructor(peer: Peer, nodeId: string, logger: Logger, maxRetries?: number, agentFactory?: (peerUrl: string) => http.Agent | undefined);
36
38
  get isConnected(): boolean;
39
+ sendRawFrameForTesting(frame: Buffer): boolean;
37
40
  setPacketHandler(packetHandler: PacketHandler): void;
38
41
  connect(): Promise<void>;
39
42
  disconnect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"btp-client.d.ts","sourceRoot":"","sources":["../../src/btp/btp-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAUzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,MAAM,WAAW,IAAI;IAEnB,EAAE,EAAE,MAAM,CAAC;IAEX,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAUD,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAK5B;AAKD,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAeD,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAG1C;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,cAAc,CAA8B;gBASxC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAa3E,IAAI,WAAW,IAAI,OAAO,CAEzB;IAMD,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAQ9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4FxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BnB,aAAa;IAsFrB,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IA6ExC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDhF,cAAc;IA+K5B,OAAO,CAAC,YAAY;YA6BN,MAAM;IAmCpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;CAI3B"}
1
+ {"version":3,"file":"btp-client.d.ts","sourceRoot":"","sources":["../../src/btp/btp-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAWzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAK5D,MAAM,WAAW,IAAI;IAEnB,EAAE,EAAE,MAAM,CAAC;IAQX,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,IAAI,CAAC;CAChB;AAUD,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAK5B;AAKD,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAeD,qBAAa,SAAU,SAAQ,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAG1C;IAEF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA8C;gBAc3E,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,KAAK,GAAG,SAAS;IAe5D,IAAI,WAAW,IAAI,OAAO,CAEzB;IAwBD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAY9C,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAQ9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwGxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BnB,aAAa;IAsFrB,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAChF,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC;IA6ExC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsDhF,cAAc;IA+K5B,OAAO,CAAC,YAAY;YA6BN,MAAM;IAmCpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,kBAAkB;CAI3B"}
@@ -4,6 +4,7 @@ exports.BTPClient = exports.BTPAuthenticationError = exports.BTPConnectionError
4
4
  const tslib_1 = require("tslib");
5
5
  const ws_1 = tslib_1.__importDefault(require("ws"));
6
6
  const events_1 = require("events");
7
+ const redact_1 = require("../utils/redact");
7
8
  const btp_types_1 = require("./btp-types");
8
9
  const btp_message_parser_1 = require("./btp-message-parser");
9
10
  const shared_1 = require("@toon-protocol/shared");
@@ -41,7 +42,8 @@ class BTPClient extends events_1.EventEmitter {
41
42
  _defaultPacketSendTimeoutMs = parseInt(process.env.BTP_SEND_TIMEOUT_MS ?? '30000', 10);
42
43
  _nodeId;
43
44
  _packetHandler = null;
44
- constructor(peer, nodeId, logger, maxRetries) {
45
+ _agentFactory;
46
+ constructor(peer, nodeId, logger, maxRetries, agentFactory) {
45
47
  super();
46
48
  this._peer = peer;
47
49
  this._nodeId = nodeId;
@@ -49,10 +51,18 @@ class BTPClient extends events_1.EventEmitter {
49
51
  if (maxRetries !== undefined) {
50
52
  this._maxRetries = maxRetries;
51
53
  }
54
+ this._agentFactory = agentFactory;
52
55
  }
53
56
  get isConnected() {
54
57
  return this._connectionState === 'connected';
55
58
  }
59
+ sendRawFrameForTesting(frame) {
60
+ if (!this._ws || this._connectionState !== 'connected') {
61
+ return false;
62
+ }
63
+ this._ws.send(frame);
64
+ return true;
65
+ }
56
66
  setPacketHandler(packetHandler) {
57
67
  this._packetHandler = packetHandler;
58
68
  }
@@ -63,10 +73,14 @@ class BTPClient extends events_1.EventEmitter {
63
73
  }
64
74
  this._explicitDisconnect = false;
65
75
  this._connectionState = 'connecting';
66
- this._logger.info({ event: 'btp_connection_attempt', url: this._peer.url }, 'Connecting to peer');
76
+ this._logger.info({ event: 'btp_connection_attempt', url: (0, redact_1.redactPeerUrl)(this._peer.url) }, 'Connecting to peer');
67
77
  return new Promise((resolve, reject) => {
68
78
  try {
69
- this._ws = new ws_1.default(this._peer.url);
79
+ const agent = this._agentFactory?.(this._peer.url);
80
+ this._ws =
81
+ agent !== undefined
82
+ ? new ws_1.default(this._peer.url, { agent })
83
+ : new ws_1.default(this._peer.url);
70
84
  this._ws.on('open', async () => {
71
85
  try {
72
86
  await this._authenticate();
@@ -75,13 +89,13 @@ class BTPClient extends events_1.EventEmitter {
75
89
  this._peer.connected = true;
76
90
  this._peer.lastSeen = new Date();
77
91
  this._startKeepAlive();
78
- this._logger.info({ event: 'btp_connected', url: this._peer.url }, 'Connected to peer');
92
+ this._logger.info({ event: 'btp_connected', url: (0, redact_1.redactPeerUrl)(this._peer.url) }, 'Connected to peer');
79
93
  this.emit('connected');
80
94
  resolve();
81
95
  }
82
96
  catch (error) {
83
97
  const errorMessage = error instanceof Error ? error.message : String(error);
84
- this._logger.error({ event: 'btp_connection_error', error: errorMessage }, 'Authentication failed');
98
+ this._logger.error({ event: 'btp_connection_error', error: (0, redact_1.redactAnonInMessage)(errorMessage) }, 'Authentication failed');
85
99
  this._connectionState = 'error';
86
100
  this._ws?.close();
87
101
  reject(error);
@@ -91,7 +105,7 @@ class BTPClient extends events_1.EventEmitter {
91
105
  this._handleMessage(data).catch((error) => {
92
106
  this._logger.error({
93
107
  event: 'btp_message_error',
94
- error: error instanceof Error ? error.message : String(error),
108
+ error: (0, redact_1.redactAnonInMessage)(error instanceof Error ? error.message : String(error)),
95
109
  }, 'Error handling message');
96
110
  });
97
111
  });
@@ -99,7 +113,7 @@ class BTPClient extends events_1.EventEmitter {
99
113
  this._handleClose();
100
114
  });
101
115
  this._ws.on('error', (error) => {
102
- this._logger.error({ event: 'btp_connection_error', error: error.message }, 'WebSocket error');
116
+ this._logger.error({ event: 'btp_connection_error', error: (0, redact_1.redactAnonInMessage)(error.message) }, 'WebSocket error');
103
117
  this._connectionState = 'error';
104
118
  this.emit('error', error);
105
119
  reject(new BTPConnectionError(error.message));
@@ -110,7 +124,7 @@ class BTPClient extends events_1.EventEmitter {
110
124
  }
111
125
  catch (error) {
112
126
  const errorMessage = error instanceof Error ? error.message : String(error);
113
- this._logger.error({ event: 'btp_connection_error', error: errorMessage }, 'Failed to create WebSocket');
127
+ this._logger.error({ event: 'btp_connection_error', error: (0, redact_1.redactAnonInMessage)(errorMessage) }, 'Failed to create WebSocket');
114
128
  this._connectionState = 'error';
115
129
  reject(new BTPConnectionError(errorMessage));
116
130
  }
@@ -410,7 +424,7 @@ class BTPClient extends events_1.EventEmitter {
410
424
  this._retry().catch((error) => {
411
425
  this._logger.error({
412
426
  event: 'btp_retry_failed',
413
- error: error instanceof Error ? error.message : String(error),
427
+ error: (0, redact_1.redactAnonInMessage)(error instanceof Error ? error.message : String(error)),
414
428
  }, 'Retry failed');
415
429
  });
416
430
  }
@@ -429,7 +443,7 @@ class BTPClient extends events_1.EventEmitter {
429
443
  }
430
444
  catch (error) {
431
445
  const errorMessage = error instanceof Error ? error.message : String(error);
432
- this._logger.error({ event: 'btp_connection_error', error: errorMessage }, 'Connection retry failed');
446
+ this._logger.error({ event: 'btp_connection_error', error: (0, redact_1.redactAnonInMessage)(errorMessage) }, 'Connection retry failed');
433
447
  }
434
448
  }
435
449
  _startKeepAlive() {
@@ -1 +1 @@
1
- {"version":3,"file":"btp-client.js","sourceRoot":"","sources":["../../src/btp/btp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"btp-client.js","sourceRoot":"","sources":["../../src/btp/btp-client.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { BTPProtocolData } from './btp-types';
2
+ import { type NIP59ClaimWrapper } from '../settlement/privacy/nip59-claim-wrapper';
2
3
  import type { ILPPreparePacket, ILPRejectPacket } from '@toon-protocol/shared';
3
4
  import type { PaymentChannelSDK } from '../settlement/payment-channel-sdk';
4
5
  import type { ChannelManager } from '../settlement/channel-manager';
@@ -9,7 +10,9 @@ export declare class InboundClaimValidator {
9
10
  private readonly paymentChannelSDK;
10
11
  private readonly channelManager?;
11
12
  private readonly nodeId;
12
- constructor(paymentChannelSDK: PaymentChannelSDK, nodeId: string, logger: Logger, channelManager?: ChannelManager);
13
+ private readonly nip59Wrapper?;
14
+ private readonly nip59PrivateKey?;
15
+ constructor(paymentChannelSDK: PaymentChannelSDK, nodeId: string, logger: Logger, channelManager?: ChannelManager, nip59Wrapper?: NIP59ClaimWrapper, nip59PrivateKey?: Uint8Array);
13
16
  validate(protocolData: BTPProtocolData[], ilpPacket: ILPPreparePacket, peerId: string): Promise<ILPRejectPacket | null>;
14
17
  private verifyEVMClaim;
15
18
  private createReject;
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-claim-validator.d.ts","sourceRoot":"","sources":["../../src/btp/inbound-claim-validator.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,MAAM,MAAM,uBAAuB,GAAG,CACpC,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AASrC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG9B,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc;IAgB3B,QAAQ,CACZ,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YA0EpB,cAAc;IAqG5B,OAAO,CAAC,YAAY;CASrB"}
1
+ {"version":3,"file":"inbound-claim-validator.d.ts","sourceRoot":"","sources":["../../src/btp/inbound-claim-validator.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAM9C,MAAM,MAAM,uBAAuB,GAAG,CACpC,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AASrC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAa;gBAG5C,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,cAAc,EAC/B,YAAY,CAAC,EAAE,iBAAiB,EAChC,eAAe,CAAC,EAAE,UAAU;IAkBxB,QAAQ,CACZ,YAAY,EAAE,eAAe,EAAE,EAC/B,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YAuFpB,cAAc;IAqG5B,OAAO,CAAC,YAAY;CASrB"}