@waiaas/daemon 2.11.0-rc.8 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/README.md +5 -5
  2. package/dist/api/middleware/address-validation.d.ts +6 -33
  3. package/dist/api/middleware/address-validation.d.ts.map +1 -1
  4. package/dist/api/middleware/address-validation.js +5 -129
  5. package/dist/api/middleware/address-validation.js.map +1 -1
  6. package/dist/api/middleware/host-guard.d.ts +1 -1
  7. package/dist/api/middleware/host-guard.js +2 -2
  8. package/dist/api/middleware/host-guard.js.map +1 -1
  9. package/dist/api/middleware/index.d.ts +1 -0
  10. package/dist/api/middleware/index.d.ts.map +1 -1
  11. package/dist/api/middleware/index.js +1 -0
  12. package/dist/api/middleware/index.js.map +1 -1
  13. package/dist/api/middleware/master-auth.d.ts +2 -5
  14. package/dist/api/middleware/master-auth.d.ts.map +1 -1
  15. package/dist/api/middleware/master-auth.js.map +1 -1
  16. package/dist/api/middleware/rate-limiter.d.ts +51 -0
  17. package/dist/api/middleware/rate-limiter.d.ts.map +1 -0
  18. package/dist/api/middleware/rate-limiter.js +146 -0
  19. package/dist/api/middleware/rate-limiter.js.map +1 -0
  20. package/dist/api/middleware/siwe-verify.d.ts +6 -26
  21. package/dist/api/middleware/siwe-verify.d.ts.map +1 -1
  22. package/dist/api/middleware/siwe-verify.js +5 -50
  23. package/dist/api/middleware/siwe-verify.js.map +1 -1
  24. package/dist/api/routes/actions.d.ts +1 -0
  25. package/dist/api/routes/actions.d.ts.map +1 -1
  26. package/dist/api/routes/actions.js +52 -4
  27. package/dist/api/routes/actions.js.map +1 -1
  28. package/dist/api/routes/admin-actions.d.ts +1 -0
  29. package/dist/api/routes/admin-actions.d.ts.map +1 -1
  30. package/dist/api/routes/admin-actions.js +3 -3
  31. package/dist/api/routes/admin-actions.js.map +1 -1
  32. package/dist/api/routes/admin-auth.d.ts.map +1 -1
  33. package/dist/api/routes/admin-auth.js +12 -7
  34. package/dist/api/routes/admin-auth.js.map +1 -1
  35. package/dist/api/routes/admin-credentials.js +2 -2
  36. package/dist/api/routes/admin-credentials.js.map +1 -1
  37. package/dist/api/routes/admin-monitoring.d.ts +10 -0
  38. package/dist/api/routes/admin-monitoring.d.ts.map +1 -1
  39. package/dist/api/routes/admin-monitoring.js +59 -14
  40. package/dist/api/routes/admin-monitoring.js.map +1 -1
  41. package/dist/api/routes/admin-notifications.d.ts.map +1 -1
  42. package/dist/api/routes/admin-notifications.js +2 -15
  43. package/dist/api/routes/admin-notifications.js.map +1 -1
  44. package/dist/api/routes/admin-settings.d.ts.map +1 -1
  45. package/dist/api/routes/admin-settings.js +90 -1
  46. package/dist/api/routes/admin-settings.js.map +1 -1
  47. package/dist/api/routes/admin-wallets.d.ts +16 -1
  48. package/dist/api/routes/admin-wallets.d.ts.map +1 -1
  49. package/dist/api/routes/admin-wallets.js +64 -75
  50. package/dist/api/routes/admin-wallets.js.map +1 -1
  51. package/dist/api/routes/admin.d.ts +1 -0
  52. package/dist/api/routes/admin.d.ts.map +1 -1
  53. package/dist/api/routes/admin.js.map +1 -1
  54. package/dist/api/routes/credentials.js +2 -2
  55. package/dist/api/routes/credentials.js.map +1 -1
  56. package/dist/api/routes/defi-positions.js.map +1 -1
  57. package/dist/api/routes/nfts.js.map +1 -1
  58. package/dist/api/routes/openapi-schemas.d.ts +412 -12
  59. package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
  60. package/dist/api/routes/openapi-schemas.js +38 -5
  61. package/dist/api/routes/openapi-schemas.js.map +1 -1
  62. package/dist/api/routes/policies.d.ts +2 -0
  63. package/dist/api/routes/policies.d.ts.map +1 -1
  64. package/dist/api/routes/policies.js +55 -6
  65. package/dist/api/routes/policies.js.map +1 -1
  66. package/dist/api/routes/rpc-proxy.js.map +1 -1
  67. package/dist/api/routes/sessions.d.ts.map +1 -1
  68. package/dist/api/routes/sessions.js +47 -28
  69. package/dist/api/routes/sessions.js.map +1 -1
  70. package/dist/api/routes/staking.d.ts.map +1 -1
  71. package/dist/api/routes/staking.js +4 -76
  72. package/dist/api/routes/staking.js.map +1 -1
  73. package/dist/api/routes/tokens.d.ts.map +1 -1
  74. package/dist/api/routes/tokens.js.map +1 -1
  75. package/dist/api/routes/transactions.d.ts +1 -0
  76. package/dist/api/routes/transactions.d.ts.map +1 -1
  77. package/dist/api/routes/transactions.js +8 -2
  78. package/dist/api/routes/transactions.js.map +1 -1
  79. package/dist/api/routes/userop.d.ts.map +1 -1
  80. package/dist/api/routes/userop.js +0 -2
  81. package/dist/api/routes/userop.js.map +1 -1
  82. package/dist/api/routes/wallet-apps.d.ts.map +1 -1
  83. package/dist/api/routes/wallet-apps.js +20 -13
  84. package/dist/api/routes/wallet-apps.js.map +1 -1
  85. package/dist/api/routes/wallet.js.map +1 -1
  86. package/dist/api/routes/wallets.d.ts.map +1 -1
  87. package/dist/api/routes/wallets.js +3 -0
  88. package/dist/api/routes/wallets.js.map +1 -1
  89. package/dist/api/routes/wc.d.ts.map +1 -1
  90. package/dist/api/routes/wc.js +13 -8
  91. package/dist/api/routes/wc.js.map +1 -1
  92. package/dist/api/routes/x402.d.ts.map +1 -1
  93. package/dist/api/routes/x402.js +1 -2
  94. package/dist/api/routes/x402.js.map +1 -1
  95. package/dist/api/server.d.ts +8 -4
  96. package/dist/api/server.d.ts.map +1 -1
  97. package/dist/api/server.js +46 -5
  98. package/dist/api/server.js.map +1 -1
  99. package/dist/constants.d.ts +1 -1
  100. package/dist/constants.d.ts.map +1 -1
  101. package/dist/constants.js +1 -1
  102. package/dist/constants.js.map +1 -1
  103. package/dist/infrastructure/action/action-provider-registry.d.ts.map +1 -1
  104. package/dist/infrastructure/action/action-provider-registry.js +2 -3
  105. package/dist/infrastructure/action/action-provider-registry.js.map +1 -1
  106. package/dist/infrastructure/action/builtin-metadata.d.ts +22 -0
  107. package/dist/infrastructure/action/builtin-metadata.d.ts.map +1 -0
  108. package/dist/infrastructure/action/builtin-metadata.js +29 -0
  109. package/dist/infrastructure/action/builtin-metadata.js.map +1 -0
  110. package/dist/infrastructure/adapter-pool.d.ts +2 -1
  111. package/dist/infrastructure/adapter-pool.d.ts.map +1 -1
  112. package/dist/infrastructure/adapter-pool.js.map +1 -1
  113. package/dist/infrastructure/auth/address-validation.d.ts +38 -0
  114. package/dist/infrastructure/auth/address-validation.d.ts.map +1 -0
  115. package/dist/infrastructure/auth/address-validation.js +134 -0
  116. package/dist/infrastructure/auth/address-validation.js.map +1 -0
  117. package/dist/infrastructure/auth/siwe-verify.d.ts +34 -0
  118. package/dist/infrastructure/auth/siwe-verify.d.ts.map +1 -0
  119. package/dist/infrastructure/auth/siwe-verify.js +58 -0
  120. package/dist/infrastructure/auth/siwe-verify.js.map +1 -0
  121. package/dist/infrastructure/auth/types.d.ts +12 -0
  122. package/dist/infrastructure/auth/types.d.ts.map +1 -0
  123. package/dist/infrastructure/auth/types.js +8 -0
  124. package/dist/infrastructure/auth/types.js.map +1 -0
  125. package/dist/infrastructure/config/loader.d.ts +1 -10
  126. package/dist/infrastructure/config/loader.d.ts.map +1 -1
  127. package/dist/infrastructure/config/loader.js +0 -2
  128. package/dist/infrastructure/config/loader.js.map +1 -1
  129. package/dist/infrastructure/database/migrate.d.ts +6 -18
  130. package/dist/infrastructure/database/migrate.d.ts.map +1 -1
  131. package/dist/infrastructure/database/migrate.js +25 -2856
  132. package/dist/infrastructure/database/migrate.js.map +1 -1
  133. package/dist/infrastructure/database/migrations/v11-v20.d.ts +17 -0
  134. package/dist/infrastructure/database/migrations/v11-v20.d.ts.map +1 -0
  135. package/dist/infrastructure/database/migrations/v11-v20.js +295 -0
  136. package/dist/infrastructure/database/migrations/v11-v20.js.map +1 -0
  137. package/dist/infrastructure/database/migrations/v2-v10.d.ts +16 -0
  138. package/dist/infrastructure/database/migrations/v2-v10.d.ts.map +1 -0
  139. package/dist/infrastructure/database/migrations/v2-v10.js +539 -0
  140. package/dist/infrastructure/database/migrations/v2-v10.js.map +1 -0
  141. package/dist/infrastructure/database/migrations/v21-v30.d.ts +17 -0
  142. package/dist/infrastructure/database/migrations/v21-v30.d.ts.map +1 -0
  143. package/dist/infrastructure/database/migrations/v21-v30.js +507 -0
  144. package/dist/infrastructure/database/migrations/v21-v30.js.map +1 -0
  145. package/dist/infrastructure/database/migrations/v31-v40.d.ts +17 -0
  146. package/dist/infrastructure/database/migrations/v31-v40.d.ts.map +1 -0
  147. package/dist/infrastructure/database/migrations/v31-v40.js +203 -0
  148. package/dist/infrastructure/database/migrations/v31-v40.js.map +1 -0
  149. package/dist/infrastructure/database/migrations/v41-v50.d.ts +17 -0
  150. package/dist/infrastructure/database/migrations/v41-v50.d.ts.map +1 -0
  151. package/dist/infrastructure/database/migrations/v41-v50.js +188 -0
  152. package/dist/infrastructure/database/migrations/v41-v50.js.map +1 -0
  153. package/dist/infrastructure/database/migrations/v51-v59.d.ts +17 -0
  154. package/dist/infrastructure/database/migrations/v51-v59.d.ts.map +1 -0
  155. package/dist/infrastructure/database/migrations/v51-v59.js +420 -0
  156. package/dist/infrastructure/database/migrations/v51-v59.js.map +1 -0
  157. package/dist/infrastructure/database/schema-ddl.d.ts +24 -0
  158. package/dist/infrastructure/database/schema-ddl.d.ts.map +1 -0
  159. package/dist/infrastructure/database/schema-ddl.js +596 -0
  160. package/dist/infrastructure/database/schema-ddl.js.map +1 -0
  161. package/dist/infrastructure/database/schema.d.ts +38 -0
  162. package/dist/infrastructure/database/schema.d.ts.map +1 -1
  163. package/dist/infrastructure/database/schema.js +2 -0
  164. package/dist/infrastructure/database/schema.js.map +1 -1
  165. package/dist/infrastructure/jwt/jwt-secret-manager.d.ts.map +1 -1
  166. package/dist/infrastructure/jwt/jwt-secret-manager.js +16 -3
  167. package/dist/infrastructure/jwt/jwt-secret-manager.js.map +1 -1
  168. package/dist/infrastructure/nft/alchemy-nft-indexer.d.ts.map +1 -1
  169. package/dist/infrastructure/nft/alchemy-nft-indexer.js +0 -1
  170. package/dist/infrastructure/nft/alchemy-nft-indexer.js.map +1 -1
  171. package/dist/infrastructure/nft/helius-nft-indexer.d.ts.map +1 -1
  172. package/dist/infrastructure/nft/helius-nft-indexer.js +1 -2
  173. package/dist/infrastructure/nft/helius-nft-indexer.js.map +1 -1
  174. package/dist/infrastructure/nft/nft-indexer-client.d.ts.map +1 -1
  175. package/dist/infrastructure/nft/nft-indexer-client.js +0 -2
  176. package/dist/infrastructure/nft/nft-indexer-client.js.map +1 -1
  177. package/dist/infrastructure/security/ssrf-guard.d.ts +33 -0
  178. package/dist/infrastructure/security/ssrf-guard.d.ts.map +1 -0
  179. package/dist/infrastructure/security/ssrf-guard.js +244 -0
  180. package/dist/infrastructure/security/ssrf-guard.js.map +1 -0
  181. package/dist/infrastructure/settings/hot-reload.d.ts +1 -1
  182. package/dist/infrastructure/settings/hot-reload.d.ts.map +1 -1
  183. package/dist/infrastructure/settings/hot-reload.js +0 -2
  184. package/dist/infrastructure/settings/hot-reload.js.map +1 -1
  185. package/dist/infrastructure/settings/index.d.ts +2 -2
  186. package/dist/infrastructure/settings/index.d.ts.map +1 -1
  187. package/dist/infrastructure/settings/index.js +1 -1
  188. package/dist/infrastructure/settings/index.js.map +1 -1
  189. package/dist/infrastructure/settings/setting-keys.d.ts +14 -0
  190. package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
  191. package/dist/infrastructure/settings/setting-keys.js +296 -214
  192. package/dist/infrastructure/settings/setting-keys.js.map +1 -1
  193. package/dist/infrastructure/settings/settings-service.d.ts +6 -1
  194. package/dist/infrastructure/settings/settings-service.d.ts.map +1 -1
  195. package/dist/infrastructure/settings/settings-service.js +15 -5
  196. package/dist/infrastructure/settings/settings-service.js.map +1 -1
  197. package/dist/infrastructure/telegram/telegram-bot-service.d.ts.map +1 -1
  198. package/dist/infrastructure/telegram/telegram-bot-service.js +3 -2
  199. package/dist/infrastructure/telegram/telegram-bot-service.js.map +1 -1
  200. package/dist/infrastructure/token-registry/builtin-tokens.d.ts.map +1 -1
  201. package/dist/infrastructure/token-registry/builtin-tokens.js +4 -7
  202. package/dist/infrastructure/token-registry/builtin-tokens.js.map +1 -1
  203. package/dist/lifecycle/daemon-pipeline.d.ts +49 -0
  204. package/dist/lifecycle/daemon-pipeline.d.ts.map +1 -0
  205. package/dist/lifecycle/daemon-pipeline.js +281 -0
  206. package/dist/lifecycle/daemon-pipeline.js.map +1 -0
  207. package/dist/lifecycle/daemon-shutdown.d.ts +14 -0
  208. package/dist/lifecycle/daemon-shutdown.d.ts.map +1 -0
  209. package/dist/lifecycle/daemon-shutdown.js +176 -0
  210. package/dist/lifecycle/daemon-shutdown.js.map +1 -0
  211. package/dist/lifecycle/daemon-startup.d.ts +15 -0
  212. package/dist/lifecycle/daemon-startup.d.ts.map +1 -0
  213. package/dist/lifecycle/daemon-startup.js +1527 -0
  214. package/dist/lifecycle/daemon-startup.js.map +1 -0
  215. package/dist/lifecycle/daemon.d.ts +171 -114
  216. package/dist/lifecycle/daemon.d.ts.map +1 -1
  217. package/dist/lifecycle/daemon.js +22 -1904
  218. package/dist/lifecycle/daemon.js.map +1 -1
  219. package/dist/notifications/channels/discord.d.ts.map +1 -1
  220. package/dist/notifications/channels/discord.js +1 -0
  221. package/dist/notifications/channels/discord.js.map +1 -1
  222. package/dist/notifications/channels/slack.d.ts.map +1 -1
  223. package/dist/notifications/channels/slack.js +1 -0
  224. package/dist/notifications/channels/slack.js.map +1 -1
  225. package/dist/notifications/index.d.ts +0 -1
  226. package/dist/notifications/index.d.ts.map +1 -1
  227. package/dist/notifications/index.js +0 -1
  228. package/dist/notifications/index.js.map +1 -1
  229. package/dist/notifications/notification-service.d.ts.map +1 -1
  230. package/dist/notifications/notification-service.js +8 -6
  231. package/dist/notifications/notification-service.js.map +1 -1
  232. package/dist/pipeline/database-policy-engine.d.ts +18 -438
  233. package/dist/pipeline/database-policy-engine.d.ts.map +1 -1
  234. package/dist/pipeline/database-policy-engine.js +154 -1321
  235. package/dist/pipeline/database-policy-engine.js.map +1 -1
  236. package/dist/pipeline/dry-run.d.ts +5 -2
  237. package/dist/pipeline/dry-run.d.ts.map +1 -1
  238. package/dist/pipeline/dry-run.js +102 -8
  239. package/dist/pipeline/dry-run.js.map +1 -1
  240. package/dist/pipeline/evaluators/allowed-tokens.d.ts +28 -0
  241. package/dist/pipeline/evaluators/allowed-tokens.d.ts.map +1 -0
  242. package/dist/pipeline/evaluators/allowed-tokens.js +129 -0
  243. package/dist/pipeline/evaluators/allowed-tokens.js.map +1 -0
  244. package/dist/pipeline/evaluators/approved-spenders.d.ts +26 -0
  245. package/dist/pipeline/evaluators/approved-spenders.d.ts.map +1 -0
  246. package/dist/pipeline/evaluators/approved-spenders.js +115 -0
  247. package/dist/pipeline/evaluators/approved-spenders.js.map +1 -0
  248. package/dist/pipeline/evaluators/contract-whitelist.d.ts +28 -0
  249. package/dist/pipeline/evaluators/contract-whitelist.d.ts.map +1 -0
  250. package/dist/pipeline/evaluators/contract-whitelist.js +168 -0
  251. package/dist/pipeline/evaluators/contract-whitelist.js.map +1 -0
  252. package/dist/pipeline/evaluators/helpers.d.ts +9 -0
  253. package/dist/pipeline/evaluators/helpers.d.ts.map +1 -0
  254. package/dist/pipeline/evaluators/helpers.js +13 -0
  255. package/dist/pipeline/evaluators/helpers.js.map +1 -0
  256. package/dist/pipeline/evaluators/lending-asset-whitelist.d.ts +18 -0
  257. package/dist/pipeline/evaluators/lending-asset-whitelist.d.ts.map +1 -0
  258. package/dist/pipeline/evaluators/lending-asset-whitelist.js +44 -0
  259. package/dist/pipeline/evaluators/lending-asset-whitelist.js.map +1 -0
  260. package/dist/pipeline/evaluators/lending-ltv-limit.d.ts +24 -0
  261. package/dist/pipeline/evaluators/lending-ltv-limit.d.ts.map +1 -0
  262. package/dist/pipeline/evaluators/lending-ltv-limit.js +130 -0
  263. package/dist/pipeline/evaluators/lending-ltv-limit.js.map +1 -0
  264. package/dist/pipeline/evaluators/spending-limit.d.ts +46 -0
  265. package/dist/pipeline/evaluators/spending-limit.d.ts.map +1 -0
  266. package/dist/pipeline/evaluators/spending-limit.js +241 -0
  267. package/dist/pipeline/evaluators/spending-limit.js.map +1 -0
  268. package/dist/pipeline/evaluators/types.d.ts +71 -0
  269. package/dist/pipeline/evaluators/types.d.ts.map +1 -0
  270. package/dist/pipeline/evaluators/types.js +7 -0
  271. package/dist/pipeline/evaluators/types.js.map +1 -0
  272. package/dist/pipeline/external-action-pipeline.js.map +1 -1
  273. package/dist/pipeline/gas-condition-tracker.d.ts +1 -1
  274. package/dist/pipeline/gas-condition-tracker.js +1 -1
  275. package/dist/pipeline/pipeline-helpers.d.ts +146 -0
  276. package/dist/pipeline/pipeline-helpers.d.ts.map +1 -0
  277. package/dist/pipeline/pipeline-helpers.js +260 -0
  278. package/dist/pipeline/pipeline-helpers.js.map +1 -0
  279. package/dist/pipeline/pipeline.d.ts +1 -0
  280. package/dist/pipeline/pipeline.d.ts.map +1 -1
  281. package/dist/pipeline/pipeline.js +3 -2
  282. package/dist/pipeline/pipeline.js.map +1 -1
  283. package/dist/pipeline/resolve-effective-amount-usd.d.ts.map +1 -1
  284. package/dist/pipeline/resolve-effective-amount-usd.js +4 -10
  285. package/dist/pipeline/resolve-effective-amount-usd.js.map +1 -1
  286. package/dist/pipeline/sign-message.js +1 -1
  287. package/dist/pipeline/sign-message.js.map +1 -1
  288. package/dist/pipeline/sleep.d.ts +1 -5
  289. package/dist/pipeline/sleep.d.ts.map +1 -1
  290. package/dist/pipeline/sleep.js +2 -7
  291. package/dist/pipeline/sleep.js.map +1 -1
  292. package/dist/pipeline/stage1-validate.d.ts +8 -0
  293. package/dist/pipeline/stage1-validate.d.ts.map +1 -0
  294. package/dist/pipeline/stage1-validate.js +69 -0
  295. package/dist/pipeline/stage1-validate.js.map +1 -0
  296. package/dist/pipeline/stage2-auth.d.ts +12 -0
  297. package/dist/pipeline/stage2-auth.d.ts.map +1 -0
  298. package/dist/pipeline/stage2-auth.js +18 -0
  299. package/dist/pipeline/stage2-auth.js.map +1 -0
  300. package/dist/pipeline/stage3-policy.d.ts +26 -0
  301. package/dist/pipeline/stage3-policy.d.ts.map +1 -0
  302. package/dist/pipeline/stage3-policy.js +384 -0
  303. package/dist/pipeline/stage3-policy.js.map +1 -0
  304. package/dist/pipeline/stage4-wait.d.ts +8 -0
  305. package/dist/pipeline/stage4-wait.d.ts.map +1 -0
  306. package/dist/pipeline/stage4-wait.js +87 -0
  307. package/dist/pipeline/stage4-wait.js.map +1 -0
  308. package/dist/pipeline/stage5-execute.d.ts +120 -0
  309. package/dist/pipeline/stage5-execute.d.ts.map +1 -0
  310. package/dist/pipeline/stage5-execute.js +1070 -0
  311. package/dist/pipeline/stage5-execute.js.map +1 -0
  312. package/dist/pipeline/stage6-confirm.d.ts +11 -0
  313. package/dist/pipeline/stage6-confirm.d.ts.map +1 -0
  314. package/dist/pipeline/stage6-confirm.js +110 -0
  315. package/dist/pipeline/stage6-confirm.js.map +1 -0
  316. package/dist/pipeline/stages.d.ts +11 -245
  317. package/dist/pipeline/stages.d.ts.map +1 -1
  318. package/dist/pipeline/stages.js +11 -1896
  319. package/dist/pipeline/stages.js.map +1 -1
  320. package/dist/rpc-proxy/sync-pipeline.js +2 -2
  321. package/dist/rpc-proxy/sync-pipeline.js.map +1 -1
  322. package/dist/services/autostop/autostop-service.d.ts +4 -1
  323. package/dist/services/autostop/autostop-service.d.ts.map +1 -1
  324. package/dist/services/autostop/autostop-service.js +27 -7
  325. package/dist/services/autostop/autostop-service.js.map +1 -1
  326. package/dist/services/defi/position-tracker.d.ts +5 -0
  327. package/dist/services/defi/position-tracker.d.ts.map +1 -1
  328. package/dist/services/defi/position-tracker.js +41 -6
  329. package/dist/services/defi/position-tracker.js.map +1 -1
  330. package/dist/services/defi/position-write-queue.d.ts.map +1 -1
  331. package/dist/services/defi/position-write-queue.js +3 -2
  332. package/dist/services/defi/position-write-queue.js.map +1 -1
  333. package/dist/services/incoming/__tests__/integration-wiring.test.js +58 -0
  334. package/dist/services/incoming/__tests__/integration-wiring.test.js.map +1 -1
  335. package/dist/services/incoming/incoming-tx-monitor-service.d.ts.map +1 -1
  336. package/dist/services/incoming/incoming-tx-monitor-service.js +11 -14
  337. package/dist/services/incoming/incoming-tx-monitor-service.js.map +1 -1
  338. package/dist/services/incoming/incoming-tx-workers.d.ts +2 -2
  339. package/dist/services/incoming/incoming-tx-workers.d.ts.map +1 -1
  340. package/dist/services/incoming/incoming-tx-workers.js +1 -1
  341. package/dist/services/incoming/incoming-tx-workers.js.map +1 -1
  342. package/dist/services/incoming/safety-rules.d.ts.map +1 -1
  343. package/dist/services/incoming/safety-rules.js +3 -2
  344. package/dist/services/incoming/safety-rules.js.map +1 -1
  345. package/dist/services/incoming/subscription-multiplexer.d.ts +2 -6
  346. package/dist/services/incoming/subscription-multiplexer.d.ts.map +1 -1
  347. package/dist/services/incoming/subscription-multiplexer.js +1 -3
  348. package/dist/services/incoming/subscription-multiplexer.js.map +1 -1
  349. package/dist/services/monitoring/balance-monitor-service.d.ts.map +1 -1
  350. package/dist/services/monitoring/balance-monitor-service.js +2 -2
  351. package/dist/services/monitoring/balance-monitor-service.js.map +1 -1
  352. package/dist/services/signing-sdk/approval-channel-router.d.ts +7 -7
  353. package/dist/services/signing-sdk/approval-channel-router.d.ts.map +1 -1
  354. package/dist/services/signing-sdk/approval-channel-router.js +13 -13
  355. package/dist/services/signing-sdk/approval-channel-router.js.map +1 -1
  356. package/dist/services/signing-sdk/channels/index.d.ts +2 -2
  357. package/dist/services/signing-sdk/channels/index.d.ts.map +1 -1
  358. package/dist/services/signing-sdk/channels/index.js +1 -1
  359. package/dist/services/signing-sdk/channels/index.js.map +1 -1
  360. package/dist/services/signing-sdk/channels/push-relay-signing-channel.d.ts +59 -0
  361. package/dist/services/signing-sdk/channels/push-relay-signing-channel.d.ts.map +1 -0
  362. package/dist/services/signing-sdk/channels/push-relay-signing-channel.js +190 -0
  363. package/dist/services/signing-sdk/channels/push-relay-signing-channel.js.map +1 -0
  364. package/dist/services/signing-sdk/channels/telegram-signing-channel.d.ts +1 -1
  365. package/dist/services/signing-sdk/channels/telegram-signing-channel.js +1 -1
  366. package/dist/services/signing-sdk/channels/wallet-notification-channel.d.ts +6 -7
  367. package/dist/services/signing-sdk/channels/wallet-notification-channel.d.ts.map +1 -1
  368. package/dist/services/signing-sdk/channels/wallet-notification-channel.js +38 -55
  369. package/dist/services/signing-sdk/channels/wallet-notification-channel.js.map +1 -1
  370. package/dist/services/signing-sdk/index.d.ts +3 -3
  371. package/dist/services/signing-sdk/index.d.ts.map +1 -1
  372. package/dist/services/signing-sdk/index.js +2 -2
  373. package/dist/services/signing-sdk/index.js.map +1 -1
  374. package/dist/services/signing-sdk/preset-auto-setup.js +2 -2
  375. package/dist/services/signing-sdk/preset-auto-setup.js.map +1 -1
  376. package/dist/services/signing-sdk/sign-request-builder.d.ts +2 -2
  377. package/dist/services/signing-sdk/sign-request-builder.d.ts.map +1 -1
  378. package/dist/services/signing-sdk/sign-request-builder.js +17 -25
  379. package/dist/services/signing-sdk/sign-request-builder.js.map +1 -1
  380. package/dist/services/signing-sdk/wallet-app-service.d.ts +4 -0
  381. package/dist/services/signing-sdk/wallet-app-service.d.ts.map +1 -1
  382. package/dist/services/signing-sdk/wallet-app-service.js +12 -5
  383. package/dist/services/signing-sdk/wallet-app-service.js.map +1 -1
  384. package/dist/services/staking/aggregate-staking-balance.d.ts +24 -0
  385. package/dist/services/staking/aggregate-staking-balance.d.ts.map +1 -0
  386. package/dist/services/staking/aggregate-staking-balance.js +82 -0
  387. package/dist/services/staking/aggregate-staking-balance.js.map +1 -0
  388. package/dist/services/wc-session-service.d.ts.map +1 -1
  389. package/dist/services/wc-session-service.js +2 -1
  390. package/dist/services/wc-session-service.js.map +1 -1
  391. package/dist/services/wc-signing-bridge.js +2 -2
  392. package/dist/services/wc-signing-bridge.js.map +1 -1
  393. package/dist/services/x402/payment-signer.d.ts.map +1 -1
  394. package/dist/services/x402/payment-signer.js +2 -5
  395. package/dist/services/x402/payment-signer.js.map +1 -1
  396. package/dist/services/x402/ssrf-guard.d.ts +4 -23
  397. package/dist/services/x402/ssrf-guard.d.ts.map +1 -1
  398. package/dist/services/x402/ssrf-guard.js +3 -232
  399. package/dist/services/x402/ssrf-guard.js.map +1 -1
  400. package/dist/signing/capabilities/eip712-signer.d.ts.map +1 -1
  401. package/dist/signing/capabilities/eip712-signer.js +2 -0
  402. package/dist/signing/capabilities/eip712-signer.js.map +1 -1
  403. package/package.json +5 -5
  404. package/public/admin/assets/index-CpFF2lCo.js +3 -0
  405. package/public/admin/index.html +1 -1
  406. package/dist/notifications/channels/ntfy.d.ts +0 -13
  407. package/dist/notifications/channels/ntfy.d.ts.map +0 -1
  408. package/dist/notifications/channels/ntfy.js +0 -74
  409. package/dist/notifications/channels/ntfy.js.map +0 -1
  410. package/dist/services/signing-sdk/channels/ntfy-signing-channel.d.ts +0 -66
  411. package/dist/services/signing-sdk/channels/ntfy-signing-channel.d.ts.map +0 -1
  412. package/dist/services/signing-sdk/channels/ntfy-signing-channel.js +0 -270
  413. package/dist/services/signing-sdk/channels/ntfy-signing-channel.js.map +0 -1
  414. package/public/admin/assets/index-CQ3i4P2U.js +0 -3
