@antseed/node 0.2.26 → 0.2.28

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 (255) hide show
  1. package/README.md +85 -11
  2. package/dist/buyer-request-handler.d.ts +41 -0
  3. package/dist/buyer-request-handler.d.ts.map +1 -0
  4. package/dist/buyer-request-handler.js +254 -0
  5. package/dist/buyer-request-handler.js.map +1 -0
  6. package/dist/discovery/announcer.d.ts +5 -2
  7. package/dist/discovery/announcer.d.ts.map +1 -1
  8. package/dist/discovery/announcer.js +11 -14
  9. package/dist/discovery/announcer.js.map +1 -1
  10. package/dist/discovery/index.d.ts +0 -2
  11. package/dist/discovery/index.d.ts.map +1 -1
  12. package/dist/discovery/index.js +0 -2
  13. package/dist/discovery/index.js.map +1 -1
  14. package/dist/discovery/metadata-codec.d.ts +2 -2
  15. package/dist/discovery/metadata-codec.d.ts.map +1 -1
  16. package/dist/discovery/metadata-codec.js +47 -72
  17. package/dist/discovery/metadata-codec.js.map +1 -1
  18. package/dist/discovery/metadata-validator.js +6 -6
  19. package/dist/discovery/metadata-validator.js.map +1 -1
  20. package/dist/discovery/peer-lookup.d.ts.map +1 -1
  21. package/dist/discovery/peer-lookup.js +1 -2
  22. package/dist/discovery/peer-lookup.js.map +1 -1
  23. package/dist/discovery/peer-metadata.d.ts +3 -5
  24. package/dist/discovery/peer-metadata.d.ts.map +1 -1
  25. package/dist/discovery/peer-metadata.js +1 -1
  26. package/dist/discovery/reputation-verifier.d.ts +2 -22
  27. package/dist/discovery/reputation-verifier.d.ts.map +1 -1
  28. package/dist/discovery/reputation-verifier.js +2 -24
  29. package/dist/discovery/reputation-verifier.js.map +1 -1
  30. package/dist/discovery/stats-verifier.d.ts +27 -0
  31. package/dist/discovery/stats-verifier.d.ts.map +1 -0
  32. package/dist/discovery/stats-verifier.js +38 -0
  33. package/dist/discovery/stats-verifier.js.map +1 -0
  34. package/dist/index.d.ts +17 -5
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +11 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/metering/index.d.ts +1 -0
  39. package/dist/metering/index.d.ts.map +1 -1
  40. package/dist/metering/index.js +1 -0
  41. package/dist/metering/index.js.map +1 -1
  42. package/dist/metering/receipt-generator.d.ts +4 -4
  43. package/dist/metering/receipt-generator.d.ts.map +1 -1
  44. package/dist/metering/receipt-verifier.d.ts +6 -6
  45. package/dist/metering/receipt-verifier.d.ts.map +1 -1
  46. package/dist/metering/receipt-verifier.js +1 -1
  47. package/dist/metering/seller-session-tracker.d.ts +91 -0
  48. package/dist/metering/seller-session-tracker.d.ts.map +1 -0
  49. package/dist/metering/seller-session-tracker.js +261 -0
  50. package/dist/metering/seller-session-tracker.js.map +1 -0
  51. package/dist/metering/storage.d.ts +11 -5
  52. package/dist/metering/storage.d.ts.map +1 -1
  53. package/dist/metering/storage.js +28 -80
  54. package/dist/metering/storage.js.map +1 -1
  55. package/dist/node.d.ts +83 -104
  56. package/dist/node.d.ts.map +1 -1
  57. package/dist/node.js +313 -1026
  58. package/dist/node.js.map +1 -1
  59. package/dist/p2p/connection-auth.d.ts +2 -1
  60. package/dist/p2p/connection-auth.d.ts.map +1 -1
  61. package/dist/p2p/connection-auth.js +6 -6
  62. package/dist/p2p/connection-auth.js.map +1 -1
  63. package/dist/p2p/connection-manager.d.ts +3 -2
  64. package/dist/p2p/connection-manager.d.ts.map +1 -1
  65. package/dist/p2p/connection-manager.js +12 -6
  66. package/dist/p2p/connection-manager.js.map +1 -1
  67. package/dist/p2p/identity.d.ts +44 -13
  68. package/dist/p2p/identity.d.ts.map +1 -1
  69. package/dist/p2p/identity.js +103 -49
  70. package/dist/p2p/identity.js.map +1 -1
  71. package/dist/p2p/index.d.ts +1 -3
  72. package/dist/p2p/index.d.ts.map +1 -1
  73. package/dist/p2p/index.js +1 -3
  74. package/dist/p2p/index.js.map +1 -1
  75. package/dist/p2p/payment-codec.d.ts +9 -19
  76. package/dist/p2p/payment-codec.d.ts.map +1 -1
  77. package/dist/p2p/payment-codec.js +41 -89
  78. package/dist/p2p/payment-codec.js.map +1 -1
  79. package/dist/p2p/payment-mux.d.ts +14 -29
  80. package/dist/p2p/payment-mux.d.ts.map +1 -1
  81. package/dist/p2p/payment-mux.js +41 -79
  82. package/dist/p2p/payment-mux.js.map +1 -1
  83. package/dist/payments/balance-manager.d.ts +2 -2
  84. package/dist/payments/balance-manager.d.ts.map +1 -1
  85. package/dist/payments/balance-manager.js +5 -5
  86. package/dist/payments/balance-manager.js.map +1 -1
  87. package/dist/payments/buyer-payment-manager.d.ts +157 -83
  88. package/dist/payments/buyer-payment-manager.d.ts.map +1 -1
  89. package/dist/payments/buyer-payment-manager.js +573 -204
  90. package/dist/payments/buyer-payment-manager.js.map +1 -1
  91. package/dist/payments/buyer-payment-negotiator.d.ts +84 -0
  92. package/dist/payments/buyer-payment-negotiator.d.ts.map +1 -0
  93. package/dist/payments/buyer-payment-negotiator.js +624 -0
  94. package/dist/payments/buyer-payment-negotiator.js.map +1 -0
  95. package/dist/payments/chain-config.d.ts +44 -0
  96. package/dist/payments/chain-config.d.ts.map +1 -0
  97. package/dist/payments/chain-config.js +70 -0
  98. package/dist/payments/chain-config.js.map +1 -0
  99. package/dist/payments/channel-session-state.d.ts +13 -0
  100. package/dist/payments/channel-session-state.d.ts.map +1 -0
  101. package/dist/payments/channel-session-state.js +25 -0
  102. package/dist/payments/channel-session-state.js.map +1 -0
  103. package/dist/payments/channel-store.d.ts +87 -0
  104. package/dist/payments/channel-store.d.ts.map +1 -0
  105. package/dist/payments/channel-store.js +276 -0
  106. package/dist/payments/channel-store.js.map +1 -0
  107. package/dist/payments/evm/ants-token-client.d.ts +16 -0
  108. package/dist/payments/evm/ants-token-client.d.ts.map +1 -0
  109. package/dist/payments/evm/ants-token-client.js +65 -0
  110. package/dist/payments/evm/ants-token-client.js.map +1 -0
  111. package/dist/payments/evm/base-evm-client.d.ts +22 -0
  112. package/dist/payments/evm/base-evm-client.d.ts.map +1 -0
  113. package/dist/payments/evm/base-evm-client.js +71 -0
  114. package/dist/payments/evm/base-evm-client.js.map +1 -0
  115. package/dist/payments/evm/channels-client.d.ts +51 -0
  116. package/dist/payments/evm/channels-client.d.ts.map +1 -0
  117. package/dist/payments/evm/channels-client.js +101 -0
  118. package/dist/payments/evm/channels-client.js.map +1 -0
  119. package/dist/payments/evm/deposits-client.d.ts +30 -0
  120. package/dist/payments/evm/deposits-client.d.ts.map +1 -0
  121. package/dist/payments/evm/deposits-client.js +78 -0
  122. package/dist/payments/evm/deposits-client.js.map +1 -0
  123. package/dist/payments/evm/emissions-client.d.ts +22 -0
  124. package/dist/payments/evm/emissions-client.d.ts.map +1 -0
  125. package/dist/payments/evm/emissions-client.js +65 -0
  126. package/dist/payments/evm/emissions-client.js.map +1 -0
  127. package/dist/payments/evm/escrow-client.d.ts +57 -36
  128. package/dist/payments/evm/escrow-client.d.ts.map +1 -1
  129. package/dist/payments/evm/escrow-client.js +200 -93
  130. package/dist/payments/evm/escrow-client.js.map +1 -1
  131. package/dist/payments/evm/identity-client.d.ts +21 -0
  132. package/dist/payments/evm/identity-client.d.ts.map +1 -0
  133. package/dist/payments/evm/identity-client.js +68 -0
  134. package/dist/payments/evm/identity-client.js.map +1 -0
  135. package/dist/payments/evm/keypair.d.ts +3 -14
  136. package/dist/payments/evm/keypair.d.ts.map +1 -1
  137. package/dist/payments/evm/keypair.js +4 -20
  138. package/dist/payments/evm/keypair.js.map +1 -1
  139. package/dist/payments/evm/sessions-client.d.ts +30 -0
  140. package/dist/payments/evm/sessions-client.d.ts.map +1 -0
  141. package/dist/payments/evm/sessions-client.js +61 -0
  142. package/dist/payments/evm/sessions-client.js.map +1 -0
  143. package/dist/payments/evm/signatures.d.ts +54 -10
  144. package/dist/payments/evm/signatures.d.ts.map +1 -1
  145. package/dist/payments/evm/signatures.js +80 -54
  146. package/dist/payments/evm/signatures.js.map +1 -1
  147. package/dist/payments/evm/staking-client.d.ts +24 -0
  148. package/dist/payments/evm/staking-client.d.ts.map +1 -0
  149. package/dist/payments/evm/staking-client.js +54 -0
  150. package/dist/payments/evm/staking-client.js.map +1 -0
  151. package/dist/payments/evm/stats-client.d.ts +20 -0
  152. package/dist/payments/evm/stats-client.d.ts.map +1 -0
  153. package/dist/payments/evm/stats-client.js +25 -0
  154. package/dist/payments/evm/stats-client.js.map +1 -0
  155. package/dist/payments/evm/subpool-client.d.ts +30 -0
  156. package/dist/payments/evm/subpool-client.d.ts.map +1 -0
  157. package/dist/payments/evm/subpool-client.js +158 -0
  158. package/dist/payments/evm/subpool-client.js.map +1 -0
  159. package/dist/payments/index.d.ts +29 -9
  160. package/dist/payments/index.d.ts.map +1 -1
  161. package/dist/payments/index.js +27 -9
  162. package/dist/payments/index.js.map +1 -1
  163. package/dist/payments/pricing.d.ts +25 -0
  164. package/dist/payments/pricing.d.ts.map +1 -0
  165. package/dist/payments/pricing.js +33 -0
  166. package/dist/payments/pricing.js.map +1 -0
  167. package/dist/payments/readiness.d.ts +13 -0
  168. package/dist/payments/readiness.d.ts.map +1 -0
  169. package/dist/payments/readiness.js +57 -0
  170. package/dist/payments/readiness.js.map +1 -0
  171. package/dist/payments/seller-payment-manager.d.ts +101 -36
  172. package/dist/payments/seller-payment-manager.d.ts.map +1 -1
  173. package/dist/payments/seller-payment-manager.js +612 -120
  174. package/dist/payments/seller-payment-manager.js.map +1 -1
  175. package/dist/payments/session-store.d.ts +68 -0
  176. package/dist/payments/session-store.d.ts.map +1 -0
  177. package/dist/payments/session-store.js +272 -0
  178. package/dist/payments/session-store.js.map +1 -0
  179. package/dist/payments/types.d.ts +5 -3
  180. package/dist/payments/types.d.ts.map +1 -1
  181. package/dist/payments/usdc-utils.d.ts +9 -0
  182. package/dist/payments/usdc-utils.d.ts.map +1 -0
  183. package/dist/payments/usdc-utils.js +17 -0
  184. package/dist/payments/usdc-utils.js.map +1 -0
  185. package/dist/proxy/proxy-mux.d.ts.map +1 -1
  186. package/dist/proxy/proxy-mux.js +3 -2
  187. package/dist/proxy/proxy-mux.js.map +1 -1
  188. package/dist/proxy/request-codec.d.ts.map +1 -1
  189. package/dist/proxy/request-codec.js +3 -0
  190. package/dist/proxy/request-codec.js.map +1 -1
  191. package/dist/reputation/rating-manager.d.ts.map +1 -1
  192. package/dist/reputation/rating-manager.js +2 -4
  193. package/dist/reputation/rating-manager.js.map +1 -1
  194. package/dist/reputation/report-manager.d.ts.map +1 -1
  195. package/dist/reputation/report-manager.js +2 -4
  196. package/dist/reputation/report-manager.js.map +1 -1
  197. package/dist/routing/default-router.d.ts.map +1 -1
  198. package/dist/routing/default-router.js +4 -9
  199. package/dist/routing/default-router.js.map +1 -1
  200. package/dist/seller-request-handler.d.ts +54 -0
  201. package/dist/seller-request-handler.d.ts.map +1 -0
  202. package/dist/seller-request-handler.js +359 -0
  203. package/dist/seller-request-handler.js.map +1 -0
  204. package/dist/storage/migrate.d.ts +13 -0
  205. package/dist/storage/migrate.d.ts.map +1 -0
  206. package/dist/storage/migrate.js +28 -0
  207. package/dist/storage/migrate.js.map +1 -0
  208. package/dist/storage/migrations/channels/001_create_tables.d.ts +3 -0
  209. package/dist/storage/migrations/channels/001_create_tables.d.ts.map +1 -0
  210. package/dist/storage/migrations/channels/001_create_tables.js +45 -0
  211. package/dist/storage/migrations/channels/001_create_tables.js.map +1 -0
  212. package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts +3 -0
  213. package/dist/storage/migrations/channels/002_add_auth_sig_columns.d.ts.map +1 -0
  214. package/dist/storage/migrations/channels/002_add_auth_sig_columns.js +19 -0
  215. package/dist/storage/migrations/channels/002_add_auth_sig_columns.js.map +1 -0
  216. package/dist/storage/migrations/channels/index.d.ts +3 -0
  217. package/dist/storage/migrations/channels/index.d.ts.map +1 -0
  218. package/dist/storage/migrations/channels/index.js +4 -0
  219. package/dist/storage/migrations/channels/index.js.map +1 -0
  220. package/dist/storage/migrations/metering/001_create_tables.d.ts +3 -0
  221. package/dist/storage/migrations/metering/001_create_tables.d.ts.map +1 -0
  222. package/dist/storage/migrations/metering/001_create_tables.js +80 -0
  223. package/dist/storage/migrations/metering/001_create_tables.js.map +1 -0
  224. package/dist/storage/migrations/metering/index.d.ts +3 -0
  225. package/dist/storage/migrations/metering/index.d.ts.map +1 -0
  226. package/dist/storage/migrations/metering/index.js +3 -0
  227. package/dist/storage/migrations/metering/index.js.map +1 -0
  228. package/dist/types/capability.d.ts +1 -1
  229. package/dist/types/http.d.ts +2 -0
  230. package/dist/types/http.d.ts.map +1 -1
  231. package/dist/types/http.js +2 -0
  232. package/dist/types/http.js.map +1 -1
  233. package/dist/types/index.d.ts +0 -1
  234. package/dist/types/index.d.ts.map +1 -1
  235. package/dist/types/index.js +0 -1
  236. package/dist/types/index.js.map +1 -1
  237. package/dist/types/metering.d.ts +2 -2
  238. package/dist/types/metering.d.ts.map +1 -1
  239. package/dist/types/peer.d.ts +10 -11
  240. package/dist/types/peer.d.ts.map +1 -1
  241. package/dist/types/peer.js +7 -3
  242. package/dist/types/peer.js.map +1 -1
  243. package/dist/types/protocol.d.ts +32 -97
  244. package/dist/types/protocol.d.ts.map +1 -1
  245. package/dist/types/protocol.js +5 -10
  246. package/dist/types/protocol.js.map +1 -1
  247. package/dist/types/rating.d.ts +1 -1
  248. package/dist/types/rating.d.ts.map +1 -1
  249. package/dist/types/report.d.ts +1 -1
  250. package/dist/types/report.d.ts.map +1 -1
  251. package/dist/utils/response-usage.d.ts +10 -0
  252. package/dist/utils/response-usage.d.ts.map +1 -0
  253. package/dist/utils/response-usage.js +34 -0
  254. package/dist/utils/response-usage.js.map +1 -0
  255. package/package.json +4 -3
