@toon-protocol/connector 2.6.1 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/package.json +2 -2
  2. package/dist/btp/btp-claim-types.d.ts +0 -52
  3. package/dist/btp/btp-claim-types.d.ts.map +0 -1
  4. package/dist/btp/btp-claim-types.js +0 -209
  5. package/dist/btp/btp-claim-types.js.map +0 -1
  6. package/dist/btp/btp-client-manager.d.ts +0 -30
  7. package/dist/btp/btp-client-manager.d.ts.map +0 -1
  8. package/dist/btp/btp-client-manager.js +0 -153
  9. package/dist/btp/btp-client-manager.js.map +0 -1
  10. package/dist/btp/btp-client.d.ts +0 -58
  11. package/dist/btp/btp-client.d.ts.map +0 -1
  12. package/dist/btp/btp-client.js +0 -485
  13. package/dist/btp/btp-client.js.map +0 -1
  14. package/dist/btp/btp-message-parser.d.ts +0 -4
  15. package/dist/btp/btp-message-parser.d.ts.map +0 -1
  16. package/dist/btp/btp-message-parser.js +0 -211
  17. package/dist/btp/btp-message-parser.js.map +0 -1
  18. package/dist/btp/btp-server.d.ts +0 -33
  19. package/dist/btp/btp-server.d.ts.map +0 -1
  20. package/dist/btp/btp-server.js +0 -485
  21. package/dist/btp/btp-server.js.map +0 -1
  22. package/dist/btp/btp-types.d.ts +0 -43
  23. package/dist/btp/btp-types.d.ts.map +0 -1
  24. package/dist/btp/btp-types.js +0 -44
  25. package/dist/btp/btp-types.js.map +0 -1
  26. package/dist/btp/inbound-claim-validator.d.ts +0 -20
  27. package/dist/btp/inbound-claim-validator.d.ts.map +0 -1
  28. package/dist/btp/inbound-claim-validator.js +0 -150
  29. package/dist/btp/inbound-claim-validator.js.map +0 -1
  30. package/dist/cli/index.d.ts +0 -3
  31. package/dist/cli/index.d.ts.map +0 -1
  32. package/dist/cli/index.js +0 -175
  33. package/dist/cli/index.js.map +0 -1
  34. package/dist/cli/onboarding-wizard.d.ts +0 -7
  35. package/dist/cli/onboarding-wizard.d.ts.map +0 -1
  36. package/dist/cli/onboarding-wizard.js +0 -257
  37. package/dist/cli/onboarding-wizard.js.map +0 -1
  38. package/dist/cli/types.d.ts +0 -38
  39. package/dist/cli/types.d.ts.map +0 -1
  40. package/dist/cli/types.js +0 -3
  41. package/dist/cli/types.js.map +0 -1
  42. package/dist/config/config-loader.d.ts +0 -24
  43. package/dist/config/config-loader.d.ts.map +0 -1
  44. package/dist/config/config-loader.js +0 -436
  45. package/dist/config/config-loader.js.map +0 -1
  46. package/dist/config/environment-validator.d.ts +0 -4
  47. package/dist/config/environment-validator.d.ts.map +0 -1
  48. package/dist/config/environment-validator.js +0 -239
  49. package/dist/config/environment-validator.js.map +0 -1
  50. package/dist/config/index.d.ts +0 -3
  51. package/dist/config/index.d.ts.map +0 -1
  52. package/dist/config/index.js +0 -7
  53. package/dist/config/index.js.map +0 -1
  54. package/dist/config/key-manager-config.d.ts +0 -7
  55. package/dist/config/key-manager-config.d.ts.map +0 -1
  56. package/dist/config/key-manager-config.js +0 -209
  57. package/dist/config/key-manager-config.js.map +0 -1
  58. package/dist/config/topology-validator.d.ts +0 -14
  59. package/dist/config/topology-validator.d.ts.map +0 -1
  60. package/dist/config/topology-validator.js +0 -142
  61. package/dist/config/topology-validator.js.map +0 -1
  62. package/dist/config/types.d.ts +0 -223
  63. package/dist/config/types.d.ts.map +0 -1
  64. package/dist/config/types.js +0 -52
  65. package/dist/config/types.js.map +0 -1
  66. package/dist/core/connector-node.d.ts +0 -91
  67. package/dist/core/connector-node.d.ts.map +0 -1
  68. package/dist/core/connector-node.js +0 -1322
  69. package/dist/core/connector-node.js.map +0 -1
  70. package/dist/core/local-delivery-client.d.ts +0 -16
  71. package/dist/core/local-delivery-client.d.ts.map +0 -1
  72. package/dist/core/local-delivery-client.js +0 -160
  73. package/dist/core/local-delivery-client.js.map +0 -1
  74. package/dist/core/packet-handler.d.ts +0 -57
  75. package/dist/core/packet-handler.d.ts.map +0 -1
  76. package/dist/core/packet-handler.js +0 -655
  77. package/dist/core/packet-handler.js.map +0 -1
  78. package/dist/core/payment-handler.d.ts +0 -25
  79. package/dist/core/payment-handler.d.ts.map +0 -1
  80. package/dist/core/payment-handler.js +0 -104
  81. package/dist/core/payment-handler.js.map +0 -1
  82. package/dist/discovery/index.d.ts +0 -3
  83. package/dist/discovery/index.d.ts.map +0 -1
  84. package/dist/discovery/index.js +0 -6
  85. package/dist/discovery/index.js.map +0 -1
  86. package/dist/discovery/peer-discovery-service.d.ts +0 -29
  87. package/dist/discovery/peer-discovery-service.d.ts.map +0 -1
  88. package/dist/discovery/peer-discovery-service.js +0 -230
  89. package/dist/discovery/peer-discovery-service.js.map +0 -1
  90. package/dist/discovery/types.d.ts +0 -38
  91. package/dist/discovery/types.d.ts.map +0 -1
  92. package/dist/discovery/types.js +0 -3
  93. package/dist/discovery/types.js.map +0 -1
  94. package/dist/encoding/oer-parser.d.ts +0 -39
  95. package/dist/encoding/oer-parser.d.ts.map +0 -1
  96. package/dist/encoding/oer-parser.js +0 -154
  97. package/dist/encoding/oer-parser.js.map +0 -1
  98. package/dist/facilitator/index.d.ts +0 -2
  99. package/dist/facilitator/index.d.ts.map +0 -1
  100. package/dist/facilitator/index.js +0 -7
  101. package/dist/facilitator/index.js.map +0 -1
  102. package/dist/facilitator/spsp-client.d.ts +0 -18
  103. package/dist/facilitator/spsp-client.d.ts.map +0 -1
  104. package/dist/facilitator/spsp-client.js +0 -95
  105. package/dist/facilitator/spsp-client.js.map +0 -1
  106. package/dist/http/admin-api-inventory.d.ts +0 -29
  107. package/dist/http/admin-api-inventory.d.ts.map +0 -1
  108. package/dist/http/admin-api-inventory.js +0 -480
  109. package/dist/http/admin-api-inventory.js.map +0 -1
  110. package/dist/http/admin-api.d.ts +0 -182
  111. package/dist/http/admin-api.d.ts.map +0 -1
  112. package/dist/http/admin-api.js +0 -1324
  113. package/dist/http/admin-api.js.map +0 -1
  114. package/dist/http/admin-server.d.ts +0 -49
  115. package/dist/http/admin-server.d.ts.map +0 -1
  116. package/dist/http/admin-server.js +0 -160
  117. package/dist/http/admin-server.js.map +0 -1
  118. package/dist/http/health-server.d.ts +0 -22
  119. package/dist/http/health-server.d.ts.map +0 -1
  120. package/dist/http/health-server.js +0 -192
  121. package/dist/http/health-server.js.map +0 -1
  122. package/dist/http/ilp-send-handler.d.ts +0 -15
  123. package/dist/http/ilp-send-handler.d.ts.map +0 -1
  124. package/dist/http/ilp-send-handler.js +0 -149
  125. package/dist/http/ilp-send-handler.js.map +0 -1
  126. package/dist/http/types.d.ts +0 -43
  127. package/dist/http/types.d.ts.map +0 -1
  128. package/dist/http/types.js +0 -3
  129. package/dist/http/types.js.map +0 -1
  130. package/dist/index.d.ts +0 -2
  131. package/dist/index.d.ts.map +0 -1
  132. package/dist/index.js +0 -5
  133. package/dist/index.js.map +0 -1
  134. package/dist/lib.d.ts +0 -22
  135. package/dist/lib.d.ts.map +0 -1
  136. package/dist/lib.js +0 -39
  137. package/dist/lib.js.map +0 -1
  138. package/dist/main.d.ts +0 -4
  139. package/dist/main.d.ts.map +0 -1
  140. package/dist/main.js +0 -79
  141. package/dist/main.js.map +0 -1
  142. package/dist/observability/metrics-registry.d.ts +0 -39
  143. package/dist/observability/metrics-registry.d.ts.map +0 -1
  144. package/dist/observability/metrics-registry.js +0 -151
  145. package/dist/observability/metrics-registry.js.map +0 -1
  146. package/dist/routing/packet-processor.d.ts +0 -36
  147. package/dist/routing/packet-processor.d.ts.map +0 -1
  148. package/dist/routing/packet-processor.js +0 -112
  149. package/dist/routing/packet-processor.js.map +0 -1
  150. package/dist/routing/packet-worker.d.ts +0 -10
  151. package/dist/routing/packet-worker.d.ts.map +0 -1
  152. package/dist/routing/packet-worker.js +0 -34
  153. package/dist/routing/packet-worker.js.map +0 -1
  154. package/dist/routing/routing-table.d.ts +0 -15
  155. package/dist/routing/routing-table.d.ts.map +0 -1
  156. package/dist/routing/routing-table.js +0 -63
  157. package/dist/routing/routing-table.js.map +0 -1
  158. package/dist/routing/worker-pool.d.ts +0 -43
  159. package/dist/routing/worker-pool.d.ts.map +0 -1
  160. package/dist/routing/worker-pool.js +0 -228
  161. package/dist/routing/worker-pool.js.map +0 -1
  162. package/dist/security/alert-notifier.d.ts +0 -34
  163. package/dist/security/alert-notifier.d.ts.map +0 -1
  164. package/dist/security/alert-notifier.js +0 -136
  165. package/dist/security/alert-notifier.js.map +0 -1
  166. package/dist/security/audit-logger.d.ts +0 -34
  167. package/dist/security/audit-logger.d.ts.map +0 -1
  168. package/dist/security/audit-logger.js +0 -132
  169. package/dist/security/audit-logger.js.map +0 -1
  170. package/dist/security/backends/environment-backend.d.ts +0 -15
  171. package/dist/security/backends/environment-backend.d.ts.map +0 -1
  172. package/dist/security/backends/environment-backend.js +0 -56
  173. package/dist/security/backends/environment-backend.js.map +0 -1
  174. package/dist/security/fraud-detector.d.ts +0 -79
  175. package/dist/security/fraud-detector.d.ts.map +0 -1
  176. package/dist/security/fraud-detector.js +0 -147
  177. package/dist/security/fraud-detector.js.map +0 -1
  178. package/dist/security/key-manager-signer.d.ts +0 -15
  179. package/dist/security/key-manager-signer.d.ts.map +0 -1
  180. package/dist/security/key-manager-signer.js +0 -91
  181. package/dist/security/key-manager-signer.js.map +0 -1
  182. package/dist/security/key-manager.d.ts +0 -69
  183. package/dist/security/key-manager.d.ts.map +0 -1
  184. package/dist/security/key-manager.js +0 -79
  185. package/dist/security/key-manager.js.map +0 -1
  186. package/dist/security/key-rotation-manager.d.ts +0 -27
  187. package/dist/security/key-rotation-manager.d.ts.map +0 -1
  188. package/dist/security/key-rotation-manager.js +0 -142
  189. package/dist/security/key-rotation-manager.js.map +0 -1
  190. package/dist/security/rate-limit-config.d.ts +0 -7
  191. package/dist/security/rate-limit-config.d.ts.map +0 -1
  192. package/dist/security/rate-limit-config.js +0 -57
  193. package/dist/security/rate-limit-config.js.map +0 -1
  194. package/dist/security/rate-limiter.d.ts +0 -46
  195. package/dist/security/rate-limiter.d.ts.map +0 -1
  196. package/dist/security/rate-limiter.js +0 -170
  197. package/dist/security/rate-limiter.js.map +0 -1
  198. package/dist/security/reputation-tracker.d.ts +0 -30
  199. package/dist/security/reputation-tracker.d.ts.map +0 -1
  200. package/dist/security/reputation-tracker.js +0 -111
  201. package/dist/security/reputation-tracker.js.map +0 -1
  202. package/dist/security/rules/balance-manipulation-rule.d.ts +0 -23
  203. package/dist/security/rules/balance-manipulation-rule.d.ts.map +0 -1
  204. package/dist/security/rules/balance-manipulation-rule.js +0 -70
  205. package/dist/security/rules/balance-manipulation-rule.js.map +0 -1
  206. package/dist/security/rules/double-spend-detection-rule.d.ts +0 -23
  207. package/dist/security/rules/double-spend-detection-rule.d.ts.map +0 -1
  208. package/dist/security/rules/double-spend-detection-rule.js +0 -61
  209. package/dist/security/rules/double-spend-detection-rule.js.map +0 -1
  210. package/dist/security/rules/rapid-channel-closure-rule.d.ts +0 -16
  211. package/dist/security/rules/rapid-channel-closure-rule.d.ts.map +0 -1
  212. package/dist/security/rules/rapid-channel-closure-rule.js +0 -57
  213. package/dist/security/rules/rapid-channel-closure-rule.js.map +0 -1
  214. package/dist/security/rules/sudden-traffic-spike-rule.d.ts +0 -18
  215. package/dist/security/rules/sudden-traffic-spike-rule.d.ts.map +0 -1
  216. package/dist/security/rules/sudden-traffic-spike-rule.js +0 -92
  217. package/dist/security/rules/sudden-traffic-spike-rule.js.map +0 -1
  218. package/dist/security/rules/unusual-settlement-amount-rule.d.ts +0 -12
  219. package/dist/security/rules/unusual-settlement-amount-rule.d.ts.map +0 -1
  220. package/dist/security/rules/unusual-settlement-amount-rule.js +0 -33
  221. package/dist/security/rules/unusual-settlement-amount-rule.js.map +0 -1
  222. package/dist/security/token-bucket.d.ts +0 -16
  223. package/dist/security/token-bucket.d.ts.map +0 -1
  224. package/dist/security/token-bucket.js +0 -49
  225. package/dist/security/token-bucket.js.map +0 -1
  226. package/dist/security/violation-counter.d.ts +0 -11
  227. package/dist/security/violation-counter.d.ts.map +0 -1
  228. package/dist/security/violation-counter.js +0 -61
  229. package/dist/security/violation-counter.js.map +0 -1
  230. package/dist/settlement/account-id-generator.d.ts +0 -4
  231. package/dist/settlement/account-id-generator.d.ts.map +0 -1
  232. package/dist/settlement/account-id-generator.js +0 -38
  233. package/dist/settlement/account-id-generator.js.map +0 -1
  234. package/dist/settlement/account-manager.d.ts +0 -51
  235. package/dist/settlement/account-manager.d.ts.map +0 -1
  236. package/dist/settlement/account-manager.js +0 -459
  237. package/dist/settlement/account-manager.js.map +0 -1
  238. package/dist/settlement/account-metadata.d.ts +0 -11
  239. package/dist/settlement/account-metadata.d.ts.map +0 -1
  240. package/dist/settlement/account-metadata.js +0 -40
  241. package/dist/settlement/account-metadata.js.map +0 -1
  242. package/dist/settlement/channel-manager.d.ts +0 -67
  243. package/dist/settlement/channel-manager.d.ts.map +0 -1
  244. package/dist/settlement/channel-manager.js +0 -226
  245. package/dist/settlement/channel-manager.js.map +0 -1
  246. package/dist/settlement/claim-receiver-db-schema.d.ts +0 -4
  247. package/dist/settlement/claim-receiver-db-schema.d.ts.map +0 -1
  248. package/dist/settlement/claim-receiver-db-schema.js +0 -25
  249. package/dist/settlement/claim-receiver-db-schema.js.map +0 -1
  250. package/dist/settlement/claim-receiver.d.ts +0 -67
  251. package/dist/settlement/claim-receiver.d.ts.map +0 -1
  252. package/dist/settlement/claim-receiver.js +0 -707
  253. package/dist/settlement/claim-receiver.js.map +0 -1
  254. package/dist/settlement/claim-redemption-service.d.ts +0 -39
  255. package/dist/settlement/claim-redemption-service.d.ts.map +0 -1
  256. package/dist/settlement/claim-redemption-service.js +0 -189
  257. package/dist/settlement/claim-redemption-service.js.map +0 -1
  258. package/dist/settlement/claim-sender-db-schema.d.ts +0 -3
  259. package/dist/settlement/claim-sender-db-schema.d.ts.map +0 -1
  260. package/dist/settlement/claim-sender-db-schema.js +0 -18
  261. package/dist/settlement/claim-sender-db-schema.js.map +0 -1
  262. package/dist/settlement/claim-sender.d.ts +0 -24
  263. package/dist/settlement/claim-sender.d.ts.map +0 -1
  264. package/dist/settlement/claim-sender.js +0 -146
  265. package/dist/settlement/claim-sender.js.map +0 -1
  266. package/dist/settlement/eip712-helper.d.ts +0 -13
  267. package/dist/settlement/eip712-helper.d.ts.map +0 -1
  268. package/dist/settlement/eip712-helper.js +0 -24
  269. package/dist/settlement/eip712-helper.js.map +0 -1
  270. package/dist/settlement/in-memory-ledger-client.d.ts +0 -40
  271. package/dist/settlement/in-memory-ledger-client.d.ts.map +0 -1
  272. package/dist/settlement/in-memory-ledger-client.js +0 -177
  273. package/dist/settlement/in-memory-ledger-client.js.map +0 -1
  274. package/dist/settlement/ledger-client.d.ts +0 -22
  275. package/dist/settlement/ledger-client.d.ts.map +0 -1
  276. package/dist/settlement/ledger-client.js +0 -3
  277. package/dist/settlement/ledger-client.js.map +0 -1
  278. package/dist/settlement/metrics-collector.d.ts +0 -29
  279. package/dist/settlement/metrics-collector.d.ts.map +0 -1
  280. package/dist/settlement/metrics-collector.js +0 -81
  281. package/dist/settlement/metrics-collector.js.map +0 -1
  282. package/dist/settlement/mina-payment-channel-sdk.d.ts +0 -73
  283. package/dist/settlement/mina-payment-channel-sdk.d.ts.map +0 -1
  284. package/dist/settlement/mina-payment-channel-sdk.js +0 -538
  285. package/dist/settlement/mina-payment-channel-sdk.js.map +0 -1
  286. package/dist/settlement/payment-channel-sdk.d.ts +0 -59
  287. package/dist/settlement/payment-channel-sdk.d.ts.map +0 -1
  288. package/dist/settlement/payment-channel-sdk.js +0 -677
  289. package/dist/settlement/payment-channel-sdk.js.map +0 -1
  290. package/dist/settlement/per-packet-claim-service.d.ts +0 -39
  291. package/dist/settlement/per-packet-claim-service.d.ts.map +0 -1
  292. package/dist/settlement/per-packet-claim-service.js +0 -342
  293. package/dist/settlement/per-packet-claim-service.js.map +0 -1
  294. package/dist/settlement/privacy/index.d.ts +0 -3
  295. package/dist/settlement/privacy/index.d.ts.map +0 -1
  296. package/dist/settlement/privacy/index.js +0 -11
  297. package/dist/settlement/privacy/index.js.map +0 -1
  298. package/dist/settlement/privacy/nip59-claim-wrapper.d.ts +0 -60
  299. package/dist/settlement/privacy/nip59-claim-wrapper.d.ts.map +0 -1
  300. package/dist/settlement/privacy/nip59-claim-wrapper.js +0 -361
  301. package/dist/settlement/privacy/nip59-claim-wrapper.js.map +0 -1
  302. package/dist/settlement/provider/chain-provider-registry.d.ts +0 -20
  303. package/dist/settlement/provider/chain-provider-registry.d.ts.map +0 -1
  304. package/dist/settlement/provider/chain-provider-registry.js +0 -53
  305. package/dist/settlement/provider/chain-provider-registry.js.map +0 -1
  306. package/dist/settlement/provider/evm-payment-channel-provider.d.ts +0 -31
  307. package/dist/settlement/provider/evm-payment-channel-provider.d.ts.map +0 -1
  308. package/dist/settlement/provider/evm-payment-channel-provider.js +0 -207
  309. package/dist/settlement/provider/evm-payment-channel-provider.js.map +0 -1
  310. package/dist/settlement/provider/index.d.ts +0 -6
  311. package/dist/settlement/provider/index.d.ts.map +0 -1
  312. package/dist/settlement/provider/index.js +0 -16
  313. package/dist/settlement/provider/index.js.map +0 -1
  314. package/dist/settlement/provider/mina-payment-channel-provider.d.ts +0 -43
  315. package/dist/settlement/provider/mina-payment-channel-provider.d.ts.map +0 -1
  316. package/dist/settlement/provider/mina-payment-channel-provider.js +0 -330
  317. package/dist/settlement/provider/mina-payment-channel-provider.js.map +0 -1
  318. package/dist/settlement/provider/payment-channel-provider.d.ts +0 -88
  319. package/dist/settlement/provider/payment-channel-provider.d.ts.map +0 -1
  320. package/dist/settlement/provider/payment-channel-provider.js +0 -3
  321. package/dist/settlement/provider/payment-channel-provider.js.map +0 -1
  322. package/dist/settlement/provider/solana-payment-channel-provider.d.ts +0 -38
  323. package/dist/settlement/provider/solana-payment-channel-provider.d.ts.map +0 -1
  324. package/dist/settlement/provider/solana-payment-channel-provider.js +0 -262
  325. package/dist/settlement/provider/solana-payment-channel-provider.js.map +0 -1
  326. package/dist/settlement/sent-claims-queries.d.ts +0 -23
  327. package/dist/settlement/sent-claims-queries.d.ts.map +0 -1
  328. package/dist/settlement/sent-claims-queries.js +0 -134
  329. package/dist/settlement/sent-claims-queries.js.map +0 -1
  330. package/dist/settlement/settlement-api.d.ts +0 -37
  331. package/dist/settlement/settlement-api.d.ts.map +0 -1
  332. package/dist/settlement/settlement-api.js +0 -172
  333. package/dist/settlement/settlement-api.js.map +0 -1
  334. package/dist/settlement/settlement-coordinator.d.ts +0 -47
  335. package/dist/settlement/settlement-coordinator.d.ts.map +0 -1
  336. package/dist/settlement/settlement-coordinator.js +0 -166
  337. package/dist/settlement/settlement-coordinator.js.map +0 -1
  338. package/dist/settlement/settlement-executor.d.ts +0 -51
  339. package/dist/settlement/settlement-executor.d.ts.map +0 -1
  340. package/dist/settlement/settlement-executor.js +0 -265
  341. package/dist/settlement/settlement-executor.js.map +0 -1
  342. package/dist/settlement/settlement-monitor.d.ts +0 -30
  343. package/dist/settlement/settlement-monitor.d.ts.map +0 -1
  344. package/dist/settlement/settlement-monitor.js +0 -141
  345. package/dist/settlement/settlement-monitor.js.map +0 -1
  346. package/dist/settlement/solana-payment-channel-sdk.d.ts +0 -79
  347. package/dist/settlement/solana-payment-channel-sdk.d.ts.map +0 -1
  348. package/dist/settlement/solana-payment-channel-sdk.js +0 -636
  349. package/dist/settlement/solana-payment-channel-sdk.js.map +0 -1
  350. package/dist/settlement/tigerbeetle-batch-writer.d.ts +0 -58
  351. package/dist/settlement/tigerbeetle-batch-writer.d.ts.map +0 -1
  352. package/dist/settlement/tigerbeetle-batch-writer.js +0 -162
  353. package/dist/settlement/tigerbeetle-batch-writer.js.map +0 -1
  354. package/dist/settlement/tigerbeetle-client.d.ts +0 -40
  355. package/dist/settlement/tigerbeetle-client.d.ts.map +0 -1
  356. package/dist/settlement/tigerbeetle-client.js +0 -279
  357. package/dist/settlement/tigerbeetle-client.js.map +0 -1
  358. package/dist/settlement/tigerbeetle-errors.d.ts +0 -23
  359. package/dist/settlement/tigerbeetle-errors.d.ts.map +0 -1
  360. package/dist/settlement/tigerbeetle-errors.js +0 -58
  361. package/dist/settlement/tigerbeetle-errors.js.map +0 -1
  362. package/dist/settlement/types.d.ts +0 -64
  363. package/dist/settlement/types.d.ts.map +0 -1
  364. package/dist/settlement/types.js +0 -42
  365. package/dist/settlement/types.js.map +0 -1
  366. package/dist/settlement/unified-settlement-executor.d.ts +0 -34
  367. package/dist/settlement/unified-settlement-executor.d.ts.map +0 -1
  368. package/dist/settlement/unified-settlement-executor.js +0 -145
  369. package/dist/settlement/unified-settlement-executor.js.map +0 -1
  370. package/dist/test-utils/index.d.ts +0 -3
  371. package/dist/test-utils/index.d.ts.map +0 -1
  372. package/dist/test-utils/index.js +0 -15
  373. package/dist/test-utils/index.js.map +0 -1
  374. package/dist/test-utils/isolated-test-env.d.ts +0 -31
  375. package/dist/test-utils/isolated-test-env.d.ts.map +0 -1
  376. package/dist/test-utils/isolated-test-env.js +0 -127
  377. package/dist/test-utils/isolated-test-env.js.map +0 -1
  378. package/dist/test-utils/mock-factories-patch.d.ts +0 -2
  379. package/dist/test-utils/mock-factories-patch.d.ts.map +0 -1
  380. package/dist/test-utils/mock-factories-patch.js +0 -3
  381. package/dist/test-utils/mock-factories-patch.js.map +0 -1
  382. package/dist/test-utils/mock-factories.d.ts +0 -22
  383. package/dist/test-utils/mock-factories.d.ts.map +0 -1
  384. package/dist/test-utils/mock-factories.js +0 -56
  385. package/dist/test-utils/mock-factories.js.map +0 -1
  386. package/dist/transport/direct-transport-provider.d.ts +0 -12
  387. package/dist/transport/direct-transport-provider.d.ts.map +0 -1
  388. package/dist/transport/direct-transport-provider.js +0 -27
  389. package/dist/transport/direct-transport-provider.js.map +0 -1
  390. package/dist/transport/index.d.ts +0 -7
  391. package/dist/transport/index.d.ts.map +0 -1
  392. package/dist/transport/index.js +0 -16
  393. package/dist/transport/index.js.map +0 -1
  394. package/dist/transport/managed-anon-client.d.ts +0 -47
  395. package/dist/transport/managed-anon-client.d.ts.map +0 -1
  396. package/dist/transport/managed-anon-client.js +0 -265
  397. package/dist/transport/managed-anon-client.js.map +0 -1
  398. package/dist/transport/probe-tcp-port.d.ts +0 -3
  399. package/dist/transport/probe-tcp-port.d.ts.map +0 -1
  400. package/dist/transport/probe-tcp-port.js +0 -59
  401. package/dist/transport/probe-tcp-port.js.map +0 -1
  402. package/dist/transport/socks-transport-provider.d.ts +0 -29
  403. package/dist/transport/socks-transport-provider.d.ts.map +0 -1
  404. package/dist/transport/socks-transport-provider.js +0 -136
  405. package/dist/transport/socks-transport-provider.js.map +0 -1
  406. package/dist/transport/socks-url.d.ts +0 -6
  407. package/dist/transport/socks-url.d.ts.map +0 -1
  408. package/dist/transport/socks-url.js +0 -29
  409. package/dist/transport/socks-url.js.map +0 -1
  410. package/dist/transport/transport-provider.d.ts +0 -9
  411. package/dist/transport/transport-provider.d.ts.map +0 -1
  412. package/dist/transport/transport-provider.js +0 -3
  413. package/dist/transport/transport-provider.js.map +0 -1
  414. package/dist/utils/connection-pool.d.ts +0 -42
  415. package/dist/utils/connection-pool.d.ts.map +0 -1
  416. package/dist/utils/connection-pool.js +0 -209
  417. package/dist/utils/connection-pool.js.map +0 -1
  418. package/dist/utils/evm-rpc-connection-pool.d.ts +0 -8
  419. package/dist/utils/evm-rpc-connection-pool.d.ts.map +0 -1
  420. package/dist/utils/evm-rpc-connection-pool.js +0 -40
  421. package/dist/utils/evm-rpc-connection-pool.js.map +0 -1
  422. package/dist/utils/logger.d.ts +0 -6
  423. package/dist/utils/logger.d.ts.map +0 -1
  424. package/dist/utils/logger.js +0 -58
  425. package/dist/utils/logger.js.map +0 -1
  426. package/dist/utils/optional-require.d.ts +0 -2
  427. package/dist/utils/optional-require.d.ts.map +0 -1
  428. package/dist/utils/optional-require.js +0 -54
  429. package/dist/utils/optional-require.js.map +0 -1
  430. package/dist/utils/redact.d.ts +0 -3
  431. package/dist/utils/redact.d.ts.map +0 -1
  432. package/dist/utils/redact.js +0 -21
  433. package/dist/utils/redact.js.map +0 -1
  434. package/dist/wallet/audit-logger.d.ts +0 -22
  435. package/dist/wallet/audit-logger.d.ts.map +0 -1
  436. package/dist/wallet/audit-logger.js +0 -120
  437. package/dist/wallet/audit-logger.js.map +0 -1
  438. package/dist/wallet/fraud-detector-interface.d.ts +0 -14
  439. package/dist/wallet/fraud-detector-interface.d.ts.map +0 -1
  440. package/dist/wallet/fraud-detector-interface.js +0 -3
  441. package/dist/wallet/fraud-detector-interface.js.map +0 -1
  442. package/dist/wallet/key-manager.d.ts +0 -6
  443. package/dist/wallet/key-manager.d.ts.map +0 -1
  444. package/dist/wallet/key-manager.js +0 -3
  445. package/dist/wallet/key-manager.js.map +0 -1
  446. package/dist/wallet/placeholder-fraud-detector.d.ts +0 -10
  447. package/dist/wallet/placeholder-fraud-detector.d.ts.map +0 -1
  448. package/dist/wallet/placeholder-fraud-detector.js +0 -10
  449. package/dist/wallet/placeholder-fraud-detector.js.map +0 -1
  450. package/dist/wallet/rate-limiter.d.ts +0 -26
  451. package/dist/wallet/rate-limiter.d.ts.map +0 -1
  452. package/dist/wallet/rate-limiter.js +0 -114
  453. package/dist/wallet/rate-limiter.js.map +0 -1
  454. package/dist/wallet/suspicious-activity-detector.d.ts +0 -25
  455. package/dist/wallet/suspicious-activity-detector.d.ts.map +0 -1
  456. package/dist/wallet/suspicious-activity-detector.js +0 -97
  457. package/dist/wallet/suspicious-activity-detector.js.map +0 -1
  458. package/dist/wallet/treasury-wallet.d.ts +0 -20
  459. package/dist/wallet/treasury-wallet.d.ts.map +0 -1
  460. package/dist/wallet/treasury-wallet.js +0 -151
  461. package/dist/wallet/treasury-wallet.js.map +0 -1
  462. package/dist/wallet/wallet-authentication.d.ts +0 -31
  463. package/dist/wallet/wallet-authentication.d.ts.map +0 -1
  464. package/dist/wallet/wallet-authentication.js +0 -102
  465. package/dist/wallet/wallet-authentication.js.map +0 -1
  466. package/dist/wallet/wallet-db-schema.d.ts +0 -11
  467. package/dist/wallet/wallet-db-schema.d.ts.map +0 -1
  468. package/dist/wallet/wallet-db-schema.js +0 -79
  469. package/dist/wallet/wallet-db-schema.js.map +0 -1
  470. package/dist/wallet/wallet-security.d.ts +0 -58
  471. package/dist/wallet/wallet-security.d.ts.map +0 -1
  472. package/dist/wallet/wallet-security.js +0 -148
  473. package/dist/wallet/wallet-security.js.map +0 -1
  474. package/dist/wallet/wallet-seed-manager.d.ts +0 -65
  475. package/dist/wallet/wallet-seed-manager.d.ts.map +0 -1
  476. package/dist/wallet/wallet-seed-manager.js +0 -418
  477. package/dist/wallet/wallet-seed-manager.js.map +0 -1
