@toon-protocol/connector 2.6.0 → 3.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 (473) hide show
  1. package/package.json +1 -1
  2. package/dist/btp/btp-claim-types.d.ts +0 -52
  3. package/dist/btp/btp-claim-types.d.ts.map +0 -1
  4. package/dist/btp/btp-claim-types.js +0 -209
  5. package/dist/btp/btp-claim-types.js.map +0 -1
  6. package/dist/btp/btp-client-manager.d.ts +0 -30
  7. package/dist/btp/btp-client-manager.d.ts.map +0 -1
  8. package/dist/btp/btp-client-manager.js +0 -153
  9. package/dist/btp/btp-client-manager.js.map +0 -1
  10. package/dist/btp/btp-client.d.ts +0 -58
  11. package/dist/btp/btp-client.d.ts.map +0 -1
  12. package/dist/btp/btp-client.js +0 -485
  13. package/dist/btp/btp-client.js.map +0 -1
  14. package/dist/btp/btp-message-parser.d.ts +0 -4
  15. package/dist/btp/btp-message-parser.d.ts.map +0 -1
  16. package/dist/btp/btp-message-parser.js +0 -211
  17. package/dist/btp/btp-message-parser.js.map +0 -1
  18. package/dist/btp/btp-server.d.ts +0 -33
  19. package/dist/btp/btp-server.d.ts.map +0 -1
  20. package/dist/btp/btp-server.js +0 -485
  21. package/dist/btp/btp-server.js.map +0 -1
  22. package/dist/btp/btp-types.d.ts +0 -43
  23. package/dist/btp/btp-types.d.ts.map +0 -1
  24. package/dist/btp/btp-types.js +0 -44
  25. package/dist/btp/btp-types.js.map +0 -1
  26. package/dist/btp/inbound-claim-validator.d.ts +0 -20
  27. package/dist/btp/inbound-claim-validator.d.ts.map +0 -1
  28. package/dist/btp/inbound-claim-validator.js +0 -150
  29. package/dist/btp/inbound-claim-validator.js.map +0 -1
  30. package/dist/cli/index.d.ts +0 -3
  31. package/dist/cli/index.d.ts.map +0 -1
  32. package/dist/cli/index.js +0 -175
  33. package/dist/cli/index.js.map +0 -1
  34. package/dist/cli/onboarding-wizard.d.ts +0 -7
  35. package/dist/cli/onboarding-wizard.d.ts.map +0 -1
  36. package/dist/cli/onboarding-wizard.js +0 -257
  37. package/dist/cli/onboarding-wizard.js.map +0 -1
  38. package/dist/cli/types.d.ts +0 -38
  39. package/dist/cli/types.d.ts.map +0 -1
  40. package/dist/cli/types.js +0 -3
  41. package/dist/cli/types.js.map +0 -1
  42. package/dist/config/config-loader.d.ts +0 -24
  43. package/dist/config/config-loader.d.ts.map +0 -1
  44. package/dist/config/config-loader.js +0 -436
  45. package/dist/config/config-loader.js.map +0 -1
  46. package/dist/config/environment-validator.d.ts +0 -4
  47. package/dist/config/environment-validator.d.ts.map +0 -1
  48. package/dist/config/environment-validator.js +0 -239
  49. package/dist/config/environment-validator.js.map +0 -1
  50. package/dist/config/index.d.ts +0 -3
  51. package/dist/config/index.d.ts.map +0 -1
  52. package/dist/config/index.js +0 -7
  53. package/dist/config/index.js.map +0 -1
  54. package/dist/config/key-manager-config.d.ts +0 -7
  55. package/dist/config/key-manager-config.d.ts.map +0 -1
  56. package/dist/config/key-manager-config.js +0 -209
  57. package/dist/config/key-manager-config.js.map +0 -1
  58. package/dist/config/topology-validator.d.ts +0 -14
  59. package/dist/config/topology-validator.d.ts.map +0 -1
  60. package/dist/config/topology-validator.js +0 -142
  61. package/dist/config/topology-validator.js.map +0 -1
  62. package/dist/config/types.d.ts +0 -223
  63. package/dist/config/types.d.ts.map +0 -1
  64. package/dist/config/types.js +0 -52
  65. package/dist/config/types.js.map +0 -1
  66. package/dist/core/connector-node.d.ts +0 -91
  67. package/dist/core/connector-node.d.ts.map +0 -1
  68. package/dist/core/connector-node.js +0 -1322
  69. package/dist/core/connector-node.js.map +0 -1
  70. package/dist/core/local-delivery-client.d.ts +0 -16
  71. package/dist/core/local-delivery-client.d.ts.map +0 -1
  72. package/dist/core/local-delivery-client.js +0 -160
  73. package/dist/core/local-delivery-client.js.map +0 -1
  74. package/dist/core/packet-handler.d.ts +0 -57
  75. package/dist/core/packet-handler.d.ts.map +0 -1
  76. package/dist/core/packet-handler.js +0 -655
  77. package/dist/core/packet-handler.js.map +0 -1
  78. package/dist/core/payment-handler.d.ts +0 -25
  79. package/dist/core/payment-handler.d.ts.map +0 -1
  80. package/dist/core/payment-handler.js +0 -104
  81. package/dist/core/payment-handler.js.map +0 -1
  82. package/dist/discovery/index.d.ts +0 -3
  83. package/dist/discovery/index.d.ts.map +0 -1
  84. package/dist/discovery/index.js +0 -6
  85. package/dist/discovery/index.js.map +0 -1
  86. package/dist/discovery/peer-discovery-service.d.ts +0 -29
  87. package/dist/discovery/peer-discovery-service.d.ts.map +0 -1
  88. package/dist/discovery/peer-discovery-service.js +0 -230
  89. package/dist/discovery/peer-discovery-service.js.map +0 -1
  90. package/dist/discovery/types.d.ts +0 -38
  91. package/dist/discovery/types.d.ts.map +0 -1
  92. package/dist/discovery/types.js +0 -3
  93. package/dist/discovery/types.js.map +0 -1
  94. package/dist/encoding/oer-parser.d.ts +0 -39
  95. package/dist/encoding/oer-parser.d.ts.map +0 -1
  96. package/dist/encoding/oer-parser.js +0 -154
  97. package/dist/encoding/oer-parser.js.map +0 -1
  98. package/dist/facilitator/index.d.ts +0 -2
  99. package/dist/facilitator/index.d.ts.map +0 -1
  100. package/dist/facilitator/index.js +0 -7
  101. package/dist/facilitator/index.js.map +0 -1
  102. package/dist/facilitator/spsp-client.d.ts +0 -18
  103. package/dist/facilitator/spsp-client.d.ts.map +0 -1
  104. package/dist/facilitator/spsp-client.js +0 -95
  105. package/dist/facilitator/spsp-client.js.map +0 -1
  106. package/dist/http/admin-api-inventory.d.ts +0 -29
  107. package/dist/http/admin-api-inventory.d.ts.map +0 -1
  108. package/dist/http/admin-api-inventory.js +0 -462
  109. package/dist/http/admin-api-inventory.js.map +0 -1
  110. package/dist/http/admin-api.d.ts +0 -143
  111. package/dist/http/admin-api.d.ts.map +0 -1
  112. package/dist/http/admin-api.js +0 -1117
  113. package/dist/http/admin-api.js.map +0 -1
  114. package/dist/http/admin-server.d.ts +0 -43
  115. package/dist/http/admin-server.d.ts.map +0 -1
  116. package/dist/http/admin-server.js +0 -157
  117. package/dist/http/admin-server.js.map +0 -1
  118. package/dist/http/health-server.d.ts +0 -22
  119. package/dist/http/health-server.d.ts.map +0 -1
  120. package/dist/http/health-server.js +0 -192
  121. package/dist/http/health-server.js.map +0 -1
  122. package/dist/http/ilp-send-handler.d.ts +0 -15
  123. package/dist/http/ilp-send-handler.d.ts.map +0 -1
  124. package/dist/http/ilp-send-handler.js +0 -149
  125. package/dist/http/ilp-send-handler.js.map +0 -1
  126. package/dist/http/types.d.ts +0 -43
  127. package/dist/http/types.d.ts.map +0 -1
  128. package/dist/http/types.js +0 -3
  129. package/dist/http/types.js.map +0 -1
  130. package/dist/index.d.ts +0 -2
  131. package/dist/index.d.ts.map +0 -1
  132. package/dist/index.js +0 -5
  133. package/dist/index.js.map +0 -1
  134. package/dist/lib.d.ts +0 -22
  135. package/dist/lib.d.ts.map +0 -1
  136. package/dist/lib.js +0 -39
  137. package/dist/lib.js.map +0 -1
  138. package/dist/main.d.ts +0 -4
  139. package/dist/main.d.ts.map +0 -1
  140. package/dist/main.js +0 -79
  141. package/dist/main.js.map +0 -1
  142. package/dist/observability/metrics-registry.d.ts +0 -39
  143. package/dist/observability/metrics-registry.d.ts.map +0 -1
  144. package/dist/observability/metrics-registry.js +0 -151
  145. package/dist/observability/metrics-registry.js.map +0 -1
  146. package/dist/routing/packet-processor.d.ts +0 -36
  147. package/dist/routing/packet-processor.d.ts.map +0 -1
  148. package/dist/routing/packet-processor.js +0 -112
  149. package/dist/routing/packet-processor.js.map +0 -1
  150. package/dist/routing/packet-worker.d.ts +0 -10
  151. package/dist/routing/packet-worker.d.ts.map +0 -1
  152. package/dist/routing/packet-worker.js +0 -34
  153. package/dist/routing/packet-worker.js.map +0 -1
  154. package/dist/routing/routing-table.d.ts +0 -15
  155. package/dist/routing/routing-table.d.ts.map +0 -1
  156. package/dist/routing/routing-table.js +0 -63
  157. package/dist/routing/routing-table.js.map +0 -1
  158. package/dist/routing/worker-pool.d.ts +0 -43
  159. package/dist/routing/worker-pool.d.ts.map +0 -1
  160. package/dist/routing/worker-pool.js +0 -228
  161. package/dist/routing/worker-pool.js.map +0 -1
  162. package/dist/security/alert-notifier.d.ts +0 -34
  163. package/dist/security/alert-notifier.d.ts.map +0 -1
  164. package/dist/security/alert-notifier.js +0 -136
  165. package/dist/security/alert-notifier.js.map +0 -1
  166. package/dist/security/audit-logger.d.ts +0 -34
  167. package/dist/security/audit-logger.d.ts.map +0 -1
  168. package/dist/security/audit-logger.js +0 -132
  169. package/dist/security/audit-logger.js.map +0 -1
  170. package/dist/security/backends/environment-backend.d.ts +0 -15
  171. package/dist/security/backends/environment-backend.d.ts.map +0 -1
  172. package/dist/security/backends/environment-backend.js +0 -56
  173. package/dist/security/backends/environment-backend.js.map +0 -1
  174. package/dist/security/fraud-detector.d.ts +0 -79
  175. package/dist/security/fraud-detector.d.ts.map +0 -1
  176. package/dist/security/fraud-detector.js +0 -147
  177. package/dist/security/fraud-detector.js.map +0 -1
  178. package/dist/security/key-manager-signer.d.ts +0 -15
  179. package/dist/security/key-manager-signer.d.ts.map +0 -1
  180. package/dist/security/key-manager-signer.js +0 -91
  181. package/dist/security/key-manager-signer.js.map +0 -1
  182. package/dist/security/key-manager.d.ts +0 -69
  183. package/dist/security/key-manager.d.ts.map +0 -1
  184. package/dist/security/key-manager.js +0 -79
  185. package/dist/security/key-manager.js.map +0 -1
  186. package/dist/security/key-rotation-manager.d.ts +0 -27
  187. package/dist/security/key-rotation-manager.d.ts.map +0 -1
  188. package/dist/security/key-rotation-manager.js +0 -142
  189. package/dist/security/key-rotation-manager.js.map +0 -1
  190. package/dist/security/rate-limit-config.d.ts +0 -7
  191. package/dist/security/rate-limit-config.d.ts.map +0 -1
  192. package/dist/security/rate-limit-config.js +0 -57
  193. package/dist/security/rate-limit-config.js.map +0 -1
  194. package/dist/security/rate-limiter.d.ts +0 -46
  195. package/dist/security/rate-limiter.d.ts.map +0 -1
  196. package/dist/security/rate-limiter.js +0 -170
  197. package/dist/security/rate-limiter.js.map +0 -1
  198. package/dist/security/reputation-tracker.d.ts +0 -30
  199. package/dist/security/reputation-tracker.d.ts.map +0 -1
  200. package/dist/security/reputation-tracker.js +0 -111
  201. package/dist/security/reputation-tracker.js.map +0 -1
  202. package/dist/security/rules/balance-manipulation-rule.d.ts +0 -23
  203. package/dist/security/rules/balance-manipulation-rule.d.ts.map +0 -1
  204. package/dist/security/rules/balance-manipulation-rule.js +0 -70
  205. package/dist/security/rules/balance-manipulation-rule.js.map +0 -1
  206. package/dist/security/rules/double-spend-detection-rule.d.ts +0 -23
  207. package/dist/security/rules/double-spend-detection-rule.d.ts.map +0 -1
  208. package/dist/security/rules/double-spend-detection-rule.js +0 -61
  209. package/dist/security/rules/double-spend-detection-rule.js.map +0 -1
  210. package/dist/security/rules/rapid-channel-closure-rule.d.ts +0 -16
  211. package/dist/security/rules/rapid-channel-closure-rule.d.ts.map +0 -1
  212. package/dist/security/rules/rapid-channel-closure-rule.js +0 -57
  213. package/dist/security/rules/rapid-channel-closure-rule.js.map +0 -1
  214. package/dist/security/rules/sudden-traffic-spike-rule.d.ts +0 -18
  215. package/dist/security/rules/sudden-traffic-spike-rule.d.ts.map +0 -1
  216. package/dist/security/rules/sudden-traffic-spike-rule.js +0 -92
  217. package/dist/security/rules/sudden-traffic-spike-rule.js.map +0 -1
  218. package/dist/security/rules/unusual-settlement-amount-rule.d.ts +0 -12
  219. package/dist/security/rules/unusual-settlement-amount-rule.d.ts.map +0 -1
  220. package/dist/security/rules/unusual-settlement-amount-rule.js +0 -33
  221. package/dist/security/rules/unusual-settlement-amount-rule.js.map +0 -1
  222. package/dist/security/token-bucket.d.ts +0 -16
  223. package/dist/security/token-bucket.d.ts.map +0 -1
  224. package/dist/security/token-bucket.js +0 -49
  225. package/dist/security/token-bucket.js.map +0 -1
  226. package/dist/security/violation-counter.d.ts +0 -11
  227. package/dist/security/violation-counter.d.ts.map +0 -1
  228. package/dist/security/violation-counter.js +0 -61
  229. package/dist/security/violation-counter.js.map +0 -1
  230. package/dist/settlement/account-id-generator.d.ts +0 -4
  231. package/dist/settlement/account-id-generator.d.ts.map +0 -1
  232. package/dist/settlement/account-id-generator.js +0 -38
  233. package/dist/settlement/account-id-generator.js.map +0 -1
  234. package/dist/settlement/account-manager.d.ts +0 -47
  235. package/dist/settlement/account-manager.d.ts.map +0 -1
  236. package/dist/settlement/account-manager.js +0 -447
  237. package/dist/settlement/account-manager.js.map +0 -1
  238. package/dist/settlement/account-metadata.d.ts +0 -11
  239. package/dist/settlement/account-metadata.d.ts.map +0 -1
  240. package/dist/settlement/account-metadata.js +0 -40
  241. package/dist/settlement/account-metadata.js.map +0 -1
  242. package/dist/settlement/channel-manager.d.ts +0 -67
  243. package/dist/settlement/channel-manager.d.ts.map +0 -1
  244. package/dist/settlement/channel-manager.js +0 -226
  245. package/dist/settlement/channel-manager.js.map +0 -1
  246. package/dist/settlement/claim-receiver-db-schema.d.ts +0 -4
  247. package/dist/settlement/claim-receiver-db-schema.d.ts.map +0 -1
  248. package/dist/settlement/claim-receiver-db-schema.js +0 -25
  249. package/dist/settlement/claim-receiver-db-schema.js.map +0 -1
  250. package/dist/settlement/claim-receiver.d.ts +0 -52
  251. package/dist/settlement/claim-receiver.d.ts.map +0 -1
  252. package/dist/settlement/claim-receiver.js +0 -585
  253. package/dist/settlement/claim-receiver.js.map +0 -1
  254. package/dist/settlement/claim-redemption-service.d.ts +0 -39
  255. package/dist/settlement/claim-redemption-service.d.ts.map +0 -1
  256. package/dist/settlement/claim-redemption-service.js +0 -189
  257. package/dist/settlement/claim-redemption-service.js.map +0 -1
  258. package/dist/settlement/claim-sender-db-schema.d.ts +0 -3
  259. package/dist/settlement/claim-sender-db-schema.d.ts.map +0 -1
  260. package/dist/settlement/claim-sender-db-schema.js +0 -18
  261. package/dist/settlement/claim-sender-db-schema.js.map +0 -1
  262. package/dist/settlement/claim-sender.d.ts +0 -24
  263. package/dist/settlement/claim-sender.d.ts.map +0 -1
  264. package/dist/settlement/claim-sender.js +0 -146
  265. package/dist/settlement/claim-sender.js.map +0 -1
  266. package/dist/settlement/eip712-helper.d.ts +0 -13
  267. package/dist/settlement/eip712-helper.d.ts.map +0 -1
  268. package/dist/settlement/eip712-helper.js +0 -24
  269. package/dist/settlement/eip712-helper.js.map +0 -1
  270. package/dist/settlement/in-memory-ledger-client.d.ts +0 -40
  271. package/dist/settlement/in-memory-ledger-client.d.ts.map +0 -1
  272. package/dist/settlement/in-memory-ledger-client.js +0 -177
  273. package/dist/settlement/in-memory-ledger-client.js.map +0 -1
  274. package/dist/settlement/ledger-client.d.ts +0 -22
  275. package/dist/settlement/ledger-client.d.ts.map +0 -1
  276. package/dist/settlement/ledger-client.js +0 -3
  277. package/dist/settlement/ledger-client.js.map +0 -1
  278. package/dist/settlement/metrics-collector.d.ts +0 -29
  279. package/dist/settlement/metrics-collector.d.ts.map +0 -1
  280. package/dist/settlement/metrics-collector.js +0 -81
  281. package/dist/settlement/metrics-collector.js.map +0 -1
  282. package/dist/settlement/mina-payment-channel-sdk.d.ts +0 -73
  283. package/dist/settlement/mina-payment-channel-sdk.d.ts.map +0 -1
  284. package/dist/settlement/mina-payment-channel-sdk.js +0 -538
  285. package/dist/settlement/mina-payment-channel-sdk.js.map +0 -1
  286. package/dist/settlement/payment-channel-sdk.d.ts +0 -59
  287. package/dist/settlement/payment-channel-sdk.d.ts.map +0 -1
  288. package/dist/settlement/payment-channel-sdk.js +0 -677
  289. package/dist/settlement/payment-channel-sdk.js.map +0 -1
  290. package/dist/settlement/per-packet-claim-service.d.ts +0 -39
  291. package/dist/settlement/per-packet-claim-service.d.ts.map +0 -1
  292. package/dist/settlement/per-packet-claim-service.js +0 -342
  293. package/dist/settlement/per-packet-claim-service.js.map +0 -1
  294. package/dist/settlement/privacy/index.d.ts +0 -3
  295. package/dist/settlement/privacy/index.d.ts.map +0 -1
  296. package/dist/settlement/privacy/index.js +0 -11
  297. package/dist/settlement/privacy/index.js.map +0 -1
  298. package/dist/settlement/privacy/nip59-claim-wrapper.d.ts +0 -60
  299. package/dist/settlement/privacy/nip59-claim-wrapper.d.ts.map +0 -1
  300. package/dist/settlement/privacy/nip59-claim-wrapper.js +0 -361
  301. package/dist/settlement/privacy/nip59-claim-wrapper.js.map +0 -1
  302. package/dist/settlement/provider/chain-provider-registry.d.ts +0 -20
  303. package/dist/settlement/provider/chain-provider-registry.d.ts.map +0 -1
  304. package/dist/settlement/provider/chain-provider-registry.js +0 -53
  305. package/dist/settlement/provider/chain-provider-registry.js.map +0 -1
  306. package/dist/settlement/provider/evm-payment-channel-provider.d.ts +0 -31
  307. package/dist/settlement/provider/evm-payment-channel-provider.d.ts.map +0 -1
  308. package/dist/settlement/provider/evm-payment-channel-provider.js +0 -207
  309. package/dist/settlement/provider/evm-payment-channel-provider.js.map +0 -1
  310. package/dist/settlement/provider/index.d.ts +0 -6
  311. package/dist/settlement/provider/index.d.ts.map +0 -1
  312. package/dist/settlement/provider/index.js +0 -16
  313. package/dist/settlement/provider/index.js.map +0 -1
  314. package/dist/settlement/provider/mina-payment-channel-provider.d.ts +0 -43
  315. package/dist/settlement/provider/mina-payment-channel-provider.d.ts.map +0 -1
  316. package/dist/settlement/provider/mina-payment-channel-provider.js +0 -330
  317. package/dist/settlement/provider/mina-payment-channel-provider.js.map +0 -1
  318. package/dist/settlement/provider/payment-channel-provider.d.ts +0 -88
  319. package/dist/settlement/provider/payment-channel-provider.d.ts.map +0 -1
  320. package/dist/settlement/provider/payment-channel-provider.js +0 -3
  321. package/dist/settlement/provider/payment-channel-provider.js.map +0 -1
  322. package/dist/settlement/provider/solana-payment-channel-provider.d.ts +0 -38
  323. package/dist/settlement/provider/solana-payment-channel-provider.d.ts.map +0 -1
  324. package/dist/settlement/provider/solana-payment-channel-provider.js +0 -262
  325. package/dist/settlement/provider/solana-payment-channel-provider.js.map +0 -1
  326. package/dist/settlement/settlement-api.d.ts +0 -37
  327. package/dist/settlement/settlement-api.d.ts.map +0 -1
  328. package/dist/settlement/settlement-api.js +0 -172
  329. package/dist/settlement/settlement-api.js.map +0 -1
  330. package/dist/settlement/settlement-coordinator.d.ts +0 -47
  331. package/dist/settlement/settlement-coordinator.d.ts.map +0 -1
  332. package/dist/settlement/settlement-coordinator.js +0 -166
  333. package/dist/settlement/settlement-coordinator.js.map +0 -1
  334. package/dist/settlement/settlement-executor.d.ts +0 -51
  335. package/dist/settlement/settlement-executor.d.ts.map +0 -1
  336. package/dist/settlement/settlement-executor.js +0 -265
  337. package/dist/settlement/settlement-executor.js.map +0 -1
  338. package/dist/settlement/settlement-monitor.d.ts +0 -30
  339. package/dist/settlement/settlement-monitor.d.ts.map +0 -1
  340. package/dist/settlement/settlement-monitor.js +0 -141
  341. package/dist/settlement/settlement-monitor.js.map +0 -1
  342. package/dist/settlement/solana-payment-channel-sdk.d.ts +0 -75
  343. package/dist/settlement/solana-payment-channel-sdk.d.ts.map +0 -1
  344. package/dist/settlement/solana-payment-channel-sdk.js +0 -600
  345. package/dist/settlement/solana-payment-channel-sdk.js.map +0 -1
  346. package/dist/settlement/tigerbeetle-batch-writer.d.ts +0 -58
  347. package/dist/settlement/tigerbeetle-batch-writer.d.ts.map +0 -1
  348. package/dist/settlement/tigerbeetle-batch-writer.js +0 -162
  349. package/dist/settlement/tigerbeetle-batch-writer.js.map +0 -1
  350. package/dist/settlement/tigerbeetle-client.d.ts +0 -40
  351. package/dist/settlement/tigerbeetle-client.d.ts.map +0 -1
  352. package/dist/settlement/tigerbeetle-client.js +0 -279
  353. package/dist/settlement/tigerbeetle-client.js.map +0 -1
  354. package/dist/settlement/tigerbeetle-errors.d.ts +0 -23
  355. package/dist/settlement/tigerbeetle-errors.d.ts.map +0 -1
  356. package/dist/settlement/tigerbeetle-errors.js +0 -58
  357. package/dist/settlement/tigerbeetle-errors.js.map +0 -1
  358. package/dist/settlement/types.d.ts +0 -64
  359. package/dist/settlement/types.d.ts.map +0 -1
  360. package/dist/settlement/types.js +0 -42
  361. package/dist/settlement/types.js.map +0 -1
  362. package/dist/settlement/unified-settlement-executor.d.ts +0 -34
  363. package/dist/settlement/unified-settlement-executor.d.ts.map +0 -1
  364. package/dist/settlement/unified-settlement-executor.js +0 -145
  365. package/dist/settlement/unified-settlement-executor.js.map +0 -1
  366. package/dist/test-utils/index.d.ts +0 -3
  367. package/dist/test-utils/index.d.ts.map +0 -1
  368. package/dist/test-utils/index.js +0 -15
  369. package/dist/test-utils/index.js.map +0 -1
  370. package/dist/test-utils/isolated-test-env.d.ts +0 -31
  371. package/dist/test-utils/isolated-test-env.d.ts.map +0 -1
  372. package/dist/test-utils/isolated-test-env.js +0 -127
  373. package/dist/test-utils/isolated-test-env.js.map +0 -1
  374. package/dist/test-utils/mock-factories-patch.d.ts +0 -2
  375. package/dist/test-utils/mock-factories-patch.d.ts.map +0 -1
  376. package/dist/test-utils/mock-factories-patch.js +0 -3
  377. package/dist/test-utils/mock-factories-patch.js.map +0 -1
  378. package/dist/test-utils/mock-factories.d.ts +0 -22
  379. package/dist/test-utils/mock-factories.d.ts.map +0 -1
  380. package/dist/test-utils/mock-factories.js +0 -56
  381. package/dist/test-utils/mock-factories.js.map +0 -1
  382. package/dist/transport/direct-transport-provider.d.ts +0 -12
  383. package/dist/transport/direct-transport-provider.d.ts.map +0 -1
  384. package/dist/transport/direct-transport-provider.js +0 -27
  385. package/dist/transport/direct-transport-provider.js.map +0 -1
  386. package/dist/transport/index.d.ts +0 -7
  387. package/dist/transport/index.d.ts.map +0 -1
  388. package/dist/transport/index.js +0 -16
  389. package/dist/transport/index.js.map +0 -1
  390. package/dist/transport/managed-anon-client.d.ts +0 -47
  391. package/dist/transport/managed-anon-client.d.ts.map +0 -1
  392. package/dist/transport/managed-anon-client.js +0 -265
  393. package/dist/transport/managed-anon-client.js.map +0 -1
  394. package/dist/transport/probe-tcp-port.d.ts +0 -3
  395. package/dist/transport/probe-tcp-port.d.ts.map +0 -1
  396. package/dist/transport/probe-tcp-port.js +0 -59
  397. package/dist/transport/probe-tcp-port.js.map +0 -1
  398. package/dist/transport/socks-transport-provider.d.ts +0 -29
  399. package/dist/transport/socks-transport-provider.d.ts.map +0 -1
  400. package/dist/transport/socks-transport-provider.js +0 -136
  401. package/dist/transport/socks-transport-provider.js.map +0 -1
  402. package/dist/transport/socks-url.d.ts +0 -6
  403. package/dist/transport/socks-url.d.ts.map +0 -1
  404. package/dist/transport/socks-url.js +0 -29
  405. package/dist/transport/socks-url.js.map +0 -1
  406. package/dist/transport/transport-provider.d.ts +0 -9
  407. package/dist/transport/transport-provider.d.ts.map +0 -1
  408. package/dist/transport/transport-provider.js +0 -3
  409. package/dist/transport/transport-provider.js.map +0 -1
  410. package/dist/utils/connection-pool.d.ts +0 -42
  411. package/dist/utils/connection-pool.d.ts.map +0 -1
  412. package/dist/utils/connection-pool.js +0 -209
  413. package/dist/utils/connection-pool.js.map +0 -1
  414. package/dist/utils/evm-rpc-connection-pool.d.ts +0 -8
  415. package/dist/utils/evm-rpc-connection-pool.d.ts.map +0 -1
  416. package/dist/utils/evm-rpc-connection-pool.js +0 -40
  417. package/dist/utils/evm-rpc-connection-pool.js.map +0 -1
  418. package/dist/utils/logger.d.ts +0 -6
  419. package/dist/utils/logger.d.ts.map +0 -1
  420. package/dist/utils/logger.js +0 -58
  421. package/dist/utils/logger.js.map +0 -1
  422. package/dist/utils/optional-require.d.ts +0 -2
  423. package/dist/utils/optional-require.d.ts.map +0 -1
  424. package/dist/utils/optional-require.js +0 -54
  425. package/dist/utils/optional-require.js.map +0 -1
  426. package/dist/utils/redact.d.ts +0 -3
  427. package/dist/utils/redact.d.ts.map +0 -1
  428. package/dist/utils/redact.js +0 -21
  429. package/dist/utils/redact.js.map +0 -1
  430. package/dist/wallet/audit-logger.d.ts +0 -22
  431. package/dist/wallet/audit-logger.d.ts.map +0 -1
  432. package/dist/wallet/audit-logger.js +0 -120
  433. package/dist/wallet/audit-logger.js.map +0 -1
  434. package/dist/wallet/fraud-detector-interface.d.ts +0 -14
  435. package/dist/wallet/fraud-detector-interface.d.ts.map +0 -1
  436. package/dist/wallet/fraud-detector-interface.js +0 -3
  437. package/dist/wallet/fraud-detector-interface.js.map +0 -1
  438. package/dist/wallet/key-manager.d.ts +0 -6
  439. package/dist/wallet/key-manager.d.ts.map +0 -1
  440. package/dist/wallet/key-manager.js +0 -3
  441. package/dist/wallet/key-manager.js.map +0 -1
  442. package/dist/wallet/placeholder-fraud-detector.d.ts +0 -10
  443. package/dist/wallet/placeholder-fraud-detector.d.ts.map +0 -1
  444. package/dist/wallet/placeholder-fraud-detector.js +0 -10
  445. package/dist/wallet/placeholder-fraud-detector.js.map +0 -1
  446. package/dist/wallet/rate-limiter.d.ts +0 -26
  447. package/dist/wallet/rate-limiter.d.ts.map +0 -1
  448. package/dist/wallet/rate-limiter.js +0 -114
  449. package/dist/wallet/rate-limiter.js.map +0 -1
  450. package/dist/wallet/suspicious-activity-detector.d.ts +0 -25
  451. package/dist/wallet/suspicious-activity-detector.d.ts.map +0 -1
  452. package/dist/wallet/suspicious-activity-detector.js +0 -97
  453. package/dist/wallet/suspicious-activity-detector.js.map +0 -1
  454. package/dist/wallet/treasury-wallet.d.ts +0 -20
  455. package/dist/wallet/treasury-wallet.d.ts.map +0 -1
  456. package/dist/wallet/treasury-wallet.js +0 -151
  457. package/dist/wallet/treasury-wallet.js.map +0 -1
  458. package/dist/wallet/wallet-authentication.d.ts +0 -31
  459. package/dist/wallet/wallet-authentication.d.ts.map +0 -1
  460. package/dist/wallet/wallet-authentication.js +0 -102
  461. package/dist/wallet/wallet-authentication.js.map +0 -1
  462. package/dist/wallet/wallet-db-schema.d.ts +0 -11
  463. package/dist/wallet/wallet-db-schema.d.ts.map +0 -1
  464. package/dist/wallet/wallet-db-schema.js +0 -79
  465. package/dist/wallet/wallet-db-schema.js.map +0 -1
  466. package/dist/wallet/wallet-security.d.ts +0 -58
  467. package/dist/wallet/wallet-security.d.ts.map +0 -1
  468. package/dist/wallet/wallet-security.js +0 -148
  469. package/dist/wallet/wallet-security.js.map +0 -1
  470. package/dist/wallet/wallet-seed-manager.d.ts +0 -65
  471. package/dist/wallet/wallet-seed-manager.d.ts.map +0 -1
  472. package/dist/wallet/wallet-seed-manager.js +0 -418
  473. package/dist/wallet/wallet-seed-manager.js.map +0 -1