@@ -0,0 +1,420 @@
1
+ /**
2
+ * Database migrations v51 through v60.
3
+ *
4
+ * v51: hyperliquid_orders table
5
+ * v52: hyperliquid_sub_accounts table
6
+ * v53: polymarket_orders table
7
+ * v54: polymarket_positions + polymarket_api_keys tables
8
+ * v55: wallet_credentials table
9
+ * v56: transactions action tracking columns
10
+ * v57: composite index for external action tracking
11
+ * v58: CONTRACT_DEPLOY type CHECK constraint
12
+ * v59: defi_positions.environment column
13
+ * v60: Push Relay migration (push_relay_url, clear ntfy topics, sdk_ntfy -> sdk_push)
14
+ */
15
+ import { NETWORK_TYPES, TRANSACTION_STATUSES, TRANSACTION_TYPES, POLICY_TIERS, CHAIN_TYPES, ENVIRONMENT_TYPES, WALLET_STATUSES, ACCOUNT_TYPES, } from '@waiaas/core';
16
+ import { inList } from '../schema-ddl.js';
17
+ export const migrations = [
18
+ // v51: hyperliquid_orders
19
+ {
20
+ version: 51,
21
+ description: 'Create hyperliquid_orders table for Hyperliquid DEX integration',
22
+ up: (sqlite) => {
23
+ const tables = sqlite
24
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='hyperliquid_orders'")
25
+ .all();
26
+ if (tables.length > 0)
27
+ return;
28
+ sqlite.exec(`
29
+ CREATE TABLE hyperliquid_orders (
30
+ id TEXT PRIMARY KEY,
31
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
32
+ sub_account_address TEXT,
33
+ oid INTEGER,
34
+ cloid TEXT,
35
+ transaction_id TEXT REFERENCES transactions(id),
36
+ market TEXT NOT NULL,
37
+ asset_index INTEGER NOT NULL,
38
+ side TEXT NOT NULL CHECK(side IN ('BUY', 'SELL')),
39
+ order_type TEXT NOT NULL CHECK(order_type IN ('MARKET', 'LIMIT', 'STOP_MARKET', 'STOP_LIMIT', 'TAKE_PROFIT')),
40
+ size TEXT NOT NULL,
41
+ price TEXT,
42
+ trigger_price TEXT,
43
+ tif TEXT CHECK(tif IN ('GTC', 'IOC', 'ALO')),
44
+ reduce_only INTEGER NOT NULL DEFAULT 0,
45
+ status TEXT NOT NULL CHECK(status IN ('PENDING', 'RESTING', 'FILLED', 'PARTIALLY_FILLED', 'CANCELLED', 'REJECTED', 'TRIGGERED')),
46
+ filled_size TEXT,
47
+ avg_fill_price TEXT,
48
+ is_spot INTEGER NOT NULL DEFAULT 0,
49
+ leverage INTEGER,
50
+ margin_mode TEXT CHECK(margin_mode IN ('CROSS', 'ISOLATED')),
51
+ response_data TEXT,
52
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
53
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
54
+ );
55
+ CREATE INDEX idx_hl_orders_wallet ON hyperliquid_orders(wallet_id);
56
+ CREATE INDEX idx_hl_orders_oid ON hyperliquid_orders(oid);
57
+ CREATE INDEX idx_hl_orders_market ON hyperliquid_orders(market);
58
+ CREATE INDEX idx_hl_orders_status ON hyperliquid_orders(status);
59
+ CREATE INDEX idx_hl_orders_created ON hyperliquid_orders(created_at);
60
+ `);
61
+ },
62
+ },
63
+ // v52: hyperliquid_sub_accounts
64
+ {
65
+ version: 52,
66
+ description: 'Create hyperliquid_sub_accounts table for Hyperliquid Sub-account management',
67
+ up: (sqlite) => {
68
+ const tables = sqlite
69
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='hyperliquid_sub_accounts'")
70
+ .all();
71
+ if (tables.length > 0)
72
+ return;
73
+ sqlite.exec(`
74
+ CREATE TABLE hyperliquid_sub_accounts (
75
+ id TEXT PRIMARY KEY,
76
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
77
+ sub_account_address TEXT NOT NULL,
78
+ name TEXT,
79
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
80
+ UNIQUE(wallet_id, sub_account_address)
81
+ );
82
+ CREATE INDEX idx_hl_sub_wallet ON hyperliquid_sub_accounts(wallet_id);
83
+ `);
84
+ },
85
+ },
86
+ // v53: polymarket_orders
87
+ {
88
+ version: 53,
89
+ description: 'Create polymarket_orders table for Polymarket CLOB order tracking',
90
+ up: (sqlite) => {
91
+ const tables = sqlite
92
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='polymarket_orders'")
93
+ .all();
94
+ if (tables.length > 0)
95
+ return;
96
+ sqlite.exec(`
97
+ CREATE TABLE polymarket_orders (
98
+ id TEXT PRIMARY KEY,
99
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
100
+ transaction_id TEXT REFERENCES transactions(id),
101
+ condition_id TEXT NOT NULL,
102
+ token_id TEXT NOT NULL,
103
+ market_slug TEXT,
104
+ outcome TEXT NOT NULL,
105
+ order_id TEXT,
106
+ side TEXT NOT NULL CHECK (side IN ('BUY', 'SELL')),
107
+ order_type TEXT NOT NULL CHECK (order_type IN ('GTC', 'GTD', 'FOK', 'IOC')),
108
+ price TEXT NOT NULL,
109
+ size TEXT NOT NULL,
110
+ status TEXT NOT NULL CHECK (status IN ('PENDING', 'LIVE', 'MATCHED', 'PARTIALLY_FILLED', 'CANCELLED', 'EXPIRED')),
111
+ filled_size TEXT,
112
+ avg_fill_price TEXT,
113
+ salt TEXT,
114
+ maker_amount TEXT,
115
+ taker_amount TEXT,
116
+ signature_type INTEGER NOT NULL DEFAULT 0,
117
+ fee_rate_bps INTEGER,
118
+ expiration INTEGER,
119
+ nonce TEXT,
120
+ is_neg_risk INTEGER NOT NULL DEFAULT 0,
121
+ response_data TEXT,
122
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
123
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
124
+ );
125
+ CREATE INDEX idx_pm_orders_wallet ON polymarket_orders(wallet_id);
126
+ CREATE INDEX idx_pm_orders_order_id ON polymarket_orders(order_id);
127
+ CREATE INDEX idx_pm_orders_condition ON polymarket_orders(condition_id);
128
+ CREATE INDEX idx_pm_orders_status ON polymarket_orders(status);
129
+ CREATE INDEX idx_pm_orders_created ON polymarket_orders(created_at);
130
+ `);
131
+ },
132
+ },
133
+ // v54: polymarket_positions + polymarket_api_keys
134
+ {
135
+ version: 54,
136
+ description: 'Create polymarket_positions and polymarket_api_keys tables',
137
+ up: (sqlite) => {
138
+ const posTables = sqlite
139
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='polymarket_positions'")
140
+ .all();
141
+ if (posTables.length === 0) {
142
+ sqlite.exec(`
143
+ CREATE TABLE polymarket_positions (
144
+ id TEXT PRIMARY KEY,
145
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
146
+ condition_id TEXT NOT NULL,
147
+ token_id TEXT NOT NULL,
148
+ market_slug TEXT,
149
+ outcome TEXT NOT NULL CHECK (outcome IN ('YES', 'NO')),
150
+ size TEXT NOT NULL DEFAULT '0',
151
+ avg_price TEXT,
152
+ realized_pnl TEXT DEFAULT '0',
153
+ market_resolved INTEGER NOT NULL DEFAULT 0,
154
+ winning_outcome TEXT,
155
+ is_neg_risk INTEGER NOT NULL DEFAULT 0,
156
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
157
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch()),
158
+ UNIQUE(wallet_id, token_id)
159
+ );
160
+ CREATE INDEX idx_pm_positions_wallet ON polymarket_positions(wallet_id);
161
+ CREATE INDEX idx_pm_positions_condition ON polymarket_positions(condition_id);
162
+ CREATE INDEX idx_pm_positions_resolved ON polymarket_positions(market_resolved);
163
+ `);
164
+ }
165
+ const keyTables = sqlite
166
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='polymarket_api_keys'")
167
+ .all();
168
+ if (keyTables.length === 0) {
169
+ sqlite.exec(`
170
+ CREATE TABLE polymarket_api_keys (
171
+ id TEXT PRIMARY KEY,
172
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
173
+ api_key TEXT NOT NULL,
174
+ api_secret_encrypted TEXT NOT NULL,
175
+ api_passphrase_encrypted TEXT NOT NULL,
176
+ signature_type INTEGER NOT NULL DEFAULT 0,
177
+ proxy_address TEXT,
178
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
179
+ UNIQUE(wallet_id)
180
+ );
181
+ `);
182
+ }
183
+ },
184
+ },
185
+ // v55: wallet_credentials
186
+ {
187
+ version: 55,
188
+ description: 'Create wallet_credentials table for External Action credential vault',
189
+ up: (sqlite) => {
190
+ const tables = sqlite
191
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='wallet_credentials'")
192
+ .all();
193
+ if (tables.length > 0)
194
+ return;
195
+ sqlite.exec(`
196
+ CREATE TABLE wallet_credentials (
197
+ id TEXT NOT NULL PRIMARY KEY,
198
+ wallet_id TEXT,
199
+ type TEXT NOT NULL CHECK (type IN ('api-key','hmac-secret','rsa-private-key','session-token','custom')),
200
+ name TEXT NOT NULL,
201
+ encrypted_value BLOB NOT NULL,
202
+ iv BLOB NOT NULL,
203
+ auth_tag BLOB NOT NULL,
204
+ metadata TEXT NOT NULL DEFAULT '{}',
205
+ expires_at INTEGER,
206
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
207
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch()),
208
+ FOREIGN KEY (wallet_id) REFERENCES wallets(id) ON DELETE CASCADE
209
+ );
210
+ CREATE UNIQUE INDEX idx_wallet_credentials_wallet_name ON wallet_credentials(wallet_id, name);
211
+ CREATE INDEX idx_wallet_credentials_global_name ON wallet_credentials(name) WHERE wallet_id IS NULL;
212
+ CREATE INDEX idx_wallet_credentials_wallet_id ON wallet_credentials(wallet_id);
213
+ CREATE INDEX idx_wallet_credentials_expires_at ON wallet_credentials(expires_at) WHERE expires_at IS NOT NULL;
214
+ `);
215
+ },
216
+ },
217
+ // v56: transactions action tracking columns
218
+ {
219
+ version: 56,
220
+ description: 'Add action_kind, venue, operation, external_id columns to transactions',
221
+ up: (sqlite) => {
222
+ const cols = sqlite.prepare('PRAGMA table_info(transactions)').all()
223
+ .map(c => c.name);
224
+ if (!cols.includes('action_kind')) {
225
+ sqlite.exec("ALTER TABLE transactions ADD COLUMN action_kind TEXT NOT NULL DEFAULT 'contractCall'");
226
+ }
227
+ if (!cols.includes('venue')) {
228
+ sqlite.exec('ALTER TABLE transactions ADD COLUMN venue TEXT');
229
+ }
230
+ if (!cols.includes('operation')) {
231
+ sqlite.exec('ALTER TABLE transactions ADD COLUMN operation TEXT');
232
+ }
233
+ if (!cols.includes('external_id')) {
234
+ sqlite.exec('ALTER TABLE transactions ADD COLUMN external_id TEXT');
235
+ }
236
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_action_kind ON transactions(action_kind)');
237
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_venue ON transactions(venue) WHERE venue IS NOT NULL');
238
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_external_id ON transactions(external_id) WHERE external_id IS NOT NULL');
239
+ },
240
+ },
241
+ // v57: composite index
242
+ {
243
+ version: 57,
244
+ description: 'Add composite index idx_transactions_action_kind_bridge_status',
245
+ up: (sqlite) => {
246
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_action_kind_bridge_status ON transactions(action_kind, bridge_status) WHERE bridge_status IS NOT NULL');
247
+ },
248
+ },
249
+ // v58: CONTRACT_DEPLOY type CHECK
250
+ {
251
+ version: 58,
252
+ description: 'Add CONTRACT_DEPLOY to transactions type CHECK constraint (12-step table recreation)',
253
+ managesOwnTransaction: true,
254
+ up: (sqlite) => {
255
+ sqlite.exec('BEGIN');
256
+ try {
257
+ sqlite.exec(`CREATE TABLE transactions_new (
258
+ id TEXT PRIMARY KEY,
259
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE RESTRICT,
260
+ session_id TEXT REFERENCES sessions(id) ON DELETE SET NULL,
261
+ chain TEXT NOT NULL,
262
+ tx_hash TEXT,
263
+ type TEXT NOT NULL CHECK (type IN (${inList(TRANSACTION_TYPES)})),
264
+ amount TEXT,
265
+ to_address TEXT,
266
+ token_mint TEXT,
267
+ contract_address TEXT,
268
+ method_signature TEXT,
269
+ spender_address TEXT,
270
+ approved_amount TEXT,
271
+ parent_id TEXT REFERENCES transactions_new(id) ON DELETE CASCADE,
272
+ batch_index INTEGER,
273
+ status TEXT NOT NULL DEFAULT 'PENDING' CHECK (status IN (${inList(TRANSACTION_STATUSES)})),
274
+ tier TEXT CHECK (tier IS NULL OR tier IN (${inList(POLICY_TIERS)})),
275
+ queued_at INTEGER,
276
+ executed_at INTEGER,
277
+ created_at INTEGER NOT NULL,
278
+ reserved_amount TEXT,
279
+ amount_usd REAL,
280
+ reserved_amount_usd REAL,
281
+ error TEXT,
282
+ metadata TEXT,
283
+ network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
284
+ bridge_status TEXT CHECK (bridge_status IS NULL OR bridge_status IN ('PENDING', 'COMPLETED', 'FAILED', 'BRIDGE_MONITORING', 'TIMEOUT', 'REFUNDED', 'PARTIALLY_FILLED', 'FILLED', 'CANCELED', 'SETTLED', 'EXPIRED')),
285
+ bridge_metadata TEXT,
286
+ action_kind TEXT NOT NULL DEFAULT 'contractCall',
287
+ venue TEXT,
288
+ operation TEXT,
289
+ external_id TEXT
290
+ )`);
291
+ sqlite.exec(`INSERT INTO transactions_new (id, wallet_id, session_id, chain, tx_hash, type, amount, to_address, token_mint, contract_address, method_signature, spender_address, approved_amount, parent_id, batch_index, status, tier, queued_at, executed_at, created_at, reserved_amount, amount_usd, reserved_amount_usd, error, metadata, network, bridge_status, bridge_metadata, action_kind, venue, operation, external_id)
292
+ SELECT id, wallet_id, session_id, chain, tx_hash, type, amount, to_address, token_mint, contract_address, method_signature, spender_address, approved_amount, parent_id, batch_index, status, tier, queued_at, executed_at, created_at, reserved_amount, amount_usd, reserved_amount_usd, error, metadata, network, bridge_status, bridge_metadata, action_kind, venue, operation, external_id FROM transactions`);
293
+ sqlite.exec('DROP TABLE transactions');
294
+ sqlite.exec('ALTER TABLE transactions_new RENAME TO transactions');
295
+ sqlite.exec('CREATE INDEX idx_transactions_wallet_status ON transactions(wallet_id, status)');
296
+ sqlite.exec('CREATE INDEX idx_transactions_session_id ON transactions(session_id)');
297
+ sqlite.exec('CREATE UNIQUE INDEX idx_transactions_tx_hash ON transactions(tx_hash)');
298
+ sqlite.exec('CREATE INDEX idx_transactions_queued_at ON transactions(queued_at)');
299
+ sqlite.exec('CREATE INDEX idx_transactions_created_at ON transactions(created_at)');
300
+ sqlite.exec('CREATE INDEX idx_transactions_type ON transactions(type)');
301
+ sqlite.exec('CREATE INDEX idx_transactions_contract_address ON transactions(contract_address)');
302
+ sqlite.exec('CREATE INDEX idx_transactions_parent_id ON transactions(parent_id)');
303
+ sqlite.exec("CREATE INDEX idx_transactions_bridge_status ON transactions(bridge_status) WHERE bridge_status IS NOT NULL");
304
+ sqlite.exec("CREATE INDEX idx_transactions_gas_waiting ON transactions(status) WHERE status = 'GAS_WAITING'");
305
+ sqlite.exec('CREATE INDEX idx_transactions_action_kind ON transactions(action_kind)');
306
+ sqlite.exec("CREATE INDEX idx_transactions_venue ON transactions(venue) WHERE venue IS NOT NULL");
307
+ sqlite.exec("CREATE INDEX idx_transactions_external_id ON transactions(external_id) WHERE external_id IS NOT NULL");
308
+ sqlite.exec('CREATE INDEX idx_transactions_action_kind_bridge_status ON transactions(action_kind, bridge_status) WHERE bridge_status IS NOT NULL');
309
+ sqlite.exec('COMMIT');
310
+ }
311
+ catch (err) {
312
+ sqlite.exec('ROLLBACK');
313
+ throw err;
314
+ }
315
+ sqlite.pragma('foreign_keys = ON');
316
+ const fkErrors = sqlite.pragma('foreign_key_check');
317
+ if (fkErrors.length > 0) {
318
+ throw new Error(`FK integrity violation after v58: ${JSON.stringify(fkErrors)}`);
319
+ }
320
+ },
321
+ },
322
+ // v59: defi_positions.environment
323
+ {
324
+ version: 59,
325
+ description: 'Add environment column to defi_positions table (Testnet Toggle)',
326
+ up: (sqlite) => {
327
+ const cols = sqlite.prepare("PRAGMA table_info('defi_positions')").all().map(c => c.name);
328
+ if (!cols.includes('environment')) {
329
+ sqlite.exec("ALTER TABLE defi_positions ADD COLUMN environment TEXT NOT NULL DEFAULT 'mainnet'");
330
+ }
331
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_environment ON defi_positions(environment)');
332
+ },
333
+ },
334
+ // v60: Push Relay migration
335
+ {
336
+ version: 60,
337
+ description: 'Add wallet_apps.push_relay_url, clear sign_topic/notify_topic, rename sdk_ntfy to sdk_push',
338
+ managesOwnTransaction: true,
339
+ up: (sqlite) => {
340
+ // 1. Add push_relay_url column to wallet_apps
341
+ const cols = sqlite.prepare("PRAGMA table_info('wallet_apps')").all().map(c => c.name);
342
+ if (!cols.includes('push_relay_url')) {
343
+ sqlite.exec("ALTER TABLE wallet_apps ADD COLUMN push_relay_url TEXT");
344
+ }
345
+ // 2. Set dcent wallet_type push_relay_url (only if not already set)
346
+ sqlite.prepare("UPDATE wallet_apps SET push_relay_url = ? WHERE wallet_type = 'dcent' AND (push_relay_url IS NULL OR push_relay_url = '')").run('https://waiaas-push.dcentwallet.com');
347
+ // 3. Clear sign_topic and notify_topic (no longer used)
348
+ sqlite.exec("UPDATE wallet_apps SET sign_topic = NULL, notify_topic = NULL");
349
+ // 4. Rebuild wallets table to update CHECK constraint: sdk_ntfy -> sdk_push
350
+ // SQLite cannot ALTER CHECK constraints, so we must rebuild the table.
351
+ // Only rebuild if the existing CHECK still references 'sdk_ntfy' (idempotency).
352
+ const walletsCreateSql = sqlite.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='wallets'").get()?.sql ?? '';
353
+ if (walletsCreateSql.includes('sdk_ntfy')) {
354
+ sqlite.pragma('foreign_keys = OFF');
355
+ sqlite.exec('BEGIN');
356
+ try {
357
+ sqlite.exec(`CREATE TABLE wallets_new (
358
+ id TEXT PRIMARY KEY,
359
+ name TEXT NOT NULL,
360
+ chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
361
+ environment TEXT NOT NULL CHECK (environment IN (${inList(ENVIRONMENT_TYPES)})),
362
+ public_key TEXT NOT NULL,
363
+ status TEXT NOT NULL DEFAULT 'CREATING' CHECK (status IN (${inList(WALLET_STATUSES)})),
364
+ owner_address TEXT,
365
+ owner_verified INTEGER NOT NULL DEFAULT 0 CHECK (owner_verified IN (0, 1)),
366
+ created_at INTEGER NOT NULL,
367
+ updated_at INTEGER NOT NULL,
368
+ suspended_at INTEGER,
369
+ suspension_reason TEXT,
370
+ monitor_incoming INTEGER NOT NULL DEFAULT 0,
371
+ owner_approval_method TEXT CHECK (owner_approval_method IS NULL OR owner_approval_method IN ('sdk_push', 'sdk_telegram', 'walletconnect', 'telegram_bot', 'rest')),
372
+ wallet_type TEXT,
373
+ account_type TEXT NOT NULL DEFAULT 'eoa' CHECK (account_type IN (${inList(ACCOUNT_TYPES)})),
374
+ signer_key TEXT,
375
+ deployed INTEGER NOT NULL DEFAULT 1,
376
+ entry_point TEXT,
377
+ aa_provider TEXT CHECK (aa_provider IS NULL OR aa_provider IN ('pimlico', 'alchemy', 'custom')),
378
+ aa_provider_api_key_encrypted TEXT,
379
+ aa_bundler_url TEXT,
380
+ aa_paymaster_url TEXT,
381
+ aa_paymaster_policy_id TEXT,
382
+ factory_address TEXT
383
+ )`);
384
+ sqlite.exec(`INSERT INTO wallets_new (
385
+ id, name, chain, environment, public_key, status, owner_address, owner_verified,
386
+ created_at, updated_at, suspended_at, suspension_reason, monitor_incoming,
387
+ owner_approval_method, wallet_type, account_type, signer_key, deployed,
388
+ entry_point, aa_provider, aa_provider_api_key_encrypted, aa_bundler_url,
389
+ aa_paymaster_url, aa_paymaster_policy_id, factory_address
390
+ ) SELECT
391
+ id, name, chain, environment, public_key, status, owner_address, owner_verified,
392
+ created_at, updated_at, suspended_at, suspension_reason, monitor_incoming,
393
+ CASE WHEN owner_approval_method = 'sdk_ntfy' THEN 'sdk_push' ELSE owner_approval_method END,
394
+ wallet_type, account_type, signer_key, deployed,
395
+ entry_point, aa_provider, aa_provider_api_key_encrypted, aa_bundler_url,
396
+ aa_paymaster_url, aa_paymaster_policy_id, factory_address
397
+ FROM wallets`);
398
+ sqlite.exec('DROP TABLE wallets');
399
+ sqlite.exec('ALTER TABLE wallets_new RENAME TO wallets');
400
+ // Recreate indexes
401
+ sqlite.exec('CREATE UNIQUE INDEX idx_wallets_public_key ON wallets(public_key)');
402
+ sqlite.exec('CREATE INDEX idx_wallets_status ON wallets(status)');
403
+ sqlite.exec('CREATE INDEX idx_wallets_chain_environment ON wallets(chain, environment)');
404
+ sqlite.exec('CREATE INDEX idx_wallets_owner_address ON wallets(owner_address)');
405
+ sqlite.exec('COMMIT');
406
+ }
407
+ catch (err) {
408
+ sqlite.exec('ROLLBACK');
409
+ throw err;
410
+ }
411
+ sqlite.pragma('foreign_keys = ON');
412
+ const fkErrors = sqlite.pragma('foreign_key_check');
413
+ if (fkErrors.length > 0) {
414
+ throw new Error(`FK integrity violation after v60: ${JSON.stringify(fkErrors)}`);
415
+ }
416
+ }
417
+ },
418
+ },
419
+ ];
420
+ //# sourceMappingURL=v51-v59.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v51-v59.js","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v51-v59.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * DDL statements for all tables and indexes (latest schema: v59).
3
+ *
4
+ * Extracted from migrate.ts to separate DDL creation from migration logic.
5
+ * Contains getCreateTableStatements(), getCreateIndexStatements(),
6
+ * LATEST_SCHEMA_VERSION, and shared utility constants used by migration files.
7
+ */
8
+ export declare const inList: (values: readonly string[]) => string;
9
+ export declare const NETWORK_TYPES_WITH_LEGACY: readonly ("testnet" | "mainnet" | "solana-mainnet" | "solana-devnet" | "solana-testnet" | "ethereum-mainnet" | "ethereum-sepolia" | "polygon-mainnet" | "polygon-amoy" | "arbitrum-mainnet" | "arbitrum-sepolia" | "optimism-mainnet" | "optimism-sepolia" | "base-mainnet" | "base-sepolia" | "hyperevm-mainnet" | "hyperevm-testnet" | "devnet")[];
10
+ /**
11
+ * Map legacy bare Solana network names to their prefixed form.
12
+ * Used by pre-v29 migrations (e.g., v22 asset_id backfill) that need to look up
13
+ * NETWORK_TO_CAIP2 with potentially old-format data.
14
+ */
15
+ export declare const LEGACY_NETWORK_NORMALIZE: Record<string, string>;
16
+ /**
17
+ * The latest schema version that getCreateTableStatements() represents.
18
+ * pushSchema() records this version for fresh databases so migrations are skipped.
19
+ * Increment this whenever DDL statements are updated to match a new migration.
20
+ */
21
+ export declare const LATEST_SCHEMA_VERSION = 60;
22
+ export declare function getCreateTableStatements(): string[];
23
+ export declare function getCreateIndexStatements(): string[];
24
+ //# sourceMappingURL=schema-ddl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-ddl.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/database/schema-ddl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,eAAO,MAAM,MAAM,GAAI,QAAQ,SAAS,MAAM,EAAE,WAA2C,CAAC;AAU5F,eAAO,MAAM,yBAAyB,sVAAuE,CAAC;AAE9G;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI3D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAsdnD;AAMD,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CA4InD"}