@toon-protocol/connector 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +421 -0
  3. package/dist/btp/btp-claim-types.d.ts +30 -0
  4. package/dist/btp/btp-claim-types.d.ts.map +1 -0
  5. package/dist/btp/btp-claim-types.js +103 -0
  6. package/dist/btp/btp-claim-types.js.map +1 -0
  7. package/dist/btp/btp-client-manager.d.ts +27 -0
  8. package/dist/btp/btp-client-manager.d.ts.map +1 -0
  9. package/dist/btp/btp-client-manager.js +138 -0
  10. package/dist/btp/btp-client-manager.js.map +1 -0
  11. package/dist/btp/btp-client.d.ts +55 -0
  12. package/dist/btp/btp-client.d.ts.map +1 -0
  13. package/dist/btp/btp-client.js +474 -0
  14. package/dist/btp/btp-client.js.map +1 -0
  15. package/dist/btp/btp-message-parser.d.ts +4 -0
  16. package/dist/btp/btp-message-parser.d.ts.map +1 -0
  17. package/dist/btp/btp-message-parser.js +211 -0
  18. package/dist/btp/btp-message-parser.js.map +1 -0
  19. package/dist/btp/btp-server.d.ts +30 -0
  20. package/dist/btp/btp-server.d.ts.map +1 -0
  21. package/dist/btp/btp-server.js +458 -0
  22. package/dist/btp/btp-server.js.map +1 -0
  23. package/dist/btp/btp-types.d.ts +43 -0
  24. package/dist/btp/btp-types.d.ts.map +1 -0
  25. package/dist/btp/btp-types.js +44 -0
  26. package/dist/btp/btp-types.js.map +1 -0
  27. package/dist/cli/index.d.ts +3 -0
  28. package/dist/cli/index.d.ts.map +1 -0
  29. package/dist/cli/index.js +175 -0
  30. package/dist/cli/index.js.map +1 -0
  31. package/dist/cli/onboarding-wizard.d.ts +7 -0
  32. package/dist/cli/onboarding-wizard.d.ts.map +1 -0
  33. package/dist/cli/onboarding-wizard.js +257 -0
  34. package/dist/cli/onboarding-wizard.js.map +1 -0
  35. package/dist/cli/types.d.ts +38 -0
  36. package/dist/cli/types.d.ts.map +1 -0
  37. package/dist/cli/types.js +3 -0
  38. package/dist/cli/types.js.map +1 -0
  39. package/dist/config/aptos-env-validator.d.ts +8 -0
  40. package/dist/config/aptos-env-validator.d.ts.map +1 -0
  41. package/dist/config/aptos-env-validator.js +25 -0
  42. package/dist/config/aptos-env-validator.js.map +1 -0
  43. package/dist/config/config-loader.d.ts +20 -0
  44. package/dist/config/config-loader.d.ts.map +1 -0
  45. package/dist/config/config-loader.js +269 -0
  46. package/dist/config/config-loader.js.map +1 -0
  47. package/dist/config/environment-validator.d.ts +4 -0
  48. package/dist/config/environment-validator.d.ts.map +1 -0
  49. package/dist/config/environment-validator.js +239 -0
  50. package/dist/config/environment-validator.js.map +1 -0
  51. package/dist/config/index.d.ts +2 -0
  52. package/dist/config/index.d.ts.map +1 -0
  53. package/dist/config/index.js +7 -0
  54. package/dist/config/index.js.map +1 -0
  55. package/dist/config/key-manager-config.d.ts +7 -0
  56. package/dist/config/key-manager-config.d.ts.map +1 -0
  57. package/dist/config/key-manager-config.js +209 -0
  58. package/dist/config/key-manager-config.js.map +1 -0
  59. package/dist/config/topology-validator.d.ts +14 -0
  60. package/dist/config/topology-validator.d.ts.map +1 -0
  61. package/dist/config/topology-validator.js +142 -0
  62. package/dist/config/topology-validator.js.map +1 -0
  63. package/dist/config/types.d.ts +210 -0
  64. package/dist/config/types.d.ts.map +1 -0
  65. package/dist/config/types.js +10 -0
  66. package/dist/config/types.js.map +1 -0
  67. package/dist/core/connector-node.d.ts +79 -0
  68. package/dist/core/connector-node.d.ts.map +1 -0
  69. package/dist/core/connector-node.js +1036 -0
  70. package/dist/core/connector-node.js.map +1 -0
  71. package/dist/core/local-delivery-client.d.ts +16 -0
  72. package/dist/core/local-delivery-client.d.ts.map +1 -0
  73. package/dist/core/local-delivery-client.js +176 -0
  74. package/dist/core/local-delivery-client.js.map +1 -0
  75. package/dist/core/packet-handler.d.ts +45 -0
  76. package/dist/core/packet-handler.d.ts.map +1 -0
  77. package/dist/core/packet-handler.js +606 -0
  78. package/dist/core/packet-handler.js.map +1 -0
  79. package/dist/core/payment-handler.d.ts +27 -0
  80. package/dist/core/payment-handler.d.ts.map +1 -0
  81. package/dist/core/payment-handler.js +115 -0
  82. package/dist/core/payment-handler.js.map +1 -0
  83. package/dist/discovery/index.d.ts +3 -0
  84. package/dist/discovery/index.d.ts.map +1 -0
  85. package/dist/discovery/index.js +6 -0
  86. package/dist/discovery/index.js.map +1 -0
  87. package/dist/discovery/peer-discovery-service.d.ts +29 -0
  88. package/dist/discovery/peer-discovery-service.d.ts.map +1 -0
  89. package/dist/discovery/peer-discovery-service.js +230 -0
  90. package/dist/discovery/peer-discovery-service.js.map +1 -0
  91. package/dist/discovery/types.d.ts +38 -0
  92. package/dist/discovery/types.d.ts.map +1 -0
  93. package/dist/discovery/types.js +3 -0
  94. package/dist/discovery/types.js.map +1 -0
  95. package/dist/encoding/oer-parser.d.ts +39 -0
  96. package/dist/encoding/oer-parser.d.ts.map +1 -0
  97. package/dist/encoding/oer-parser.js +154 -0
  98. package/dist/encoding/oer-parser.js.map +1 -0
  99. package/dist/explorer-ui/assets/EventDetailPanel-CnSaMk3V.js +6 -0
  100. package/dist/explorer-ui/assets/FilterBar-BEmAzBku.js +26 -0
  101. package/dist/explorer-ui/assets/chevron-right-BUT9VhYe.js +11 -0
  102. package/dist/explorer-ui/assets/index-BZ2INVgy.js +360 -0
  103. package/dist/explorer-ui/assets/index-Cemh6svI.css +1 -0
  104. package/dist/explorer-ui/index.html +14 -0
  105. package/dist/explorer-ui/vite.svg +1 -0
  106. package/dist/facilitator/index.d.ts +2 -0
  107. package/dist/facilitator/index.d.ts.map +1 -0
  108. package/dist/facilitator/index.js +7 -0
  109. package/dist/facilitator/index.js.map +1 -0
  110. package/dist/facilitator/spsp-client.d.ts +18 -0
  111. package/dist/facilitator/spsp-client.d.ts.map +1 -0
  112. package/dist/facilitator/spsp-client.js +95 -0
  113. package/dist/facilitator/spsp-client.js.map +1 -0
  114. package/dist/http/admin-api.d.ts +123 -0
  115. package/dist/http/admin-api.d.ts.map +1 -0
  116. package/dist/http/admin-api.js +1057 -0
  117. package/dist/http/admin-api.js.map +1 -0
  118. package/dist/http/admin-server.d.ts +41 -0
  119. package/dist/http/admin-server.d.ts.map +1 -0
  120. package/dist/http/admin-server.js +156 -0
  121. package/dist/http/admin-server.js.map +1 -0
  122. package/dist/http/health-server.d.ts +22 -0
  123. package/dist/http/health-server.d.ts.map +1 -0
  124. package/dist/http/health-server.js +192 -0
  125. package/dist/http/health-server.js.map +1 -0
  126. package/dist/http/ilp-send-handler.d.ts +19 -0
  127. package/dist/http/ilp-send-handler.d.ts.map +1 -0
  128. package/dist/http/ilp-send-handler.js +162 -0
  129. package/dist/http/ilp-send-handler.js.map +1 -0
  130. package/dist/http/types.d.ts +39 -0
  131. package/dist/http/types.d.ts.map +1 -0
  132. package/dist/http/types.js +3 -0
  133. package/dist/http/types.js.map +1 -0
  134. package/dist/index.d.ts +2 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +5 -0
  137. package/dist/index.js.map +1 -0
  138. package/dist/lib.d.ts +22 -0
  139. package/dist/lib.d.ts.map +1 -0
  140. package/dist/lib.js +41 -0
  141. package/dist/lib.js.map +1 -0
  142. package/dist/main.d.ts +4 -0
  143. package/dist/main.d.ts.map +1 -0
  144. package/dist/main.js +79 -0
  145. package/dist/main.js.map +1 -0
  146. package/dist/routing/packet-processor.d.ts +36 -0
  147. package/dist/routing/packet-processor.d.ts.map +1 -0
  148. package/dist/routing/packet-processor.js +112 -0
  149. package/dist/routing/packet-processor.js.map +1 -0
  150. package/dist/routing/packet-worker.d.ts +10 -0
  151. package/dist/routing/packet-worker.d.ts.map +1 -0
  152. package/dist/routing/packet-worker.js +34 -0
  153. package/dist/routing/packet-worker.js.map +1 -0
  154. package/dist/routing/routing-table.d.ts +15 -0
  155. package/dist/routing/routing-table.d.ts.map +1 -0
  156. package/dist/routing/routing-table.js +63 -0
  157. package/dist/routing/routing-table.js.map +1 -0
  158. package/dist/routing/worker-pool.d.ts +43 -0
  159. package/dist/routing/worker-pool.d.ts.map +1 -0
  160. package/dist/routing/worker-pool.js +228 -0
  161. package/dist/routing/worker-pool.js.map +1 -0
  162. package/dist/security/alert-notifier.d.ts +34 -0
  163. package/dist/security/alert-notifier.d.ts.map +1 -0
  164. package/dist/security/alert-notifier.js +136 -0
  165. package/dist/security/alert-notifier.js.map +1 -0
  166. package/dist/security/audit-logger.d.ts +34 -0
  167. package/dist/security/audit-logger.d.ts.map +1 -0
  168. package/dist/security/audit-logger.js +132 -0
  169. package/dist/security/audit-logger.js.map +1 -0
  170. package/dist/security/backends/aws-kms-backend.d.ts +18 -0
  171. package/dist/security/backends/aws-kms-backend.d.ts.map +1 -0
  172. package/dist/security/backends/aws-kms-backend.js +130 -0
  173. package/dist/security/backends/aws-kms-backend.js.map +1 -0
  174. package/dist/security/backends/azure-kv-backend.d.ts +17 -0
  175. package/dist/security/backends/azure-kv-backend.d.ts.map +1 -0
  176. package/dist/security/backends/azure-kv-backend.js +121 -0
  177. package/dist/security/backends/azure-kv-backend.js.map +1 -0
  178. package/dist/security/backends/environment-backend.d.ts +15 -0
  179. package/dist/security/backends/environment-backend.d.ts.map +1 -0
  180. package/dist/security/backends/environment-backend.js +56 -0
  181. package/dist/security/backends/environment-backend.js.map +1 -0
  182. package/dist/security/backends/gcp-kms-backend.d.ts +17 -0
  183. package/dist/security/backends/gcp-kms-backend.d.ts.map +1 -0
  184. package/dist/security/backends/gcp-kms-backend.js +110 -0
  185. package/dist/security/backends/gcp-kms-backend.js.map +1 -0
  186. package/dist/security/backends/hsm-backend.d.ts +18 -0
  187. package/dist/security/backends/hsm-backend.d.ts.map +1 -0
  188. package/dist/security/backends/hsm-backend.js +187 -0
  189. package/dist/security/backends/hsm-backend.js.map +1 -0
  190. package/dist/security/fraud-detector.d.ts +79 -0
  191. package/dist/security/fraud-detector.d.ts.map +1 -0
  192. package/dist/security/fraud-detector.js +147 -0
  193. package/dist/security/fraud-detector.js.map +1 -0
  194. package/dist/security/key-manager-signer.d.ts +15 -0
  195. package/dist/security/key-manager-signer.d.ts.map +1 -0
  196. package/dist/security/key-manager-signer.js +91 -0
  197. package/dist/security/key-manager-signer.js.map +1 -0
  198. package/dist/security/key-manager.d.ts +69 -0
  199. package/dist/security/key-manager.d.ts.map +1 -0
  200. package/dist/security/key-manager.js +79 -0
  201. package/dist/security/key-manager.js.map +1 -0
  202. package/dist/security/key-rotation-manager.d.ts +27 -0
  203. package/dist/security/key-rotation-manager.d.ts.map +1 -0
  204. package/dist/security/key-rotation-manager.js +142 -0
  205. package/dist/security/key-rotation-manager.js.map +1 -0
  206. package/dist/security/rate-limit-config.d.ts +7 -0
  207. package/dist/security/rate-limit-config.d.ts.map +1 -0
  208. package/dist/security/rate-limit-config.js +57 -0
  209. package/dist/security/rate-limit-config.js.map +1 -0
  210. package/dist/security/rate-limiter.d.ts +46 -0
  211. package/dist/security/rate-limiter.d.ts.map +1 -0
  212. package/dist/security/rate-limiter.js +170 -0
  213. package/dist/security/rate-limiter.js.map +1 -0
  214. package/dist/security/reputation-tracker.d.ts +30 -0
  215. package/dist/security/reputation-tracker.d.ts.map +1 -0
  216. package/dist/security/reputation-tracker.js +111 -0
  217. package/dist/security/reputation-tracker.js.map +1 -0
  218. package/dist/security/rules/balance-manipulation-rule.d.ts +23 -0
  219. package/dist/security/rules/balance-manipulation-rule.d.ts.map +1 -0
  220. package/dist/security/rules/balance-manipulation-rule.js +70 -0
  221. package/dist/security/rules/balance-manipulation-rule.js.map +1 -0
  222. package/dist/security/rules/double-spend-detection-rule.d.ts +23 -0
  223. package/dist/security/rules/double-spend-detection-rule.d.ts.map +1 -0
  224. package/dist/security/rules/double-spend-detection-rule.js +61 -0
  225. package/dist/security/rules/double-spend-detection-rule.js.map +1 -0
  226. package/dist/security/rules/rapid-channel-closure-rule.d.ts +16 -0
  227. package/dist/security/rules/rapid-channel-closure-rule.d.ts.map +1 -0
  228. package/dist/security/rules/rapid-channel-closure-rule.js +57 -0
  229. package/dist/security/rules/rapid-channel-closure-rule.js.map +1 -0
  230. package/dist/security/rules/sudden-traffic-spike-rule.d.ts +18 -0
  231. package/dist/security/rules/sudden-traffic-spike-rule.d.ts.map +1 -0
  232. package/dist/security/rules/sudden-traffic-spike-rule.js +92 -0
  233. package/dist/security/rules/sudden-traffic-spike-rule.js.map +1 -0
  234. package/dist/security/rules/unusual-settlement-amount-rule.d.ts +12 -0
  235. package/dist/security/rules/unusual-settlement-amount-rule.d.ts.map +1 -0
  236. package/dist/security/rules/unusual-settlement-amount-rule.js +33 -0
  237. package/dist/security/rules/unusual-settlement-amount-rule.js.map +1 -0
  238. package/dist/security/token-bucket.d.ts +16 -0
  239. package/dist/security/token-bucket.d.ts.map +1 -0
  240. package/dist/security/token-bucket.js +49 -0
  241. package/dist/security/token-bucket.js.map +1 -0
  242. package/dist/security/violation-counter.d.ts +11 -0
  243. package/dist/security/violation-counter.d.ts.map +1 -0
  244. package/dist/security/violation-counter.js +61 -0
  245. package/dist/security/violation-counter.js.map +1 -0
  246. package/dist/settlement/account-id-generator.d.ts +4 -0
  247. package/dist/settlement/account-id-generator.d.ts.map +1 -0
  248. package/dist/settlement/account-id-generator.js +38 -0
  249. package/dist/settlement/account-id-generator.js.map +1 -0
  250. package/dist/settlement/account-manager.d.ts +47 -0
  251. package/dist/settlement/account-manager.d.ts.map +1 -0
  252. package/dist/settlement/account-manager.js +447 -0
  253. package/dist/settlement/account-manager.js.map +1 -0
  254. package/dist/settlement/account-metadata.d.ts +11 -0
  255. package/dist/settlement/account-metadata.d.ts.map +1 -0
  256. package/dist/settlement/account-metadata.js +40 -0
  257. package/dist/settlement/account-metadata.js.map +1 -0
  258. package/dist/settlement/aptos-channel-sdk.d.ts +66 -0
  259. package/dist/settlement/aptos-channel-sdk.d.ts.map +1 -0
  260. package/dist/settlement/aptos-channel-sdk.js +274 -0
  261. package/dist/settlement/aptos-channel-sdk.js.map +1 -0
  262. package/dist/settlement/aptos-claim-signer.d.ts +57 -0
  263. package/dist/settlement/aptos-claim-signer.d.ts.map +1 -0
  264. package/dist/settlement/aptos-claim-signer.js +200 -0
  265. package/dist/settlement/aptos-claim-signer.js.map +1 -0
  266. package/dist/settlement/aptos-client.d.ts +99 -0
  267. package/dist/settlement/aptos-client.d.ts.map +1 -0
  268. package/dist/settlement/aptos-client.js +474 -0
  269. package/dist/settlement/aptos-client.js.map +1 -0
  270. package/dist/settlement/channel-manager.d.ts +66 -0
  271. package/dist/settlement/channel-manager.d.ts.map +1 -0
  272. package/dist/settlement/channel-manager.js +214 -0
  273. package/dist/settlement/channel-manager.js.map +1 -0
  274. package/dist/settlement/claim-receiver-db-schema.d.ts +4 -0
  275. package/dist/settlement/claim-receiver-db-schema.d.ts.map +1 -0
  276. package/dist/settlement/claim-receiver-db-schema.js +25 -0
  277. package/dist/settlement/claim-receiver-db-schema.js.map +1 -0
  278. package/dist/settlement/claim-receiver.d.ts +31 -0
  279. package/dist/settlement/claim-receiver.d.ts.map +1 -0
  280. package/dist/settlement/claim-receiver.js +228 -0
  281. package/dist/settlement/claim-receiver.js.map +1 -0
  282. package/dist/settlement/claim-redemption-service.d.ts +39 -0
  283. package/dist/settlement/claim-redemption-service.d.ts.map +1 -0
  284. package/dist/settlement/claim-redemption-service.js +189 -0
  285. package/dist/settlement/claim-redemption-service.js.map +1 -0
  286. package/dist/settlement/claim-sender-db-schema.d.ts +3 -0
  287. package/dist/settlement/claim-sender-db-schema.d.ts.map +1 -0
  288. package/dist/settlement/claim-sender-db-schema.js +18 -0
  289. package/dist/settlement/claim-sender-db-schema.js.map +1 -0
  290. package/dist/settlement/claim-sender.d.ts +22 -0
  291. package/dist/settlement/claim-sender.d.ts.map +1 -0
  292. package/dist/settlement/claim-sender.js +108 -0
  293. package/dist/settlement/claim-sender.js.map +1 -0
  294. package/dist/settlement/eip712-helper.d.ts +13 -0
  295. package/dist/settlement/eip712-helper.d.ts.map +1 -0
  296. package/dist/settlement/eip712-helper.js +24 -0
  297. package/dist/settlement/eip712-helper.js.map +1 -0
  298. package/dist/settlement/in-memory-ledger-client.d.ts +40 -0
  299. package/dist/settlement/in-memory-ledger-client.d.ts.map +1 -0
  300. package/dist/settlement/in-memory-ledger-client.js +177 -0
  301. package/dist/settlement/in-memory-ledger-client.js.map +1 -0
  302. package/dist/settlement/ledger-client.d.ts +22 -0
  303. package/dist/settlement/ledger-client.d.ts.map +1 -0
  304. package/dist/settlement/ledger-client.js +3 -0
  305. package/dist/settlement/ledger-client.js.map +1 -0
  306. package/dist/settlement/metrics-collector.d.ts +29 -0
  307. package/dist/settlement/metrics-collector.d.ts.map +1 -0
  308. package/dist/settlement/metrics-collector.js +81 -0
  309. package/dist/settlement/metrics-collector.js.map +1 -0
  310. package/dist/settlement/payment-channel-sdk.d.ts +59 -0
  311. package/dist/settlement/payment-channel-sdk.d.ts.map +1 -0
  312. package/dist/settlement/payment-channel-sdk.js +677 -0
  313. package/dist/settlement/payment-channel-sdk.js.map +1 -0
  314. package/dist/settlement/per-packet-claim-service.d.ts +33 -0
  315. package/dist/settlement/per-packet-claim-service.d.ts.map +1 -0
  316. package/dist/settlement/per-packet-claim-service.js +177 -0
  317. package/dist/settlement/per-packet-claim-service.js.map +1 -0
  318. package/dist/settlement/settlement-api.d.ts +37 -0
  319. package/dist/settlement/settlement-api.d.ts.map +1 -0
  320. package/dist/settlement/settlement-api.js +172 -0
  321. package/dist/settlement/settlement-api.js.map +1 -0
  322. package/dist/settlement/settlement-coordinator.d.ts +47 -0
  323. package/dist/settlement/settlement-coordinator.d.ts.map +1 -0
  324. package/dist/settlement/settlement-coordinator.js +166 -0
  325. package/dist/settlement/settlement-coordinator.js.map +1 -0
  326. package/dist/settlement/settlement-executor.d.ts +44 -0
  327. package/dist/settlement/settlement-executor.d.ts.map +1 -0
  328. package/dist/settlement/settlement-executor.js +247 -0
  329. package/dist/settlement/settlement-executor.js.map +1 -0
  330. package/dist/settlement/settlement-monitor.d.ts +29 -0
  331. package/dist/settlement/settlement-monitor.d.ts.map +1 -0
  332. package/dist/settlement/settlement-monitor.js +172 -0
  333. package/dist/settlement/settlement-monitor.js.map +1 -0
  334. package/dist/settlement/tigerbeetle-batch-writer.d.ts +58 -0
  335. package/dist/settlement/tigerbeetle-batch-writer.d.ts.map +1 -0
  336. package/dist/settlement/tigerbeetle-batch-writer.js +162 -0
  337. package/dist/settlement/tigerbeetle-batch-writer.js.map +1 -0
  338. package/dist/settlement/tigerbeetle-client.d.ts +40 -0
  339. package/dist/settlement/tigerbeetle-client.d.ts.map +1 -0
  340. package/dist/settlement/tigerbeetle-client.js +279 -0
  341. package/dist/settlement/tigerbeetle-client.js.map +1 -0
  342. package/dist/settlement/tigerbeetle-errors.d.ts +23 -0
  343. package/dist/settlement/tigerbeetle-errors.d.ts.map +1 -0
  344. package/dist/settlement/tigerbeetle-errors.js +58 -0
  345. package/dist/settlement/tigerbeetle-errors.js.map +1 -0
  346. package/dist/settlement/types.d.ts +64 -0
  347. package/dist/settlement/types.d.ts.map +1 -0
  348. package/dist/settlement/types.js +42 -0
  349. package/dist/settlement/types.js.map +1 -0
  350. package/dist/settlement/unified-settlement-executor.d.ts +34 -0
  351. package/dist/settlement/unified-settlement-executor.d.ts.map +1 -0
  352. package/dist/settlement/unified-settlement-executor.js +145 -0
  353. package/dist/settlement/unified-settlement-executor.js.map +1 -0
  354. package/dist/settlement/xrp-channel-lifecycle.d.ts +41 -0
  355. package/dist/settlement/xrp-channel-lifecycle.d.ts.map +1 -0
  356. package/dist/settlement/xrp-channel-lifecycle.js +142 -0
  357. package/dist/settlement/xrp-channel-lifecycle.js.map +1 -0
  358. package/dist/settlement/xrp-channel-manager.d.ts +59 -0
  359. package/dist/settlement/xrp-channel-manager.d.ts.map +1 -0
  360. package/dist/settlement/xrp-channel-manager.js +160 -0
  361. package/dist/settlement/xrp-channel-manager.js.map +1 -0
  362. package/dist/settlement/xrp-channel-sdk.d.ts +30 -0
  363. package/dist/settlement/xrp-channel-sdk.d.ts.map +1 -0
  364. package/dist/settlement/xrp-channel-sdk.js +164 -0
  365. package/dist/settlement/xrp-channel-sdk.js.map +1 -0
  366. package/dist/settlement/xrp-claim-signer.d.ts +22 -0
  367. package/dist/settlement/xrp-claim-signer.d.ts.map +1 -0
  368. package/dist/settlement/xrp-claim-signer.js +122 -0
  369. package/dist/settlement/xrp-claim-signer.js.map +1 -0
  370. package/dist/settlement/xrpl-client.d.ts +104 -0
  371. package/dist/settlement/xrpl-client.d.ts.map +1 -0
  372. package/dist/settlement/xrpl-client.js +304 -0
  373. package/dist/settlement/xrpl-client.js.map +1 -0
  374. package/dist/test/testnet-config.d.ts +58 -0
  375. package/dist/test/testnet-config.d.ts.map +1 -0
  376. package/dist/test/testnet-config.js +89 -0
  377. package/dist/test/testnet-config.js.map +1 -0
  378. package/dist/test-utils/index.d.ts +3 -0
  379. package/dist/test-utils/index.d.ts.map +1 -0
  380. package/dist/test-utils/index.js +15 -0
  381. package/dist/test-utils/index.js.map +1 -0
  382. package/dist/test-utils/isolated-test-env.d.ts +31 -0
  383. package/dist/test-utils/isolated-test-env.d.ts.map +1 -0
  384. package/dist/test-utils/isolated-test-env.js +127 -0
  385. package/dist/test-utils/isolated-test-env.js.map +1 -0
  386. package/dist/test-utils/mock-factories-patch.d.ts +2 -0
  387. package/dist/test-utils/mock-factories-patch.d.ts.map +1 -0
  388. package/dist/test-utils/mock-factories-patch.js +3 -0
  389. package/dist/test-utils/mock-factories-patch.js.map +1 -0
  390. package/dist/test-utils/mock-factories.d.ts +22 -0
  391. package/dist/test-utils/mock-factories.d.ts.map +1 -0
  392. package/dist/test-utils/mock-factories.js +56 -0
  393. package/dist/test-utils/mock-factories.js.map +1 -0
  394. package/dist/utils/connection-pool.d.ts +42 -0
  395. package/dist/utils/connection-pool.d.ts.map +1 -0
  396. package/dist/utils/connection-pool.js +209 -0
  397. package/dist/utils/connection-pool.js.map +1 -0
  398. package/dist/utils/evm-rpc-connection-pool.d.ts +8 -0
  399. package/dist/utils/evm-rpc-connection-pool.d.ts.map +1 -0
  400. package/dist/utils/evm-rpc-connection-pool.js +40 -0
  401. package/dist/utils/evm-rpc-connection-pool.js.map +1 -0
  402. package/dist/utils/logger.d.ts +6 -0
  403. package/dist/utils/logger.d.ts.map +1 -0
  404. package/dist/utils/logger.js +58 -0
  405. package/dist/utils/logger.js.map +1 -0
  406. package/dist/utils/optional-require.d.ts +2 -0
  407. package/dist/utils/optional-require.d.ts.map +1 -0
  408. package/dist/utils/optional-require.js +54 -0
  409. package/dist/utils/optional-require.js.map +1 -0
  410. package/dist/utils/xrp-wss-connection-pool.d.ts +8 -0
  411. package/dist/utils/xrp-wss-connection-pool.d.ts.map +1 -0
  412. package/dist/utils/xrp-wss-connection-pool.js +42 -0
  413. package/dist/utils/xrp-wss-connection-pool.js.map +1 -0
  414. package/dist/wallet/audit-logger.d.ts +22 -0
  415. package/dist/wallet/audit-logger.d.ts.map +1 -0
  416. package/dist/wallet/audit-logger.js +120 -0
  417. package/dist/wallet/audit-logger.js.map +1 -0
  418. package/dist/wallet/fraud-detector-interface.d.ts +14 -0
  419. package/dist/wallet/fraud-detector-interface.d.ts.map +1 -0
  420. package/dist/wallet/fraud-detector-interface.js +3 -0
  421. package/dist/wallet/fraud-detector-interface.js.map +1 -0
  422. package/dist/wallet/key-manager.d.ts +6 -0
  423. package/dist/wallet/key-manager.d.ts.map +1 -0
  424. package/dist/wallet/key-manager.js +3 -0
  425. package/dist/wallet/key-manager.js.map +1 -0
  426. package/dist/wallet/placeholder-fraud-detector.d.ts +10 -0
  427. package/dist/wallet/placeholder-fraud-detector.d.ts.map +1 -0
  428. package/dist/wallet/placeholder-fraud-detector.js +10 -0
  429. package/dist/wallet/placeholder-fraud-detector.js.map +1 -0
  430. package/dist/wallet/rate-limiter.d.ts +26 -0
  431. package/dist/wallet/rate-limiter.d.ts.map +1 -0
  432. package/dist/wallet/rate-limiter.js +114 -0
  433. package/dist/wallet/rate-limiter.js.map +1 -0
  434. package/dist/wallet/suspicious-activity-detector.d.ts +25 -0
  435. package/dist/wallet/suspicious-activity-detector.d.ts.map +1 -0
  436. package/dist/wallet/suspicious-activity-detector.js +97 -0
  437. package/dist/wallet/suspicious-activity-detector.js.map +1 -0
  438. package/dist/wallet/treasury-wallet.d.ts +20 -0
  439. package/dist/wallet/treasury-wallet.d.ts.map +1 -0
  440. package/dist/wallet/treasury-wallet.js +151 -0
  441. package/dist/wallet/treasury-wallet.js.map +1 -0
  442. package/dist/wallet/wallet-authentication.d.ts +31 -0
  443. package/dist/wallet/wallet-authentication.d.ts.map +1 -0
  444. package/dist/wallet/wallet-authentication.js +102 -0
  445. package/dist/wallet/wallet-authentication.js.map +1 -0
  446. package/dist/wallet/wallet-db-schema.d.ts +11 -0
  447. package/dist/wallet/wallet-db-schema.d.ts.map +1 -0
  448. package/dist/wallet/wallet-db-schema.js +79 -0
  449. package/dist/wallet/wallet-db-schema.js.map +1 -0
  450. package/dist/wallet/wallet-security.d.ts +58 -0
  451. package/dist/wallet/wallet-security.d.ts.map +1 -0
  452. package/dist/wallet/wallet-security.js +148 -0
  453. package/dist/wallet/wallet-security.js.map +1 -0
  454. package/dist/wallet/wallet-seed-manager.d.ts +65 -0
  455. package/dist/wallet/wallet-seed-manager.d.ts.map +1 -0
  456. package/dist/wallet/wallet-seed-manager.js +418 -0
  457. package/dist/wallet/wallet-seed-manager.js.map +1 -0
  458. package/package.json +134 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suspicious-activity-detector.js","sourceRoot":"","sources":["../../src/wallet/suspicious-activity-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { Provider } from 'ethers';
