@toon-protocol/connector 2.6.1 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/package.json +2 -2
  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 -480
  109. package/dist/http/admin-api-inventory.js.map +0 -1
  110. package/dist/http/admin-api.d.ts +0 -182
  111. package/dist/http/admin-api.d.ts.map +0 -1
  112. package/dist/http/admin-api.js +0 -1324
  113. package/dist/http/admin-api.js.map +0 -1
  114. package/dist/http/admin-server.d.ts +0 -49
  115. package/dist/http/admin-server.d.ts.map +0 -1
  116. package/dist/http/admin-server.js +0 -160
  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 -51
  235. package/dist/settlement/account-manager.d.ts.map +0 -1
  236. package/dist/settlement/account-manager.js +0 -459
  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 -67
  251. package/dist/settlement/claim-receiver.d.ts.map +0 -1
  252. package/dist/settlement/claim-receiver.js +0 -707
  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/sent-claims-queries.d.ts +0 -23
  327. package/dist/settlement/sent-claims-queries.d.ts.map +0 -1
  328. package/dist/settlement/sent-claims-queries.js +0 -134
  329. package/dist/settlement/sent-claims-queries.js.map +0 -1
  330. package/dist/settlement/settlement-api.d.ts +0 -37
  331. package/dist/settlement/settlement-api.d.ts.map +0 -1
  332. package/dist/settlement/settlement-api.js +0 -172
  333. package/dist/settlement/settlement-api.js.map +0 -1
  334. package/dist/settlement/settlement-coordinator.d.ts +0 -47
  335. package/dist/settlement/settlement-coordinator.d.ts.map +0 -1
  336. package/dist/settlement/settlement-coordinator.js +0 -166
  337. package/dist/settlement/settlement-coordinator.js.map +0 -1
  338. package/dist/settlement/settlement-executor.d.ts +0 -51
  339. package/dist/settlement/settlement-executor.d.ts.map +0 -1
  340. package/dist/settlement/settlement-executor.js +0 -265
  341. package/dist/settlement/settlement-executor.js.map +0 -1
  342. package/dist/settlement/settlement-monitor.d.ts +0 -30
  343. package/dist/settlement/settlement-monitor.d.ts.map +0 -1
  344. package/dist/settlement/settlement-monitor.js +0 -141
  345. package/dist/settlement/settlement-monitor.js.map +0 -1
  346. package/dist/settlement/solana-payment-channel-sdk.d.ts +0 -79
  347. package/dist/settlement/solana-payment-channel-sdk.d.ts.map +0 -1
  348. package/dist/settlement/solana-payment-channel-sdk.js +0 -636
  349. package/dist/settlement/solana-payment-channel-sdk.js.map +0 -1
  350. package/dist/settlement/tigerbeetle-batch-writer.d.ts +0 -58
  351. package/dist/settlement/tigerbeetle-batch-writer.d.ts.map +0 -1
  352. package/dist/settlement/tigerbeetle-batch-writer.js +0 -162
  353. package/dist/settlement/tigerbeetle-batch-writer.js.map +0 -1
  354. package/dist/settlement/tigerbeetle-client.d.ts +0 -40
  355. package/dist/settlement/tigerbeetle-client.d.ts.map +0 -1
  356. package/dist/settlement/tigerbeetle-client.js +0 -279
  357. package/dist/settlement/tigerbeetle-client.js.map +0 -1
  358. package/dist/settlement/tigerbeetle-errors.d.ts +0 -23
  359. package/dist/settlement/tigerbeetle-errors.d.ts.map +0 -1
  360. package/dist/settlement/tigerbeetle-errors.js +0 -58
  361. package/dist/settlement/tigerbeetle-errors.js.map +0 -1
  362. package/dist/settlement/types.d.ts +0 -64
  363. package/dist/settlement/types.d.ts.map +0 -1
  364. package/dist/settlement/types.js +0 -42
  365. package/dist/settlement/types.js.map +0 -1
  366. package/dist/settlement/unified-settlement-executor.d.ts +0 -34
  367. package/dist/settlement/unified-settlement-executor.d.ts.map +0 -1
  368. package/dist/settlement/unified-settlement-executor.js +0 -145
  369. package/dist/settlement/unified-settlement-executor.js.map +0 -1
  370. package/dist/test-utils/index.d.ts +0 -3
  371. package/dist/test-utils/index.d.ts.map +0 -1
  372. package/dist/test-utils/index.js +0 -15
  373. package/dist/test-utils/index.js.map +0 -1
  374. package/dist/test-utils/isolated-test-env.d.ts +0 -31
  375. package/dist/test-utils/isolated-test-env.d.ts.map +0 -1
  376. package/dist/test-utils/isolated-test-env.js +0 -127
  377. package/dist/test-utils/isolated-test-env.js.map +0 -1
  378. package/dist/test-utils/mock-factories-patch.d.ts +0 -2
  379. package/dist/test-utils/mock-factories-patch.d.ts.map +0 -1
  380. package/dist/test-utils/mock-factories-patch.js +0 -3
  381. package/dist/test-utils/mock-factories-patch.js.map +0 -1
  382. package/dist/test-utils/mock-factories.d.ts +0 -22
  383. package/dist/test-utils/mock-factories.d.ts.map +0 -1
  384. package/dist/test-utils/mock-factories.js +0 -56
  385. package/dist/test-utils/mock-factories.js.map +0 -1
  386. package/dist/transport/direct-transport-provider.d.ts +0 -12
  387. package/dist/transport/direct-transport-provider.d.ts.map +0 -1
  388. package/dist/transport/direct-transport-provider.js +0 -27
  389. package/dist/transport/direct-transport-provider.js.map +0 -1
  390. package/dist/transport/index.d.ts +0 -7
  391. package/dist/transport/index.d.ts.map +0 -1
  392. package/dist/transport/index.js +0 -16
  393. package/dist/transport/index.js.map +0 -1
  394. package/dist/transport/managed-anon-client.d.ts +0 -47
  395. package/dist/transport/managed-anon-client.d.ts.map +0 -1
  396. package/dist/transport/managed-anon-client.js +0 -265
  397. package/dist/transport/managed-anon-client.js.map +0 -1
  398. package/dist/transport/probe-tcp-port.d.ts +0 -3
  399. package/dist/transport/probe-tcp-port.d.ts.map +0 -1
  400. package/dist/transport/probe-tcp-port.js +0 -59
  401. package/dist/transport/probe-tcp-port.js.map +0 -1
  402. package/dist/transport/socks-transport-provider.d.ts +0 -29
  403. package/dist/transport/socks-transport-provider.d.ts.map +0 -1
  404. package/dist/transport/socks-transport-provider.js +0 -136
  405. package/dist/transport/socks-transport-provider.js.map +0 -1
  406. package/dist/transport/socks-url.d.ts +0 -6
  407. package/dist/transport/socks-url.d.ts.map +0 -1
  408. package/dist/transport/socks-url.js +0 -29
  409. package/dist/transport/socks-url.js.map +0 -1
  410. package/dist/transport/transport-provider.d.ts +0 -9
  411. package/dist/transport/transport-provider.d.ts.map +0 -1
  412. package/dist/transport/transport-provider.js +0 -3
  413. package/dist/transport/transport-provider.js.map +0 -1
  414. package/dist/utils/connection-pool.d.ts +0 -42
  415. package/dist/utils/connection-pool.d.ts.map +0 -1
  416. package/dist/utils/connection-pool.js +0 -209
  417. package/dist/utils/connection-pool.js.map +0 -1
  418. package/dist/utils/evm-rpc-connection-pool.d.ts +0 -8
  419. package/dist/utils/evm-rpc-connection-pool.d.ts.map +0 -1
  420. package/dist/utils/evm-rpc-connection-pool.js +0 -40
  421. package/dist/utils/evm-rpc-connection-pool.js.map +0 -1
  422. package/dist/utils/logger.d.ts +0 -6
  423. package/dist/utils/logger.d.ts.map +0 -1
  424. package/dist/utils/logger.js +0 -58
  425. package/dist/utils/logger.js.map +0 -1
  426. package/dist/utils/optional-require.d.ts +0 -2
  427. package/dist/utils/optional-require.d.ts.map +0 -1
  428. package/dist/utils/optional-require.js +0 -54
  429. package/dist/utils/optional-require.js.map +0 -1
  430. package/dist/utils/redact.d.ts +0 -3
  431. package/dist/utils/redact.d.ts.map +0 -1
  432. package/dist/utils/redact.js +0 -21
  433. package/dist/utils/redact.js.map +0 -1
  434. package/dist/wallet/audit-logger.d.ts +0 -22
  435. package/dist/wallet/audit-logger.d.ts.map +0 -1
  436. package/dist/wallet/audit-logger.js +0 -120
  437. package/dist/wallet/audit-logger.js.map +0 -1
  438. package/dist/wallet/fraud-detector-interface.d.ts +0 -14
  439. package/dist/wallet/fraud-detector-interface.d.ts.map +0 -1
  440. package/dist/wallet/fraud-detector-interface.js +0 -3
  441. package/dist/wallet/fraud-detector-interface.js.map +0 -1
  442. package/dist/wallet/key-manager.d.ts +0 -6
  443. package/dist/wallet/key-manager.d.ts.map +0 -1
  444. package/dist/wallet/key-manager.js +0 -3
  445. package/dist/wallet/key-manager.js.map +0 -1
  446. package/dist/wallet/placeholder-fraud-detector.d.ts +0 -10
  447. package/dist/wallet/placeholder-fraud-detector.d.ts.map +0 -1
  448. package/dist/wallet/placeholder-fraud-detector.js +0 -10
  449. package/dist/wallet/placeholder-fraud-detector.js.map +0 -1
  450. package/dist/wallet/rate-limiter.d.ts +0 -26
  451. package/dist/wallet/rate-limiter.d.ts.map +0 -1
  452. package/dist/wallet/rate-limiter.js +0 -114
  453. package/dist/wallet/rate-limiter.js.map +0 -1
  454. package/dist/wallet/suspicious-activity-detector.d.ts +0 -25
  455. package/dist/wallet/suspicious-activity-detector.d.ts.map +0 -1
  456. package/dist/wallet/suspicious-activity-detector.js +0 -97
  457. package/dist/wallet/suspicious-activity-detector.js.map +0 -1
  458. package/dist/wallet/treasury-wallet.d.ts +0 -20
  459. package/dist/wallet/treasury-wallet.d.ts.map +0 -1
  460. package/dist/wallet/treasury-wallet.js +0 -151
  461. package/dist/wallet/treasury-wallet.js.map +0 -1
  462. package/dist/wallet/wallet-authentication.d.ts +0 -31
  463. package/dist/wallet/wallet-authentication.d.ts.map +0 -1
  464. package/dist/wallet/wallet-authentication.js +0 -102
  465. package/dist/wallet/wallet-authentication.js.map +0 -1
  466. package/dist/wallet/wallet-db-schema.d.ts +0 -11
  467. package/dist/wallet/wallet-db-schema.d.ts.map +0 -1
  468. package/dist/wallet/wallet-db-schema.js +0 -79
  469. package/dist/wallet/wallet-db-schema.js.map +0 -1
  470. package/dist/wallet/wallet-security.d.ts +0 -58
  471. package/dist/wallet/wallet-security.d.ts.map +0 -1
  472. package/dist/wallet/wallet-security.js +0 -148
  473. package/dist/wallet/wallet-security.js.map +0 -1
  474. package/dist/wallet/wallet-seed-manager.d.ts +0 -65
  475. package/dist/wallet/wallet-seed-manager.d.ts.map +0 -1
  476. package/dist/wallet/wallet-seed-manager.js +0 -418
  477. package/dist/wallet/wallet-seed-manager.js.map +0 -1
