@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,596 @@
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
+ import { WALLET_STATUSES, CHAIN_TYPES, NETWORK_TYPES, ENVIRONMENT_TYPES, TRANSACTION_STATUSES, TRANSACTION_TYPES, POLICY_TYPES, POLICY_TIERS, NOTIFICATION_LOG_STATUSES, INCOMING_TX_STATUSES, POSITION_CATEGORIES, POSITION_STATUSES, ACCOUNT_TYPES, } from '@waiaas/core';
9
+ // ---------------------------------------------------------------------------
10
+ // Utility: build CHECK IN clause from SSoT arrays
11
+ // ---------------------------------------------------------------------------
12
+ export const inList = (values) => values.map((v) => `'${v}'`).join(', ');
13
+ /**
14
+ * NETWORK_TYPES_WITH_LEGACY includes both old ('mainnet', 'devnet', 'testnet') and new
15
+ * ('solana-mainnet', 'solana-devnet', 'solana-testnet') Solana network names.
16
+ * Used in pre-v29 migrations so CHECK constraints accept data in either format
17
+ * during the migration chain. Migration v29 converts old -> new, and post-v29
18
+ * tables use NETWORK_TYPES (new names only).
19
+ */
20
+ const LEGACY_SOLANA_NETWORKS = ['mainnet', 'devnet', 'testnet'];
21
+ export const NETWORK_TYPES_WITH_LEGACY = [...new Set([...NETWORK_TYPES, ...LEGACY_SOLANA_NETWORKS])];
22
+ /**
23
+ * Map legacy bare Solana network names to their prefixed form.
24
+ * Used by pre-v29 migrations (e.g., v22 asset_id backfill) that need to look up
25
+ * NETWORK_TO_CAIP2 with potentially old-format data.
26
+ */
27
+ export const LEGACY_NETWORK_NORMALIZE = {
28
+ mainnet: 'solana-mainnet',
29
+ devnet: 'solana-devnet',
30
+ testnet: 'solana-testnet',
31
+ };
32
+ /**
33
+ * The latest schema version that getCreateTableStatements() represents.
34
+ * pushSchema() records this version for fresh databases so migrations are skipped.
35
+ * Increment this whenever DDL statements are updated to match a new migration.
36
+ */
37
+ export const LATEST_SCHEMA_VERSION = 60;
38
+ export function getCreateTableStatements() {
39
+ return [
40
+ // Table 1: wallets (renamed from agents in v3, environment model in v6b, v29.3: default_network removed)
41
+ `CREATE TABLE IF NOT EXISTS wallets (
42
+ id TEXT PRIMARY KEY,
43
+ name TEXT NOT NULL,
44
+ chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
45
+ environment TEXT NOT NULL CHECK (environment IN (${inList(ENVIRONMENT_TYPES)})),
46
+ public_key TEXT NOT NULL,
47
+ status TEXT NOT NULL DEFAULT 'CREATING' CHECK (status IN (${inList(WALLET_STATUSES)})),
48
+ owner_address TEXT,
49
+ owner_verified INTEGER NOT NULL DEFAULT 0 CHECK (owner_verified IN (0, 1)),
50
+ created_at INTEGER NOT NULL,
51
+ updated_at INTEGER NOT NULL,
52
+ suspended_at INTEGER,
53
+ suspension_reason TEXT,
54
+ monitor_incoming INTEGER NOT NULL DEFAULT 0,
55
+ owner_approval_method TEXT CHECK (owner_approval_method IS NULL OR owner_approval_method IN ('sdk_push', 'sdk_telegram', 'walletconnect', 'telegram_bot', 'rest')),
56
+ wallet_type TEXT,
57
+ account_type TEXT NOT NULL DEFAULT 'eoa' CHECK (account_type IN (${inList(ACCOUNT_TYPES)})),
58
+ signer_key TEXT,
59
+ deployed INTEGER NOT NULL DEFAULT 1,
60
+ entry_point TEXT,
61
+ aa_provider TEXT CHECK (aa_provider IS NULL OR aa_provider IN ('pimlico', 'alchemy', 'custom')),
62
+ aa_provider_api_key_encrypted TEXT,
63
+ aa_bundler_url TEXT,
64
+ aa_paymaster_url TEXT,
65
+ aa_paymaster_policy_id TEXT,
66
+ factory_address TEXT
67
+ )`,
68
+ // Table 2: sessions (v26.4: wallet_id removed, v26.5: token_issued_count added)
69
+ `CREATE TABLE IF NOT EXISTS sessions (
70
+ id TEXT PRIMARY KEY,
71
+ token_hash TEXT NOT NULL,
72
+ expires_at INTEGER NOT NULL,
73
+ constraints TEXT,
74
+ usage_stats TEXT,
75
+ revoked_at INTEGER,
76
+ renewal_count INTEGER NOT NULL DEFAULT 0,
77
+ max_renewals INTEGER NOT NULL DEFAULT 0,
78
+ last_renewed_at INTEGER,
79
+ absolute_expires_at INTEGER NOT NULL,
80
+ created_at INTEGER NOT NULL,
81
+ source TEXT NOT NULL DEFAULT 'api',
82
+ token_issued_count INTEGER NOT NULL DEFAULT 1
83
+ )`,
84
+ // Table 2b: session_wallets (v26.4: session-wallet junction for 1:N model, v29.3: is_default removed)
85
+ `CREATE TABLE IF NOT EXISTS session_wallets (
86
+ session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
87
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
88
+ created_at INTEGER NOT NULL,
89
+ PRIMARY KEY (session_id, wallet_id)
90
+ )`,
91
+ // Table 3: transactions (bridge_status + bridge_metadata added in v23)
92
+ `CREATE TABLE IF NOT EXISTS transactions (
93
+ id TEXT PRIMARY KEY,
94
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE RESTRICT,
95
+ session_id TEXT REFERENCES sessions(id) ON DELETE SET NULL,
96
+ chain TEXT NOT NULL,
97
+ tx_hash TEXT,
98
+ type TEXT NOT NULL CHECK (type IN (${inList(TRANSACTION_TYPES)})),
99
+ amount TEXT,
100
+ to_address TEXT,
101
+ token_mint TEXT,
102
+ contract_address TEXT,
103
+ method_signature TEXT,
104
+ spender_address TEXT,
105
+ approved_amount TEXT,
106
+ parent_id TEXT REFERENCES transactions(id) ON DELETE CASCADE,
107
+ batch_index INTEGER,
108
+ status TEXT NOT NULL DEFAULT 'PENDING' CHECK (status IN (${inList(TRANSACTION_STATUSES)})),
109
+ tier TEXT CHECK (tier IS NULL OR tier IN (${inList(POLICY_TIERS)})),
110
+ queued_at INTEGER,
111
+ executed_at INTEGER,
112
+ created_at INTEGER NOT NULL,
113
+ reserved_amount TEXT,
114
+ amount_usd REAL,
115
+ reserved_amount_usd REAL,
116
+ error TEXT,
117
+ metadata TEXT,
118
+ network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
119
+ 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')),
120
+ bridge_metadata TEXT,
121
+ action_kind TEXT NOT NULL DEFAULT 'contractCall',
122
+ venue TEXT,
123
+ operation TEXT,
124
+ external_id TEXT
125
+ )`,
126
+ // Table 4: policies (network column added in v8)
127
+ `CREATE TABLE IF NOT EXISTS policies (
128
+ id TEXT PRIMARY KEY,
129
+ wallet_id TEXT REFERENCES wallets(id) ON DELETE CASCADE,
130
+ type TEXT NOT NULL CHECK (type IN (${inList(POLICY_TYPES)})),
131
+ rules TEXT NOT NULL,
132
+ priority INTEGER NOT NULL DEFAULT 0,
133
+ enabled INTEGER NOT NULL DEFAULT 1,
134
+ network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
135
+ created_at INTEGER NOT NULL,
136
+ updated_at INTEGER NOT NULL
137
+ )`,
138
+ // Table 5: pending_approvals (approval_channel added in v16, approval_type added in v39, typed_data_json added in v40)
139
+ `CREATE TABLE IF NOT EXISTS pending_approvals (
140
+ id TEXT PRIMARY KEY,
141
+ tx_id TEXT NOT NULL REFERENCES transactions(id) ON DELETE CASCADE,
142
+ required_by INTEGER NOT NULL,
143
+ expires_at INTEGER NOT NULL,
144
+ approved_at INTEGER,
145
+ rejected_at INTEGER,
146
+ owner_signature TEXT,
147
+ approval_channel TEXT DEFAULT 'rest_api',
148
+ approval_type TEXT NOT NULL DEFAULT 'SIWE' CHECK (approval_type IN ('SIWE', 'EIP712')),
149
+ typed_data_json TEXT,
150
+ created_at INTEGER NOT NULL
151
+ )`,
152
+ // Table 6: audit_log
153
+ `CREATE TABLE IF NOT EXISTS audit_log (
154
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
155
+ timestamp INTEGER NOT NULL,
156
+ event_type TEXT NOT NULL,
157
+ actor TEXT NOT NULL,
158
+ wallet_id TEXT,
159
+ session_id TEXT,
160
+ tx_id TEXT,
161
+ details TEXT NOT NULL,
162
+ severity TEXT NOT NULL DEFAULT 'info' CHECK (severity IN ('info', 'warning', 'critical')),
163
+ ip_address TEXT
164
+ )`,
165
+ // Table 7: key_value_store
166
+ `CREATE TABLE IF NOT EXISTS key_value_store (
167
+ key TEXT PRIMARY KEY,
168
+ value TEXT NOT NULL,
169
+ updated_at INTEGER NOT NULL
170
+ )`,
171
+ // Table 8: notification_logs
172
+ `CREATE TABLE IF NOT EXISTS notification_logs (
173
+ id TEXT PRIMARY KEY,
174
+ event_type TEXT NOT NULL,
175
+ wallet_id TEXT,
176
+ channel TEXT NOT NULL,
177
+ status TEXT NOT NULL CHECK (status IN (${inList(NOTIFICATION_LOG_STATUSES)})),
178
+ error TEXT,
179
+ message TEXT,
180
+ created_at INTEGER NOT NULL
181
+ )`,
182
+ // Table 9: token_registry (asset_id added in v22)
183
+ `CREATE TABLE IF NOT EXISTS token_registry (
184
+ id TEXT PRIMARY KEY,
185
+ network TEXT NOT NULL,
186
+ address TEXT NOT NULL,
187
+ symbol TEXT NOT NULL,
188
+ name TEXT NOT NULL,
189
+ decimals INTEGER NOT NULL,
190
+ source TEXT NOT NULL DEFAULT 'custom' CHECK (source IN ('builtin', 'custom')),
191
+ asset_id TEXT,
192
+ created_at INTEGER NOT NULL
193
+ )`,
194
+ // Table 10: settings
195
+ `CREATE TABLE IF NOT EXISTS settings (
196
+ key TEXT PRIMARY KEY,
197
+ value TEXT NOT NULL,
198
+ encrypted INTEGER NOT NULL DEFAULT 0 CHECK (encrypted IN (0, 1)),
199
+ category TEXT NOT NULL,
200
+ updated_at INTEGER NOT NULL
201
+ )`,
202
+ // Table 11: schema_version
203
+ `CREATE TABLE IF NOT EXISTS schema_version (
204
+ version INTEGER PRIMARY KEY,
205
+ applied_at INTEGER NOT NULL,
206
+ description TEXT NOT NULL
207
+ )`,
208
+ // Table 13: telegram_users (Telegram Bot user management, v1.6)
209
+ `CREATE TABLE IF NOT EXISTS telegram_users (
210
+ chat_id INTEGER PRIMARY KEY,
211
+ username TEXT,
212
+ role TEXT NOT NULL DEFAULT 'PENDING' CHECK (role IN ('PENDING', 'ADMIN', 'READONLY')),
213
+ registered_at INTEGER NOT NULL,
214
+ approved_at INTEGER
215
+ )`,
216
+ // Table 14: wc_sessions (WalletConnect session metadata, v1.6.1)
217
+ `CREATE TABLE IF NOT EXISTS wc_sessions (
218
+ wallet_id TEXT PRIMARY KEY REFERENCES wallets(id) ON DELETE CASCADE,
219
+ topic TEXT NOT NULL UNIQUE,
220
+ peer_meta TEXT,
221
+ chain_id TEXT NOT NULL,
222
+ owner_address TEXT NOT NULL,
223
+ namespaces TEXT,
224
+ expiry INTEGER NOT NULL,
225
+ created_at INTEGER NOT NULL
226
+ )`,
227
+ // Table 15: wc_store (WalletConnect IKeyValueStorage, v1.6.1)
228
+ `CREATE TABLE IF NOT EXISTS wc_store (
229
+ key TEXT PRIMARY KEY,
230
+ value TEXT NOT NULL
231
+ )`,
232
+ // Table 16: incoming_transactions (detected incoming transfers to monitored wallets, v27.1)
233
+ `CREATE TABLE IF NOT EXISTS incoming_transactions (
234
+ id TEXT PRIMARY KEY,
235
+ tx_hash TEXT NOT NULL,
236
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
237
+ from_address TEXT NOT NULL,
238
+ amount TEXT NOT NULL,
239
+ token_address TEXT,
240
+ chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
241
+ network TEXT NOT NULL,
242
+ status TEXT NOT NULL DEFAULT 'DETECTED' CHECK (status IN (${inList(INCOMING_TX_STATUSES)})),
243
+ block_number INTEGER,
244
+ detected_at INTEGER NOT NULL,
245
+ confirmed_at INTEGER,
246
+ is_suspicious INTEGER NOT NULL DEFAULT 0,
247
+ UNIQUE(tx_hash, wallet_id)
248
+ )`,
249
+ // Table 17: incoming_tx_cursors (per-wallet cursor for gap recovery, v27.1)
250
+ `CREATE TABLE IF NOT EXISTS incoming_tx_cursors (
251
+ wallet_id TEXT PRIMARY KEY REFERENCES wallets(id) ON DELETE CASCADE,
252
+ chain TEXT NOT NULL,
253
+ network TEXT NOT NULL,
254
+ last_signature TEXT,
255
+ last_block_number INTEGER,
256
+ updated_at INTEGER NOT NULL
257
+ )`,
258
+ // Table 18: defi_positions (DeFi position tracking, v29.2)
259
+ `CREATE TABLE IF NOT EXISTS defi_positions (
260
+ id TEXT PRIMARY KEY,
261
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
262
+ category TEXT NOT NULL CHECK(category IN (${inList(POSITION_CATEGORIES)})),
263
+ provider TEXT NOT NULL,
264
+ chain TEXT NOT NULL CHECK(chain IN (${inList(CHAIN_TYPES)})),
265
+ environment TEXT NOT NULL DEFAULT 'mainnet',
266
+ network TEXT CHECK(network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
267
+ asset_id TEXT,
268
+ amount TEXT NOT NULL,
269
+ amount_usd REAL,
270
+ metadata TEXT,
271
+ status TEXT NOT NULL DEFAULT 'ACTIVE' CHECK(status IN (${inList(POSITION_STATUSES)})),
272
+ opened_at INTEGER NOT NULL,
273
+ closed_at INTEGER,
274
+ last_synced_at INTEGER NOT NULL,
275
+ created_at INTEGER NOT NULL,
276
+ updated_at INTEGER NOT NULL
277
+ )`,
278
+ // Table 19: wallet_apps (Human Wallet Apps registry, v29.7, v60: push_relay_url added)
279
+ `CREATE TABLE IF NOT EXISTS wallet_apps (
280
+ id TEXT PRIMARY KEY,
281
+ name TEXT NOT NULL UNIQUE,
282
+ display_name TEXT NOT NULL,
283
+ wallet_type TEXT NOT NULL DEFAULT '',
284
+ signing_enabled INTEGER NOT NULL DEFAULT 1,
285
+ alerts_enabled INTEGER NOT NULL DEFAULT 1,
286
+ sign_topic TEXT,
287
+ notify_topic TEXT,
288
+ subscription_token TEXT,
289
+ push_relay_url TEXT,
290
+ created_at INTEGER NOT NULL,
291
+ updated_at INTEGER NOT NULL
292
+ )`,
293
+ // Table 20: webhooks (webhook outbound subscriptions, v37 OPS-04)
294
+ `CREATE TABLE IF NOT EXISTS webhooks (
295
+ id TEXT PRIMARY KEY,
296
+ url TEXT NOT NULL,
297
+ secret_hash TEXT NOT NULL,
298
+ secret_encrypted TEXT NOT NULL,
299
+ events TEXT NOT NULL DEFAULT '[]',
300
+ description TEXT,
301
+ enabled INTEGER NOT NULL DEFAULT 1 CHECK (enabled IN (0, 1)),
302
+ created_at INTEGER NOT NULL,
303
+ updated_at INTEGER NOT NULL
304
+ )`,
305
+ // Table 21: webhook_logs (webhook delivery attempt history, v37 OPS-04)
306
+ `CREATE TABLE IF NOT EXISTS webhook_logs (
307
+ id TEXT PRIMARY KEY,
308
+ webhook_id TEXT NOT NULL REFERENCES webhooks(id) ON DELETE CASCADE,
309
+ event_type TEXT NOT NULL,
310
+ status TEXT NOT NULL CHECK (status IN ('success', 'failed')),
311
+ http_status INTEGER,
312
+ attempt INTEGER NOT NULL DEFAULT 1,
313
+ error TEXT,
314
+ request_duration INTEGER,
315
+ created_at INTEGER NOT NULL
316
+ )`,
317
+ // Table 22: agent_identities (ERC-8004 agent identity tracking, v39)
318
+ `CREATE TABLE IF NOT EXISTS agent_identities (
319
+ id TEXT PRIMARY KEY,
320
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
321
+ chain_agent_id TEXT NOT NULL,
322
+ registry_address TEXT NOT NULL,
323
+ chain_id INTEGER NOT NULL,
324
+ agent_uri TEXT,
325
+ registration_file_url TEXT,
326
+ status TEXT NOT NULL DEFAULT 'PENDING'
327
+ CHECK (status IN ('PENDING', 'REGISTERED', 'WALLET_LINKED', 'DEREGISTERED')),
328
+ created_at INTEGER NOT NULL,
329
+ updated_at INTEGER NOT NULL
330
+ )`,
331
+ // Table 23: reputation_cache (ERC-8004 reputation score cache, v39)
332
+ `CREATE TABLE IF NOT EXISTS reputation_cache (
333
+ agent_id TEXT NOT NULL,
334
+ registry_address TEXT NOT NULL,
335
+ tag1 TEXT NOT NULL DEFAULT '',
336
+ tag2 TEXT NOT NULL DEFAULT '',
337
+ score INTEGER NOT NULL,
338
+ score_decimals INTEGER NOT NULL DEFAULT 0,
339
+ feedback_count INTEGER NOT NULL DEFAULT 0,
340
+ cached_at INTEGER NOT NULL,
341
+ PRIMARY KEY (agent_id, registry_address, tag1, tag2)
342
+ )`,
343
+ // Table 24: nft_metadata_cache (NFT metadata caching with TTL, v44)
344
+ `CREATE TABLE IF NOT EXISTS nft_metadata_cache (
345
+ id TEXT PRIMARY KEY,
346
+ contract_address TEXT NOT NULL,
347
+ token_id TEXT NOT NULL,
348
+ chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
349
+ network TEXT NOT NULL CHECK (network IN (${inList(NETWORK_TYPES)})),
350
+ metadata_json TEXT NOT NULL,
351
+ cached_at INTEGER NOT NULL,
352
+ expires_at INTEGER NOT NULL
353
+ )`,
354
+ // Table 25: userop_builds (UserOp Build/Sign API data, v45, network added v50)
355
+ `CREATE TABLE IF NOT EXISTS userop_builds (
356
+ id TEXT PRIMARY KEY,
357
+ wallet_id TEXT NOT NULL,
358
+ call_data TEXT NOT NULL,
359
+ sender TEXT NOT NULL,
360
+ nonce TEXT NOT NULL,
361
+ entry_point TEXT NOT NULL,
362
+ network TEXT,
363
+ created_at INTEGER NOT NULL,
364
+ expires_at INTEGER NOT NULL,
365
+ used INTEGER NOT NULL DEFAULT 0 CHECK (used IN (0, 1))
366
+ )`,
367
+ // Table 26: hyperliquid_orders (Hyperliquid DEX order history, v51)
368
+ `CREATE TABLE IF NOT EXISTS hyperliquid_orders (
369
+ id TEXT PRIMARY KEY,
370
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
371
+ sub_account_address TEXT,
372
+ oid INTEGER,
373
+ cloid TEXT,
374
+ transaction_id TEXT REFERENCES transactions(id),
375
+ market TEXT NOT NULL,
376
+ asset_index INTEGER NOT NULL,
377
+ side TEXT NOT NULL CHECK(side IN ('BUY', 'SELL')),
378
+ order_type TEXT NOT NULL CHECK(order_type IN ('MARKET', 'LIMIT', 'STOP_MARKET', 'STOP_LIMIT', 'TAKE_PROFIT')),
379
+ size TEXT NOT NULL,
380
+ price TEXT,
381
+ trigger_price TEXT,
382
+ tif TEXT CHECK(tif IN ('GTC', 'IOC', 'ALO')),
383
+ reduce_only INTEGER NOT NULL DEFAULT 0,
384
+ status TEXT NOT NULL CHECK(status IN ('PENDING', 'RESTING', 'FILLED', 'PARTIALLY_FILLED', 'CANCELLED', 'REJECTED', 'TRIGGERED')),
385
+ filled_size TEXT,
386
+ avg_fill_price TEXT,
387
+ is_spot INTEGER NOT NULL DEFAULT 0,
388
+ leverage INTEGER,
389
+ margin_mode TEXT CHECK(margin_mode IN ('CROSS', 'ISOLATED')),
390
+ response_data TEXT,
391
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
392
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
393
+ )`,
394
+ // Table 27: hyperliquid_sub_accounts (Hyperliquid Sub-account mapping, v52)
395
+ `CREATE TABLE IF NOT EXISTS hyperliquid_sub_accounts (
396
+ id TEXT PRIMARY KEY,
397
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
398
+ sub_account_address TEXT NOT NULL,
399
+ name TEXT,
400
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
401
+ UNIQUE(wallet_id, sub_account_address)
402
+ )`,
403
+ // Table 28: polymarket_orders (Polymarket CLOB order history, v53)
404
+ `CREATE TABLE IF NOT EXISTS polymarket_orders (
405
+ id TEXT PRIMARY KEY,
406
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
407
+ transaction_id TEXT REFERENCES transactions(id),
408
+ condition_id TEXT NOT NULL,
409
+ token_id TEXT NOT NULL,
410
+ market_slug TEXT,
411
+ outcome TEXT NOT NULL,
412
+ order_id TEXT,
413
+ side TEXT NOT NULL CHECK (side IN ('BUY', 'SELL')),
414
+ order_type TEXT NOT NULL CHECK (order_type IN ('GTC', 'GTD', 'FOK', 'IOC')),
415
+ price TEXT NOT NULL,
416
+ size TEXT NOT NULL,
417
+ status TEXT NOT NULL CHECK (status IN ('PENDING', 'LIVE', 'MATCHED', 'PARTIALLY_FILLED', 'CANCELLED', 'EXPIRED')),
418
+ filled_size TEXT,
419
+ avg_fill_price TEXT,
420
+ salt TEXT,
421
+ maker_amount TEXT,
422
+ taker_amount TEXT,
423
+ signature_type INTEGER NOT NULL DEFAULT 0,
424
+ fee_rate_bps INTEGER,
425
+ expiration INTEGER,
426
+ nonce TEXT,
427
+ is_neg_risk INTEGER NOT NULL DEFAULT 0,
428
+ response_data TEXT,
429
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
430
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
431
+ )`,
432
+ // Table 29: polymarket_positions (Polymarket position tracking, v54)
433
+ `CREATE TABLE IF NOT EXISTS polymarket_positions (
434
+ id TEXT PRIMARY KEY,
435
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
436
+ condition_id TEXT NOT NULL,
437
+ token_id TEXT NOT NULL,
438
+ market_slug TEXT,
439
+ outcome TEXT NOT NULL CHECK (outcome IN ('YES', 'NO')),
440
+ size TEXT NOT NULL DEFAULT '0',
441
+ avg_price TEXT,
442
+ realized_pnl TEXT DEFAULT '0',
443
+ market_resolved INTEGER NOT NULL DEFAULT 0,
444
+ winning_outcome TEXT,
445
+ is_neg_risk INTEGER NOT NULL DEFAULT 0,
446
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
447
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch()),
448
+ UNIQUE(wallet_id, token_id)
449
+ )`,
450
+ // Table 30: polymarket_api_keys (Polymarket CLOB API credentials, v54)
451
+ `CREATE TABLE IF NOT EXISTS polymarket_api_keys (
452
+ id TEXT PRIMARY KEY,
453
+ wallet_id TEXT NOT NULL REFERENCES wallets(id),
454
+ api_key TEXT NOT NULL,
455
+ api_secret_encrypted TEXT NOT NULL,
456
+ api_passphrase_encrypted TEXT NOT NULL,
457
+ signature_type INTEGER NOT NULL DEFAULT 0,
458
+ proxy_address TEXT,
459
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
460
+ UNIQUE(wallet_id)
461
+ )`,
462
+ // Table 31: wallet_credentials (External Action credential vault, v55)
463
+ `CREATE TABLE IF NOT EXISTS wallet_credentials (
464
+ id TEXT NOT NULL PRIMARY KEY,
465
+ wallet_id TEXT,
466
+ type TEXT NOT NULL CHECK (type IN ('api-key','hmac-secret','rsa-private-key','session-token','custom')),
467
+ name TEXT NOT NULL,
468
+ encrypted_value BLOB NOT NULL,
469
+ iv BLOB NOT NULL,
470
+ auth_tag BLOB NOT NULL,
471
+ metadata TEXT NOT NULL DEFAULT '{}',
472
+ expires_at INTEGER,
473
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
474
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch()),
475
+ FOREIGN KEY (wallet_id) REFERENCES wallets(id) ON DELETE CASCADE
476
+ )`,
477
+ ];
478
+ }
479
+ // ---------------------------------------------------------------------------
480
+ // Index creation statements
481
+ // ---------------------------------------------------------------------------
482
+ export function getCreateIndexStatements() {
483
+ return [
484
+ // wallets indexes (renamed from agents in v3)
485
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_wallets_public_key ON wallets(public_key)',
486
+ 'CREATE INDEX IF NOT EXISTS idx_wallets_status ON wallets(status)',
487
+ 'CREATE INDEX IF NOT EXISTS idx_wallets_chain_environment ON wallets(chain, environment)',
488
+ 'CREATE INDEX IF NOT EXISTS idx_wallets_owner_address ON wallets(owner_address)',
489
+ // sessions indexes (v26.4: idx_sessions_wallet_id removed, wallet_id moved to session_wallets)
490
+ 'CREATE INDEX IF NOT EXISTS idx_sessions_expires_at ON sessions(expires_at)',
491
+ 'CREATE INDEX IF NOT EXISTS idx_sessions_token_hash ON sessions(token_hash)',
492
+ // session_wallets indexes (v26.4)
493
+ 'CREATE INDEX IF NOT EXISTS idx_session_wallets_session ON session_wallets(session_id)',
494
+ 'CREATE INDEX IF NOT EXISTS idx_session_wallets_wallet ON session_wallets(wallet_id)',
495
+ // transactions indexes
496
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_wallet_status ON transactions(wallet_id, status)',
497
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_session_id ON transactions(session_id)',
498
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_transactions_tx_hash ON transactions(tx_hash)',
499
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_queued_at ON transactions(queued_at)',
500
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_created_at ON transactions(created_at)',
501
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_type ON transactions(type)',
502
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_contract_address ON transactions(contract_address)',
503
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_parent_id ON transactions(parent_id)',
504
+ // policies indexes
505
+ 'CREATE INDEX IF NOT EXISTS idx_policies_wallet_enabled ON policies(wallet_id, enabled)',
506
+ 'CREATE INDEX IF NOT EXISTS idx_policies_type ON policies(type)',
507
+ 'CREATE INDEX IF NOT EXISTS idx_policies_network ON policies(network)',
508
+ // pending_approvals indexes
509
+ 'CREATE INDEX IF NOT EXISTS idx_pending_approvals_tx_id ON pending_approvals(tx_id)',
510
+ 'CREATE INDEX IF NOT EXISTS idx_pending_approvals_expires_at ON pending_approvals(expires_at)',
511
+ // audit_log indexes
512
+ 'CREATE INDEX IF NOT EXISTS idx_audit_log_timestamp ON audit_log(timestamp)',
513
+ 'CREATE INDEX IF NOT EXISTS idx_audit_log_event_type ON audit_log(event_type)',
514
+ 'CREATE INDEX IF NOT EXISTS idx_audit_log_wallet_id ON audit_log(wallet_id)',
515
+ 'CREATE INDEX IF NOT EXISTS idx_audit_log_severity ON audit_log(severity)',
516
+ 'CREATE INDEX IF NOT EXISTS idx_audit_log_wallet_timestamp ON audit_log(wallet_id, timestamp)',
517
+ 'CREATE INDEX IF NOT EXISTS idx_audit_log_tx_id ON audit_log(tx_id)',
518
+ // notification_logs indexes
519
+ 'CREATE INDEX IF NOT EXISTS idx_notification_logs_event_type ON notification_logs(event_type)',
520
+ 'CREATE INDEX IF NOT EXISTS idx_notification_logs_wallet_id ON notification_logs(wallet_id)',
521
+ 'CREATE INDEX IF NOT EXISTS idx_notification_logs_status ON notification_logs(status)',
522
+ 'CREATE INDEX IF NOT EXISTS idx_notification_logs_created_at ON notification_logs(created_at)',
523
+ // token_registry indexes
524
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_token_registry_network_address ON token_registry(network, address)',
525
+ 'CREATE INDEX IF NOT EXISTS idx_token_registry_network ON token_registry(network)',
526
+ // settings indexes
527
+ 'CREATE INDEX IF NOT EXISTS idx_settings_category ON settings(category)',
528
+ // telegram_users indexes
529
+ 'CREATE INDEX IF NOT EXISTS idx_telegram_users_role ON telegram_users(role)',
530
+ // wc_sessions indexes
531
+ 'CREATE INDEX IF NOT EXISTS idx_wc_sessions_topic ON wc_sessions(topic)',
532
+ // incoming_transactions indexes
533
+ 'CREATE INDEX IF NOT EXISTS idx_incoming_tx_wallet_detected ON incoming_transactions(wallet_id, detected_at DESC)',
534
+ 'CREATE INDEX IF NOT EXISTS idx_incoming_tx_detected_at ON incoming_transactions(detected_at)',
535
+ 'CREATE INDEX IF NOT EXISTS idx_incoming_tx_chain_network ON incoming_transactions(chain, network)',
536
+ "CREATE INDEX IF NOT EXISTS idx_incoming_tx_status ON incoming_transactions(status) WHERE status = 'DETECTED'",
537
+ // v28.3: DeFi async tracking partial indexes on transactions
538
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_bridge_status ON transactions(bridge_status) WHERE bridge_status IS NOT NULL',
539
+ "CREATE INDEX IF NOT EXISTS idx_transactions_gas_waiting ON transactions(status) WHERE status = 'GAS_WAITING'",
540
+ // v29.2: defi_positions indexes
541
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_category ON defi_positions(wallet_id, category)',
542
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_provider ON defi_positions(wallet_id, provider)',
543
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_status ON defi_positions(status)',
544
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_defi_positions_unique ON defi_positions(wallet_id, provider, asset_id, category)',
545
+ // v59: defi_positions environment index (Testnet Toggle)
546
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_environment ON defi_positions(environment)',
547
+ // v34: wallet_apps.wallet_type index
548
+ 'CREATE INDEX IF NOT EXISTS idx_wallet_apps_wallet_type ON wallet_apps(wallet_type)',
549
+ // v37: webhooks + webhook_logs indexes (OPS-04)
550
+ 'CREATE INDEX IF NOT EXISTS idx_webhooks_enabled ON webhooks(enabled)',
551
+ 'CREATE INDEX IF NOT EXISTS idx_webhook_logs_webhook_id ON webhook_logs(webhook_id)',
552
+ 'CREATE INDEX IF NOT EXISTS idx_webhook_logs_event_type ON webhook_logs(event_type)',
553
+ 'CREATE INDEX IF NOT EXISTS idx_webhook_logs_status ON webhook_logs(status)',
554
+ 'CREATE INDEX IF NOT EXISTS idx_webhook_logs_created_at ON webhook_logs(created_at)',
555
+ // v39: agent_identities indexes (ERC-8004)
556
+ 'CREATE INDEX IF NOT EXISTS idx_agent_identities_wallet ON agent_identities(wallet_id)',
557
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_agent_identities_chain ON agent_identities(registry_address, chain_agent_id)',
558
+ // v44: nft_metadata_cache indexes
559
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_nft_cache_unique ON nft_metadata_cache(contract_address, token_id, chain, network)',
560
+ 'CREATE INDEX IF NOT EXISTS idx_nft_cache_expires ON nft_metadata_cache(expires_at)',
561
+ // v45: userop_builds indexes
562
+ 'CREATE INDEX IF NOT EXISTS idx_userop_builds_wallet_id ON userop_builds(wallet_id)',
563
+ 'CREATE INDEX IF NOT EXISTS idx_userop_builds_expires ON userop_builds(expires_at)',
564
+ // v51: hyperliquid_orders indexes
565
+ 'CREATE INDEX IF NOT EXISTS idx_hl_orders_wallet ON hyperliquid_orders(wallet_id)',
566
+ 'CREATE INDEX IF NOT EXISTS idx_hl_orders_oid ON hyperliquid_orders(oid)',
567
+ 'CREATE INDEX IF NOT EXISTS idx_hl_orders_market ON hyperliquid_orders(market)',
568
+ 'CREATE INDEX IF NOT EXISTS idx_hl_orders_status ON hyperliquid_orders(status)',
569
+ 'CREATE INDEX IF NOT EXISTS idx_hl_orders_created ON hyperliquid_orders(created_at)',
570
+ // v52: hyperliquid_sub_accounts index
571
+ 'CREATE INDEX IF NOT EXISTS idx_hl_sub_wallet ON hyperliquid_sub_accounts(wallet_id)',
572
+ // v53: polymarket_orders indexes
573
+ 'CREATE INDEX IF NOT EXISTS idx_pm_orders_wallet ON polymarket_orders(wallet_id)',
574
+ 'CREATE INDEX IF NOT EXISTS idx_pm_orders_order_id ON polymarket_orders(order_id)',
575
+ 'CREATE INDEX IF NOT EXISTS idx_pm_orders_condition ON polymarket_orders(condition_id)',
576
+ 'CREATE INDEX IF NOT EXISTS idx_pm_orders_status ON polymarket_orders(status)',
577
+ 'CREATE INDEX IF NOT EXISTS idx_pm_orders_created ON polymarket_orders(created_at)',
578
+ // v54: polymarket_positions indexes
579
+ 'CREATE INDEX IF NOT EXISTS idx_pm_positions_wallet ON polymarket_positions(wallet_id)',
580
+ 'CREATE INDEX IF NOT EXISTS idx_pm_positions_condition ON polymarket_positions(condition_id)',
581
+ 'CREATE INDEX IF NOT EXISTS idx_pm_positions_resolved ON polymarket_positions(market_resolved)',
582
+ // v54: polymarket_api_keys indexes (UNIQUE on wallet_id is inline)
583
+ // v55: wallet_credentials indexes
584
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_wallet_credentials_wallet_name ON wallet_credentials(wallet_id, name)',
585
+ 'CREATE INDEX IF NOT EXISTS idx_wallet_credentials_global_name ON wallet_credentials(name) WHERE wallet_id IS NULL',
586
+ 'CREATE INDEX IF NOT EXISTS idx_wallet_credentials_wallet_id ON wallet_credentials(wallet_id)',
587
+ 'CREATE INDEX IF NOT EXISTS idx_wallet_credentials_expires_at ON wallet_credentials(expires_at) WHERE expires_at IS NOT NULL',
588
+ // v56: transactions action tracking indexes
589
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_action_kind ON transactions(action_kind)',
590
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_venue ON transactions(venue) WHERE venue IS NOT NULL',
591
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_external_id ON transactions(external_id) WHERE external_id IS NOT NULL',
592
+ // v57: composite index for external action tracking queries
593
+ 'CREATE INDEX IF NOT EXISTS idx_transactions_action_kind_bridge_status ON transactions(action_kind, bridge_status) WHERE bridge_status IS NOT NULL',
594
+ ];
595
+ }
596
+ //# sourceMappingURL=schema-ddl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-ddl.js","sourceRoot":"","sources":["../../../src/infrastructure/database/schema-ddl.ts"],"names":[],"mappings":"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"}
@@ -3211,6 +3211,25 @@ export declare const defiPositions: import("drizzle-orm/sqlite-core").SQLiteTabl
3211
3211
  }, {}, {
3212
3212
  length: number | undefined;
3213
3213
  }>;