@@ -1,585 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClaimReceiver = exports.ERRORS = void 0;
4
- const events_1 = require("events");
5
- const btp_types_1 = require("../btp/btp-types");
6
- const btp_claim_types_1 = require("../btp/btp-claim-types");
7
- const nip59_claim_wrapper_1 = require("./privacy/nip59-claim-wrapper");
8
- exports.ERRORS = {
9
- MISSING_SELF_DESCRIBING_FIELDS: 'Missing self-describing fields for unknown channel (chainId, tokenNetworkAddress, tokenAddress required)',
10
- CHANNEL_NOT_FOUND: 'Channel does not exist on-chain',
11
- CHANNEL_NOT_OPENED: 'Channel not in opened state',
12
- SIGNER_NOT_PARTICIPANT: 'Signer is not a channel participant',
13
- ON_CHAIN_VERIFICATION_FAILED: 'On-chain channel verification failed',
14
- INVALID_SIGNATURE: 'Invalid balance proof signature',
15
- NO_PROVIDER_REGISTERED: 'No provider registered for blockchain:',
16
- };
17
- class ClaimReceiver extends events_1.EventEmitter {
18
- db;
19
- chainProviderRegistry;
20
- logger;
21
- channelManager;
22
- peerIdToAddressMap;
23
- _nip59Wrapper;
24
- _nodePrivateKey;
25
- constructor(db, chainProviderRegistry, logger, channelManager, peerIdToAddressMap, _nip59Wrapper, _nodePrivateKey) {
26
- super();
27
- this.db = db;
28
- this.chainProviderRegistry = chainProviderRegistry;
29
- this.logger = logger;
30
- this.channelManager = channelManager;
31
- this.peerIdToAddressMap = peerIdToAddressMap;
32
- this._nip59Wrapper = _nip59Wrapper;
33
- this._nodePrivateKey = _nodePrivateKey;
34
- }
35
- registerWithBTPServer(btpServer) {
36
- btpServer.onMessage(async (peerId, message) => {
37
- if (!(0, btp_types_1.isBTPData)(message)) {
38
- return;
39
- }
40
- for (const protocolData of message.data.protocolData) {
41
- if (protocolData.protocolName === 'payment-channel-claim') {
42
- await this.handleClaimMessage(peerId, protocolData);
43
- }
44
- else if (protocolData.protocolName === nip59_claim_wrapper_1.BTP_WRAPPED_CLAIM_PROTOCOL.NAME &&
45
- this._nip59Wrapper &&
46
- this._nodePrivateKey) {
47
- await this.handleWrappedClaimMessage(peerId, protocolData);
48
- }
49
- }
50
- });
51
- this.logger.info('ClaimReceiver registered with BTP server');
52
- }
53
- async handleWrappedClaimMessage(peerId, protocolData) {
54
- const childLogger = this.logger.child({ peerId, protocol: 'claim-receiver-nip59' });
55
- try {
56
- const wrappedClaim = (0, nip59_claim_wrapper_1.deserializeWrappedClaim)(protocolData.data);
57
- const claimMessage = this._nip59Wrapper.unwrapClaim(wrappedClaim, this._nodePrivateKey);
58
- childLogger.debug({ messageId: claimMessage.messageId }, 'NIP-59 claim unwrapped successfully');
59
- const plaintextData = {
60
- protocolName: 'payment-channel-claim',
61
- contentType: 1,
62
- data: Buffer.from(JSON.stringify(claimMessage), 'utf8'),
63
- };
64
- await this.handleClaimMessage(peerId, plaintextData);
65
- }
66
- catch (error) {
67
- childLogger.warn({ error: error instanceof Error ? error.message : String(error) }, 'Failed to unwrap NIP-59 claim');
68
- }
69
- }
70
- async handleClaimMessage(peerId, protocolData) {
71
- const childLogger = this.logger.child({ peerId, protocol: 'claim-receiver' });
72
- try {
73
- const claimMessage = JSON.parse(protocolData.data.toString('utf8'));
74
- (0, btp_claim_types_1.validateClaimMessage)(claimMessage);
75
- const messageId = claimMessage.messageId;
76
- const blockchain = claimMessage.blockchain;
77
- childLogger.info({ messageId, blockchain }, 'Received claim message');
78
- const provider = this.resolveProvider(claimMessage);
79
- if (!provider) {
80
- const errorMsg = `${exports.ERRORS.NO_PROVIDER_REGISTERED} ${blockchain}`;
81
- childLogger.warn({ messageId, blockchain }, errorMsg);
82
- this._persistReceivedClaim(peerId, claimMessage, false);
83
- return;
84
- }
85
- const verificationResult = await this.verifyClaim(claimMessage, peerId, provider);
86
- if (verificationResult.valid) {
87
- this._persistReceivedClaim(peerId, claimMessage, true);
88
- childLogger.info({ messageId }, 'Claim verified and stored');
89
- try {
90
- if ((0, btp_claim_types_1.isEVMClaim)(claimMessage)) {
91
- const event = {
92
- peerId,
93
- channelId: claimMessage.channelId,
94
- cumulativeAmount: BigInt(claimMessage.transferredAmount),
95
- };
96
- this.emit('CLAIM_RECEIVED', event);
97
- childLogger.debug({ channelId: event.channelId, cumulativeAmount: event.cumulativeAmount.toString() }, 'CLAIM_RECEIVED event emitted');
98
- }
99
- else if ((0, btp_claim_types_1.isSolanaClaim)(claimMessage)) {
100
- const event = {
101
- peerId,
102
- channelId: claimMessage.channelAccount,
103
- cumulativeAmount: BigInt(claimMessage.transferredAmount),
104
- };
105
- this.emit('CLAIM_RECEIVED', event);
106
- childLogger.debug({
107
- channelAccount: event.channelId,
108
- cumulativeAmount: event.cumulativeAmount.toString(),
109
- }, 'CLAIM_RECEIVED event emitted (Solana)');
110
- }
111
- else if ((0, btp_claim_types_1.isMinaClaim)(claimMessage)) {
112
- const event = {
113
- peerId,
114
- channelId: claimMessage.zkAppAddress,
115
- cumulativeAmount: BigInt(0),
116
- };
117
- this.emit('CLAIM_RECEIVED', event);
118
- childLogger.debug({ zkAppAddress: event.channelId }, 'CLAIM_RECEIVED event emitted (Mina)');
119
- }
120
- }
121
- catch (eventError) {
122
- childLogger.warn({
123
- messageId: claimMessage.messageId,
124
- error: eventError instanceof Error ? eventError.message : String(eventError),
125
- }, 'Failed to emit CLAIM_RECEIVED event (invalid transferredAmount for BigInt conversion)');
126
- }
127
- }
128
- else {
129
- this._persistReceivedClaim(peerId, claimMessage, false);
130
- childLogger.warn({ messageId, error: verificationResult.error }, 'Claim verification failed');
131
- }
132
- }
133
- catch (error) {
134
- childLogger.error({ error }, 'Failed to parse claim message');
135
- }
136
- }
137
- resolveProvider(claim) {
138
- if ((0, btp_claim_types_1.isEVMClaim)(claim)) {
139
- if (this.channelManager) {
140
- const knownChannel = this.channelManager.getChannelById(claim.channelId);
141
- if (knownChannel && knownChannel.chain) {
142
- return this.chainProviderRegistry.getProvider(claim.blockchain, knownChannel.chain);
143
- }
144
- }
145
- if (claim.chainId !== undefined) {
146
- const chainKey = `${claim.blockchain}:${claim.chainId}`;
147
- return this.chainProviderRegistry.getProvider(claim.blockchain, chainKey);
148
- }
149
- }
150
- if ((0, btp_claim_types_1.isSolanaClaim)(claim)) {
151
- if (this.channelManager) {
152
- const knownChannel = this.channelManager.getChannelById(claim.channelAccount);
153
- if (knownChannel && knownChannel.chain) {
154
- return this.chainProviderRegistry.getProvider(claim.blockchain, knownChannel.chain);
155
- }
156
- }
157
- if (claim.cluster !== undefined) {
158
- const chainKey = `${claim.blockchain}:${claim.cluster}`;
159
- return this.chainProviderRegistry.getProvider(claim.blockchain, chainKey);
160
- }
161
- }
162
- if ((0, btp_claim_types_1.isMinaClaim)(claim)) {
163
- if (this.channelManager) {
164
- const knownChannel = this.channelManager.getChannelById(claim.zkAppAddress);
165
- if (knownChannel && knownChannel.chain) {
166
- return this.chainProviderRegistry.getProvider(claim.blockchain, knownChannel.chain);
167
- }
168
- }
169
- if (claim.network !== undefined) {
170
- const chainKey = `${claim.blockchain}:${claim.network}`;
171
- return this.chainProviderRegistry.getProvider(claim.blockchain, chainKey);
172
- }
173
- }
174
- const allProviders = this.chainProviderRegistry.getAllProviders();
175
- return allProviders.find((p) => p.chainType === claim.blockchain);
176
- }
177
- async verifyClaim(claim, peerId, provider) {
178
- try {
179
- if ((0, btp_claim_types_1.isEVMClaim)(claim)) {
180
- return await this.verifyEVMClaim(claim, peerId, provider);
181
- }
182
- if ((0, btp_claim_types_1.isSolanaClaim)(claim)) {
183
- return await this.verifySolanaClaim(claim, peerId, provider);
184
- }
185
- if ((0, btp_claim_types_1.isMinaClaim)(claim)) {
186
- return await this.verifyMinaClaim(claim, peerId, provider);
187
- }
188
- const _exhaustiveCheck = claim;
189
- return {
190
- valid: false,
191
- messageId: _exhaustiveCheck.messageId,
192
- error: `Verification not supported for blockchain: ${_exhaustiveCheck.blockchain}`,
193
- };
194
- }
195
- catch (error) {
196
- return {
197
- valid: false,
198
- messageId: claim.messageId,
199
- error: error instanceof Error ? error.message : 'Unknown error',
200
- };
201
- }
202
- }
203
- async verifyEVMClaim(claim, peerId, provider) {
204
- this.logger.debug({ channelId: claim.channelId }, 'Checking channel existence in metadata');
205
- const knownChannel = this.channelManager?.getChannelById(claim.channelId);
206
- if (!knownChannel && this.channelManager) {
207
- this.logger.info({ channelId: claim.channelId }, 'Unknown channel detected, starting on-chain verification');
208
- if (claim.chainId === undefined || !claim.tokenNetworkAddress || !claim.tokenAddress) {
209
- this.logger.warn({ channelId: claim.channelId, signerAddress: claim.signerAddress }, exports.ERRORS.MISSING_SELF_DESCRIBING_FIELDS);
210
- return {
211
- valid: false,
212
- messageId: claim.messageId,
213
- error: exports.ERRORS.MISSING_SELF_DESCRIBING_FIELDS,
214
- };
215
- }
216
- let channelState;
217
- try {
218
- channelState = await provider.getChannelState(claim.channelId);
219
- }
220
- catch (error) {
221
- this.logger.warn({ channelId: claim.channelId, signerAddress: claim.signerAddress, error }, exports.ERRORS.ON_CHAIN_VERIFICATION_FAILED);
222
- return {
223
- valid: false,
224
- messageId: claim.messageId,
225
- error: exports.ERRORS.ON_CHAIN_VERIFICATION_FAILED,
226
- };
227
- }
228
- if (channelState.status !== 'opened') {
229
- const errorMsg = channelState.status === 'settled' || channelState.status === 'closed'
230
- ? exports.ERRORS.CHANNEL_NOT_OPENED
231
- : exports.ERRORS.CHANNEL_NOT_FOUND;
232
- this.logger.warn({ channelId: claim.channelId, signerAddress: claim.signerAddress }, errorMsg);
233
- return {
234
- valid: false,
235
- messageId: claim.messageId,
236
- error: errorMsg,
237
- };
238
- }
239
- const signerLower = claim.signerAddress.toLowerCase();
240
- if (!channelState.participants.some((p) => p.toLowerCase() === signerLower)) {
241
- this.logger.warn({ channelId: claim.channelId, signerAddress: claim.signerAddress }, exports.ERRORS.SIGNER_NOT_PARTICIPANT);
242
- return {
243
- valid: false,
244
- messageId: claim.messageId,
245
- error: exports.ERRORS.SIGNER_NOT_PARTICIPANT,
246
- };
247
- }
248
- this.logger.info({
249
- channelId: claim.channelId,
250
- participants: channelState.participants,
251
- status: channelState.status,
252
- }, 'On-chain channel verified successfully');
253
- const verifyParams = this.buildVerifyParams(claim);
254
- const sigValid = await provider.verifyBalanceProof(verifyParams);
255
- if (!sigValid) {
256
- return {
257
- valid: false,
258
- messageId: claim.messageId,
259
- error: exports.ERRORS.INVALID_SIGNATURE,
260
- };
261
- }
262
- this.channelManager.registerExternalChannel({
263
- channelId: claim.channelId,
264
- peerId,
265
- tokenAddress: claim.tokenAddress,
266
- tokenNetworkAddress: claim.tokenNetworkAddress,
267
- chainId: claim.chainId,
268
- status: 'open',
269
- });
270
- this.logger.info({ channelId: claim.channelId, peerId }, 'External channel registered');
271
- if (this.peerIdToAddressMap && !this.peerIdToAddressMap.has(peerId)) {
272
- this.peerIdToAddressMap.set(peerId, claim.signerAddress);
273
- this.logger.info({ peerId, signerAddress: claim.signerAddress }, 'Peer EVM address registered from self-describing claim');
274
- }
275
- }
276
- else {
277
- const verifyParams = this.buildVerifyParams(claim);
278
- const isValid = await provider.verifyBalanceProof(verifyParams);
279
- if (!isValid) {
280
- return {
281
- valid: false,
282
- messageId: claim.messageId,
283
- error: exports.ERRORS.INVALID_SIGNATURE,
284
- };
285
- }
286
- }
287
- const latestClaim = await this.getLatestVerifiedClaim(peerId, claim.blockchain, claim.channelId);
288
- if (latestClaim && (0, btp_claim_types_1.isEVMClaim)(latestClaim)) {
289
- if (claim.nonce <= latestClaim.nonce) {
290
- return {
291
- valid: false,
292
- messageId: claim.messageId,
293
- error: 'Nonce not monotonically increasing',
294
- };
295
- }
296
- }
297
- return { valid: true, messageId: claim.messageId };
298
- }
299
- buildVerifyParams(claim) {
300
- return {
301
- channelId: claim.channelId,
302
- nonce: claim.nonce,
303
- transferredAmount: claim.transferredAmount,
304
- lockedAmount: claim.lockedAmount,
305
- locksRoot: claim.locksRoot,
306
- signature: claim.signature,
307
- signerAddress: claim.signerAddress,
308
- };
309
- }
310
- async verifySolanaClaim(claim, peerId, provider) {
311
- this.logger.debug({ channelAccount: claim.channelAccount }, 'Verifying Solana claim');
312
- const knownChannel = this.channelManager?.getChannelById(claim.channelAccount);
313
- if (!knownChannel && this.channelManager) {
314
- this.logger.info({ channelAccount: claim.channelAccount }, 'Unknown Solana channel detected, starting on-chain verification');
315
- let channelState;
316
- try {
317
- channelState = await provider.getChannelState(claim.channelAccount);
318
- }
319
- catch (error) {
320
- this.logger.warn({
321
- channelAccount: claim.channelAccount,
322
- signerPublicKey: claim.signerPublicKey,
323
- error,
324
- }, exports.ERRORS.ON_CHAIN_VERIFICATION_FAILED);
325
- return {
326
- valid: false,
327
- messageId: claim.messageId,
328
- error: exports.ERRORS.ON_CHAIN_VERIFICATION_FAILED,
329
- };
330
- }
331
- if (channelState.status !== 'opened' && channelState.status !== 'closed') {
332
- const errorMsg = channelState.status === 'settled' ? exports.ERRORS.CHANNEL_NOT_OPENED : exports.ERRORS.CHANNEL_NOT_FOUND;
333
- this.logger.warn({ channelAccount: claim.channelAccount, status: channelState.status }, errorMsg);
334
- return {
335
- valid: false,
336
- messageId: claim.messageId,
337
- error: errorMsg,
338
- };
339
- }
340
- if (!channelState.participants.includes(claim.signerPublicKey)) {
341
- this.logger.warn({
342
- channelAccount: claim.channelAccount,
343
- signerPublicKey: claim.signerPublicKey,
344
- }, exports.ERRORS.SIGNER_NOT_PARTICIPANT);
345
- return {
346
- valid: false,
347
- messageId: claim.messageId,
348
- error: exports.ERRORS.SIGNER_NOT_PARTICIPANT,
349
- };
350
- }
351
- this.logger.info({
352
- channelAccount: claim.channelAccount,
353
- participants: channelState.participants,
354
- status: channelState.status,
355
- }, 'On-chain Solana channel verified successfully');
356
- const verifyParams = this.buildSolanaVerifyParams(claim);
357
- const sigValid = await provider.verifyBalanceProof(verifyParams);
358
- if (!sigValid) {
359
- return {
360
- valid: false,
361
- messageId: claim.messageId,
362
- error: exports.ERRORS.INVALID_SIGNATURE,
363
- };
364
- }
365
- this.channelManager.registerExternalChannel({
366
- channelId: claim.channelAccount,
367
- peerId,
368
- tokenAddress: claim.programId,
369
- status: 'open',
370
- chain: `solana:${claim.cluster ?? 'devnet'}`,
371
- });
372
- this.logger.info({ channelAccount: claim.channelAccount, peerId }, 'External Solana channel registered');
373
- if (this.peerIdToAddressMap && !this.peerIdToAddressMap.has(peerId)) {
374
- this.peerIdToAddressMap.set(peerId, claim.signerPublicKey);
375
- this.logger.info({ peerId, signerPublicKey: claim.signerPublicKey }, 'Peer Solana address registered from self-describing claim');
376
- }
377
- }
378
- else {
379
- const verifyParams = this.buildSolanaVerifyParams(claim);
380
- const isValid = await provider.verifyBalanceProof(verifyParams);
381
- if (!isValid) {
382
- return {
383
- valid: false,
384
- messageId: claim.messageId,
385
- error: exports.ERRORS.INVALID_SIGNATURE,
386
- };
387
- }
388
- }
389
- const latestClaim = await this.getLatestVerifiedClaim(peerId, claim.blockchain, claim.channelAccount);
390
- if (latestClaim && (0, btp_claim_types_1.isSolanaClaim)(latestClaim)) {
391
- if (claim.nonce <= latestClaim.nonce) {
392
- return {
393
- valid: false,
394
- messageId: claim.messageId,
395
- error: 'Nonce not monotonically increasing',
396
- };
397
- }
398
- }
399
- return { valid: true, messageId: claim.messageId };
400
- }
401
- buildSolanaVerifyParams(claim) {
402
- return {
403
- channelId: claim.channelAccount,
404
- nonce: claim.nonce,
405
- transferredAmount: claim.transferredAmount,
406
- lockedAmount: '0',
407
- locksRoot: '0x0000000000000000000000000000000000000000000000000000000000000000',
408
- signature: claim.signature,
409
- signerAddress: claim.signerPublicKey,
410
- };
411
- }
412
- async verifyMinaClaim(claim, peerId, provider) {
413
- this.logger.debug({
414
- event: 'mina_claim_received',
415
- messageId: claim.messageId,
416
- zkAppAddress: claim.zkAppAddress,
417
- }, 'Verifying Mina claim');
418
- const knownChannel = this.channelManager?.getChannelById(claim.zkAppAddress);
419
- if (!knownChannel && this.channelManager) {
420
- this.logger.info({ zkAppAddress: claim.zkAppAddress }, 'Unknown Mina channel detected, starting on-chain verification');
421
- let channelState;
422
- try {
423
- channelState = await provider.getChannelState(claim.zkAppAddress);
424
- }
425
- catch (error) {
426
- this.logger.warn({ event: 'mina_claim_verification_failed', messageId: claim.messageId, error }, exports.ERRORS.ON_CHAIN_VERIFICATION_FAILED);
427
- return {
428
- valid: false,
429
- messageId: claim.messageId,
430
- error: exports.ERRORS.ON_CHAIN_VERIFICATION_FAILED,
431
- };
432
- }
433
- if (channelState.status !== 'opened' && channelState.status !== 'closed') {
434
- const errorMsg = channelState.status === 'settled' ? exports.ERRORS.CHANNEL_NOT_OPENED : exports.ERRORS.CHANNEL_NOT_FOUND;
435
- this.logger.warn({ zkAppAddress: claim.zkAppAddress, status: channelState.status }, errorMsg);
436
- return {
437
- valid: false,
438
- messageId: claim.messageId,
439
- error: errorMsg,
440
- };
441
- }
442
- this.logger.info({
443
- zkAppAddress: claim.zkAppAddress,
444
- participants: channelState.participants,
445
- status: channelState.status,
446
- }, 'On-chain Mina channel verified successfully');
447
- const verifyParams = this.buildMinaVerifyParams(claim);
448
- const proofValid = await provider.verifyBalanceProof(verifyParams);
449
- if (!proofValid) {
450
- this.logger.warn({ event: 'mina_claim_verification_failed', messageId: claim.messageId }, exports.ERRORS.INVALID_SIGNATURE);
451
- return {
452
- valid: false,
453
- messageId: claim.messageId,
454
- error: exports.ERRORS.INVALID_SIGNATURE,
455
- };
456
- }
457
- this.channelManager.registerExternalChannel({
458
- channelId: claim.zkAppAddress,
459
- peerId,
460
- tokenAddress: claim.tokenId,
461
- status: 'open',
462
- chain: `mina:${claim.network ?? 'devnet'}`,
463
- });
464
- this.logger.info({ zkAppAddress: claim.zkAppAddress, peerId }, 'External Mina channel registered');
465
- }
466
- else {
467
- const verifyParams = this.buildMinaVerifyParams(claim);
468
- const isValid = await provider.verifyBalanceProof(verifyParams);
469
- if (!isValid) {
470
- return {
471
- valid: false,
472
- messageId: claim.messageId,
473
- error: exports.ERRORS.INVALID_SIGNATURE,
474
- };
475
- }
476
- }
477
- const latestClaim = await this.getLatestVerifiedClaim(peerId, claim.blockchain, claim.zkAppAddress);
478
- if (latestClaim && (0, btp_claim_types_1.isMinaClaim)(latestClaim)) {
479
- if (claim.nonce <= latestClaim.nonce) {
480
- return {
481
- valid: false,
482
- messageId: claim.messageId,
483
- error: 'Nonce not monotonically increasing',
484
- };
485
- }
486
- }
487
- return { valid: true, messageId: claim.messageId };
488
- }
489
- buildMinaVerifyParams(claim) {
490
- return {
491
- channelId: claim.zkAppAddress,
492
- nonce: claim.nonce,
493
- transferredAmount: claim.balanceCommitment,
494
- lockedAmount: '0',
495
- locksRoot: '0x' + '0'.repeat(64),
496
- signature: claim.proof,
497
- signerAddress: claim.zkAppAddress,
498
- };
499
- }
500
- _persistReceivedClaim(peerId, claim, verified) {
501
- try {
502
- let channelId = '';
503
- if ((0, btp_claim_types_1.isEVMClaim)(claim)) {
504
- channelId = claim.channelId;
505
- }
506
- else if ((0, btp_claim_types_1.isSolanaClaim)(claim)) {
507
- channelId = claim.channelAccount;
508
- }
509
- else if ((0, btp_claim_types_1.isMinaClaim)(claim)) {
510
- channelId = claim.zkAppAddress;
511
- }
512
- const stmt = this.db.prepare(`
513
- INSERT INTO received_claims (
514
- message_id,
515
- peer_id,
516
- blockchain,
517
- channel_id,
518
- claim_data,
519
- verified,
520
- received_at,
521
- redeemed_at,
522
- redemption_tx_hash
523
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
524
- `);
525
- stmt.run(claim.messageId, peerId, claim.blockchain, channelId, JSON.stringify(claim), verified ? 1 : 0, Date.now(), null, null);
526
- }
527
- catch (error) {
528
- if (error instanceof Error && error.message.includes('UNIQUE constraint failed')) {
529
- this.logger.warn({ messageId: claim.messageId }, 'Duplicate claim message ignored (idempotency)');
530
- }
531
- else {
532
- this.logger.error({ error }, 'Failed to persist claim to database');
533
- }
534
- }
535
- }
536
- async getLatestVerifiedClaim(peerId, blockchain, channelId) {
537
- try {
538
- const stmt = this.db.prepare(`
539
- SELECT claim_data
540
- FROM received_claims
541
- WHERE peer_id = ?
542
- AND blockchain = ?
543
- AND channel_id = ?
544
- AND verified = 1
545
- AND redeemed_at IS NULL
546
- ORDER BY received_at DESC
547
- LIMIT 1
548
- `);
549
- const row = stmt.get(peerId, blockchain, channelId);
550
- if (!row) {
551
- return null;
552
- }
553
- return JSON.parse(row.claim_data);
554
- }
555
- catch (error) {
556
- this.logger.error({ error }, 'Failed to query latest verified claim');
557
- return null;
558
- }
559
- }
560
- async getLatestVerifiedClaimForChannel(peerId, channelId) {
561
- try {
562
- const stmt = this.db.prepare(`
563
- SELECT claim_data
564
- FROM received_claims
565
- WHERE peer_id = ?
566
- AND channel_id = ?
567
- AND verified = 1
568
- AND redeemed_at IS NULL
569
- ORDER BY received_at DESC
570
- LIMIT 1
571
- `);
572
- const row = stmt.get(peerId, channelId);
573
- if (!row) {
574
- return null;
575
- }
576
- return JSON.parse(row.claim_data);
577
- }
578
- catch (error) {
579
- this.logger.error({ error }, 'Failed to query latest verified claim for channel');
580
- return null;
581
- }
582
- }
583
- }
584
- exports.ClaimReceiver = ClaimReceiver;
585
- //# sourceMappingURL=claim-receiver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claim-receiver.js","sourceRoot":"","sources":["../../src/settlement/claim-receiver.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import type { Database } from 'better-sqlite3';
2
- import type { Logger } from 'pino';
3
- import type { ethers } from 'ethers';
4
- import type { PaymentChannelSDK } from './payment-channel-sdk';
5
- export interface RedemptionConfig {
6
- minProfitThreshold: bigint;
7
- pollingInterval: number;
8
- maxConcurrentRedemptions: number;
9
- evmTokenAddress: string;
10
- }
11
- export interface ClaimRedemptionResult {
12
- success: boolean;
13
- messageId: string;
14
- txHash?: string;
15
- error?: string;
16
- gasCost?: bigint;
17
- }
18
- export declare class ClaimRedemptionService {
19
- private readonly db;
20
- private readonly evmChannelSDK;
21
- private readonly evmProvider;
22
- private readonly config;
23
- private readonly logger;
24
- private _pollingTimer?;
25
- private _isRunning;
26
- constructor(db: Database, evmChannelSDK: PaymentChannelSDK, evmProvider: ethers.Provider, config: RedemptionConfig, logger: Logger);
27
- start(): void;
28
- stop(): void;
29
- get isRunning(): boolean;
30
- private processRedemptions;
31
- private isProfitable;
32
- private estimateRedemptionCost;
33
- private redeemEVMClaim;
34
- private _redeemClaim;
35
- private _getClaimAmount;
36
- private _updateRedemptionStatus;
37
- private _delay;
38
- }
39
- //# sourceMappingURL=claim-redemption-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claim-redemption-service.d.ts","sourceRoot":"","sources":["../../src/settlement/claim-redemption-service.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO/D,MAAM,WAAW,gBAAgB;IAO/B,kBAAkB,EAAE,MAAM,CAAC;IAO3B,eAAe,EAAE,MAAM,CAAC;IAOxB,wBAAwB,EAAE,MAAM,CAAC;IAOjC,eAAe,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,WAAW,qBAAqB;IAEpC,OAAO,EAAE,OAAO,CAAC;IAGjB,SAAS,EAAE,MAAM,CAAC;IAQlB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAoBD,qBAAa,sBAAsB;IAK/B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,aAAa,CAAC,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAS;gBAGR,EAAE,EAAE,QAAQ,EACZ,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,MAAM,CAAC,QAAQ,EAC5B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM;IAMjC,KAAK,IAAI,IAAI;IA+Bb,IAAI,IAAI,IAAI;IAYZ,IAAI,SAAS,IAAI,OAAO,CAEvB;YAKa,kBAAkB;IA+EhC,OAAO,CAAC,YAAY;YAWN,sBAAsB;YAyBtB,cAAc;YA4Ed,YAAY;IAsB1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,MAAM;CAGf"}