@toon-protocol/connector 2.6.1 → 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 (477) 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 -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,677 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PaymentChannelSDK = exports.ChallengeNotExpiredError = void 0;
4
- const eip712_helper_1 = require("./eip712-helper");
5
- const key_manager_signer_1 = require("../security/key-manager-signer");
6
- const optional_require_1 = require("../utils/optional-require");
7
- const REGISTRY_ABI = [
8
- 'function createTokenNetwork(address token) external returns (address)',
9
- 'function getTokenNetwork(address token) external view returns (address)',
10
- 'event TokenNetworkCreated(address indexed token, address indexed tokenNetwork)',
11
- ];
12
- const TOKEN_NETWORK_ABI = [
13
- 'function openChannel(address participant2, uint256 settlementTimeout) external returns (bytes32)',
14
- 'function setTotalDeposit(bytes32 channelId, address participant, uint256 totalDeposit) external',
15
- 'function closeChannel(bytes32 channelId) external',
16
- 'function claimFromChannel(bytes32 channelId, tuple(bytes32 channelId, uint256 nonce, uint256 transferredAmount, uint256 lockedAmount, bytes32 locksRoot) balanceProof, bytes signature) external',
17
- 'function settleChannel(bytes32 channelId) external',
18
- 'function channels(bytes32) external view returns (uint256 settlementTimeout, uint8 state, uint256 closedAt, uint256 openedAt, address participant1, address participant2)',
19
- 'function participants(bytes32, address) external view returns (uint256 deposit, uint256 nonce, uint256 transferredAmount)',
20
- 'function claimedAmounts(bytes32, address) external view returns (uint256)',
21
- 'event ChannelOpened(bytes32 indexed channelId, address indexed participant1, address indexed participant2, uint256 settlementTimeout)',
22
- 'event ChannelClosed(bytes32 indexed channelId, address indexed closingParticipant)',
23
- 'event ChannelSettled(bytes32 indexed channelId, uint256 participant1Amount, uint256 participant2Amount)',
24
- 'event ChannelClaimed(bytes32 indexed channelId, address indexed claimant, uint256 claimedAmount, uint256 totalClaimed)',
25
- ];
26
- const ERC20_ABI = [
27
- 'function approve(address spender, uint256 amount) external returns (bool)',
28
- 'function allowance(address owner, address spender) external view returns (uint256)',
29
- 'function symbol() external view returns (string)',
30
- ];
31
- class ChallengeNotExpiredError extends Error {
32
- channelId;
33
- closedAt;
34
- settlementTimeout;
35
- constructor(message, channelId, closedAt, settlementTimeout) {
36
- super(message);
37
- this.channelId = channelId;
38
- this.closedAt = closedAt;
39
- this.settlementTimeout = settlementTimeout;
40
- this.name = 'ChallengeNotExpiredError';
41
- }
42
- }
43
- exports.ChallengeNotExpiredError = ChallengeNotExpiredError;
44
- class PaymentChannelSDK {
45
- provider;
46
- signer = null;
47
- keyManager;
48
- evmKeyId;
49
- registryAddress;
50
- registryContract = null;
51
- tokenNetworkCache;
52
- channelStateCache;
53
- logger;
54
- eventListeners;
55
- _initPromise = null;
56
- constructor(provider, keyManager, evmKeyId, registryAddress, logger) {
57
- this.provider = provider;
58
- this.keyManager = keyManager;
59
- this.evmKeyId = evmKeyId;
60
- this.registryAddress = registryAddress;
61
- this.tokenNetworkCache = new Map();
62
- this.channelStateCache = new Map();
63
- this.logger = logger;
64
- this.eventListeners = new Map();
65
- }
66
- async _ensureInitialized() {
67
- if (this.signer && this.registryContract) {
68
- const ethersModule = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
69
- return {
70
- signer: this.signer,
71
- registryContract: this.registryContract,
72
- ethers: ethersModule.ethers,
73
- };
74
- }
75
- if (!this._initPromise) {
76
- this._initPromise = (async () => {
77
- const { ethers: ethersNs } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
78
- this.signer = await (0, key_manager_signer_1.createKeyManagerSigner)(this.keyManager, this.evmKeyId, this.provider);
79
- this.registryContract = new ethersNs.Contract(this.registryAddress, REGISTRY_ABI, this.signer);
80
- })();
81
- }
82
- await this._initPromise;
83
- const ethersModule = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
84
- return {
85
- signer: this.signer,
86
- registryContract: this.registryContract,
87
- ethers: ethersModule.ethers,
88
- };
89
- }
90
- static fromConnectionPool(pool, keyManager, evmKeyId, registryAddress, logger) {
91
- const provider = pool.getProvider();
92
- if (!provider) {
93
- throw new Error('No healthy EVM RPC connection available in pool');
94
- }
95
- logger.info('Creating PaymentChannelSDK from connection pool');
96
- return new PaymentChannelSDK(provider, keyManager, evmKeyId, registryAddress, logger);
97
- }
98
- async getTokenNetworkContract(tokenAddress) {
99
- if (this.tokenNetworkCache.has(tokenAddress)) {
100
- return this.tokenNetworkCache.get(tokenAddress);
101
- }
102
- const { signer, registryContract, ethers } = await this._ensureInitialized();
103
- const networkAddress = await registryContract.getTokenNetwork(tokenAddress);
104
- if (networkAddress === ethers.ZeroAddress) {
105
- throw new Error(`No TokenNetwork found for token ${tokenAddress}`);
106
- }
107
- const tokenNetwork = new ethers.Contract(networkAddress, TOKEN_NETWORK_ABI, signer);
108
- this.tokenNetworkCache.set(tokenAddress, tokenNetwork);
109
- this.logger.debug('TokenNetwork contract cached', { tokenAddress, networkAddress });
110
- return tokenNetwork;
111
- }
112
- async getTokenNetworkAddress(tokenAddress) {
113
- const contract = await this.getTokenNetworkContract(tokenAddress);
114
- return await contract.getAddress();
115
- }
116
- async getChainId() {
117
- const network = await this.provider.getNetwork();
118
- return Number(network.chainId);
119
- }
120
- async getTokenSymbol(tokenAddress) {
121
- const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
122
- const erc20 = new ethers.Contract(tokenAddress, ERC20_ABI, this.provider);
123
- const symbol = await erc20.symbol();
124
- return symbol;
125
- }
126
- async getSignerAddress() {
127
- const { signer } = await this._ensureInitialized();
128
- return await signer.getAddress();
129
- }
130
- async openChannel(participant2, tokenAddress, settlementTimeout, initialDeposit) {
131
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
132
- this.logger.info('Opening payment channel', {
133
- participant2,
134
- tokenAddress,
135
- settlementTimeout,
136
- initialDeposit: initialDeposit.toString(),
137
- });
138
- const tx = await tokenNetwork.openChannel(participant2, settlementTimeout);
139
- const receipt = await tx.wait();
140
- const channelOpenedEvent = receipt.logs
141
- .map((log) => {
142
- try {
143
- return tokenNetwork.interface.parseLog({
144
- topics: log.topics,
145
- data: log.data,
146
- });
147
- }
148
- catch {
149
- return null;
150
- }
151
- })
152
- .find((parsed) => parsed?.name === 'ChannelOpened');
153
- if (!channelOpenedEvent) {
154
- throw new Error('ChannelOpened event not found in transaction receipt');
155
- }
156
- const channelId = channelOpenedEvent.args[0];
157
- const [participant1, participant2Addr] = [
158
- channelOpenedEvent.args[1],
159
- channelOpenedEvent.args[2],
160
- ];
161
- const participants = [participant1, participant2Addr];
162
- this.channelStateCache.set(channelId, {
163
- channelId,
164
- participants,
165
- myDeposit: 0n,
166
- theirDeposit: 0n,
167
- myNonce: 0,
168
- theirNonce: 0,
169
- myTransferred: 0n,
170
- theirTransferred: 0n,
171
- status: 'opened',
172
- settlementTimeout,
173
- openedAt: Date.now() / 1000,
174
- });
175
- const txHash = receipt.hash;
176
- this.logger.info('Channel opened successfully', {
177
- channelId,
178
- participant1,
179
- participant2: participant2Addr,
180
- txHash,
181
- });
182
- if (initialDeposit > 0n) {
183
- await this.deposit(channelId, tokenAddress, initialDeposit);
184
- }
185
- return { channelId, txHash };
186
- }
187
- async deposit(channelId, tokenAddress, amount) {
188
- const { signer, ethers } = await this._ensureInitialized();
189
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
190
- const myAddress = await signer.getAddress();
191
- const state = await this.getChannelState(channelId, tokenAddress);
192
- const newTotalDeposit = state.myDeposit + amount;
193
- this.logger.info('Depositing to channel', {
194
- channelId,
195
- amount: amount.toString(),
196
- newTotalDeposit: newTotalDeposit.toString(),
197
- });
198
- const token = new ethers.Contract(tokenAddress, ERC20_ABI, signer);
199
- const tokenNetworkAddress = await tokenNetwork.getAddress();
200
- const currentAllowance = (await token.allowance(myAddress, tokenNetworkAddress));
201
- if (currentAllowance < newTotalDeposit) {
202
- const maxApproval = ethers.MaxUint256;
203
- this.logger.info('Approving max token allowance for TokenNetwork', {
204
- channelId,
205
- currentAllowance: currentAllowance.toString(),
206
- requiredAmount: newTotalDeposit.toString(),
207
- approvalAmount: 'max uint256',
208
- tokenNetworkAddress,
209
- });
210
- let approveTx;
211
- let retries = 0;
212
- const maxRetries = 3;
213
- while (retries < maxRetries) {
214
- try {
215
- const currentNonce = await this.provider.getTransactionCount(myAddress, 'pending');
216
- this.logger.debug('Sending approve transaction', {
217
- channelId,
218
- nonce: currentNonce,
219
- attempt: retries + 1,
220
- });
221
- approveTx = await token.approve(tokenNetworkAddress, maxApproval, {
222
- nonce: currentNonce,
223
- });
224
- break;
225
- }
226
- catch (error) {
227
- const err = error;
228
- if (err.code === 'NONCE_EXPIRED' && retries < maxRetries - 1) {
229
- this.logger.warn('Nonce error on approve, retrying with fresh nonce', {
230
- channelId,
231
- attempt: retries + 1,
232
- error: err.message,
233
- });
234
- retries++;
235
- await new Promise((resolve) => setTimeout(resolve, 1000));
236
- }
237
- else {
238
- throw error;
239
- }
240
- }
241
- }
242
- if (!approveTx) {
243
- throw new Error('Failed to send approve transaction after retries');
244
- }
245
- await approveTx.wait();
246
- this.logger.debug('Token approval confirmed', {
247
- channelId,
248
- approvedAmount: 'max uint256',
249
- txHash: approveTx.hash,
250
- });
251
- }
252
- else {
253
- this.logger.debug('Sufficient token allowance already exists', {
254
- channelId,
255
- currentAllowance: currentAllowance.toString(),
256
- requiredAmount: newTotalDeposit.toString(),
257
- });
258
- }
259
- let depositTx;
260
- let depositRetries = 0;
261
- const maxDepositRetries = 3;
262
- while (depositRetries < maxDepositRetries) {
263
- try {
264
- const currentNonce = await this.provider.getTransactionCount(myAddress, 'pending');
265
- this.logger.debug('Sending setTotalDeposit transaction', {
266
- channelId,
267
- nonce: currentNonce,
268
- attempt: depositRetries + 1,
269
- });
270
- depositTx = await tokenNetwork.setTotalDeposit(channelId, myAddress, newTotalDeposit, {
271
- nonce: currentNonce,
272
- });
273
- break;
274
- }
275
- catch (error) {
276
- const err = error;
277
- if (err.code === 'NONCE_EXPIRED' && depositRetries < maxDepositRetries - 1) {
278
- this.logger.warn('Nonce error on setTotalDeposit, retrying', {
279
- channelId,
280
- attempt: depositRetries + 1,
281
- error: err.message,
282
- });
283
- depositRetries++;
284
- await new Promise((resolve) => setTimeout(resolve, 1000));
285
- }
286
- else {
287
- throw error;
288
- }
289
- }
290
- }
291
- if (!depositTx) {
292
- throw new Error('Failed to send setTotalDeposit transaction after retries');
293
- }
294
- await depositTx.wait();
295
- if (this.channelStateCache.has(channelId)) {
296
- const cached = this.channelStateCache.get(channelId);
297
- cached.myDeposit = newTotalDeposit;
298
- this.channelStateCache.set(channelId, cached);
299
- }
300
- this.logger.info('Deposit completed', {
301
- channelId,
302
- newTotalDeposit: newTotalDeposit.toString(),
303
- });
304
- }
305
- async signBalanceProof(channelId, nonce, transferredAmount, lockedAmount = 0n, locksRoot) {
306
- const { ethers } = await this._ensureInitialized();
307
- const resolvedLocksRoot = locksRoot ?? ethers.ZeroHash;
308
- let tokenNetworkAddress;
309
- for (const [, contract] of this.tokenNetworkCache) {
310
- try {
311
- const channelData = await contract.channels(channelId);
312
- if (channelData.state !== 0) {
313
- tokenNetworkAddress = await contract.getAddress();
314
- break;
315
- }
316
- }
317
- catch {
318
- continue;
319
- }
320
- }
321
- if (!tokenNetworkAddress) {
322
- throw new Error(`Cannot determine TokenNetwork for channel ${channelId}`);
323
- }
324
- const network = await this.provider.getNetwork();
325
- const chainId = network.chainId;
326
- const domain = (0, eip712_helper_1.getDomainSeparator)(chainId, tokenNetworkAddress);
327
- const types = (0, eip712_helper_1.getBalanceProofTypes)();
328
- const balanceProof = {
329
- channelId,
330
- nonce,
331
- transferredAmount,
332
- lockedAmount,
333
- locksRoot: resolvedLocksRoot,
334
- };
335
- const hash = ethers.TypedDataEncoder.hash(domain, types, balanceProof);
336
- const signatureBuffer = await this.keyManager.sign(Buffer.from(hash.slice(2), 'hex'), this.evmKeyId);
337
- const signature = '0x' + signatureBuffer.toString('hex');
338
- this.logger.debug('Balance proof signed', {
339
- channelId,
340
- nonce,
341
- transferredAmount: transferredAmount.toString(),
342
- });
343
- return signature;
344
- }
345
- async verifyBalanceProof(balanceProof, signature, expectedSigner) {
346
- try {
347
- const { ethers } = await this._ensureInitialized();
348
- let tokenNetworkAddress;
349
- for (const [, contract] of this.tokenNetworkCache) {
350
- try {
351
- const channelData = await contract.channels(balanceProof.channelId);
352
- if (channelData.state !== 0) {
353
- tokenNetworkAddress = await contract.getAddress();
354
- break;
355
- }
356
- }
357
- catch {
358
- continue;
359
- }
360
- }
361
- if (!tokenNetworkAddress) {
362
- this.logger.warn('Cannot determine TokenNetwork for balance proof verification', {
363
- channelId: balanceProof.channelId,
364
- });
365
- return false;
366
- }
367
- const network = await this.provider.getNetwork();
368
- const chainId = network.chainId;
369
- const domain = (0, eip712_helper_1.getDomainSeparator)(chainId, tokenNetworkAddress);
370
- const types = (0, eip712_helper_1.getBalanceProofTypes)();
371
- const recoveredSigner = ethers.verifyTypedData(domain, types, balanceProof, signature);
372
- const isValid = recoveredSigner.toLowerCase() === expectedSigner.toLowerCase();
373
- if (!isValid) {
374
- this.logger.warn('Balance proof verification failed', {
375
- balanceProof,
376
- expectedSigner,
377
- recoveredSigner,
378
- });
379
- }
380
- return isValid;
381
- }
382
- catch (error) {
383
- this.logger.error('Balance proof verification error', { balanceProof, error });
384
- return false;
385
- }
386
- }
387
- async closeChannel(channelId, tokenAddress) {
388
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
389
- const state = await this.getChannelState(channelId, tokenAddress);
390
- if (state.status !== 'opened') {
391
- throw new Error(`Cannot close channel in status: ${state.status}`);
392
- }
393
- this.logger.info('Closing channel (starting grace period)', { channelId });
394
- const tx = await tokenNetwork.closeChannel(channelId);
395
- const receipt = await tx.wait();
396
- if (this.channelStateCache.has(channelId)) {
397
- const cached = this.channelStateCache.get(channelId);
398
- cached.status = 'closed';
399
- const block = await this.provider.getBlock(receipt.blockNumber);
400
- cached.closedAt = block.timestamp;
401
- this.channelStateCache.set(channelId, cached);
402
- }
403
- this.logger.info('Channel closed, grace period started', { channelId, txHash: receipt.hash });
404
- }
405
- async claimFromChannel(channelId, tokenAddress, balanceProof, signature) {
406
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
407
- const state = await this.getChannelState(channelId, tokenAddress);
408
- if (state.status !== 'opened' && state.status !== 'closed') {
409
- throw new Error(`Cannot claim from channel in status: ${state.status}`);
410
- }
411
- this.logger.info('Claiming from channel', {
412
- channelId,
413
- nonce: balanceProof.nonce,
414
- transferredAmount: balanceProof.transferredAmount.toString(),
415
- });
416
- const tx = await tokenNetwork.claimFromChannel(channelId, balanceProof, signature);
417
- const receipt = await tx.wait();
418
- this.channelStateCache.delete(channelId);
419
- this.logger.info('Claim from channel completed', { channelId, txHash: receipt.hash });
420
- }
421
- async getClaimedAmount(channelId, tokenAddress, participant) {
422
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
423
- const claimed = await tokenNetwork.claimedAmounts(channelId, participant);
424
- return claimed;
425
- }
426
- async settleChannel(channelId, tokenAddress) {
427
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
428
- const state = await this.getChannelState(channelId, tokenAddress);
429
- if (state.status !== 'closed') {
430
- throw new Error(`Cannot settle channel in status: ${state.status}`);
431
- }
432
- if (!state.closedAt) {
433
- throw new Error('Channel closedAt timestamp is missing');
434
- }
435
- const latestBlock = await this.provider.getBlock('latest');
436
- const now = latestBlock.timestamp;
437
- const expiresAt = state.closedAt + state.settlementTimeout;
438
- if (now < expiresAt) {
439
- throw new ChallengeNotExpiredError(`Challenge period not expired. Expires at ${new Date(expiresAt * 1000).toISOString()}`, channelId, state.closedAt, state.settlementTimeout);
440
- }
441
- this.logger.info('Settling channel', { channelId });
442
- const tx = await tokenNetwork.settleChannel(channelId);
443
- const receipt = await tx.wait();
444
- if (this.channelStateCache.has(channelId)) {
445
- const cached = this.channelStateCache.get(channelId);
446
- cached.status = 'settled';
447
- this.channelStateCache.set(channelId, cached);
448
- }
449
- this.logger.info('Channel settled', { channelId, txHash: receipt.hash });
450
- }
451
- async getChannelState(channelId, tokenAddress) {
452
- if (this.channelStateCache.has(channelId)) {
453
- return this.channelStateCache.get(channelId);
454
- }
455
- const { signer } = await this._ensureInitialized();
456
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
457
- const myAddress = await signer.getAddress();
458
- const channelData = await tokenNetwork.channels(channelId);
459
- const [settlementTimeout, stateEnum, closedAt, openedAt, participant1, participant2] = [
460
- channelData.settlementTimeout,
461
- channelData.state,
462
- channelData.closedAt,
463
- channelData.openedAt,
464
- channelData.participant1,
465
- channelData.participant2,
466
- ];
467
- const stateMap = {
468
- 0: 'settled',
469
- 1: 'opened',
470
- 2: 'closed',
471
- 3: 'settled',
472
- };
473
- const status = stateMap[stateEnum] || 'settled';
474
- const myParticipantData = await tokenNetwork.participants(channelId, myAddress);
475
- const counterparty = participant1.toLowerCase() === myAddress.toLowerCase() ? participant2 : participant1;
476
- const theirParticipantData = await tokenNetwork.participants(channelId, counterparty);
477
- const state = {
478
- channelId,
479
- participants: [participant1, participant2],
480
- myDeposit: myParticipantData.deposit,
481
- theirDeposit: theirParticipantData.deposit,
482
- myNonce: Number(myParticipantData.nonce),
483
- theirNonce: Number(theirParticipantData.nonce),
484
- myTransferred: myParticipantData.transferredAmount,
485
- theirTransferred: theirParticipantData.transferredAmount,
486
- status,
487
- settlementTimeout: Number(settlementTimeout),
488
- closedAt: closedAt > 0 ? Number(closedAt) : undefined,
489
- openedAt: Number(openedAt),
490
- };
491
- this.channelStateCache.set(channelId, state);
492
- return state;
493
- }
494
- async getChannelStateByNetwork(channelId, tokenNetworkAddress) {
495
- const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
496
- const tokenNetwork = new ethers.Contract(tokenNetworkAddress, TOKEN_NETWORK_ABI, this.provider);
497
- try {
498
- const channelData = await tokenNetwork.channels(channelId);
499
- const stateEnum = Number(channelData.state);
500
- return {
501
- exists: stateEnum !== 0,
502
- state: stateEnum,
503
- participant1: channelData.participant1,
504
- participant2: channelData.participant2,
505
- settlementTimeout: Number(channelData.settlementTimeout),
506
- };
507
- }
508
- catch (error) {
509
- this.logger.error('Failed to query channel state by network', {
510
- channelId,
511
- tokenNetworkAddress,
512
- error,
513
- });
514
- throw error;
515
- }
516
- }
517
- async verifyBalanceProofWithDomain(balanceProof, signature, expectedSigner, chainId, tokenNetworkAddress) {
518
- try {
519
- const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
520
- const domain = (0, eip712_helper_1.getDomainSeparator)(chainId, tokenNetworkAddress);
521
- const types = (0, eip712_helper_1.getBalanceProofTypes)();
522
- const recoveredSigner = ethers.verifyTypedData(domain, types, balanceProof, signature);
523
- const isValid = recoveredSigner.toLowerCase() === expectedSigner.toLowerCase();
524
- if (!isValid) {
525
- this.logger.warn('Balance proof verification with explicit domain failed', {
526
- channelId: balanceProof.channelId,
527
- expectedSigner,
528
- recoveredSigner,
529
- chainId,
530
- tokenNetworkAddress,
531
- });
532
- }
533
- return isValid;
534
- }
535
- catch (error) {
536
- this.logger.error('Balance proof verification with explicit domain error', {
537
- channelId: balanceProof.channelId,
538
- chainId,
539
- tokenNetworkAddress,
540
- error,
541
- });
542
- return false;
543
- }
544
- }
545
- async getMyChannels(tokenAddress) {
546
- const { signer } = await this._ensureInitialized();
547
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
548
- const myAddress = await signer.getAddress();
549
- const filter = tokenNetwork.filters.ChannelOpened();
550
- const events = await tokenNetwork.queryFilter(filter);
551
- const myChannels = events
552
- .filter((event) => {
553
- const eventLog = event;
554
- const participant1 = eventLog.args[1];
555
- const participant2 = eventLog.args[2];
556
- return (participant1.toLowerCase() === myAddress.toLowerCase() ||
557
- participant2.toLowerCase() === myAddress.toLowerCase());
558
- })
559
- .map((event) => {
560
- const eventLog = event;
561
- return eventLog.args[0];
562
- });
563
- return myChannels;
564
- }
565
- async onChannelOpened(tokenAddress, callback) {
566
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
567
- const listener = (channelId, participant1, participant2, settlementTimeout) => {
568
- const event = {
569
- type: 'ChannelOpened',
570
- channelId,
571
- participant1,
572
- participant2,
573
- settlementTimeout: Number(settlementTimeout),
574
- };
575
- this.channelStateCache.set(channelId, {
576
- channelId,
577
- participants: [participant1, participant2],
578
- myDeposit: 0n,
579
- theirDeposit: 0n,
580
- myNonce: 0,
581
- theirNonce: 0,
582
- myTransferred: 0n,
583
- theirTransferred: 0n,
584
- status: 'opened',
585
- settlementTimeout: Number(settlementTimeout),
586
- openedAt: Date.now() / 1000,
587
- });
588
- callback(event);
589
- };
590
- tokenNetwork.on('ChannelOpened', listener);
591
- const key = `${tokenAddress}:ChannelOpened`;
592
- if (!this.eventListeners.has(key)) {
593
- this.eventListeners.set(key, []);
594
- }
595
- this.eventListeners.get(key).push(listener);
596
- }
597
- async onChannelClosed(tokenAddress, callback) {
598
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
599
- const listener = (channelId, closingParticipant, nonce, balanceHash) => {
600
- const event = {
601
- type: 'ChannelClosed',
602
- channelId,
603
- closingParticipant,
604
- nonce: Number(nonce),
605
- balanceHash,
606
- };
607
- if (this.channelStateCache.has(channelId)) {
608
- const cached = this.channelStateCache.get(channelId);
609
- cached.status = 'closed';
610
- cached.closedAt = Date.now() / 1000;
611
- this.channelStateCache.set(channelId, cached);
612
- }
613
- callback(event);
614
- };
615
- tokenNetwork.on('ChannelClosed', listener);
616
- const key = `${tokenAddress}:ChannelClosed`;
617
- if (!this.eventListeners.has(key)) {
618
- this.eventListeners.set(key, []);
619
- }
620
- this.eventListeners.get(key).push(listener);
621
- }
622
- async onChannelSettled(tokenAddress, callback) {
623
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
624
- const listener = (channelId, participant1Amount, participant2Amount) => {
625
- const event = {
626
- type: 'ChannelSettled',
627
- channelId,
628
- participant1Amount,
629
- participant2Amount,
630
- };
631
- if (this.channelStateCache.has(channelId)) {
632
- const cached = this.channelStateCache.get(channelId);
633
- cached.status = 'settled';
634
- this.channelStateCache.set(channelId, cached);
635
- }
636
- callback(event);
637
- };
638
- tokenNetwork.on('ChannelSettled', listener);
639
- const key = `${tokenAddress}:ChannelSettled`;
640
- if (!this.eventListeners.has(key)) {
641
- this.eventListeners.set(key, []);
642
- }
643
- this.eventListeners.get(key).push(listener);
644
- }
645
- async onChannelCooperativeSettled(tokenAddress, callback) {
646
- const tokenNetwork = await this.getTokenNetworkContract(tokenAddress);
647
- const listener = (channelId, participant1Amount, participant2Amount) => {
648
- const event = {
649
- type: 'ChannelCooperativeSettled',
650
- channelId,
651
- participant1Amount,
652
- participant2Amount,
653
- };
654
- if (this.channelStateCache.has(channelId)) {
655
- const cached = this.channelStateCache.get(channelId);
656
- cached.status = 'settled';
657
- this.channelStateCache.set(channelId, cached);
658
- }
659
- callback(event);
660
- };
661
- tokenNetwork.on('ChannelCooperativeSettled', listener);
662
- const key = `${tokenAddress}:ChannelCooperativeSettled`;
663
- if (!this.eventListeners.has(key)) {
664
- this.eventListeners.set(key, []);
665
- }
666
- this.eventListeners.get(key).push(listener);
667
- }
668
- removeAllListeners() {
669
- for (const [, contract] of this.tokenNetworkCache) {
670
- contract.removeAllListeners();
671
- }
672
- this.eventListeners.clear();
673
- this.logger.debug('All event listeners removed');
674
- }
675
- }
676
- exports.PaymentChannelSDK = PaymentChannelSDK;
677
- //# sourceMappingURL=payment-channel-sdk.js.map