@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,203 @@
1
+ /**
2
+ * Database migrations v31 through v40.
3
+ *
4
+ * v31: wallet_apps table
5
+ * v32: sessions max_renewals default change (no-op)
6
+ * v33: wallet_apps sign_topic + notify_topic
7
+ * v34: wallet_apps.wallet_type
8
+ * v35: wallet_apps.subscription_token
9
+ * v36: audit_log tx_id index
10
+ * v37: webhooks + webhook_logs tables
11
+ * v38: Smart account columns
12
+ * v39: ERC-8004 (agent_identities + reputation_cache + policies CHECK)
13
+ * v40: pending_approvals.typed_data_json
14
+ */
15
+ import { NETWORK_TYPES, POLICY_TYPES, } from '@waiaas/core';
16
+ import { inList } from '../schema-ddl.js';
17
+ export const migrations = [
18
+ // v31: wallet_apps table
19
+ {
20
+ version: 31,
21
+ description: 'Create wallet_apps table for Human Wallet Apps registry',
22
+ up: (sqlite) => {
23
+ sqlite.exec(`CREATE TABLE IF NOT EXISTS wallet_apps (
24
+ id TEXT PRIMARY KEY,
25
+ name TEXT NOT NULL UNIQUE,
26
+ display_name TEXT NOT NULL,
27
+ signing_enabled INTEGER NOT NULL DEFAULT 1,
28
+ alerts_enabled INTEGER NOT NULL DEFAULT 1,
29
+ created_at INTEGER NOT NULL,
30
+ updated_at INTEGER NOT NULL
31
+ )`);
32
+ },
33
+ },
34
+ // v32: sessions max_renewals default (no-op)
35
+ {
36
+ version: 32,
37
+ description: 'Session progressive security: default max_renewals 30 -> 0 (unlimited)',
38
+ up: (_sqlite) => {
39
+ // No DDL needed
40
+ },
41
+ },
42
+ // v33: wallet_apps sign_topic + notify_topic
43
+ {
44
+ version: 33,
45
+ description: 'Add sign_topic and notify_topic columns to wallet_apps for per-wallet ntfy topic routing',
46
+ up: (sqlite) => {
47
+ const cols = sqlite.prepare("PRAGMA table_info('wallet_apps')").all().map(c => c.name);
48
+ if (!cols.includes('sign_topic'))
49
+ sqlite.exec(`ALTER TABLE wallet_apps ADD COLUMN sign_topic TEXT`);
50
+ if (!cols.includes('notify_topic'))
51
+ sqlite.exec(`ALTER TABLE wallet_apps ADD COLUMN notify_topic TEXT`);
52
+ const prefix = 'waiaas-sign';
53
+ const notifyPrefix = 'waiaas-notify';
54
+ const rows = sqlite.prepare('SELECT id, name FROM wallet_apps').all();
55
+ const stmt = sqlite.prepare('UPDATE wallet_apps SET sign_topic = ?, notify_topic = ? WHERE id = ?');
56
+ for (const row of rows) {
57
+ stmt.run(`${prefix}-${row.name}`, `${notifyPrefix}-${row.name}`, row.id);
58
+ }
59
+ },
60
+ },
61
+ // v34: wallet_apps.wallet_type
62
+ {
63
+ version: 34,
64
+ description: 'Add wallet_type column to wallet_apps for multi-device per wallet type',
65
+ up: (sqlite) => {
66
+ const cols = sqlite.prepare("PRAGMA table_info('wallet_apps')").all().map(c => c.name);
67
+ if (!cols.includes('wallet_type')) {
68
+ sqlite.exec(`ALTER TABLE wallet_apps ADD COLUMN wallet_type TEXT NOT NULL DEFAULT ''`);
69
+ sqlite.exec(`UPDATE wallet_apps SET wallet_type = name WHERE wallet_type = ''`);
70
+ }
71
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_wallet_apps_wallet_type ON wallet_apps(wallet_type)');
72
+ },
73
+ },
74
+ // v35: wallet_apps.subscription_token
75
+ {
76
+ version: 35,
77
+ description: 'Add subscription_token column to wallet_apps for token-based ntfy topic routing',
78
+ up: (sqlite) => {
79
+ const cols = sqlite.prepare("PRAGMA table_info('wallet_apps')").all().map(c => c.name);
80
+ if (!cols.includes('subscription_token')) {
81
+ sqlite.exec(`ALTER TABLE wallet_apps ADD COLUMN subscription_token TEXT`);
82
+ }
83
+ },
84
+ },
85
+ // v36: audit_log tx_id index
86
+ {
87
+ version: 36,
88
+ description: 'Add idx_audit_log_tx_id index for audit log tx_id filter queries',
89
+ up: (sqlite) => {
90
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_audit_log_tx_id ON audit_log(tx_id)');
91
+ },
92
+ },
93
+ // v37: webhooks + webhook_logs
94
+ {
95
+ version: 37,
96
+ description: 'Create webhooks and webhook_logs tables for webhook outbound (OPS-04)',
97
+ up: (sqlite) => {
98
+ sqlite.exec('PRAGMA foreign_keys = ON');
99
+ sqlite.exec(`CREATE TABLE IF NOT EXISTS webhooks (
100
+ id TEXT PRIMARY KEY,
101
+ url TEXT NOT NULL,
102
+ secret_hash TEXT NOT NULL,
103
+ secret_encrypted TEXT NOT NULL,
104
+ events TEXT NOT NULL DEFAULT '[]',
105
+ description TEXT,
106
+ enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
107
+ created_at INTEGER NOT NULL,
108
+ updated_at INTEGER NOT NULL
109
+ )`);
110
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_webhooks_enabled ON webhooks(enabled)');
111
+ sqlite.exec(`CREATE TABLE IF NOT EXISTS webhook_logs (
112
+ id TEXT PRIMARY KEY,
113
+ webhook_id TEXT NOT NULL REFERENCES webhooks(id) ON DELETE CASCADE,
114
+ event_type TEXT NOT NULL,
115
+ status TEXT NOT NULL CHECK (status IN ('success', 'failed')),
116
+ http_status INTEGER,
117
+ attempt INTEGER NOT NULL DEFAULT 1,
118
+ error TEXT,
119
+ request_duration INTEGER,
120
+ created_at INTEGER NOT NULL
121
+ )`);
122
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_webhook_logs_webhook_id ON webhook_logs(webhook_id)');
123
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_webhook_logs_event_type ON webhook_logs(event_type)');
124
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_webhook_logs_status ON webhook_logs(status)');
125
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_webhook_logs_created_at ON webhook_logs(created_at)');
126
+ },
127
+ },
128
+ // v38: Smart account columns
129
+ {
130
+ version: 38,
131
+ description: 'Add smart account columns to wallets table (account_type, signer_key, deployed, entry_point)',
132
+ up: (sqlite) => {
133
+ sqlite.exec(`ALTER TABLE wallets ADD COLUMN account_type TEXT NOT NULL DEFAULT 'eoa'`);
134
+ sqlite.exec(`ALTER TABLE wallets ADD COLUMN signer_key TEXT`);
135
+ sqlite.exec(`ALTER TABLE wallets ADD COLUMN deployed INTEGER NOT NULL DEFAULT 1`);
136
+ sqlite.exec(`ALTER TABLE wallets ADD COLUMN entry_point TEXT`);
137
+ },
138
+ },
139
+ // v39: ERC-8004
140
+ {
141
+ version: 39,
142
+ description: 'ERC-8004: agent_identities + reputation_cache + pending_approvals.approval_type + policies CHECK update',
143
+ managesOwnTransaction: true,
144
+ up: (sqlite) => {
145
+ sqlite.exec('BEGIN');
146
+ sqlite.exec(`CREATE TABLE IF NOT EXISTS agent_identities (
147
+ id TEXT PRIMARY KEY,
148
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
149
+ chain_agent_id TEXT NOT NULL,
150
+ registry_address TEXT NOT NULL,
151
+ chain_id INTEGER NOT NULL,
152
+ agent_uri TEXT,
153
+ registration_file_url TEXT,
154
+ status TEXT NOT NULL DEFAULT 'PENDING'
155
+ CHECK (status IN ('PENDING', 'REGISTERED', 'WALLET_LINKED', 'DEREGISTERED')),
156
+ created_at INTEGER NOT NULL,
157
+ updated_at INTEGER NOT NULL
158
+ )`);
159
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_agent_identities_wallet ON agent_identities(wallet_id)');
160
+ sqlite.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_agent_identities_chain ON agent_identities(registry_address, chain_agent_id)');
161
+ sqlite.exec(`CREATE TABLE IF NOT EXISTS reputation_cache (
162
+ agent_id TEXT NOT NULL,
163
+ registry_address TEXT NOT NULL,
164
+ tag1 TEXT NOT NULL DEFAULT '',
165
+ tag2 TEXT NOT NULL DEFAULT '',
166
+ score INTEGER NOT NULL,
167
+ score_decimals INTEGER NOT NULL DEFAULT 0,
168
+ feedback_count INTEGER NOT NULL DEFAULT 0,
169
+ cached_at INTEGER NOT NULL,
170
+ PRIMARY KEY (agent_id, registry_address, tag1, tag2)
171
+ )`);
172
+ sqlite.exec("ALTER TABLE pending_approvals ADD COLUMN approval_type TEXT NOT NULL DEFAULT 'SIWE' CHECK (approval_type IN ('SIWE', 'EIP712'))");
173
+ // Recreate policies with REPUTATION_THRESHOLD in CHECK
174
+ sqlite.exec(`CREATE TABLE policies_new (
175
+ id TEXT PRIMARY KEY,
176
+ wallet_id TEXT REFERENCES wallets(id) ON DELETE CASCADE,
177
+ type TEXT NOT NULL CHECK (type IN (${inList(POLICY_TYPES)})),
178
+ rules TEXT NOT NULL,
179
+ priority INTEGER NOT NULL DEFAULT 0,
180
+ enabled INTEGER NOT NULL DEFAULT 1,
181
+ network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
182
+ created_at INTEGER NOT NULL,
183
+ updated_at INTEGER NOT NULL
184
+ )`);
185
+ sqlite.exec('INSERT INTO policies_new SELECT * FROM policies');
186
+ sqlite.exec('DROP TABLE policies');
187
+ sqlite.exec('ALTER TABLE policies_new RENAME TO policies');
188
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_policies_wallet_enabled ON policies(wallet_id, enabled)');
189
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_policies_type ON policies(type)');
190
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_policies_network ON policies(network)');
191
+ sqlite.exec('COMMIT');
192
+ },
193
+ },
194
+ // v40: pending_approvals.typed_data_json
195
+ {
196
+ version: 40,
197
+ description: 'ERC-8004: pending_approvals.typed_data_json for EIP-712 approval payloads',
198
+ up: (sqlite) => {
199
+ sqlite.exec("ALTER TABLE pending_approvals ADD COLUMN typed_data_json TEXT");
200
+ },
201
+ },
202
+ ];
203
+ //# sourceMappingURL=v31-v40.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v31-v40.js","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v31-v40.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Database migrations v41 through v50.
3
+ *
4
+ * v41: Smart Account per-wallet provider columns
5
+ * v42: Seed action provider _enabled defaults
6
+ * v43: aa_paymaster_policy_id column
7
+ * v44: nft_metadata_cache table
8
+ * v45: userop_builds table
9
+ * v46: Backfill CONTRACT_CALL amount
10
+ * v47: factory_address column
11
+ * v48: Purge mock defi_positions
12
+ * v49: Fix bugged smart account wallets
13
+ * v50: userop_builds.network column
14
+ */
15
+ import type { Migration } from '../migrate.js';
16
+ export declare const migrations: Migration[];
17
+ //# sourceMappingURL=v41-v50.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v41-v50.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v41-v50.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO/C,eAAO,MAAM,UAAU,EAAE,SAAS,EAuLjC,CAAC"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Database migrations v41 through v50.
3
+ *
4
+ * v41: Smart Account per-wallet provider columns
5
+ * v42: Seed action provider _enabled defaults
6
+ * v43: aa_paymaster_policy_id column
7
+ * v44: nft_metadata_cache table
8
+ * v45: userop_builds table
9
+ * v46: Backfill CONTRACT_CALL amount
10
+ * v47: factory_address column
11
+ * v48: Purge mock defi_positions
12
+ * v49: Fix bugged smart account wallets
13
+ * v50: userop_builds.network column
14
+ */
15
+ import { CHAIN_TYPES, NETWORK_TYPES, } from '@waiaas/core';
16
+ import { inList } from '../schema-ddl.js';
17
+ export const migrations = [
18
+ // v41: Smart Account per-wallet provider columns
19
+ {
20
+ version: 41,
21
+ description: 'Smart Account per-wallet provider: aa_provider, aa_provider_api_key_encrypted, aa_bundler_url, aa_paymaster_url',
22
+ up: (sqlite) => {
23
+ const columns = sqlite
24
+ .prepare("PRAGMA table_info('wallets')")
25
+ .all();
26
+ const has = (name) => columns.some((c) => c.name === name);
27
+ if (!has('aa_provider')) {
28
+ sqlite.exec("ALTER TABLE wallets ADD COLUMN aa_provider TEXT CHECK (aa_provider IS NULL OR aa_provider IN ('pimlico', 'alchemy', 'custom'))");
29
+ }
30
+ if (!has('aa_provider_api_key_encrypted')) {
31
+ sqlite.exec("ALTER TABLE wallets ADD COLUMN aa_provider_api_key_encrypted TEXT");
32
+ }
33
+ if (!has('aa_bundler_url')) {
34
+ sqlite.exec("ALTER TABLE wallets ADD COLUMN aa_bundler_url TEXT");
35
+ }
36
+ if (!has('aa_paymaster_url')) {
37
+ sqlite.exec("ALTER TABLE wallets ADD COLUMN aa_paymaster_url TEXT");
38
+ }
39
+ },
40
+ },
41
+ // v42: Seed action provider defaults
42
+ {
43
+ version: 42,
44
+ description: 'Seed all 10 action provider _enabled defaults to true (INSERT OR IGNORE preserves existing)',
45
+ up: (sqlite) => {
46
+ const keys = [
47
+ 'actions.jupiter_swap_enabled',
48
+ 'actions.zerox_swap_enabled',
49
+ 'actions.lifi_enabled',
50
+ 'actions.lido_staking_enabled',
51
+ 'actions.jito_staking_enabled',
52
+ 'actions.aave_v3_enabled',
53
+ 'actions.kamino_enabled',
54
+ 'actions.pendle_yield_enabled',
55
+ 'actions.drift_enabled',
56
+ 'actions.erc8004_agent_enabled',
57
+ ];
58
+ const now = Math.floor(Date.now() / 1000);
59
+ const stmt = sqlite.prepare("INSERT OR IGNORE INTO settings (key, value, encrypted, category, updated_at) VALUES (?, 'true', 0, 'actions', ?)");
60
+ for (const key of keys) {
61
+ stmt.run(key, now);
62
+ }
63
+ },
64
+ },
65
+ // v43: aa_paymaster_policy_id
66
+ {
67
+ version: 43,
68
+ description: 'Add aa_paymaster_policy_id column to wallets for paymaster context (sponsorshipPolicyId)',
69
+ up: (sqlite) => {
70
+ const cols = sqlite.pragma('table_info(wallets)');
71
+ const has = (n) => cols.some((c) => c.name === n);
72
+ if (!has('aa_paymaster_policy_id')) {
73
+ sqlite.exec('ALTER TABLE wallets ADD COLUMN aa_paymaster_policy_id TEXT');
74
+ }
75
+ },
76
+ },
77
+ // v44: nft_metadata_cache
78
+ {
79
+ version: 44,
80
+ description: 'Create nft_metadata_cache table for NFT metadata caching (24h TTL)',
81
+ up: (sqlite) => {
82
+ sqlite.exec(`
83
+ CREATE TABLE IF NOT EXISTS nft_metadata_cache (
84
+ id TEXT PRIMARY KEY,
85
+ contract_address TEXT NOT NULL,
86
+ token_id TEXT NOT NULL,
87
+ chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
88
+ network TEXT NOT NULL CHECK (network IN (${inList(NETWORK_TYPES)})),
89
+ metadata_json TEXT NOT NULL,
90
+ cached_at INTEGER NOT NULL,
91
+ expires_at INTEGER NOT NULL
92
+ )
93
+ `);
94
+ sqlite.exec(`
95
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_nft_cache_unique
96
+ ON nft_metadata_cache (contract_address, token_id, chain, network)
97
+ `);
98
+ sqlite.exec(`
99
+ CREATE INDEX IF NOT EXISTS idx_nft_cache_expires
100
+ ON nft_metadata_cache (expires_at)
101
+ `);
102
+ },
103
+ },
104
+ // v45: userop_builds
105
+ {
106
+ version: 45,
107
+ description: 'Create userop_builds table for UserOp Build/Sign API',
108
+ up: (sqlite) => {
109
+ sqlite.exec(`
110
+ CREATE TABLE IF NOT EXISTS userop_builds (
111
+ id TEXT PRIMARY KEY,
112
+ wallet_id TEXT NOT NULL,
113
+ call_data TEXT NOT NULL,
114
+ sender TEXT NOT NULL,
115
+ nonce TEXT NOT NULL,
116
+ entry_point TEXT NOT NULL,
117
+ created_at INTEGER NOT NULL,
118
+ expires_at INTEGER NOT NULL,
119
+ used INTEGER NOT NULL DEFAULT 0 CHECK (used IN (0, 1))
120
+ )
121
+ `);
122
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_userop_builds_wallet_id ON userop_builds(wallet_id)');
123
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_userop_builds_expires ON userop_builds(expires_at)');
124
+ },
125
+ },
126
+ // v46: Backfill CONTRACT_CALL amount
127
+ {
128
+ version: 46,
129
+ description: 'Backfill CONTRACT_CALL amount from metadata.originalRequest.value',
130
+ up: (sqlite) => {
131
+ sqlite.exec(`
132
+ UPDATE transactions
133
+ SET amount = json_extract(metadata, '$.originalRequest.value')
134
+ WHERE type = 'CONTRACT_CALL'
135
+ AND amount IS NULL
136
+ AND json_extract(metadata, '$.originalRequest.value') IS NOT NULL
137
+ `);
138
+ },
139
+ },
140
+ // v47: factory_address column
141
+ {
142
+ version: 47,
143
+ description: 'Add factory_address column to wallets for multichain Smart Account factory tracking',
144
+ up: (sqlite) => {
145
+ sqlite.exec(`ALTER TABLE wallets ADD COLUMN factory_address TEXT`);
146
+ sqlite.exec(`
147
+ UPDATE wallets
148
+ SET factory_address = '0x5d82735936c6Cd5DE57cC3c1A799f6B2E6F933Df'
149
+ WHERE account_type = 'smart' AND factory_address IS NULL
150
+ `);
151
+ },
152
+ },
153
+ // v48: Purge mock defi_positions
154
+ {
155
+ version: 48,
156
+ description: 'Purge mock defi_positions data from Kamino/Drift (#263)',
157
+ up: (sqlite) => {
158
+ sqlite.exec(`DELETE FROM defi_positions WHERE provider IN ('kamino', 'drift_perp')`);
159
+ },
160
+ },
161
+ // v49: Fix bugged smart account wallets
162
+ {
163
+ version: 49,
164
+ description: 'Convert bugged smart account wallets (missing signerKey) to EOA (#272)',
165
+ up: (sqlite) => {
166
+ sqlite.exec(`
167
+ UPDATE wallets
168
+ SET account_type = 'eoa',
169
+ deployed = 1,
170
+ entry_point = NULL,
171
+ factory_address = NULL
172
+ WHERE account_type = 'smart' AND signer_key IS NULL
173
+ `);
174
+ },
175
+ },
176
+ // v50: userop_builds.network
177
+ {
178
+ version: 50,
179
+ description: 'Add network column to userop_builds for Sign route RPC resolve (#279)',
180
+ up: (sqlite) => {
181
+ const cols = sqlite.prepare("PRAGMA table_info('userop_builds')").all();
182
+ if (!cols.some((c) => c.name === 'network')) {
183
+ sqlite.exec(`ALTER TABLE userop_builds ADD COLUMN network TEXT`);
184
+ }
185
+ },
186
+ },
187
+ ];
188
+ //# sourceMappingURL=v41-v50.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v41-v50.js","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v41-v50.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
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 type { Migration } from '../migrate.js';
16
+ export declare const migrations: Migration[];
17
+ //# sourceMappingURL=v51-v59.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v51-v59.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v51-v59.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAa/C,eAAO,MAAM,UAAU,EAAE,SAAS,EAibjC,CAAC"}