3214
+ environment: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3215
+ name: "environment";
3216
+ tableName: "defi_positions";
3217
+ dataType: "string";
3218
+ columnType: "SQLiteText";
3219
+ data: string;
3220
+ driverParam: string;
3221
+ notNull: true;
3222
+ hasDefault: true;
3223
+ isPrimaryKey: false;
3224
+ isAutoincrement: false;
3225
+ hasRuntimeDefault: false;
3226
+ enumValues: [string, ...string[]];
3227
+ baseColumn: never;
3228
+ identity: undefined;
3229
+ generated: undefined;
3230
+ }, {}, {
3231
+ length: number | undefined;
3232
+ }>;
3214
3233
  network: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3215
3234
  name: "network";
3216
3235
  tableName: "defi_positions";
@@ -3582,6 +3601,25 @@ export declare const walletApps: import("drizzle-orm/sqlite-core").SQLiteTableWi
3582
3601
  }, {}, {
3583
3602
  length: number | undefined;
3584
3603
  }>;
3604
+ pushRelayUrl: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3605
+ name: "push_relay_url";
3606
+ tableName: "wallet_apps";
3607
+ dataType: "string";
3608
+ columnType: "SQLiteText";
3609
+ data: string;
3610
+ driverParam: string;
3611
+ notNull: false;
3612
+ hasDefault: false;
3613
+ isPrimaryKey: false;
3614
+ isAutoincrement: false;
3615
+ hasRuntimeDefault: false;
3616
+ enumValues: [string, ...string[]];
3617
+ baseColumn: never;
3618
+ identity: undefined;
3619
+ generated: undefined;
3620
+ }, {}, {
3621
+ length: number | undefined;
3622
+ }>;
3585
3623
  createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
3586
3624
  name: "created_at";
3587
3625
  tableName: "wallet_apps";