2
+ export interface Transaction {
3
+ hash: string;
4
+ to: string;
5
+ value?: string;
6
+ }
7
+ export declare class TreasuryWallet {
8
+ private evmWallet;
9
+ private evmProvider;
10
+ evmAddress: string;
11
+ private noncePromise;
12
+ private evmPrivateKey;
13
+ constructor(evmPrivateKey: string, evmProvider: Provider);
14
+ private ensureEvmInitialized;
15
+ private getNextNonce;
16
+ sendETH(to: string, amount: bigint): Promise<Transaction>;
17
+ sendERC20(to: string, tokenAddress: string, amount: bigint): Promise<Transaction>;
18
+ getBalance(token: string): Promise<bigint>;
19
+ }
20
+ //# sourceMappingURL=treasury-wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treasury-wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/treasury-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAiB/C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAW;IACvB,UAAU,EAAE,MAAM,CAAM;IAC/B,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,aAAa,CAAS;gBAQlB,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ;YAgB1C,oBAAoB;IAwBlC,OAAO,CAAC,YAAY;IAgBd,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0DzD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA+CjF,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA0BjD"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TreasuryWallet = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pino_1 = tslib_1.__importDefault(require("pino"));
6
+ const optional_require_1 = require("../utils/optional-require");
7
+ const logger = (0, pino_1.default)({ name: 'treasury-wallet' });
8
+ const ERC20_ABI = [
9
+ 'function transfer(address to, uint256 amount) returns (bool)',
10
+ 'function balanceOf(address owner) view returns (uint256)',
11
+ ];
12
+ class TreasuryWallet {
13
+ evmWallet = null;
14
+ evmProvider;
15
+ evmAddress = '';
16
+ noncePromise = null;
17
+ evmPrivateKey;
18
+ constructor(evmPrivateKey, evmProvider) {
19
+ if (!evmPrivateKey) {
20
+ throw new Error('Treasury private key is required');
21
+ }
22
+ this.evmPrivateKey = evmPrivateKey;
23
+ this.evmProvider = evmProvider;
24
+ logger.info('Treasury wallet config stored (wallet initialization deferred)');
25
+ }
26
+ async ensureEvmInitialized() {
27
+ if (this.evmWallet)
28
+ return this.evmWallet;
29
+ try {
30
+ const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
31
+ this.evmWallet = new ethers.Wallet(this.evmPrivateKey, this.evmProvider);
32
+ this.evmAddress = this.evmWallet.address;
33
+ logger.info('EVM wallet initialized', { evmAddress: this.evmAddress });
34
+ return this.evmWallet;
35
+ }
36
+ catch (error) {
37
+ if (error instanceof Error && error.message.includes('is required for')) {
38
+ throw error;
39
+ }
40
+ logger.error('Failed to initialize EVM wallet', {
41
+ error: error instanceof Error ? error.message : String(error),
42
+ });
43
+ throw new Error('Failed to initialize treasury EVM wallet');
44
+ }
45
+ }
46
+ getNextNonce() {
47
+ this.noncePromise = this.noncePromise
48
+ ? this.noncePromise.then(async (prevNonce) => prevNonce + 1)
49
+ : this.evmProvider.getTransactionCount(this.evmAddress, 'pending');
50
+ return this.noncePromise;
51
+ }
52
+ async sendETH(to, amount) {
53
+ try {
54
+ const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
55
+ const evmWallet = await this.ensureEvmInitialized();
56
+ if (!ethers.isAddress(to)) {
57
+ throw new Error(`Invalid EVM address: ${to}`);
58
+ }
59
+ const nonce = await this.getNextNonce();
60
+ const feeData = await this.evmProvider.getFeeData();
61
+ const tx = await evmWallet.sendTransaction({
62
+ to,
63
+ value: amount,
64
+ nonce,
65
+ gasLimit: 21000,
66
+ maxFeePerGas: feeData.maxFeePerGas ?? undefined,
67
+ maxPriorityFeePerGas: feeData.maxPriorityFeePerGas ?? undefined,
68
+ });
69
+ logger.info('ETH sent', {
70
+ to,
71
+ amount: amount.toString(),
72
+ txHash: tx.hash,
73
+ nonce,
74
+ });
75
+ return {
76
+ hash: tx.hash,
77
+ to: tx.to ?? to,
78
+ value: amount.toString(),
79
+ };
80
+ }
81
+ catch (error) {
82
+ logger.error('Failed to send ETH', {
83
+ to,
84
+ amount: amount.toString(),
85
+ error: error instanceof Error ? error.message : String(error),
86
+ });
87
+ this.noncePromise = null;
88
+ throw error;
89
+ }
90
+ }
91
+ async sendERC20(to, tokenAddress, amount) {
92
+ try {
93
+ const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
94
+ const evmWallet = await this.ensureEvmInitialized();
95
+ if (!ethers.isAddress(to)) {
96
+ throw new Error(`Invalid recipient address: ${to}`);
97
+ }
98
+ if (!ethers.isAddress(tokenAddress)) {
99
+ throw new Error(`Invalid token address: ${tokenAddress}`);
100
+ }
101
+ const tokenContract = new ethers.Contract(tokenAddress, ERC20_ABI, evmWallet);
102
+ const tx = await tokenContract.transfer(to, amount);
103
+ logger.info('ERC20 sent', {
104
+ to,
105
+ tokenAddress,
106
+ amount: amount.toString(),
107
+ txHash: tx.hash,
108
+ });
109
+ return {
110
+ hash: tx.hash,
111
+ to,
112
+ };
113
+ }
114
+ catch (error) {
115
+ logger.error('Failed to send ERC20', {
116
+ to,
117
+ tokenAddress,
118
+ amount: amount.toString(),
119
+ error: error instanceof Error ? error.message : String(error),
120
+ });
121
+ throw error;
122
+ }
123
+ }
124
+ async getBalance(token) {
125
+ try {
126
+ const { ethers } = await (0, optional_require_1.requireOptional)('ethers', 'EVM settlement');
127
+ await this.ensureEvmInitialized();
128
+ if (token === 'ETH' || token.toLowerCase() === 'eth') {
129
+ const balance = await this.evmProvider.getBalance(this.evmAddress);
130
+ return balance;
131
+ }
132
+ else {
133
+ if (!ethers.isAddress(token)) {
134
+ throw new Error(`Invalid token address: ${token}`);
135
+ }
136
+ const tokenContract = new ethers.Contract(token, ERC20_ABI, this.evmProvider);
137
+ const balance = await tokenContract.balanceOf(this.evmAddress);
138
+ return balance;
139
+ }
140
+ }
141
+ catch (error) {
142
+ logger.error('Failed to get balance', {
143
+ token,
144
+ error: error instanceof Error ? error.message : String(error),
145
+ });
146
+ throw error;
147
+ }
148
+ }
149
+ }
150
+ exports.TreasuryWallet = TreasuryWallet;
151
+ //# sourceMappingURL=treasury-wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"treasury-wallet.js","sourceRoot":"","sources":["../../src/wallet/treasury-wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { Logger } from 'pino';
2
+ export interface AuthConfig {
3
+ method: 'password' | '2fa' | 'hsm';
4
+ passwordMinLength: number;
5
+ totpEnabled: boolean;
6
+ totpSecret?: string;
7
+ }
8
+ export interface PasswordHash {
9
+ hash: Buffer;
10
+ salt: Buffer;
11
+ iterations: number;
12
+ }
13
+ export declare class UnauthorizedError extends Error {
14
+ constructor(operation: string);
15
+ }
16
+ export declare class WalletAuthenticationManager {
17
+ private config;
18
+ private logger;
19
+ private passwordHash?;
20
+ private totpSecret?;
21
+ private static readonly PBKDF2_ITERATIONS;
22
+ private static readonly PBKDF2_KEY_LENGTH;
23
+ private static readonly PBKDF2_DIGEST;
24
+ constructor(config: AuthConfig, logger: Logger);
25
+ setPassword(password: string): Promise<void>;
26
+ authenticatePassword(password: string): Promise<boolean>;
27
+ authenticate2FA(token: string): Promise<boolean>;
28
+ authenticateHSM(): Promise<boolean>;
29
+ authenticate(credentials: string): Promise<boolean>;
30
+ }
31
+ //# sourceMappingURL=wallet-authentication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-authentication.d.ts","sourceRoot":"","sources":["../../src/wallet/wallet-authentication.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAKnC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,SAAS,EAAE,MAAM;CAI9B;AAMD,qBAAa,2BAA2B;IACtC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,UAAU,CAAC,CAAS;IAG5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAY;gBAErC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAqBxC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC5C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwCxD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4ChD,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAkBnC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAa1D"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WalletAuthenticationManager = exports.UnauthorizedError = void 0;
4
+ const crypto_1 = require("crypto");
5
+ class UnauthorizedError extends Error {
6
+ constructor(operation) {
7
+ super(`Unauthorized access to ${operation}: authentication required`);
8
+ this.name = 'UnauthorizedError';
9
+ }
10
+ }
11
+ exports.UnauthorizedError = UnauthorizedError;
12
+ class WalletAuthenticationManager {
13
+ config;
14
+ logger;
15
+ passwordHash;
16
+ totpSecret;
17
+ static PBKDF2_ITERATIONS = 100000;
18
+ static PBKDF2_KEY_LENGTH = 32;
19
+ static PBKDF2_DIGEST = 'sha256';
20
+ constructor(config, logger) {
21
+ this.config = config;
22
+ this.logger = logger;
23
+ if (config.method === '2fa' && !config.totpSecret) {
24
+ throw new Error('TOTP secret required when 2FA authentication enabled');
25
+ }
26
+ if (config.method === '2fa') {
27
+ this.totpSecret = config.totpSecret;
28
+ }
29
+ }
30
+ async setPassword(password) {
31
+ if (password.length < this.config.passwordMinLength) {
32
+ throw new Error(`Password must be at least ${this.config.passwordMinLength} characters long`);
33
+ }
34
+ const salt = (0, crypto_1.randomBytes)(32);
35
+ const hash = (0, crypto_1.pbkdf2Sync)(password, salt, WalletAuthenticationManager.PBKDF2_ITERATIONS, WalletAuthenticationManager.PBKDF2_KEY_LENGTH, WalletAuthenticationManager.PBKDF2_DIGEST);
36
+ this.passwordHash = {
37
+ hash,
38
+ salt,
39
+ iterations: WalletAuthenticationManager.PBKDF2_ITERATIONS,
40
+ };
41
+ this.logger.info({ method: 'password' }, 'Password authentication configured');
42
+ }
43
+ async authenticatePassword(password) {
44
+ if (!this.passwordHash) {
45
+ this.logger.warn('Password authentication attempted but no password configured');
46
+ return false;
47
+ }
48
+ try {
49
+ const hash = (0, crypto_1.pbkdf2Sync)(password, this.passwordHash.salt, this.passwordHash.iterations, WalletAuthenticationManager.PBKDF2_KEY_LENGTH, WalletAuthenticationManager.PBKDF2_DIGEST);
50
+ const isValid = (0, crypto_1.timingSafeEqual)(hash, this.passwordHash.hash);
51
+ if (isValid) {
52
+ this.logger.info({ method: 'password' }, 'Password authentication successful');
53
+ }
54
+ else {
55
+ this.logger.warn({ method: 'password' }, 'Password authentication failed');
56
+ }
57
+ return isValid;
58
+ }
59
+ catch (error) {
60
+ this.logger.error({ error, method: 'password' }, 'Password authentication error');
61
+ return false;
62
+ }
63
+ }
64
+ async authenticate2FA(token) {
65
+ if (!this.totpSecret) {
66
+ this.logger.warn('2FA authentication attempted but no TOTP secret configured');
67
+ return false;
68
+ }
69
+ try {
70
+ if (!/^\d{6}$/.test(token)) {
71
+ this.logger.warn({ method: '2fa' }, '2FA token invalid format (expected 6 digits)');
72
+ return false;
73
+ }
74
+ this.logger.info({ method: '2fa' }, '2FA authentication requested (placeholder implementation)');
75
+ this.logger.warn({ method: '2fa' }, '2FA not implemented in MVP - authentication failed');
76
+ return false;
77
+ }
78
+ catch (error) {
79
+ this.logger.error({ error, method: '2fa' }, '2FA authentication error');
80
+ return false;
81
+ }
82
+ }
83
+ async authenticateHSM() {
84
+ this.logger.info({ method: 'hsm' }, 'HSM authentication requested (not implemented - Epic 12)');
85
+ return false;
86
+ }
87
+ async authenticate(credentials) {
88
+ switch (this.config.method) {
89
+ case 'password':
90
+ return this.authenticatePassword(credentials);
91
+ case '2fa':
92
+ return this.authenticate2FA(credentials);
93
+ case 'hsm':
94
+ return this.authenticateHSM();
95
+ default:
96
+ this.logger.error({ method: this.config.method }, 'Unknown authentication method');
97
+ return false;
98
+ }
99
+ }
100
+ }
101
+ exports.WalletAuthenticationManager = WalletAuthenticationManager;
102
+ //# sourceMappingURL=wallet-authentication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-authentication.js","sourceRoot":"","sources":["../../src/wallet/wallet-authentication.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const AGENT_WALLETS_TABLE_SCHEMA = "\nCREATE TABLE IF NOT EXISTS agent_wallets (\n agent_id TEXT PRIMARY KEY, -- Unique agent identifier\n derivation_index INTEGER UNIQUE NOT NULL, -- BIP-44 index (prevents collisions)\n evm_address TEXT NOT NULL, -- Ethereum/Base L2 address\n created_at INTEGER NOT NULL, -- Unix timestamp\n metadata TEXT -- JSON-serialized optional metadata\n);\n";
2
+ export declare const AGENT_WALLETS_INDEXES: string[];
3
+ export declare const AGENT_BALANCES_TABLE_SCHEMA = "\nCREATE TABLE IF NOT EXISTS agent_balances (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n agent_id TEXT NOT NULL, -- References agent_wallets.agent_id\n chain TEXT NOT NULL, -- 'evm'\n token TEXT NOT NULL, -- Token identifier\n balance TEXT NOT NULL, -- Balance as string (bigint serialized)\n timestamp INTEGER NOT NULL -- Unix timestamp\n);\n";
4
+ export declare const AGENT_BALANCES_INDEXES: string[];
5
+ export declare const WALLET_LIFECYCLE_TABLE_SCHEMA = "\nCREATE TABLE IF NOT EXISTS wallet_lifecycle (\n agent_id TEXT PRIMARY KEY, -- References agent_wallets.agent_id\n state TEXT NOT NULL, -- Current lifecycle state\n created_at INTEGER NOT NULL, -- Unix timestamp (wallet created)\n activated_at INTEGER, -- Unix timestamp (wallet activated)\n suspended_at INTEGER, -- Unix timestamp (wallet suspended)\n archived_at INTEGER, -- Unix timestamp (wallet archived)\n last_activity INTEGER, -- Unix timestamp (last transaction)\n total_transactions INTEGER NOT NULL, -- Total transaction count\n total_volume TEXT, -- JSON: { token: volume_string }\n suspension_reason TEXT -- Reason for suspension (if applicable)\n);\n";
6
+ export declare const WALLET_LIFECYCLE_INDEXES: string[];
7
+ export declare const WALLET_ARCHIVES_TABLE_SCHEMA = "\nCREATE TABLE IF NOT EXISTS wallet_archives (\n agent_id TEXT PRIMARY KEY, -- Archived agent identifier\n wallet_data TEXT NOT NULL, -- JSON-serialized AgentWallet\n balances TEXT NOT NULL, -- JSON: { \"chain:token\": balance_string }\n lifecycle_data TEXT NOT NULL, -- JSON-serialized WalletLifecycleRecord\n archived_at INTEGER NOT NULL -- Unix timestamp (archived)\n);\n";
8
+ export declare const WALLET_ARCHIVES_INDEXES: string[];
9
+ export declare const AGENT_CHANNELS_TABLE_SCHEMA = "\nCREATE TABLE IF NOT EXISTS agent_channels (\n agent_id TEXT NOT NULL, -- Agent identifier\n channel_id TEXT PRIMARY KEY, -- On-chain channel ID (EVM: bytes32)\n chain TEXT NOT NULL, -- 'evm'\n peer_id TEXT NOT NULL, -- Peer agent identifier\n token TEXT NOT NULL, -- Token symbol (EVM: USDC/DAI)\n opened_at INTEGER NOT NULL, -- Unix timestamp (channel opened)\n last_activity_at INTEGER, -- Unix timestamp (last payment)\n closed_at INTEGER -- Unix timestamp (channel closed, NULL if active)\n);\n";
10
+ export declare const AGENT_CHANNELS_INDEXES: string[];
11
+ //# sourceMappingURL=wallet-db-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-db-schema.d.ts","sourceRoot":"","sources":["../../src/wallet/wallet-db-schema.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,0BAA0B,yZAQtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAGjC,CAAC;AASF,eAAO,MAAM,2BAA2B,saASvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAGlC,CAAC;AASF,eAAO,MAAM,6BAA6B,syBAazC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAGpC,CAAC;AASF,eAAO,MAAM,4BAA4B,gbAQxC,CAAC;AAEF,eAAO,MAAM,uBAAuB,UAEnC,CAAC;AASF,eAAO,MAAM,2BAA2B,2mBAWvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,UAKlC,CAAC"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGENT_CHANNELS_INDEXES = exports.AGENT_CHANNELS_TABLE_SCHEMA = exports.WALLET_ARCHIVES_INDEXES = exports.WALLET_ARCHIVES_TABLE_SCHEMA = exports.WALLET_LIFECYCLE_INDEXES = exports.WALLET_LIFECYCLE_TABLE_SCHEMA = exports.AGENT_BALANCES_INDEXES = exports.AGENT_BALANCES_TABLE_SCHEMA = exports.AGENT_WALLETS_INDEXES = exports.AGENT_WALLETS_TABLE_SCHEMA = void 0;
4
+ exports.AGENT_WALLETS_TABLE_SCHEMA = `
5
+ CREATE TABLE IF NOT EXISTS agent_wallets (
6
+ agent_id TEXT PRIMARY KEY, -- Unique agent identifier
7
+ derivation_index INTEGER UNIQUE NOT NULL, -- BIP-44 index (prevents collisions)
8
+ evm_address TEXT NOT NULL, -- Ethereum/Base L2 address
9
+ created_at INTEGER NOT NULL, -- Unix timestamp
10
+ metadata TEXT -- JSON-serialized optional metadata
11
+ );
12
+ `;
13
+ exports.AGENT_WALLETS_INDEXES = [
14
+ 'CREATE INDEX IF NOT EXISTS idx_derivation_index ON agent_wallets(derivation_index);',
15
+ 'CREATE INDEX IF NOT EXISTS idx_evm_address ON agent_wallets(evm_address);',
16
+ ];
17
+ exports.AGENT_BALANCES_TABLE_SCHEMA = `
18
+ CREATE TABLE IF NOT EXISTS agent_balances (
19
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
20
+ agent_id TEXT NOT NULL, -- References agent_wallets.agent_id
21
+ chain TEXT NOT NULL, -- 'evm'
22
+ token TEXT NOT NULL, -- Token identifier
23
+ balance TEXT NOT NULL, -- Balance as string (bigint serialized)
24
+ timestamp INTEGER NOT NULL -- Unix timestamp
25
+ );
26
+ `;
27
+ exports.AGENT_BALANCES_INDEXES = [
28
+ 'CREATE INDEX IF NOT EXISTS idx_agent_balances_lookup ON agent_balances(agent_id, chain, token);',
29
+ 'CREATE INDEX IF NOT EXISTS idx_agent_balances_timestamp ON agent_balances(timestamp);',
30
+ ];
31
+ exports.WALLET_LIFECYCLE_TABLE_SCHEMA = `
32
+ CREATE TABLE IF NOT EXISTS wallet_lifecycle (
33
+ agent_id TEXT PRIMARY KEY, -- References agent_wallets.agent_id
34
+ state TEXT NOT NULL, -- Current lifecycle state
35
+ created_at INTEGER NOT NULL, -- Unix timestamp (wallet created)
36
+ activated_at INTEGER, -- Unix timestamp (wallet activated)
37
+ suspended_at INTEGER, -- Unix timestamp (wallet suspended)
38
+ archived_at INTEGER, -- Unix timestamp (wallet archived)
39
+ last_activity INTEGER, -- Unix timestamp (last transaction)
40
+ total_transactions INTEGER NOT NULL, -- Total transaction count
41
+ total_volume TEXT, -- JSON: { token: volume_string }
42
+ suspension_reason TEXT -- Reason for suspension (if applicable)
43
+ );
44
+ `;
45
+ exports.WALLET_LIFECYCLE_INDEXES = [
46
+ 'CREATE INDEX IF NOT EXISTS idx_lifecycle_state ON wallet_lifecycle(state);',
47
+ 'CREATE INDEX IF NOT EXISTS idx_lifecycle_last_activity ON wallet_lifecycle(last_activity);',
48
+ ];
49
+ exports.WALLET_ARCHIVES_TABLE_SCHEMA = `
50
+ CREATE TABLE IF NOT EXISTS wallet_archives (
51
+ agent_id TEXT PRIMARY KEY, -- Archived agent identifier
52
+ wallet_data TEXT NOT NULL, -- JSON-serialized AgentWallet
53
+ balances TEXT NOT NULL, -- JSON: { "chain:token": balance_string }
54
+ lifecycle_data TEXT NOT NULL, -- JSON-serialized WalletLifecycleRecord
55
+ archived_at INTEGER NOT NULL -- Unix timestamp (archived)
56
+ );
57
+ `;
58
+ exports.WALLET_ARCHIVES_INDEXES = [
59
+ 'CREATE INDEX IF NOT EXISTS idx_archives_archived_at ON wallet_archives(archived_at);',
60
+ ];
61
+ exports.AGENT_CHANNELS_TABLE_SCHEMA = `
62
+ CREATE TABLE IF NOT EXISTS agent_channels (
63
+ agent_id TEXT NOT NULL, -- Agent identifier
64
+ channel_id TEXT PRIMARY KEY, -- On-chain channel ID (EVM: bytes32)
65
+ chain TEXT NOT NULL, -- 'evm'
66
+ peer_id TEXT NOT NULL, -- Peer agent identifier
67
+ token TEXT NOT NULL, -- Token symbol (EVM: USDC/DAI)
68
+ opened_at INTEGER NOT NULL, -- Unix timestamp (channel opened)
69
+ last_activity_at INTEGER, -- Unix timestamp (last payment)
70
+ closed_at INTEGER -- Unix timestamp (channel closed, NULL if active)
71
+ );
72
+ `;
73
+ exports.AGENT_CHANNELS_INDEXES = [
74
+ 'CREATE INDEX IF NOT EXISTS idx_channels_agent_id ON agent_channels(agent_id);',
75
+ 'CREATE INDEX IF NOT EXISTS idx_channels_chain ON agent_channels(chain);',
76
+ 'CREATE INDEX IF NOT EXISTS idx_channels_peer_id ON agent_channels(peer_id);',
77
+ 'CREATE INDEX IF NOT EXISTS idx_channels_closed_at ON agent_channels(closed_at);',
78
+ ];
79
+ //# sourceMappingURL=wallet-db-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-db-schema.js","sourceRoot":"","sources":["../../src/wallet/wallet-db-schema.ts"],"names":[],"mappings":";;;AAQa,QAAA,0BAA0B,GAAG;;;;;;;;CAQzC,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACnC,qFAAqF;IACrF,2EAA2E;CAC5E,CAAC;AASW,QAAA,2BAA2B,GAAG;;;;;;;;;CAS1C,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,iGAAiG;IACjG,uFAAuF;CACxF,CAAC;AASW,QAAA,6BAA6B,GAAG;;;;;;;;;;;;;CAa5C,CAAC;AAEW,QAAA,wBAAwB,GAAG;IACtC,4EAA4E;IAC5E,4FAA4F;CAC7F,CAAC;AASW,QAAA,4BAA4B,GAAG;;;;;;;;CAQ3C,CAAC;AAEW,QAAA,uBAAuB,GAAG;IACrC,sFAAsF;CACvF,CAAC;AASW,QAAA,2BAA2B,GAAG;;;;;;;;;;;CAW1C,CAAC;AAEW,QAAA,sBAAsB,GAAG;IACpC,+EAA+E;IAC/E,yEAAyE;IACzE,6EAA6E;IAC7E,iFAAiF;CAClF,CAAC"}
@@ -0,0 +1,58 @@
1
+ import type { Logger } from 'pino';
2
+ import type Database from 'better-sqlite3';
3
+ export interface SpendingLimits {
4
+ maxTransactionSize: bigint;
5
+ dailyLimit: bigint;
6
+ monthlyLimit: bigint;
7
+ }
8
+ export interface SecurityConfig {
9
+ authentication: {
10
+ method: 'password' | '2fa' | 'hsm';
11
+ passwordMinLength: number;
12
+ totpEnabled: boolean;
13
+ };
14
+ rateLimits: {
15
+ walletCreation: number;
16
+ fundingRequests: number;
17
+ };
18
+ spendingLimits: {
19
+ default: SpendingLimits;
20
+ perAgent: Record<string, SpendingLimits>;
21
+ };
22
+ fraudDetection: {
23
+ rapidFundingThreshold: number;
24
+ unusualTransactionStdDev: number;
25
+ };
26
+ }
27
+ export interface FraudCheckResult {
28
+ detected: boolean;
29
+ reason?: string;
30
+ score?: number;
31
+ }
32
+ export interface FraudDetector {
33
+ analyzeTransaction(params: {
34
+ agentId: string;
35
+ amount: bigint;
36
+ token: string;
37
+ timestamp: number;
38
+ }): Promise<FraudCheckResult>;
39
+ }
40
+ export interface AuditLogger {
41
+ auditLog(operation: string, agentId: string, details: Record<string, unknown>): Promise<void>;
42
+ }
43
+ export declare class SpendingLimitExceededError extends Error {
44
+ constructor(limitType: string, limit: bigint, attempted: bigint);
45
+ }
46
+ export declare class WalletSecurityManager {
47
+ private config;
48
+ private fraudDetector;
49
+ private logger;
50
+ private db?;
51
+ constructor(config: SecurityConfig, fraudDetector: FraudDetector, logger: Logger, db?: Database.Database);
52
+ sanitizeWalletData<T>(wallet: T): T;
53
+ getSpendingLimits(agentId: string): Promise<SpendingLimits>;
54
+ getDailySpending(agentId: string, token: string): Promise<bigint>;
55
+ getMonthlySpending(agentId: string, token: string): Promise<bigint>;
56
+ validateTransaction(agentId: string, amount: bigint, token: string): Promise<boolean>;
57
+ }
58
+ //# sourceMappingURL=wallet-security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-security.d.ts","sourceRoot":"","sources":["../../src/wallet/wallet-security.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAO3C,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE;QACd,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;QACnC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,cAAc,EAAE;QACd,OAAO,EAAE,cAAc,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;KAC1C,CAAC;IACF,cAAc,EAAE;QACd,qBAAqB,EAAE,MAAM,CAAC;QAC9B,wBAAwB,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AAKD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,aAAa;IAC5B,kBAAkB,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC/B;AAKD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAKD,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAIhE;AAMD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAC,CAAoB;gBAG7B,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAgBxB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC;IAgC7B,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmB3D,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCjE,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqCnE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAmF5F"}