@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,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AlertNotifier = void 0;
4
- class AlertNotifier {
5
- logger;
6
- config;
7
- constructor(logger, config) {
8
- this.logger = logger.child({ component: 'AlertNotifier' });
9
- this.config = {
10
- retryAttempts: 3,
11
- retryDelayMs: 1000,
12
- ...config,
13
- };
14
- this.logger.info('AlertNotifier initialized', {
15
- emailEnabled: config.email?.enabled ?? false,
16
- slackEnabled: config.slack?.enabled ?? false,
17
- });
18
- }
19
- async sendAlert(event) {
20
- const { severity, ruleName, peerId, details } = event;
21
- if (severity === 'critical') {
22
- await Promise.allSettled([
23
- this.sendEmailAlert(severity, this.formatAlertMessage(event)),
24
- this.sendSlackAlert(severity, this.formatAlertMessage(event)),
25
- ]);
26
- }
27
- else if (severity === 'high') {
28
- await this.sendSlackAlert(severity, this.formatAlertMessage(event));
29
- }
30
- else {
31
- this.logger.info('Fraud alert (log only)', {
32
- severity,
33
- ruleName,
34
- peerId,
35
- details,
36
- });
37
- }
38
- }
39
- async sendEmailAlert(severity, message) {
40
- if (!this.config.email?.enabled) {
41
- return;
42
- }
43
- let lastError;
44
- for (let attempt = 0; attempt < (this.config.retryAttempts ?? 3); attempt++) {
45
- try {
46
- await this.sendEmailAlertInternal(severity, message);
47
- this.logger.info('Email alert sent successfully', { severity, attempt });
48
- return;
49
- }
50
- catch (error) {
51
- lastError = error instanceof Error ? error : new Error(String(error));
52
- this.logger.warn('Email alert delivery failed, retrying', {
53
- severity,
54
- attempt,
55
- error: lastError.message,
56
- });
57
- const delay = (this.config.retryDelayMs ?? 1000) * Math.pow(2, attempt);
58
- await this.sleep(delay);
59
- }
60
- }
61
- this.logger.error('Failed to send email alert after retries', {
62
- severity,
63
- attempts: this.config.retryAttempts,
64
- error: lastError?.message,
65
- });
66
- }
67
- async sendEmailAlertInternal(severity, message) {
68
- if (!this.config.email?.enabled) {
69
- return;
70
- }
71
- this.logger.debug('Email alert would be sent', {
72
- severity,
73
- recipients: this.config.email.recipients,
74
- message,
75
- smtpHost: this.config.email.smtpHost,
76
- });
77
- await this.sleep(10);
78
- }
79
- async sendSlackAlert(severity, message) {
80
- if (!this.config.slack?.enabled) {
81
- return;
82
- }
83
- let lastError;
84
- for (let attempt = 0; attempt < (this.config.retryAttempts ?? 3); attempt++) {
85
- try {
86
- await this.sendSlackAlertInternal(severity, message);
87
- this.logger.info('Slack alert sent successfully', { severity, attempt });
88
- return;
89
- }
90
- catch (error) {
91
- lastError = error instanceof Error ? error : new Error(String(error));
92
- this.logger.warn('Slack alert delivery failed, retrying', {
93
- severity,
94
- attempt,
95
- error: lastError.message,
96
- });
97
- const delay = (this.config.retryDelayMs ?? 1000) * Math.pow(2, attempt);
98
- await this.sleep(delay);
99
- }
100
- }
101
- this.logger.error('Failed to send Slack alert after retries', {
102
- severity,
103
- attempts: this.config.retryAttempts,
104
- error: lastError?.message,
105
- });
106
- }
107
- async sendSlackAlertInternal(severity, message) {
108
- if (!this.config.slack?.enabled) {
109
- return;
110
- }
111
- this.logger.debug('Slack alert would be sent', {
112
- severity,
113
- webhookUrl: this.config.slack.webhookUrl,
114
- channel: this.config.slack.channel,
115
- message,
116
- });
117
- await this.sleep(10);
118
- }
119
- formatAlertMessage(event) {
120
- const { severity, ruleName, peerId, timestamp, details } = event;
121
- const date = new Date(timestamp).toISOString();
122
- let message = `🚨 FRAUD ALERT [${severity.toUpperCase()}]\n`;
123
- message += `Rule: ${ruleName}\n`;
124
- message += `Peer: ${peerId}\n`;
125
- message += `Time: ${date}\n`;
126
- if (details?.description) {
127
- message += `\nDetails: ${details.description}\n`;
128
- }
129
- return message;
130
- }
131
- sleep(ms) {
132
- return new Promise((resolve) => setTimeout(resolve, ms));
133
- }
134
- }
135
- exports.AlertNotifier = AlertNotifier;
136
- //# sourceMappingURL=alert-notifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alert-notifier.js","sourceRoot":"","sources":["../../src/security/alert-notifier.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import pino from 'pino';
2
- export type AuditEventType = 'SIGN_REQUEST' | 'SIGN_SUCCESS' | 'SIGN_FAILURE' | 'KEY_ROTATION_START' | 'KEY_ROTATION_COMPLETE' | 'KEY_ACCESS_DENIED' | 'FRAUD_DETECTED' | 'PEER_PAUSED' | 'PEER_RESUMED';
3
- export interface AuditLogEntry {
4
- event: AuditEventType;
5
- keyId: string;
6
- timestamp: number;
7
- nodeId: string;
8
- backend: string;
9
- details?: Record<string, unknown>;
10
- }
11
- export interface AuditLogConfig {
12
- nodeId: string;
13
- backend: string;
14
- retentionDays?: number;
15
- }
16
- export declare class AuditLogger {
17
- private readonly logger;
18
- private readonly nodeId;
19
- private readonly backend;
20
- private readonly retentionDays;
21
- constructor(logger: pino.Logger, config: AuditLogConfig);
22
- logSignRequest(keyId: string, messageHash: string): void;
23
- logSignSuccess(keyId: string, signatureHash: string): void;
24
- logSignFailure(keyId: string, error: Error): void;
25
- logKeyRotation(oldKeyId: string, newKeyId: string, phase: 'START' | 'COMPLETE'): void;
26
- logAccessDenied(keyId: string, reason: string): void;
27
- logFraudDetection(peerId: string, ruleName: string, severity: 'low' | 'medium' | 'high' | 'critical', details?: Record<string, unknown>): void;
28
- logPeerPause(peerId: string, reason: string, ruleViolated: string, severity: string): void;
29
- logPeerResume(peerId: string, operator?: string): void;
30
- exportAuditLogs(startDate: number, endDate: number): Promise<AuditLogEntry[]>;
31
- private _createEntry;
32
- }
33
- export declare function createAuditLogger(_config: AuditLogConfig): pino.Logger;
34
- //# sourceMappingURL=audit-logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-logger.d.ts","sourceRoot":"","sources":["../../src/security/audit-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,cAAc,GACd,cAAc,GACd,oBAAoB,GACpB,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,cAAc,CAAC;AAKnB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAKD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAYD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc;IAkBvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAUxD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAU1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAWjD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI;IAYrF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAUpD,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,EAChD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI;IAYP,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAY1F,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAkBhD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6BnF,OAAO,CAAC,YAAY;CAcrB;AAYD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC,MAAM,CAoCtE"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuditLogger = void 0;
4
- exports.createAuditLogger = createAuditLogger;
5
- const tslib_1 = require("tslib");
6
- const pino_1 = tslib_1.__importDefault(require("pino"));
7
- class AuditLogger {
8
- logger;
9
- nodeId;
10
- backend;
11
- retentionDays;
12
- constructor(logger, config) {
13
- this.logger = logger.child({
14
- component: 'AuditLogger',
15
- nodeId: config.nodeId,
16
- backend: config.backend,
17
- });
18
- this.nodeId = config.nodeId;
19
- this.backend = config.backend;
20
- this.retentionDays = config.retentionDays ?? 365;
21
- this.logger.info('AuditLogger initialized', {
22
- retentionDays: this.retentionDays,
23
- });
24
- }
25
- logSignRequest(keyId, messageHash) {
26
- const entry = this._createEntry('SIGN_REQUEST', keyId, {
27
- messageHash: messageHash.substring(0, 16) + '...',
28
- });
29
- this.logger.info(entry, 'Sign request initiated');
30
- }
31
- logSignSuccess(keyId, signatureHash) {
32
- const entry = this._createEntry('SIGN_SUCCESS', keyId, {
33
- signatureHash: signatureHash.substring(0, 16) + '...',
34
- });
35
- this.logger.info(entry, 'Sign operation successful');
36
- }
37
- logSignFailure(keyId, error) {
38
- const entry = this._createEntry('SIGN_FAILURE', keyId, {
39
- errorMessage: error.message,
40
- errorName: error.name,
41
- });
42
- this.logger.error(entry, 'Sign operation failed');
43
- }
44
- logKeyRotation(oldKeyId, newKeyId, phase) {
45
- const event = phase === 'START' ? 'KEY_ROTATION_START' : 'KEY_ROTATION_COMPLETE';
46
- const entry = this._createEntry(event, oldKeyId, {
47
- oldKeyId,
48
- newKeyId,
49
- });
50
- this.logger.info(entry, `Key rotation ${phase.toLowerCase()}`);
51
- }
52
- logAccessDenied(keyId, reason) {
53
- const entry = this._createEntry('KEY_ACCESS_DENIED', keyId, {
54
- reason,
55
- });
56
- this.logger.warn(entry, 'Key access denied');
57
- }
58
- logFraudDetection(peerId, ruleName, severity, details) {
59
- const entry = this._createEntry('FRAUD_DETECTED', peerId, {
60
- ruleName,
61
- severity,
62
- ...details,
63
- });
64
- this.logger.warn(entry, 'Fraud detected');
65
- }
66
- logPeerPause(peerId, reason, ruleViolated, severity) {
67
- const entry = this._createEntry('PEER_PAUSED', peerId, {
68
- reason,
69
- ruleViolated,
70
- severity,
71
- });
72
- this.logger.warn(entry, 'Peer paused due to fraud detection');
73
- }
74
- logPeerResume(peerId, operator) {
75
- const entry = this._createEntry('PEER_RESUMED', peerId, {
76
- operator,
77
- });
78
- this.logger.info(entry, 'Peer resumed after manual review');
79
- }
80
- async exportAuditLogs(startDate, endDate) {
81
- this.logger.info('Audit log export requested', {
82
- startDate: new Date(startDate).toISOString(),
83
- endDate: new Date(endDate).toISOString(),
84
- });
85
- this.logger.warn('exportAuditLogs is a placeholder - integrate with log aggregation system for production');
86
- return [];
87
- }
88
- _createEntry(event, keyId, details) {
89
- return {
90
- event,
91
- keyId,
92
- timestamp: Date.now(),
93
- nodeId: this.nodeId,
94
- backend: this.backend,
95
- details,
96
- };
97
- }
98
- }
99
- exports.AuditLogger = AuditLogger;
100
- function createAuditLogger(_config) {
101
- return (0, pino_1.default)({
102
- serializers: {
103
- privateKey: () => '[REDACTED]',
104
- PIN: () => '[REDACTED]',
105
- pin: () => '[REDACTED]',
106
- credentials: () => '[REDACTED]',
107
- secretAccessKey: () => '[REDACTED]',
108
- clientSecret: () => '[REDACTED]',
109
- aws: (value) => {
110
- if (typeof value === 'object' && value !== null) {
111
- return {
112
- ...value,
113
- credentials: '[REDACTED]',
114
- secretAccessKey: '[REDACTED]',
115
- };
116
- }
117
- return value;
118
- },
119
- azure: (value) => {
120
- if (typeof value === 'object' && value !== null) {
121
- return {
122
- ...value,
123
- credentials: '[REDACTED]',
124
- clientSecret: '[REDACTED]',
125
- };
126
- }
127
- return value;
128
- },
129
- },
130
- });
131
- }
132
- //# sourceMappingURL=audit-logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/security/audit-logger.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { Logger } from 'pino';
2
- import { KeyManagerBackend } from '../key-manager';
3
- export declare class EnvironmentVariableBackend implements KeyManagerBackend {
4
- private evmWallet?;
5
- private evmPrivateKey?;
6
- private logger;
7
- constructor(logger: Logger, options?: {
8
- evmPrivateKey?: string;
9
- });
10
- private _ensureEvmWallet;
11
- sign(message: Buffer, _keyId: string): Promise<Buffer>;
12
- getPublicKey(_keyId: string): Promise<Buffer>;
13
- rotateKey(_keyId: string): Promise<string>;
14
- }
15
- //# sourceMappingURL=environment-backend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment-backend.d.ts","sourceRoot":"","sources":["../../../src/security/backends/environment-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOnD,qBAAa,0BAA2B,YAAW,iBAAiB;IAClE,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAQX,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;YAmBlD,gBAAgB;IA2BxB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAetD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAKjD"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnvironmentVariableBackend = void 0;
4
- const optional_require_1 = require("../../utils/optional-require");
5
- class EnvironmentVariableBackend {
6
- evmWallet;
7
- evmPrivateKey;
8
- logger;
9
- constructor(logger, options) {
10
- this.logger = logger.child({ component: 'EnvironmentVariableBackend' });
11
- const evmPrivateKey = options?.evmPrivateKey ?? process.env.EVM_PRIVATE_KEY;
12
- if (evmPrivateKey) {
13
- this.evmPrivateKey = evmPrivateKey;
14
- this.logger.info('EVM private key found in environment (wallet initialization deferred)');
15
- }
16
- if (!this.evmPrivateKey) {
17
- this.logger.warn('No EVM private key loaded from environment (EVM_PRIVATE_KEY)');
18
- }
19
- }
20
- async _ensureEvmWallet() {
21
- if (this.evmWallet) {
22
- return this.evmWallet;
23
- }
24
- if (!this.evmPrivateKey) {
25
- throw new Error('EVM wallet not initialized. Set EVM_PRIVATE_KEY environment variable.');
26
- }
27
- try {
28
- const { Wallet } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
29
- this.evmWallet = new Wallet(this.evmPrivateKey);
30
- this.logger.info({ address: this.evmWallet.address }, 'EVM wallet loaded from environment');
31
- return this.evmWallet;
32
- }
33
- catch (error) {
34
- if (error instanceof Error && error.message.includes('is required for')) {
35
- throw error;
36
- }
37
- this.logger.error({ error }, 'Failed to load EVM private key');
38
- throw new Error('Invalid EVM_PRIVATE_KEY in environment');
39
- }
40
- }
41
- async sign(message, _keyId) {
42
- const evmWallet = await this._ensureEvmWallet();
43
- const signature = evmWallet.signingKey.sign(message);
44
- return Buffer.from(signature.serialized.slice(2), 'hex');
45
- }
46
- async getPublicKey(_keyId) {
47
- const evmWallet = await this._ensureEvmWallet();
48
- const publicKey = evmWallet.signingKey.publicKey;
49
- return Buffer.from(publicKey.slice(2), 'hex');
50
- }
51
- async rotateKey(_keyId) {
52
- throw new Error('Manual rotation required for environment backend. Update EVM_PRIVATE_KEY and restart the connector.');
53
- }
54
- }
55
- exports.EnvironmentVariableBackend = EnvironmentVariableBackend;
56
- //# sourceMappingURL=environment-backend.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment-backend.js","sourceRoot":"","sources":["../../../src/security/backends/environment-backend.ts"],"names":[],"mappings":";;;AAGA,mEAA+D;AAM/D,MAAa,0BAA0B;IAC7B,SAAS,CAAU;IACnB,aAAa,CAAU;IACvB,MAAM,CAAS;IAQvB,YAAY,MAAc,EAAE,OAAoC;QAC9D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAIxE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC5E,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,kCAAe,EAA0B,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YAC9F,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,oCAAoC,CAAC,CAAC;YAC5F,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACxE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,gCAAgC,CAAC,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAQD,KAAK,CAAC,IAAI,CAAC,OAAe,EAAE,MAAc;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAIhD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAOD,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAGhD,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAQD,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;IACJ,CAAC;CACF;AA3FD,gEA2FC"}
@@ -1,79 +0,0 @@
1
- import { EventEmitter } from 'events';
2
- import { Logger } from 'pino';
3
- export interface FraudRule {
4
- name: string;
5
- check(event: SettlementEvent | PacketEvent | ChannelEvent): Promise<FraudDetection>;
6
- severity: 'low' | 'medium' | 'high' | 'critical';
7
- }
8
- export interface FraudDetection {
9
- detected: boolean;
10
- peerId?: string;
11
- details?: {
12
- [key: string]: unknown;
13
- description?: string;
14
- };
15
- }
16
- export interface SettlementEvent {
17
- type: 'settlement';
18
- peerId: string;
19
- amount: number;
20
- timestamp: number;
21
- channelId?: string;
22
- }
23
- export interface PacketEvent {
24
- type: 'packet';
25
- peerId: string;
26
- packetCount: number;
27
- timestamp: number;
28
- }
29
- export interface ChannelEvent {
30
- type: 'channel';
31
- peerId: string;
32
- action: 'open' | 'close';
33
- channelId: string;
34
- timestamp: number;
35
- }
36
- export interface PeerReputationScore {
37
- peerId: string;
38
- score: number;
39
- lastUpdated: number;
40
- violations: {
41
- timestamp: number;
42
- ruleViolated: string;
43
- severity: 'low' | 'medium' | 'high' | 'critical';
44
- penaltyApplied: number;
45
- }[];
46
- }
47
- export interface PauseReason {
48
- peerId: string;
49
- reason: string;
50
- timestamp: number;
51
- ruleViolated: string;
52
- severity: 'low' | 'medium' | 'high' | 'critical';
53
- }
54
- export interface FraudDetectorConfig {
55
- enabled: boolean;
56
- autoPauseThreshold: number;
57
- rules: FraudRule[];
58
- }
59
- export declare class FraudDetector extends EventEmitter {
60
- private readonly logger;
61
- private readonly config;
62
- private readonly rules;
63
- private readonly pausedPeers;
64
- private readonly boundHandlers;
65
- constructor(logger: Logger, config: FraudDetectorConfig);
66
- start(): void;
67
- stop(): void;
68
- private handleSettlementEvent;
69
- private handlePacketEvent;
70
- private handleChannelEvent;
71
- analyzeEvent(event: SettlementEvent | PacketEvent | ChannelEvent): Promise<void>;
72
- private handleFraudDetection;
73
- pausePeer(peerId: string, reason: string, ruleViolated: string, severity: 'low' | 'medium' | 'high' | 'critical'): Promise<void>;
74
- resumePeer(peerId: string): Promise<void>;
75
- isPeerPaused(peerId: string): boolean;
76
- getPauseReason(peerId: string): PauseReason | undefined;
77
- getPausedPeers(): Map<string, PauseReason>;
78
- }
79
- //# sourceMappingURL=fraud-detector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fraud-detector.d.ts","sourceRoot":"","sources":["../../src/security/fraud-detector.ts"],"names":[],"mappings":"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"}
@@ -1,147 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FraudDetector = void 0;
4
- const events_1 = require("events");
5
- class FraudDetector extends events_1.EventEmitter {
6
- logger;
7
- config;
8
- rules;
9
- pausedPeers;
10
- boundHandlers;
11
- constructor(logger, config) {
12
- super();
13
- this.logger = logger.child({ component: 'FraudDetector' });
14
- this.config = config;
15
- this.rules = config.rules;
16
- this.pausedPeers = new Map();
17
- this.boundHandlers = {
18
- handleSettlementEvent: this.handleSettlementEvent.bind(this),
19
- handlePacketEvent: this.handlePacketEvent.bind(this),
20
- handleChannelEvent: this.handleChannelEvent.bind(this),
21
- };
22
- this.logger.info('FraudDetector initialized', {
23
- enabled: config.enabled,
24
- ruleCount: this.rules.length,
25
- autoPauseThreshold: config.autoPauseThreshold,
26
- });
27
- }
28
- start() {
29
- if (!this.config.enabled) {
30
- this.logger.info('FraudDetector is disabled');
31
- return;
32
- }
33
- this.on('SETTLEMENT_EVENT', this.boundHandlers.handleSettlementEvent);
34
- this.on('PACKET_EVENT', this.boundHandlers.handlePacketEvent);
35
- this.on('CHANNEL_EVENT', this.boundHandlers.handleChannelEvent);
36
- this.logger.info('FraudDetector started');
37
- }
38
- stop() {
39
- this.off('SETTLEMENT_EVENT', this.boundHandlers.handleSettlementEvent);
40
- this.off('PACKET_EVENT', this.boundHandlers.handlePacketEvent);
41
- this.off('CHANNEL_EVENT', this.boundHandlers.handleChannelEvent);
42
- this.logger.info('FraudDetector stopped');
43
- }
44
- async handleSettlementEvent(event) {
45
- await this.analyzeEvent(event);
46
- }
47
- async handlePacketEvent(event) {
48
- await this.analyzeEvent(event);
49
- }
50
- async handleChannelEvent(event) {
51
- await this.analyzeEvent(event);
52
- }
53
- async analyzeEvent(event) {
54
- if (!this.config.enabled) {
55
- return;
56
- }
57
- if (event.peerId && this.pausedPeers.has(event.peerId)) {
58
- this.logger.debug('Event from paused peer ignored', { peerId: event.peerId });
59
- return;
60
- }
61
- for (const rule of this.rules) {
62
- try {
63
- const detection = await rule.check(event);
64
- if (detection.detected) {
65
- await this.handleFraudDetection(rule, detection, event);
66
- }
67
- }
68
- catch (error) {
69
- this.logger.error('Fraud rule evaluation failed', {
70
- ruleName: rule.name,
71
- error: error instanceof Error ? error.message : String(error),
72
- });
73
- }
74
- }
75
- }
76
- async handleFraudDetection(rule, detection, event) {
77
- const peerId = detection.peerId || event.peerId;
78
- this.logger.warn('Fraud detected', {
79
- ruleName: rule.name,
80
- severity: rule.severity,
81
- peerId,
82
- details: detection.details,
83
- });
84
- this.emit('FRAUD_DETECTED', {
85
- ruleName: rule.name,
86
- severity: rule.severity,
87
- peerId,
88
- timestamp: Date.now(),
89
- details: detection.details,
90
- });
91
- }
92
- async pausePeer(peerId, reason, ruleViolated, severity) {
93
- try {
94
- const pauseReason = {
95
- peerId,
96
- reason,
97
- timestamp: Date.now(),
98
- ruleViolated,
99
- severity,
100
- };
101
- this.pausedPeers.set(peerId, pauseReason);
102
- this.logger.warn('Peer paused due to fraud detection', {
103
- peerId,
104
- reason,
105
- ruleViolated,
106
- severity,
107
- });
108
- this.emit('PEER_PAUSED', { peerId, reason, ruleViolated, severity });
109
- }
110
- catch (error) {
111
- this.logger.error('Failed to pause peer', {
112
- peerId,
113
- error: error instanceof Error ? error.message : String(error),
114
- });
115
- throw error;
116
- }
117
- }
118
- async resumePeer(peerId) {
119
- try {
120
- if (!this.pausedPeers.has(peerId)) {
121
- this.logger.warn('Attempted to resume peer that is not paused', { peerId });
122
- return;
123
- }
124
- this.pausedPeers.delete(peerId);
125
- this.logger.info('Peer resumed after manual review', { peerId });
126
- this.emit('PEER_RESUMED', { peerId });
127
- }
128
- catch (error) {
129
- this.logger.error('Failed to resume peer', {
130
- peerId,
131
- error: error instanceof Error ? error.message : String(error),
132
- });
133
- throw error;
134
- }
135
- }
136
- isPeerPaused(peerId) {
137
- return this.pausedPeers.has(peerId);
138
- }
139
- getPauseReason(peerId) {
140
- return this.pausedPeers.get(peerId);
141
- }
142
- getPausedPeers() {
143
- return new Map(this.pausedPeers);
144
- }
145
- }
146
- exports.FraudDetector = FraudDetector;
147
- //# sourceMappingURL=fraud-detector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fraud-detector.js","sourceRoot":"","sources":["../../src/security/fraud-detector.ts"],"names":[],"mappings":"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"}