@@ -1,707 +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 getRecentClaims(limit = 50) {
561
- try {
562
- const stmt = this.db.prepare(`
563
- SELECT message_id, peer_id, blockchain, channel_id, claim_data, received_at
564
- FROM received_claims
565
- WHERE verified = 1
566
- ORDER BY received_at DESC
567
- LIMIT ?
568
- `);
569
- const rows = stmt.all(limit);
570
- return rows.map((row) => ({
571
- messageId: row.message_id,
572
- peerId: row.peer_id,
573
- blockchain: row.blockchain,
574
- channelId: row.channel_id,
575
- claimData: JSON.parse(row.claim_data),
576
- receivedAt: row.received_at,
577
- }));
578
- }
579
- catch (error) {
580
- this.logger.error({ error }, 'Failed to query recent claims');
581
- return [];
582
- }
583
- }
584
- async getLastClaimAt(peerId, blockchain) {
585
- try {
586
- const stmt = this.db.prepare(`
587
- SELECT MAX(received_at) AS last_at
588
- FROM received_claims
589
- WHERE peer_id = ? AND blockchain = ? AND verified = 1
590
- `);
591
- const row = stmt.get(peerId, blockchain);
592
- return row?.last_at ?? null;
593
- }
594
- catch (error) {
595
- this.logger.error({ error, peerId, blockchain }, 'Failed to query last claim timestamp');
596
- return null;
597
- }
598
- }
599
- async getCumulativeInboundByAsset(peerId) {
600
- const out = new Map();
601
- try {
602
- const stmt = this.db.prepare(`
603
- SELECT blockchain, channel_id, claim_data, received_at
604
- FROM received_claims
605
- WHERE peer_id = ? AND verified = 1
606
- `);
607
- const rows = stmt.all(peerId);
608
- const latestByChannel = new Map();
609
- for (const row of rows) {
610
- let claim;
611
- try {
612
- claim = JSON.parse(row.claim_data);
613
- }
614
- catch {
615
- continue;
616
- }
617
- let tokenAddress = '';
618
- let amount = 0n;
619
- let nonce = 0;
620
- if ((0, btp_claim_types_1.isEVMClaim)(claim)) {
621
- tokenAddress = claim.tokenAddress ?? '';
622
- try {
623
- amount = BigInt(claim.transferredAmount ?? '0');
624
- }
625
- catch {
626
- amount = 0n;
627
- }
628
- nonce = claim.nonce ?? 0;
629
- }
630
- else if ((0, btp_claim_types_1.isSolanaClaim)(claim)) {
631
- tokenAddress = claim.programId;
632
- try {
633
- amount = BigInt(claim.transferredAmount ?? '0');
634
- }
635
- catch {
636
- amount = 0n;
637
- }
638
- nonce = claim.nonce ?? 0;
639
- }
640
- else if ((0, btp_claim_types_1.isMinaClaim)(claim)) {
641
- tokenAddress = claim.tokenId ?? '';
642
- amount = 0n;
643
- nonce = claim.nonce ?? 0;
644
- }
645
- if (!tokenAddress)
646
- continue;
647
- const key = `${row.blockchain}:${row.channel_id}`;
648
- const existing = latestByChannel.get(key);
649
- if (!existing || nonce > existing.nonce) {
650
- latestByChannel.set(key, {
651
- blockchain: row.blockchain,
652
- tokenAddress,
653
- amount,
654
- nonce,
655
- receivedAt: row.received_at,
656
- });
657
- }
658
- }
659
- for (const entry of latestByChannel.values()) {
660
- const assetKey = `${entry.blockchain}:${entry.tokenAddress}`;
661
- const bucket = out.get(assetKey);
662
- if (bucket) {
663
- bucket.total += entry.amount;
664
- if (entry.receivedAt > bucket.lastAt)
665
- bucket.lastAt = entry.receivedAt;
666
- }
667
- else {
668
- out.set(assetKey, {
669
- blockchain: entry.blockchain,
670
- tokenAddress: entry.tokenAddress,
671
- total: entry.amount,
672
- lastAt: entry.receivedAt,
673
- });
674
- }
675
- }
676
- }
677
- catch (error) {
678
- this.logger.error({ error, peerId }, 'Failed to compute cumulative inbound claims');
679
- }
680
- return out;
681
- }
682
- async getLatestVerifiedClaimForChannel(peerId, channelId) {
683
- try {
684
- const stmt = this.db.prepare(`
685
- SELECT claim_data
686
- FROM received_claims
687
- WHERE peer_id = ?
688
- AND channel_id = ?
689
- AND verified = 1
690
- AND redeemed_at IS NULL
691
- ORDER BY received_at DESC
692
- LIMIT 1
693
- `);
694
- const row = stmt.get(peerId, channelId);
695
- if (!row) {
696
- return null;
697
- }
698
- return JSON.parse(row.claim_data);
699
- }
700
- catch (error) {
701
- this.logger.error({ error }, 'Failed to query latest verified claim for channel');
702
- return null;
703
- }
704
- }
705
- }
706
- exports.ClaimReceiver = ClaimReceiver;
707
- //# sourceMappingURL=claim-receiver.js.map