@@ -1 +0,0 @@
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"}
@@ -1,151 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"treasury-wallet.js","sourceRoot":"","sources":["../../src/wallet/treasury-wallet.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,102 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-authentication.js","sourceRoot":"","sources":["../../src/wallet/wallet-authentication.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,79 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,58 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,148 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalletSecurityManager = exports.SpendingLimitExceededError = void 0;
4
- class SpendingLimitExceededError extends Error {
5
- constructor(limitType, limit, attempted) {
6
- super(`${limitType} spending limit exceeded: ${attempted} > ${limit}`);
7
- this.name = 'SpendingLimitExceededError';
8
- }
9
- }
10
- exports.SpendingLimitExceededError = SpendingLimitExceededError;
11
- class WalletSecurityManager {
12
- config;
13
- fraudDetector;
14
- logger;
15
- db;
16
- constructor(config, fraudDetector, logger, db) {
17
- this.config = config;
18
- this.fraudDetector = fraudDetector;
19
- this.logger = logger;
20
- this.db = db;
21
- }
22
- sanitizeWalletData(wallet) {
23
- if (!wallet || typeof wallet !== 'object') {
24
- return wallet;
25
- }
26
- const sanitized = { ...wallet };
27
- delete sanitized.privateKey;
28
- delete sanitized.mnemonic;
29
- delete sanitized.seed;
30
- delete sanitized.encryptionKey;
31
- delete sanitized.secret;
32
- if (sanitized.signer && typeof sanitized.signer === 'object') {
33
- sanitized.signer = { ...sanitized.signer };
34
- delete sanitized.signer.privateKey;
35
- delete sanitized.signer.secret;
36
- }
37
- return sanitized;
38
- }
39
- async getSpendingLimits(agentId) {
40
- if (this.config.spendingLimits.perAgent[agentId]) {
41
- return this.config.spendingLimits.perAgent[agentId];
42
- }
43
- return this.config.spendingLimits.default;
44
- }
45
- async getDailySpending(agentId, token) {
46
- if (!this.db) {
47
- return 0n;
48
- }
49
- const oneDayAgo = Date.now() - 24 * 60 * 60 * 1000;
50
- try {
51
- const stmt = this.db.prepare(`
52
- SELECT SUM(CAST(json_extract(details, '$.amount') AS INTEGER)) as total
53
- FROM wallet_audit_log
54
- WHERE agentId = ?
55
- AND operation = 'payment_sent'
56
- AND timestamp >= ?
57
- AND json_extract(details, '$.token') = ?
58
- `);
59
- const result = stmt.get(agentId, oneDayAgo, token);
60
- return BigInt(result?.total ?? 0);
61
- }
62
- catch (error) {
63
- this.logger.warn({ error, agentId, token }, 'Failed to query daily spending');
64
- return 0n;
65
- }
66
- }
67
- async getMonthlySpending(agentId, token) {
68
- if (!this.db) {
69
- return 0n;
70
- }
71
- const thirtyDaysAgo = Date.now() - 30 * 24 * 60 * 60 * 1000;
72
- try {
73
- const stmt = this.db.prepare(`
74
- SELECT SUM(CAST(json_extract(details, '$.amount') AS INTEGER)) as total
75
- FROM wallet_audit_log
76
- WHERE agentId = ?
77
- AND operation = 'payment_sent'
78
- AND timestamp >= ?
79
- AND json_extract(details, '$.token') = ?
80
- `);
81
- const result = stmt.get(agentId, thirtyDaysAgo, token);
82
- return BigInt(result?.total ?? 0);
83
- }
84
- catch (error) {
85
- this.logger.warn({ error, agentId, token }, 'Failed to query monthly spending');
86
- return 0n;
87
- }
88
- }
89
- async validateTransaction(agentId, amount, token) {
90
- try {
91
- const limits = await this.getSpendingLimits(agentId);
92
- if (amount > limits.maxTransactionSize) {
93
- this.logger.warn({
94
- agentId,
95
- amount: amount.toString(),
96
- limit: limits.maxTransactionSize.toString(),
97
- token,
98
- }, 'Transaction exceeds max transaction size limit');
99
- return false;
100
- }
101
- const dailySpent = await this.getDailySpending(agentId, token);
102
- if (dailySpent + amount > limits.dailyLimit) {
103
- this.logger.warn({
104
- agentId,
105
- amount: amount.toString(),
106
- dailySpent: dailySpent.toString(),
107
- dailyLimit: limits.dailyLimit.toString(),
108
- token,
109
- }, 'Transaction exceeds daily spending limit');
110
- return false;
111
- }
112
- const monthlySpent = await this.getMonthlySpending(agentId, token);
113
- if (monthlySpent + amount > limits.monthlyLimit) {
114
- this.logger.warn({
115
- agentId,
116
- amount: amount.toString(),
117
- monthlySpent: monthlySpent.toString(),
118
- monthlyLimit: limits.monthlyLimit.toString(),
119
- token,
120
- }, 'Transaction exceeds monthly spending limit');
121
- return false;
122
- }
123
- const fraudCheck = await this.fraudDetector.analyzeTransaction({
124
- agentId,
125
- amount,
126
- token,
127
- timestamp: Date.now(),
128
- });
129
- if (fraudCheck.detected) {
130
- this.logger.error({
131
- agentId,
132
- amount: amount.toString(),
133
- token,
134
- fraudReason: fraudCheck.reason,
135
- fraudScore: fraudCheck.score,
136
- }, 'Transaction flagged as fraudulent');
137
- return false;
138
- }
139
- return true;
140
- }
141
- catch (error) {
142
- this.logger.error({ error, agentId, amount: amount.toString(), token }, 'Error validating transaction');
143
- return false;
144
- }
145
- }
146
- }
147
- exports.WalletSecurityManager = WalletSecurityManager;
148
- //# sourceMappingURL=wallet-security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet-security.js","sourceRoot":"","sources":["../../src/wallet/wallet-security.ts"],"names":[],"mappings":"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"}