package/README.md CHANGED
@@ -115,8 +115,8 @@ At a high level, `@antseed/node` currently enforces:
115
115
  - Signed discovery metadata verification and staleness checks
116
116
  - Signed connection intro envelopes with replay protection
117
117
  - Frame, stream, and upload limits to reduce DoS exposure
118
- - Escrow-aware request gating (`402` if lock is not committed when escrow is enabled)
119
- - Signed bilateral receipts (Ed25519) plus on-chain payment authorization (ECDSA)
118
+ - Payment-aware request gating (`402` if no session is reserved when payments are enabled)
119
+ - Signed bilateral receipts (secp256k1) plus on-chain payment authorization (ECDSA)
120
120
 
121
121
  ## Node Configuration
122
122
 
@@ -126,6 +126,7 @@ interface NodeConfig {
126
126
  displayName?: string; // Optional human-readable name announced in metadata
127
127
  publicAddress?: string; // Optional public host:port override announced in metadata
128
128
  dataDir?: string; // Default: ~/.antseed
129
+ identityStore?: IdentityStore; // Pluggable identity storage backend
129
130
  dhtPort?: number; // Default: 6881 for seller, 0 (OS-assigned) for buyer
130
131
  signalingPort?: number; // Default: 6882 for seller
131
132
  bootstrapNodes?: Array<{ host: string; port: number }>;
@@ -134,7 +135,7 @@ interface NodeConfig {
134
135
  paymentMethod?: 'crypto';
135
136
  platformFeeRate?: number;
136
137
  settlementIdleMs?: number;
137
- defaultEscrowAmountUSDC?: string;
138
+ defaultSessionAmountUSDC?: string;
138
139
  sellerWalletAddress?: string;
139
140
  paymentConfig?: PaymentConfig | null;
140
141
  };
@@ -147,6 +148,7 @@ interface NodeConfig {
147
148
  | `displayName` | unset | Optional node label included in discovery metadata |
148
149
  | `publicAddress` | unset | Optional public `host:port` advertised in signed metadata and preferred by buyers over the raw DHT source address |
149
150
  | `dataDir` | `~/.antseed` | Directory for identity keys, metering DB, and config |
151
+ | `identityStore` | `FileIdentityStore` | Pluggable identity storage backend (see [Identity Storage](#identity-storage)) |
150
152
  | `dhtPort` | `6881` / `0` | UDP port for DHT. Seller defaults to 6881, buyer uses OS-assigned |
151
153
  | `signalingPort` | `6882` | TCP port for P2P signaling and incoming connections (seller only) |
152
154
  | `bootstrapNodes` | AntSeed nodes | Additional DHT bootstrap nodes merged with the official AntSeed infrastructure |
@@ -161,16 +163,87 @@ const node = new AntseedNode({
161
163
  });
162
164
  ```
163
165
 
166
+ ## Identity Storage
167
+
168
+ Every node has a secp256k1 identity keypair. The private key (32 bytes, stored as 64 hex characters) serves two roles:
169
+
170
+ 1. **P2P identity** — signs metadata, connection handshakes, and metering receipts. Your PeerId is the EVM address (40 hex characters) derived from the public key.
171
+ 2. **On-chain wallet** — the same secp256k1 key is used as the EVM wallet. This wallet holds deposits, stakes, receives seller earnings, and signs payment authorizations.
172
+
173
+ > **Important:** Losing your identity key means losing both your peer identity and access to any on-chain funds tied to the derived wallet.
174
+
175
+ ### Storage Backends
176
+
177
+ Identity loading follows this priority:
178
+
179
+ 1. **Environment variable** — if `ANTSEED_IDENTITY_HEX` is set (64 hex chars), it is used directly and cleared from the environment immediately after read. Useful for injecting keys from secrets managers without touching disk.
180
+ 2. **IdentityStore** — if `identityStore` is passed in `NodeConfig`, it is used to load/save the key.
181
+ 3. **File** — default. Reads/writes `identity.key` in `dataDir` (`~/.antseed/` by default) with `0600` permissions.
182
+
183
+ If no identity is found, a new keypair is generated and persisted via the active store.
184
+
185
+ ### File Store (Default)
186
+
187
+ ```ts
188
+ import { AntseedNode, FileIdentityStore } from '@antseed/node';
189
+
190
+ const node = new AntseedNode({
191
+ role: 'seller',
192
+ // These are equivalent — FileIdentityStore is the default:
193
+ identityStore: new FileIdentityStore('/path/to/config-dir'),
194
+ // dataDir: '/path/to/config-dir',
195
+ });
196
+ ```
197
+
198
+ ### Environment Variable
199
+
200
+ Pass the private key hex from a secrets manager (AWS SSM, HashiCorp Vault, etc.):
201
+
202
+ ```bash
203
+ export ANTSEED_IDENTITY_HEX="$(vault kv get -field=key secret/antseed/identity)"
204
+ antseed seed --provider anthropic
205
+ ```
206
+
207
+ The variable is cleared from the process environment immediately after consumption.
208
+
209
+ ### Custom Store
210
+
211
+ Implement the `IdentityStore` interface for any backend:
212
+
213
+ ```ts
214
+ import { AntseedNode, type IdentityStore } from '@antseed/node';
215
+
216
+ class VaultIdentityStore implements IdentityStore {
217
+ async load(): Promise<string | null> {
218
+ // Read 64-char hex string from your backend
219
+ return await vault.getSecret('antseed-identity');
220
+ }
221
+ async save(hexKey: string): Promise<void> {
222
+ // Persist the 64-char hex string
223
+ await vault.putSecret('antseed-identity', hexKey);
224
+ }
225
+ }
226
+
227
+ const node = new AntseedNode({
228
+ role: 'seller',
229
+ identityStore: new VaultIdentityStore(),
230
+ });
231
+ ```
232
+
233
+ ### Desktop App
234
+
235
+ The AntSeed Desktop app encrypts the identity at rest using Electron's `safeStorage` API. The encryption key is stored in the OS keychain (macOS Keychain / Windows DPAPI / Linux libsecret) and the encrypted blob is stored at `~/.antseed/identity.enc`. On first launch, any existing plaintext `identity.key` is migrated to the encrypted store and deleted.
236
+
164
237
  ## On-Chain Settlement Flow
165
238
 
166
239
  When `payments.enabled=true` in seller mode:
167
240
 
168
241
  1. A per-buyer payment session is created via `BuyerPaymentManager`.
169
- 2. Escrow is funded on-chain at session start.
242
+ 2. Deposit balance is locked on-chain at session start.
170
243
  3. Usage receipts are generated during request handling.
171
244
  4. On idle/session finalization, `calculateSettlement` computes cost from receipts and settles on-chain via:
172
- - `BaseEscrowClient.settle(sessionId, sellerAmount, platformAmount)`
173
- 5. Any unused escrow is refunded to the buyer by contract logic in the same settlement transaction.
245
+ - `ChannelsClient.settle(sessionId, tokenCount)`
246
+ 5. Any unused reservation is refunded to the buyer by contract logic in the same settlement transaction.
174
247
 
175
248
  Minimal crypto config:
176
249
 
@@ -181,15 +254,16 @@ const node = new AntseedNode({
181
254
  enabled: true,
182
255
  paymentMethod: 'crypto',
183
256
  platformFeeRate: 0.05,
184
- defaultEscrowAmountUSDC: '1',
257
+ defaultSessionAmountUSDC: '1',
185
258
  sellerWalletAddress: '0xSeller...',
186
259
  paymentConfig: {
187
260
  crypto: {
188
261
  chainId: 'base',
189
262
  rpcUrl: process.env.RPC_URL!,
190
- escrowContractAddress: process.env.ESCROW_ADDRESS!,
263
+ depositsContractAddress: process.env.DEPOSITS_ADDRESS!,
264
+ channelsContractAddress: process.env.CHANNELS_ADDRESS!,
191
265
  usdcContractAddress: process.env.USDC_ADDRESS!,
192
- autoFundEscrow: true,
266
+ autoFundDeposit: true,
193
267
  },
194
268
  },
195
269
  },
@@ -215,7 +289,7 @@ import type {
215
289
  } from '@antseed/node';
216
290
 
217
291
  // Identity & P2P
218
- import { loadOrCreateIdentity, type Identity } from '@antseed/node';
292
+ import { loadOrCreateIdentity, type Identity, type IdentityStore, FileIdentityStore } from '@antseed/node';
219
293
  import { NatTraversal, type NatMapping, type NatTraversalResult } from '@antseed/node';
220
294
 
221
295
  // Discovery
@@ -228,7 +302,7 @@ import type { PeerMetadata, ProviderAnnouncement } from '@antseed/node';
228
302
  import { MeteringStorage } from '@antseed/node';
229
303
  import { BalanceManager } from '@antseed/node';
230
304
  import { BuyerPaymentManager, calculateSettlement } from '@antseed/node/payments';
231
- import { BaseEscrowClient } from '@antseed/node';
305
+ import { BaseChannelsClient } from '@antseed/node';
232
306
 
233
307
  // Routing & Proxy
234
308
  import { ProxyMux } from '@antseed/node';
@@ -0,0 +1,41 @@
1
+ import { type SerializedHttpRequest, type SerializedHttpResponse, type SerializedHttpResponseChunk } from "./types/http.js";
2
+ import type { PeerInfo, PeerId } from "./types/peer.js";
3
+ import type { PeerConnection } from "./p2p/connection-manager.js";
4
+ import type { ProxyMux } from "./proxy/proxy-mux.js";
5
+ import type { PaymentMux } from "./p2p/payment-mux.js";
6
+ import type { BuyerPaymentNegotiator } from "./payments/buyer-payment-negotiator.js";
7
+ export interface RequestStreamResponseMetadata {
8
+ streaming: boolean;
9
+ }
10
+ export interface RequestStreamCallbacks {
11
+ onResponseStart?: (response: SerializedHttpResponse, metadata: RequestStreamResponseMetadata) => void;
12
+ onResponseChunk?: (chunk: SerializedHttpResponseChunk) => void;
13
+ }
14
+ export interface RequestExecutionOptions {
15
+ signal?: AbortSignal;
16
+ }
17
+ export interface BuyerRequestHandlerConfig {
18
+ requestTimeoutMs?: number;
19
+ maxStreamBufferBytes?: number;
20
+ maxStreamDurationMs?: number;
21
+ }
22
+ export interface BuyerRequestHandlerDeps {
23
+ negotiator: BuyerPaymentNegotiator | null;
24
+ getConnection: (peer: PeerInfo) => Promise<PeerConnection>;
25
+ getMux: (peerId: PeerId, conn: PeerConnection) => ProxyMux;
26
+ registerPaymentMux: (peerId: PeerId, mux: PaymentMux) => void;
27
+ }
28
+ /**
29
+ * Handles buyer-side outbound request execution: connection setup, streaming,
30
+ * timeouts, abort signals, 402 payment negotiation, and cost tracking.
31
+ *
32
+ * Extracted from AntseedNode._sendRequestInternal to separate buyer request
33
+ * orchestration from core node lifecycle.
34
+ */
35
+ export declare class BuyerRequestHandler {
36
+ private readonly _config;
37
+ private readonly _deps;
38
+ constructor(config: BuyerRequestHandlerConfig, deps: BuyerRequestHandlerDeps);
39
+ sendRequest(peer: PeerInfo, req: SerializedHttpRequest, callbacks?: RequestStreamCallbacks, options?: RequestExecutionOptions): Promise<SerializedHttpResponse>;
40
+ }
41
+ //# sourceMappingURL=buyer-request-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer-request-handler.d.ts","sourceRoot":"","sources":["../src/buyer-request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAGrF,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,6BAA6B,KACpC,IAAI,CAAC;IACV,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC1C,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,QAAQ,CAAC;IAC3D,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/D;AAED;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;gBAEpC,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,uBAAuB;IAKtE,WAAW,CACf,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,qBAAqB,EAC1B,SAAS,CAAC,EAAE,sBAAsB,EAClC,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,CAAC;CAqOnC"}
@@ -0,0 +1,254 @@
1
+ import { ANTSEED_STREAMING_RESPONSE_HEADER, ANTSEED_SPENDING_AUTH_HEADER, } from "./types/http.js";
2
+ import { ConnectionState } from "./types/connection.js";
3
+ import { debugLog, debugWarn } from "./utils/debug.js";
4
+ /**
5
+ * Handles buyer-side outbound request execution: connection setup, streaming,
6
+ * timeouts, abort signals, 402 payment negotiation, and cost tracking.
7
+ *
8
+ * Extracted from AntseedNode._sendRequestInternal to separate buyer request
9
+ * orchestration from core node lifecycle.
10
+ */
11
+ export class BuyerRequestHandler {
12
+ _config;
13
+ _deps;
14
+ constructor(config, deps) {
15
+ this._config = config;
16
+ this._deps = deps;
17
+ }
18
+ async sendRequest(peer, req, callbacks, options) {
19
+ if (!req.requestId || typeof req.requestId !== "string") {
20
+ throw new Error("requestId must be a non-empty string");
21
+ }
22
+ const opName = callbacks ? "sendRequestStream" : "sendRequest";
23
+ debugLog(`[BuyerRequest] ${opName} ${req.method} ${req.path} → peer ${peer.peerId.slice(0, 12)}... (reqId=${req.requestId.slice(0, 8)})`);
24
+ const conn = await this._deps.getConnection(peer);
25
+ debugLog(`[BuyerRequest] Connection to ${peer.peerId.slice(0, 12)}... state=${conn.state}`);
26
+ const mux = this._deps.getMux(peer.peerId, conn);
27
+ const negotiator = this._deps.negotiator;
28
+ if (negotiator) {
29
+ this._deps.registerPaymentMux(peer.peerId, negotiator.getOrCreatePaymentMux(peer.peerId, conn));
30
+ }
31
+ // Extract and strip x-antseed-spending-auth header if present (external auth compatibility)
32
+ const externalSpendingAuth = req.headers[ANTSEED_SPENDING_AUTH_HEADER] ?? null;
33
+ if (externalSpendingAuth) {
34
+ const { [ANTSEED_SPENDING_AUTH_HEADER]: _, ...cleanHeaders } = req.headers;
35
+ req = { ...req, headers: cleanHeaders };
36
+ }
37
+ if (externalSpendingAuth && negotiator) {
38
+ debugLog(`[BuyerRequest] Applying external spending auth for ${peer.peerId.slice(0, 12)}...`);
39
+ await negotiator.applyExternalSpendingAuth(peer, conn, externalSpendingAuth);
40
+ }
41
+ if (negotiator && !externalSpendingAuth) {
42
+ await negotiator.preparePreRequestAuth(peer, conn);
43
+ }
44
+ let startTime = Date.now();
45
+ const executeRequest = () => new Promise((resolve, reject) => {
46
+ const timeoutMs = this._config.requestTimeoutMs ?? 30_000;
47
+ const maxStreamBufferBytes = Math.max(1, this._config.maxStreamBufferBytes ?? 16 * 1024 * 1024);
48
+ const maxStreamDurationMs = Math.max(1, this._config.maxStreamDurationMs ?? 5 * 60_000);
49
+ const streamInitialResponseTimeoutMs = callbacks ? Math.max(timeoutMs, 90_000) : timeoutMs;
50
+ const streamIdleTimeoutMs = Math.max(timeoutMs, 60_000);
51
+ let settled = false;
52
+ let streamStarted = false;
53
+ let streamStartedAtMs = 0;
54
+ let streamBufferedBytes = 0;
55
+ let streamStartResponse = null;
56
+ const streamChunks = [];
57
+ let activeTimeout = null;
58
+ let activeTimeoutMs = streamInitialResponseTimeoutMs;
59
+ const abortSignal = options?.signal;
60
+ let abortListenerAttached = false;
61
+ let connectionStateListenerAttached = false;
62
+ const hasConnectionStateEvents = typeof conn.on === "function"
63
+ && typeof conn.off === "function";
64
+ const cleanupAbortListener = () => {
65
+ if (abortSignal && abortListenerAttached) {
66
+ abortSignal.removeEventListener("abort", onAbort);
67
+ abortListenerAttached = false;
68
+ }
69
+ };
70
+ const cleanupConnectionListener = () => {
71
+ if (!connectionStateListenerAttached)
72
+ return;
73
+ conn.off("stateChange", onConnectionStateChange);
74
+ connectionStateListenerAttached = false;
75
+ };
76
+ const onConnectionStateChange = (state) => {
77
+ if (settled)
78
+ return;
79
+ if (state !== ConnectionState.Closed && state !== ConnectionState.Failed) {
80
+ return;
81
+ }
82
+ settled = true;
83
+ if (activeTimeout)
84
+ clearTimeout(activeTimeout);
85
+ cleanupAbortListener();
86
+ cleanupConnectionListener();
87
+ mux.cancelProxyRequest(req.requestId);
88
+ reject(new Error(`Connection to ${peer.peerId} ${state.toLowerCase()} during request ${req.requestId}`));
89
+ };
90
+ const onAbort = () => {
91
+ if (settled)
92
+ return;
93
+ settled = true;
94
+ if (activeTimeout)
95
+ clearTimeout(activeTimeout);
96
+ cleanupAbortListener();
97
+ cleanupConnectionListener();
98
+ debugWarn(`[BuyerRequest] Request ${req.requestId.slice(0, 8)} aborted by caller`);
99
+ mux.cancelProxyRequest(req.requestId);
100
+ reject(new Error(`Request ${req.requestId} aborted`));
101
+ };
102
+ if (abortSignal) {
103
+ if (abortSignal.aborted) {
104
+ onAbort();
105
+ return;
106
+ }
107
+ abortSignal.addEventListener("abort", onAbort, { once: true });
108
+ abortListenerAttached = true;
109
+ }
110
+ if (hasConnectionStateEvents) {
111
+ conn.on("stateChange", onConnectionStateChange);
112
+ connectionStateListenerAttached = true;
113
+ }
114
+ const resetTimeout = (ms) => {
115
+ if (activeTimeout)
116
+ clearTimeout(activeTimeout);
117
+ activeTimeoutMs = ms;
118
+ activeTimeout = setTimeout(() => {
119
+ if (settled)
120
+ return;
121
+ settled = true;
122
+ cleanupAbortListener();
123
+ cleanupConnectionListener();
124
+ debugWarn(`[BuyerRequest] Request ${req.requestId.slice(0, 8)} timed out after ${Date.now() - startTime}ms `
125
+ + `(timeout=${activeTimeoutMs}ms, stream=${callbacks ? "true" : "false"}, streamStarted=${streamStarted ? "true" : "false"}, buffered=${streamBufferedBytes}b)`);
126
+ mux.cancelProxyRequest(req.requestId);
127
+ reject(new Error(`Request ${req.requestId} timed out`));
128
+ }, ms);
129
+ };
130
+ resetTimeout(streamInitialResponseTimeoutMs);
131
+ const finish = (response) => {
132
+ if (settled)
133
+ return;
134
+ settled = true;
135
+ if (activeTimeout)
136
+ clearTimeout(activeTimeout);
137
+ cleanupAbortListener();
138
+ cleanupConnectionListener();
139
+ const cleaned = stripStreamingHeader(response);
140
+ debugLog(`[BuyerRequest] Response for ${req.requestId.slice(0, 8)}: status=${cleaned.statusCode} (${Date.now() - startTime}ms, ${cleaned.body.length}b)`);
141
+ resolve(cleaned);
142
+ };
143
+ const fail = (error) => {
144
+ if (settled)
145
+ return;
146
+ settled = true;
147
+ if (activeTimeout)
148
+ clearTimeout(activeTimeout);
149
+ cleanupAbortListener();
150
+ cleanupConnectionListener();
151
+ reject(error);
152
+ };
153
+ mux.sendProxyRequest(req, (response, metadata) => {
154
+ if (settled)
155
+ return;
156
+ if (metadata.streamingStart) {
157
+ streamStarted = true;
158
+ streamStartedAtMs = Date.now();
159
+ streamBufferedBytes = 0;
160
+ streamStartResponse = stripStreamingHeader(response);
161
+ debugLog(`[BuyerRequest] Stream started for ${req.requestId.slice(0, 8)}; idle-timeout=${streamIdleTimeoutMs}ms`);
162
+ resetTimeout(streamIdleTimeoutMs);
163
+ callbacks?.onResponseStart?.(streamStartResponse, { streaming: true });
164
+ return;
165
+ }
166
+ callbacks?.onResponseStart?.(stripStreamingHeader(response), { streaming: false });
167
+ finish(response);
168
+ }, (chunk) => {
169
+ if (settled)
170
+ return;
171
+ if (!streamStarted)
172
+ return;
173
+ resetTimeout(streamIdleTimeoutMs);
174
+ if (Date.now() - streamStartedAtMs > maxStreamDurationMs) {
175
+ mux.cancelProxyRequest(req.requestId);
176
+ fail(new Error(`Stream ${req.requestId} exceeded max duration (${maxStreamDurationMs}ms)`));
177
+ return;
178
+ }
179
+ callbacks?.onResponseChunk?.(chunk);
180
+ if (chunk.data.length > 0) {
181
+ if (callbacks?.onResponseChunk) {
182
+ streamBufferedBytes += chunk.data.length;
183
+ streamChunks.push(chunk.data);
184
+ }
185
+ else {
186
+ const nextBufferedBytes = streamBufferedBytes + chunk.data.length;
187
+ if (nextBufferedBytes > maxStreamBufferBytes) {
188
+ mux.cancelProxyRequest(req.requestId);
189
+ fail(new Error(`Stream ${req.requestId} exceeded max buffered size (${maxStreamBufferBytes} bytes)`));
190
+ return;
191
+ }
192
+ streamBufferedBytes = nextBufferedBytes;
193
+ streamChunks.push(chunk.data);
194
+ }
195
+ }
196
+ if (!chunk.done)
197
+ return;
198
+ if (!streamStartResponse) {
199
+ fail(new Error(`Stream ${req.requestId} ended before response start`));
200
+ return;
201
+ }
202
+ finish({
203
+ ...streamStartResponse,
204
+ body: concatChunks(streamChunks),
205
+ });
206
+ });
207
+ });
208
+ const response = await executeRequest();
209
+ if (response.statusCode === 402 && negotiator && !externalSpendingAuth) {
210
+ const result = await negotiator.handle402(response, peer, conn, req);
211
+ if (result.action === 'return')
212
+ return result.response;
213
+ startTime = Date.now();
214
+ return executeRequest();
215
+ }
216
+ if (negotiator) {
217
+ negotiator.estimateCostFromResponse(peer, response);
218
+ negotiator.parseCostHeaders(peer.peerId, response);
219
+ negotiator.recordResponseContent(peer.peerId, req.body, response.body, Date.now() - startTime);
220
+ // Send SpendingAuth immediately after response so the seller always has
221
+ // a valid signature for close(), even if the buyer disconnects before the next request.
222
+ try {
223
+ await negotiator.sendPostResponseAuth(peer, conn);
224
+ }
225
+ catch (err) {
226
+ debugWarn(`[BuyerRequest] sendPostResponseAuth failed, response still returned: ${err instanceof Error ? err.message : err}`);
227
+ }
228
+ }
229
+ return response;
230
+ }
231
+ }
232
+ function stripStreamingHeader(response) {
233
+ if (response.headers[ANTSEED_STREAMING_RESPONSE_HEADER] !== "1") {
234
+ return response;
235
+ }
236
+ const headers = { ...response.headers };
237
+ delete headers[ANTSEED_STREAMING_RESPONSE_HEADER];
238
+ return { ...response, headers };
239
+ }
240
+ function concatChunks(chunks) {
241
+ if (chunks.length === 0)
242
+ return new Uint8Array(0);
243
+ if (chunks.length === 1)
244
+ return chunks[0];
245
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
246
+ const output = new Uint8Array(totalLength);
247
+ let offset = 0;
248
+ for (const chunk of chunks) {
249
+ output.set(chunk, offset);
250
+ offset += chunk.length;
251
+ }
252
+ return output;
253
+ }
254
+ //# sourceMappingURL=buyer-request-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buyer-request-handler.js","sourceRoot":"","sources":["../src/buyer-request-handler.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import type { DHTNode } from "./dht-node.js";
3
3
  import type { PeerOffering } from "../types/capability.js";
4
4
  import type { PeerMetadata } from "./peer-metadata.js";
5
5
  import type { ServiceApiProtocol } from "../types/service-api.js";
6
- import type { BaseEscrowClient } from "../payments/evm/escrow-client.js";
6
+ import type { StakingClient } from "../payments/evm/staking-client.js";
7
+ import type { ChannelsClient } from "../payments/evm/channels-client.js";
7
8
  export interface AnnouncerConfig {
8
9
  identity: Identity;
9
10
  dht: DHTNode;
@@ -30,7 +31,9 @@ export interface AnnouncerConfig {
30
31
  offerings?: PeerOffering[];
31
32
  stakeAmountUSDC?: number;
32
33
  trustScore?: number;
33
- escrowClient?: BaseEscrowClient;
34
+ paymentsEnabled?: boolean;
35
+ channelsClient?: ChannelsClient;
36
+ stakingClient?: StakingClient;
34
37
  reannounceIntervalMs: number;
35
38
  signalingPort: number;
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"announcer.d.ts","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CACV,MAAM,EACN;QACE,QAAQ,EAAE;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxF,CACF,CAAC;IACF,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAA6B;gBAExC,MAAM,EAAE,eAAe;IAI7B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,qBAAqB,IAAI,IAAI;IAe7B,oBAAoB,IAAI,IAAI;IAO5B,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAI3D,iBAAiB,IAAI,YAAY,GAAG,IAAI;YAI1B,oBAAoB;YA2EpB,eAAe;YA4Cf,iBAAiB;IAS/B,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,6BAA6B;CA8BtC"}
1
+ {"version":3,"file":"announcer.d.ts","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CACV,MAAM,EACN;QACE,QAAQ,EAAE;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,kBAAkB,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxF,CACF,CAAC;IACF,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAA6B;gBAExC,MAAM,EAAE,eAAe;IAI7B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,qBAAqB,IAAI,IAAI;IAe7B,oBAAoB,IAAI,IAAI;IAO5B,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAI3D,iBAAiB,IAAI,YAAY,GAAG,IAAI;YAI1B,oBAAoB;YAwEpB,eAAe;YA4Cf,iBAAiB;IAS/B,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,6BAA6B;CA8BtC"}
@@ -5,7 +5,6 @@ import { isKnownServiceApiProtocol } from "../types/service-api.js";
5
5
  import { encodeMetadataForSigning } from "./metadata-codec.js";
6
6
  import { debugWarn } from "../utils/debug.js";
7
7
  import { bytesToHex } from "../utils/hex.js";
8
- import { identityToEvmAddress } from "../payments/evm/keypair.js";
9
8
  export class PeerAnnouncer {
10
9
  config;
11
10
  intervalHandle = null;
@@ -99,28 +98,26 @@ export class PeerAnnouncer {
99
98
  if (this.config.trustScore != null) {
100
99
  metadata.trustScore = this.config.trustScore;
101
100
  }
102
- if (this.config.escrowClient) {
103
- const evmAddress = identityToEvmAddress(this.config.identity);
104
- metadata.evmAddress = evmAddress;
105
- if (includeOnChainReputation) {
101
+ if (this.config.paymentsEnabled) {
102
+ if (includeOnChainReputation && this.config.channelsClient && this.config.stakingClient) {
106
103
  try {
107
- const reputation = await this.config.escrowClient.getReputation(evmAddress);
108
- metadata.onChainReputation = reputation.weightedAverage;
109
- metadata.onChainSessionCount = reputation.sessionCount;
110
- metadata.onChainDisputeCount = reputation.disputeCount;
104
+ const evmAddress = this.config.identity.wallet.address;
105
+ const agentId = await this.config.stakingClient.getAgentId(evmAddress);
106
+ const stats = await this.config.channelsClient.getAgentStats(agentId);
107
+ metadata.onChainChannelCount = stats.channelCount;
108
+ metadata.onChainGhostCount = stats.ghostCount;
111
109
  }
112
110
  catch {
113
- // Silently continue without reputation data
111
+ // Channels/staking contract lookup failed — skip on-chain stats for this cycle
114
112
  }
115
113
  }
116
114
  else if (this._latestMetadata) {
117
- metadata.onChainReputation = this._latestMetadata.onChainReputation;
118
- metadata.onChainSessionCount = this._latestMetadata.onChainSessionCount;
119
- metadata.onChainDisputeCount = this._latestMetadata.onChainDisputeCount;
115
+ metadata.onChainChannelCount = this._latestMetadata.onChainChannelCount;
116
+ metadata.onChainGhostCount = this._latestMetadata.onChainGhostCount;
120
117
  }
121
118
  }
122
119
  const dataToSign = encodeMetadataForSigning(metadata);
123
- const signature = await signData(this.config.identity.privateKey, dataToSign);
120
+ const signature = signData(this.config.identity.wallet, dataToSign);
124
121
  metadata.signature = bytesToHex(signature);
125
122
  return metadata;
126
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"announcer.js","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"announcer.js","sourceRoot":"","sources":["../../src/discovery/announcer.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,6 @@ export { validateMetadata, MAX_METADATA_SIZE, MAX_PROVIDERS, type ValidationErro
8
8
  export { METADATA_VERSION, WELL_KNOWN_SERVICE_CATEGORIES, type PeerMetadata, type ProviderAnnouncement } from './peer-metadata.js';
9
9
  export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH, type ParsedPublicAddress } from './public-address.js';
10
10
  export { type MetadataResolver, type PeerEndpoint } from './metadata-resolver.js';
11
- export { DefaultMetadataResolver } from './default-metadata-resolver.js';
12
11
  export { HttpMetadataResolver, type HttpMetadataResolverConfig } from './http-metadata-resolver.js';
13
12
  export { DHTHealthMonitor, DEFAULT_HEALTH_THRESHOLDS, type DHTHealthSnapshot, type HealthThresholds } from './dht-health.js';
14
- export { verifyReputation, type ReputationVerification } from './reputation-verifier.js';
15
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjL,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1I,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE3G,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACjL,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1I,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnI,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -7,8 +7,6 @@ export { encodeMetadata, encodeMetadataForSigning, decodeMetadata } from './meta
7
7
  export { validateMetadata, MAX_METADATA_SIZE, MAX_PROVIDERS } from './metadata-validator.js';
8
8
  export { METADATA_VERSION, WELL_KNOWN_SERVICE_CATEGORIES } from './peer-metadata.js';
9
9
  export { parsePublicAddress, MAX_PUBLIC_ADDRESS_LENGTH } from './public-address.js';
10
- export { DefaultMetadataResolver } from './default-metadata-resolver.js';
11
10
  export { HttpMetadataResolver } from './http-metadata-resolver.js';
12
11
  export { DHTHealthMonitor, DEFAULT_HEALTH_THRESHOLDS } from './dht-health.js';
13
- export { verifyReputation } from './reputation-verifier.js';
14
12
  //# sourceMappingURL=index.js.map