@waiaas/daemon 2.8.0-rc → 2.8.0-rc.4

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 (110) hide show
  1. package/README.md +17 -5
  2. package/dist/api/middleware/master-auth.d.ts +8 -1
  3. package/dist/api/middleware/master-auth.d.ts.map +1 -1
  4. package/dist/api/middleware/master-auth.js +8 -1
  5. package/dist/api/middleware/master-auth.js.map +1 -1
  6. package/dist/api/routes/actions.d.ts +3 -0
  7. package/dist/api/routes/actions.d.ts.map +1 -1
  8. package/dist/api/routes/actions.js +1 -1
  9. package/dist/api/routes/actions.js.map +1 -1
  10. package/dist/api/routes/admin.d.ts +3 -0
  11. package/dist/api/routes/admin.d.ts.map +1 -1
  12. package/dist/api/routes/admin.js +207 -3
  13. package/dist/api/routes/admin.js.map +1 -1
  14. package/dist/api/routes/defi-positions.d.ts +31 -0
  15. package/dist/api/routes/defi-positions.d.ts.map +1 -0
  16. package/dist/api/routes/defi-positions.js +182 -0
  17. package/dist/api/routes/defi-positions.js.map +1 -0
  18. package/dist/api/routes/openapi-schemas.d.ts +179 -5
  19. package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
  20. package/dist/api/routes/openapi-schemas.js +44 -0
  21. package/dist/api/routes/openapi-schemas.js.map +1 -1
  22. package/dist/api/routes/transactions.d.ts +3 -0
  23. package/dist/api/routes/transactions.d.ts.map +1 -1
  24. package/dist/api/routes/transactions.js +2 -2
  25. package/dist/api/routes/transactions.js.map +1 -1
  26. package/dist/api/routes/wallets.d.ts +3 -0
  27. package/dist/api/routes/wallets.d.ts.map +1 -1
  28. package/dist/api/routes/wallets.js +3 -2
  29. package/dist/api/routes/wallets.js.map +1 -1
  30. package/dist/api/routes/x402.d.ts +3 -0
  31. package/dist/api/routes/x402.d.ts.map +1 -1
  32. package/dist/api/routes/x402.js +1 -1
  33. package/dist/api/routes/x402.js.map +1 -1
  34. package/dist/api/server.d.ts +3 -0
  35. package/dist/api/server.d.ts.map +1 -1
  36. package/dist/api/server.js +35 -18
  37. package/dist/api/server.js.map +1 -1
  38. package/dist/infrastructure/action/action-provider-registry.d.ts.map +1 -1
  39. package/dist/infrastructure/action/action-provider-registry.js +2 -0
  40. package/dist/infrastructure/action/action-provider-registry.js.map +1 -1
  41. package/dist/infrastructure/action/api-key-store.d.ts +5 -1
  42. package/dist/infrastructure/action/api-key-store.d.ts.map +1 -1
  43. package/dist/infrastructure/action/api-key-store.js +10 -4
  44. package/dist/infrastructure/action/api-key-store.js.map +1 -1
  45. package/dist/infrastructure/database/migrate.d.ts +1 -1
  46. package/dist/infrastructure/database/migrate.d.ts.map +1 -1
  47. package/dist/infrastructure/database/migrate.js +110 -2
  48. package/dist/infrastructure/database/migrate.js.map +1 -1
  49. package/dist/infrastructure/database/schema.d.ts +299 -0
  50. package/dist/infrastructure/database/schema.d.ts.map +1 -1
  51. package/dist/infrastructure/database/schema.js +31 -1
  52. package/dist/infrastructure/database/schema.js.map +1 -1
  53. package/dist/infrastructure/keystore/re-encrypt.d.ts +28 -0
  54. package/dist/infrastructure/keystore/re-encrypt.d.ts.map +1 -0
  55. package/dist/infrastructure/keystore/re-encrypt.js +134 -0
  56. package/dist/infrastructure/keystore/re-encrypt.js.map +1 -0
  57. package/dist/infrastructure/settings/setting-keys.d.ts +1 -1
  58. package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
  59. package/dist/infrastructure/settings/setting-keys.js +8 -0
  60. package/dist/infrastructure/settings/setting-keys.js.map +1 -1
  61. package/dist/infrastructure/settings/settings-service.d.ts +6 -0
  62. package/dist/infrastructure/settings/settings-service.d.ts.map +1 -1
  63. package/dist/infrastructure/settings/settings-service.js +10 -4
  64. package/dist/infrastructure/settings/settings-service.js.map +1 -1
  65. package/dist/lifecycle/daemon.d.ts +8 -1
  66. package/dist/lifecycle/daemon.d.ts.map +1 -1
  67. package/dist/lifecycle/daemon.js +153 -8
  68. package/dist/lifecycle/daemon.js.map +1 -1
  69. package/dist/notifications/notification-service.d.ts.map +1 -1
  70. package/dist/notifications/notification-service.js +6 -3
  71. package/dist/notifications/notification-service.js.map +1 -1
  72. package/dist/notifications/templates/message-templates.d.ts.map +1 -1
  73. package/dist/notifications/templates/message-templates.js +32 -2
  74. package/dist/notifications/templates/message-templates.js.map +1 -1
  75. package/dist/pipeline/database-policy-engine.d.ts +30 -0
  76. package/dist/pipeline/database-policy-engine.d.ts.map +1 -1
  77. package/dist/pipeline/database-policy-engine.js +149 -2
  78. package/dist/pipeline/database-policy-engine.js.map +1 -1
  79. package/dist/pipeline/sign-only.d.ts.map +1 -1
  80. package/dist/pipeline/sign-only.js +1 -0
  81. package/dist/pipeline/sign-only.js.map +1 -1
  82. package/dist/pipeline/stages.d.ts.map +1 -1
  83. package/dist/pipeline/stages.js +7 -0
  84. package/dist/pipeline/stages.js.map +1 -1
  85. package/dist/services/autostop-service.d.ts +3 -3
  86. package/dist/services/autostop-service.d.ts.map +1 -1
  87. package/dist/services/autostop-service.js +8 -15
  88. package/dist/services/autostop-service.js.map +1 -1
  89. package/dist/services/defi/position-tracker.d.ts +61 -0
  90. package/dist/services/defi/position-tracker.d.ts.map +1 -0
  91. package/dist/services/defi/position-tracker.js +156 -0
  92. package/dist/services/defi/position-tracker.js.map +1 -0
  93. package/dist/services/defi/position-write-queue.d.ts +37 -0
  94. package/dist/services/defi/position-write-queue.d.ts.map +1 -0
  95. package/dist/services/defi/position-write-queue.js +92 -0
  96. package/dist/services/defi/position-write-queue.js.map +1 -0
  97. package/dist/services/monitoring/defi-monitor-service.d.ts +29 -0
  98. package/dist/services/monitoring/defi-monitor-service.d.ts.map +1 -0
  99. package/dist/services/monitoring/defi-monitor-service.js +62 -0
  100. package/dist/services/monitoring/defi-monitor-service.js.map +1 -0
  101. package/dist/services/monitoring/health-factor-monitor.d.ts +66 -0
  102. package/dist/services/monitoring/health-factor-monitor.d.ts.map +1 -0
  103. package/dist/services/monitoring/health-factor-monitor.js +247 -0
  104. package/dist/services/monitoring/health-factor-monitor.js.map +1 -0
  105. package/package.json +5 -5
  106. package/public/admin/assets/index-BpDnuS0k.css +1 -0
  107. package/public/admin/assets/index-CgtuiQGn.js +1 -0
  108. package/public/admin/index.html +2 -2
  109. package/public/admin/assets/index-DDqQR5T7.css +0 -1
  110. package/public/admin/assets/index-DrXaSV7I.js +0 -1
@@ -45,6 +45,7 @@ import { tokenRegistryRoutes } from './routes/tokens.js';
45
45
  import { connectInfoRoutes } from './routes/connect-info.js';
46
46
  import { incomingRoutes } from './routes/incoming.js';
47
47
  import { createStakingRoutes } from './routes/staking.js';
48
+ import { createDefiPositionRoutes } from './routes/defi-positions.js';
48
49
  import { mcpTokenRoutes } from './routes/mcp.js';
49
50
  import { WAIaaSError } from '@waiaas/core';
50
51
  import { TokenRegistryService } from '../infrastructure/token-registry/index.js';
@@ -73,8 +74,8 @@ export function createApp(deps = {}) {
73
74
  // Register error handler
74
75
  app.onError(errorHandler);
75
76
  // Register route-level auth middleware on the app (before sub-routers)
76
- if (deps.masterPasswordHash !== undefined) {
77
- const masterAuth = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash });
77
+ if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
78
+ const masterAuth = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
78
79
  app.use('/v1/wallets', masterAuth);
79
80
  // /v1/policies: GET allows sessionAuth or masterAuth, others require masterAuth only
80
81
  app.use('/v1/policies', async (c, next) => {
@@ -105,8 +106,8 @@ export function createApp(deps = {}) {
105
106
  app.use('/v1/sessions/:id/wallets/*', masterAuth);
106
107
  }
107
108
  // masterAuth for GET /v1/wallets/:id (wallet detail) -- skip sub-paths with own auth
108
- if (deps.masterPasswordHash !== undefined) {
109
- const masterAuthForWalletDetail = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash });
109
+ if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
110
+ const masterAuthForWalletDetail = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
110
111
  app.use('/v1/wallets/:id', async (c, next) => {
111
112
  // Skip sub-paths that have their own masterAuth registered below
112
113
  if (c.req.path.includes('/owner') || c.req.path.includes('/default-network') || c.req.path.includes('/networks') || c.req.path.includes('/wc/')) {
@@ -117,15 +118,15 @@ export function createApp(deps = {}) {
117
118
  });
118
119
  }
119
120
  // masterAuth for PUT /v1/wallets/:id/owner
120
- if (deps.masterPasswordHash !== undefined) {
121
- const masterAuthForOwner = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash });
121
+ if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
122
+ const masterAuthForOwner = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
122
123
  app.use('/v1/wallets/:id/owner', masterAuthForOwner);
123
124
  app.use('/v1/wallets/:id/default-network', masterAuthForOwner);
124
125
  app.use('/v1/wallets/:id/networks', masterAuthForOwner);
125
126
  }
126
127
  // masterAuth for WalletConnect routes
127
- if (deps.masterPasswordHash !== undefined) {
128
- const masterAuthForWc = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash });
128
+ if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
129
+ const masterAuthForWc = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
129
130
  app.use('/v1/wallets/:id/wc/*', masterAuthForWc);
130
131
  }
131
132
  if (deps.jwtSecretManager && deps.db) {
@@ -189,8 +190,8 @@ export function createApp(deps = {}) {
189
190
  app.use('/v1/wallets/:id/owner/verify', ownerAuth);
190
191
  }
191
192
  // masterAuth for admin routes (except GET /admin/kill-switch which is public)
192
- if (deps.masterPasswordHash !== undefined) {
193
- const masterAuthForAdmin = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash });
193
+ if (deps.masterPasswordHash !== undefined || deps.passwordRef) {
194
+ const masterAuthForAdmin = createMasterAuth({ masterPasswordHash: deps.masterPasswordHash, passwordRef: deps.passwordRef });
194
195
  app.use('/v1/admin/status', masterAuthForAdmin);
195
196
  app.use('/v1/admin/kill-switch', async (c, next) => {
196
197
  // POST requires masterAuth, GET is public
@@ -231,6 +232,8 @@ export function createApp(deps = {}) {
231
232
  app.use('/v1/admin/transactions/*', masterAuthForAdmin);
232
233
  app.use('/v1/admin/incoming', masterAuthForAdmin);
233
234
  app.use('/v1/admin/rpc-status', masterAuthForAdmin);
235
+ app.use('/v1/admin/defi/*', masterAuthForAdmin);
236
+ app.use('/v1/admin/master-password', masterAuthForAdmin);
234
237
  // masterAuth for GET /v1/actions/providers (Admin UI reads provider list)
235
238
  app.use('/v1/actions/providers', async (c, next) => {
236
239
  if (c.req.method === 'GET') {
@@ -259,12 +262,14 @@ export function createApp(deps = {}) {
259
262
  // Register utils routes (sessionAuth required -- stateless utilities)
260
263
  app.route('/v1', utilsRoutes());
261
264
  // Register wallet CRUD routes when deps are available
262
- if (deps.db && deps.sqlite && deps.keyStore && deps.masterPassword !== undefined && deps.config) {
265
+ const effectiveMasterPassword = deps.passwordRef?.password ?? deps.masterPassword;
266
+ if (deps.db && deps.sqlite && deps.keyStore && effectiveMasterPassword !== undefined && deps.config) {
263
267
  app.route('/v1', walletCrudRoutes({
264
268
  db: deps.db,
265
269
  sqlite: deps.sqlite,
266
270
  keyStore: deps.keyStore,
267
- masterPassword: deps.masterPassword,
271
+ masterPassword: effectiveMasterPassword,
272
+ passwordRef: deps.passwordRef,
268
273
  config: deps.config,
269
274
  adapterPool: deps.adapterPool ?? undefined,
270
275
  notificationService: deps.notificationService,
@@ -321,10 +326,18 @@ export function createApp(deps = {}) {
321
326
  priceOracle: deps.priceOracle,
322
327
  }));
323
328
  }
329
+ // Register DeFi position routes (sessionAuth via /v1/wallet/* wildcard)
330
+ if (deps.db) {
331
+ app.route('/v1', createDefiPositionRoutes({
332
+ db: deps.db,
333
+ sqlite: deps.sqlite,
334
+ actionProviderRegistry: deps.actionProviderRegistry,
335
+ }));
336
+ }
324
337
  // Register transaction routes when all pipeline deps are available
325
338
  if (deps.db &&
326
339
  deps.keyStore &&
327
- deps.masterPassword !== undefined &&
340
+ effectiveMasterPassword !== undefined &&
328
341
  deps.adapterPool &&
329
342
  deps.policyEngine &&
330
343
  deps.config) {
@@ -334,7 +347,8 @@ export function createApp(deps = {}) {
334
347
  config: deps.config,
335
348
  keyStore: deps.keyStore,
336
349
  policyEngine: deps.policyEngine,
337
- masterPassword: deps.masterPassword,
350
+ masterPassword: effectiveMasterPassword,
351
+ passwordRef: deps.passwordRef,
338
352
  approvalWorkflow: deps.approvalWorkflow,
339
353
  delayQueue: deps.delayQueue,
340
354
  ownerLifecycle: deps.ownerLifecycle,
@@ -353,7 +367,7 @@ export function createApp(deps = {}) {
353
367
  deps.apiKeyStore &&
354
368
  deps.db &&
355
369
  deps.keyStore &&
356
- deps.masterPassword !== undefined &&
370
+ effectiveMasterPassword !== undefined &&
357
371
  deps.adapterPool &&
358
372
  deps.policyEngine &&
359
373
  deps.config) {
@@ -365,7 +379,8 @@ export function createApp(deps = {}) {
365
379
  config: deps.config,
366
380
  keyStore: deps.keyStore,
367
381
  policyEngine: deps.policyEngine,
368
- masterPassword: deps.masterPassword,
382
+ masterPassword: effectiveMasterPassword,
383
+ passwordRef: deps.passwordRef,
369
384
  approvalWorkflow: deps.approvalWorkflow,
370
385
  delayQueue: deps.delayQueue,
371
386
  ownerLifecycle: deps.ownerLifecycle,
@@ -379,7 +394,7 @@ export function createApp(deps = {}) {
379
394
  if (deps.db &&
380
395
  deps.sqlite &&
381
396
  deps.keyStore &&
382
- deps.masterPassword !== undefined &&
397
+ effectiveMasterPassword !== undefined &&
383
398
  deps.policyEngine &&
384
399
  deps.policyEngine instanceof DatabasePolicyEngine &&
385
400
  deps.config) {
@@ -388,7 +403,8 @@ export function createApp(deps = {}) {
388
403
  sqlite: deps.sqlite,
389
404
  keyStore: deps.keyStore,
390
405
  policyEngine: deps.policyEngine,
391
- masterPassword: deps.masterPassword,
406
+ masterPassword: effectiveMasterPassword,
407
+ passwordRef: deps.passwordRef,
392
408
  config: deps.config,
393
409
  notificationService: deps.notificationService,
394
410
  priceOracle: deps.priceOracle,
@@ -418,6 +434,7 @@ export function createApp(deps = {}) {
418
434
  app.route('/v1', adminRoutes({
419
435
  db: deps.db,
420
436
  jwtSecretManager: deps.jwtSecretManager,
437
+ passwordRef: deps.passwordRef,
421
438
  getKillSwitchState: () => killSwitchHolder,
422
439
  setKillSwitchState: (state, activatedBy) => {
423
440
  killSwitchHolder.state = state;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-provider-registry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/action/action-provider-registry.ts"],"names":[],"mappings":"AAeA,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAmCzC;;;OAGG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAazC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAItD;;OAEG;IACH,SAAS,CACP,GAAG,EAAE,MAAM,GACV;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,GAAG,SAAS;IAItE;;OAEG;IACH,aAAa,IAAI,sBAAsB,EAAE;IAIzC;;OAEG;IACH,WAAW,CACT,YAAY,CAAC,EAAE,MAAM,GACpB;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,EAAE;IAUvD;;OAEG;IACH,oBAAoB,IAAI;QACtB,QAAQ,EAAE,eAAe,CAAC;QAC1B,MAAM,EAAE,gBAAgB,CAAC;KAC1B,EAAE;IAUH;;;;;;;;;;;;;OAaG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmDjC;;;;;OAKG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgClD;;OAEG;YACW,gBAAgB;CAyD/B"}
1
+ {"version":3,"file":"action-provider-registry.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/action/action-provider-registry.ts"],"names":[],"mappings":"AAeA,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAmCzC;;;OAGG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAazC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAItD;;OAEG;IACH,SAAS,CACP,GAAG,EAAE,MAAM,GACV;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,GAAG,SAAS;IAItE;;OAEG;IACH,aAAa,IAAI,sBAAsB,EAAE;IAIzC;;OAEG;IACH,WAAW,CACT,YAAY,CAAC,EAAE,MAAM,GACpB;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,EAAE;IAUvD;;OAEG;IACH,oBAAoB,IAAI;QACtB,QAAQ,EAAE,eAAe,CAAC;QAC1B,MAAM,EAAE,gBAAgB,CAAC;KAC1B,EAAE;IAUH;;;;;;;;;;;;;OAaG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAqDjC;;;;;OAKG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAgClD;;OAEG;YACW,gBAAgB;CAyD/B"}
@@ -157,6 +157,8 @@ export class ActionProviderRegistry {
157
157
  const parsed = ContractCallRequestSchema.parse(item);
158
158
  // Auto-tag with provider name for provider-trust policy bypass
159
159
  parsed.actionProvider = entry.provider.metadata.name;
160
+ // Auto-tag with action name for lending policy evaluation (Phase 275)
161
+ parsed.actionName = entry.action.name;
160
162
  validated.push(parsed);
161
163
  }
162
164
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"action-provider-registry.js","sourceRoot":"","sources":["../../../src/infrastructure/action/action-provider-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-provider-registry.js","sourceRoot":"","sources":["../../../src/infrastructure/action/action-provider-registry.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { BetterSQLite3Database } from 'drizzle-orm/better-sqlite3';
13
13
  import type * as schema from '../database/schema.js';
14
+ import type { MasterPasswordRef } from '../../api/middleware/master-auth.js';
14
15
  export interface ApiKeyListEntry {
15
16
  providerName: string;
16
17
  hasKey: boolean;
@@ -20,7 +21,10 @@ export interface ApiKeyListEntry {
20
21
  export declare class ApiKeyStore {
21
22
  private readonly db;
22
23
  private readonly masterPassword;
23
- constructor(db: BetterSQLite3Database<typeof schema>, masterPassword: string);
24
+ private readonly passwordRef?;
25
+ constructor(db: BetterSQLite3Database<typeof schema>, masterPassword: string, passwordRef?: MasterPasswordRef);
26
+ /** Resolve the current master password (passwordRef takes precedence). */
27
+ private get currentPassword();
24
28
  /**
25
29
  * Store or update an API key for a provider. The key is encrypted with
26
30
  * AES-256-GCM before storage. createdAt is set only on insert;
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-store.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/action/api-key-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAQrD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAMD,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,EACxC,cAAc,EAAE,MAAM;IAGzC;;;;OAIG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB/C;;;OAGG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWxC;;;;;;;;;OASG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM9C;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAUlC;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IASrC;;OAEG;IACH,OAAO,IAAI,eAAe,EAAE;CAa7B"}
1
+ {"version":3,"file":"api-key-store.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/action/api-key-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAM7E,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CACjB;AAMD,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoB;gBAG9B,EAAE,EAAE,qBAAqB,CAAC,OAAO,MAAM,CAAC,EACxC,cAAc,EAAE,MAAM,EACvC,WAAW,CAAC,EAAE,iBAAiB;IAKjC,0EAA0E;IAC1E,OAAO,KAAK,eAAe,GAE1B;IAED;;;;OAIG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB/C;;;OAGG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAWxC;;;;;;;;;OASG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAM9C;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAUlC;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IASrC;;OAEG;IACH,OAAO,IAAI,eAAe,EAAE;CAa7B"}
@@ -18,9 +18,15 @@ import { encryptSettingValue, decryptSettingValue } from '../settings/settings-c
18
18
  export class ApiKeyStore {
19
19
  db;
20
20
  masterPassword;
21
- constructor(db, masterPassword) {
21
+ passwordRef;
22
+ constructor(db, masterPassword, passwordRef) {
22
23
  this.db = db;
23
24
  this.masterPassword = masterPassword;
25
+ this.passwordRef = passwordRef;
26
+ }
27
+ /** Resolve the current master password (passwordRef takes precedence). */
28
+ get currentPassword() {
29
+ return this.passwordRef?.password ?? this.masterPassword;
24
30
  }
25
31
  /**
26
32
  * Store or update an API key for a provider. The key is encrypted with
@@ -28,7 +34,7 @@ export class ApiKeyStore {
28
34
  * updatedAt is always refreshed.
29
35
  */
30
36
  set(providerName, apiKey) {
31
- const encrypted = encryptSettingValue(apiKey, this.masterPassword);
37
+ const encrypted = encryptSettingValue(apiKey, this.currentPassword);
32
38
  const now = new Date(Math.floor(Date.now() / 1000) * 1000);
33
39
  this.db
34
40
  .insert(apiKeys)
@@ -59,7 +65,7 @@ export class ApiKeyStore {
59
65
  .get();
60
66
  if (!row)
61
67
  return null;
62
- return decryptSettingValue(row.encryptedKey, this.masterPassword);
68
+ return decryptSettingValue(row.encryptedKey, this.currentPassword);
63
69
  }
64
70
  /**
65
71
  * Retrieve a masked version of the API key for display purposes.
@@ -105,7 +111,7 @@ export class ApiKeyStore {
105
111
  listAll() {
106
112
  const rows = this.db.select().from(apiKeys).all();
107
113
  return rows.map((row) => {
108
- const decrypted = decryptSettingValue(row.encryptedKey, this.masterPassword);
114
+ const decrypted = decryptSettingValue(row.encryptedKey, this.currentPassword);
109
115
  return {
110
116
  providerName: row.providerName,
111
117
  hasKey: true,
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-store.js","sourceRoot":"","sources":["../../../src/infrastructure/action/api-key-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAa1F,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,OAAO,WAAW;IAEH;IACA;IAFnB,YACmB,EAAwC,EACxC,cAAsB;QADtB,OAAE,GAAF,EAAE,CAAsC;QACxC,mBAAc,GAAd,cAAc,CAAQ;IACtC,CAAC;IAEJ;;;;OAIG;IACH,GAAG,CAAC,YAAoB,EAAE,MAAc;QACtC,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAE3D,IAAI,CAAC,EAAE;aACJ,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CAAC;YACN,YAAY;YACZ,YAAY,EAAE,SAAS;YACvB,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;aACD,kBAAkB,CAAC;YAClB,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,GAAG,EAAE;gBACH,YAAY,EAAE,SAAS;gBACvB,SAAS,EAAE,GAAG;aACf;SACF,CAAC;aACD,GAAG,EAAE,CAAC;IACX,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,YAAoB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,MAAM,EAAE;aACR,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;aAC7C,GAAG,EAAE,CAAC;QAET,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,YAAoB;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,YAAoB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE;aAChB,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;aAC9C,IAAI,CAAC,OAAO,CAAC;aACb,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;aAC7C,GAAG,EAAE,CAAC;QAET,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAoB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,MAAM,CAAC,OAAO,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;aAC7C,GAAG,EAAE,CAAC;QAET,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;QAElD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7E,OAAO;gBACL,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;gBAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;aACzB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"api-key-store.js","sourceRoot":"","sources":["../../../src/infrastructure/action/api-key-store.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ import type { Database } from 'better-sqlite3';
28
28
  * pushSchema() records this version for fresh databases so migrations are skipped.
29
29
  * Increment this whenever DDL statements are updated to match a new migration.
30
30
  */
31
- export declare const LATEST_SCHEMA_VERSION = 24;
31
+ export declare const LATEST_SCHEMA_VERSION = 26;
32
32
  /** A single incremental migration (ALTER TABLE, CREATE INDEX, etc.). */
33
33
  export interface Migration {
34
34
  /** Monotonically increasing version number (must be > 1, since version 1 = initial schema). */
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/database/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA2B/C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AA4TxC,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,+FAA+F;IAC/F,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2FAA2F;IAC3F,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EAAO,CAAC;AAmxC1C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,SAAS,EAAe,GACnC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgFtC;AAMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAsGjD"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/database/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA6B/C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAsVxC,wEAAwE;AACxE,MAAM,WAAW,SAAS;IACxB,+FAA+F;IAC/F,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2FAA2F;IAC3F,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,EAAO,CAAC;AAi3C1C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,EAChB,UAAU,GAAE,SAAS,EAAe,GACnC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAgFtC;AAMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAsGjD"}
@@ -22,7 +22,7 @@
22
22
  * @see docs/69-db-migration-v6-design.md
23
23
  * @see docs/71-policy-engine-network-extension-design.md
24
24
  */
25
- import { WALLET_STATUSES, CHAIN_TYPES, NETWORK_TYPES, ENVIRONMENT_TYPES, TRANSACTION_STATUSES, TRANSACTION_TYPES, POLICY_TYPES, POLICY_TIERS, NOTIFICATION_LOG_STATUSES, INCOMING_TX_STATUSES, NETWORK_TO_CAIP2, tokenAssetId, } from '@waiaas/core';
25
+ 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, NETWORK_TO_CAIP2, tokenAssetId, } from '@waiaas/core';
26
26
  // ---------------------------------------------------------------------------
27
27
  // Utility: build CHECK IN clause from SSoT arrays
28
28
  // ---------------------------------------------------------------------------
@@ -35,7 +35,7 @@ const inList = (values) => values.map((v) => `'${v}'`).join(', ');
35
35
  * pushSchema() records this version for fresh databases so migrations are skipped.
36
36
  * Increment this whenever DDL statements are updated to match a new migration.
37
37
  */
38
- export const LATEST_SCHEMA_VERSION = 24;
38
+ export const LATEST_SCHEMA_VERSION = 26;
39
39
  function getCreateTableStatements() {
40
40
  return [
41
41
  // Table 1: wallets (renamed from agents in v3, environment model in v6b, owner_approval_method in v18)
@@ -248,6 +248,25 @@ function getCreateTableStatements() {
248
248
  last_signature TEXT,
249
249
  last_block_number INTEGER,
250
250
  updated_at INTEGER NOT NULL
251
+ )`,
252
+ // Table 18: defi_positions (DeFi position tracking, v29.2)
253
+ `CREATE TABLE IF NOT EXISTS defi_positions (
254
+ id TEXT PRIMARY KEY,
255
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
256
+ category TEXT NOT NULL CHECK(category IN (${inList(POSITION_CATEGORIES)})),
257
+ provider TEXT NOT NULL,
258
+ chain TEXT NOT NULL CHECK(chain IN (${inList(CHAIN_TYPES)})),
259
+ network TEXT CHECK(network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
260
+ asset_id TEXT,
261
+ amount TEXT NOT NULL,
262
+ amount_usd REAL,
263
+ metadata TEXT,
264
+ status TEXT NOT NULL DEFAULT 'ACTIVE' CHECK(status IN (${inList(POSITION_STATUSES)})),
265
+ opened_at INTEGER NOT NULL,
266
+ closed_at INTEGER,
267
+ last_synced_at INTEGER NOT NULL,
268
+ created_at INTEGER NOT NULL,
269
+ updated_at INTEGER NOT NULL
251
270
  )`,
252
271
  ];
253
272
  }
@@ -311,6 +330,11 @@ function getCreateIndexStatements() {
311
330
  // v28.3: DeFi async tracking partial indexes on transactions
312
331
  'CREATE INDEX IF NOT EXISTS idx_transactions_bridge_status ON transactions(bridge_status) WHERE bridge_status IS NOT NULL',
313
332
  "CREATE INDEX IF NOT EXISTS idx_transactions_gas_waiting ON transactions(status) WHERE status = 'GAS_WAITING'",
333
+ // v29.2: defi_positions indexes
334
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_category ON defi_positions(wallet_id, category)',
335
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_provider ON defi_positions(wallet_id, provider)',
336
+ 'CREATE INDEX IF NOT EXISTS idx_defi_positions_status ON defi_positions(status)',
337
+ 'CREATE UNIQUE INDEX IF NOT EXISTS idx_defi_positions_unique ON defi_positions(wallet_id, provider, asset_id, category)',
314
338
  ];
315
339
  }
316
340
  /**
@@ -1440,6 +1464,90 @@ MIGRATIONS.push({
1440
1464
  sqlite.exec('ALTER TABLE wallets ADD COLUMN wallet_type TEXT');
1441
1465
  },
1442
1466
  });
1467
+ // ---------------------------------------------------------------------------
1468
+ // v29.2 Migration 25: Add defi_positions table for DeFi position tracking
1469
+ // ---------------------------------------------------------------------------
1470
+ MIGRATIONS.push({
1471
+ version: 25,
1472
+ description: 'Add defi_positions table for DeFi position tracking',
1473
+ up: (sqlite) => {
1474
+ sqlite.exec(`
1475
+ CREATE TABLE IF NOT EXISTS defi_positions (
1476
+ id TEXT PRIMARY KEY,
1477
+ wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
1478
+ category TEXT NOT NULL CHECK(category IN (${inList(POSITION_CATEGORIES)})),
1479
+ provider TEXT NOT NULL,
1480
+ chain TEXT NOT NULL CHECK(chain IN (${inList(CHAIN_TYPES)})),
1481
+ network TEXT CHECK(network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
1482
+ asset_id TEXT,
1483
+ amount TEXT NOT NULL,
1484
+ amount_usd REAL,
1485
+ metadata TEXT,
1486
+ status TEXT NOT NULL DEFAULT 'ACTIVE' CHECK(status IN (${inList(POSITION_STATUSES)})),
1487
+ opened_at INTEGER NOT NULL,
1488
+ closed_at INTEGER,
1489
+ last_synced_at INTEGER NOT NULL,
1490
+ created_at INTEGER NOT NULL,
1491
+ updated_at INTEGER NOT NULL
1492
+ )
1493
+ `);
1494
+ // Indexes for the new table
1495
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_category ON defi_positions(wallet_id, category)');
1496
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_provider ON defi_positions(wallet_id, provider)');
1497
+ sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_status ON defi_positions(status)');
1498
+ sqlite.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_defi_positions_unique ON defi_positions(wallet_id, provider, asset_id, category)');
1499
+ },
1500
+ });
1501
+ // ---------------------------------------------------------------------------
1502
+ // v26: Add LENDING_LTV_LIMIT and LENDING_ASSET_WHITELIST to policies table CHECK constraint
1503
+ // ---------------------------------------------------------------------------
1504
+ // POLICY_TYPES SSoT array now includes LENDING_LTV_LIMIT and LENDING_ASSET_WHITELIST (14 total).
1505
+ // SQLite cannot ALTER CHECK constraints, so we recreate the policies table (12-step pattern).
1506
+ MIGRATIONS.push({
1507
+ version: 26,
1508
+ description: 'Add lending policy types to policies table CHECK constraint',
1509
+ managesOwnTransaction: true,
1510
+ up: (sqlite) => {
1511
+ // Step 1: Begin transaction (foreign_keys already OFF via runner)
1512
+ sqlite.exec('BEGIN');
1513
+ try {
1514
+ // Step 2: Create policies_new with updated CHECK (uses SSoT POLICY_TYPES array)
1515
+ sqlite.exec(`CREATE TABLE policies_new (
1516
+ id TEXT PRIMARY KEY,
1517
+ wallet_id TEXT REFERENCES wallets(id) ON DELETE CASCADE,
1518
+ type TEXT NOT NULL CHECK (type IN (${inList(POLICY_TYPES)})),
1519
+ rules TEXT NOT NULL,
1520
+ priority INTEGER NOT NULL DEFAULT 0,
1521
+ enabled INTEGER NOT NULL DEFAULT 1,
1522
+ network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
1523
+ created_at INTEGER NOT NULL,
1524
+ updated_at INTEGER NOT NULL
1525
+ )`);
1526
+ // Step 3: Copy existing policies
1527
+ sqlite.exec('INSERT INTO policies_new SELECT * FROM policies');
1528
+ // Step 4: Drop old table
1529
+ sqlite.exec('DROP TABLE policies');
1530
+ // Step 5: Rename new table
1531
+ sqlite.exec('ALTER TABLE policies_new RENAME TO policies');
1532
+ // Step 6: Recreate indexes
1533
+ sqlite.exec('CREATE INDEX idx_policies_wallet_enabled ON policies(wallet_id, enabled)');
1534
+ sqlite.exec('CREATE INDEX idx_policies_type ON policies(type)');
1535
+ sqlite.exec('CREATE INDEX idx_policies_network ON policies(network)');
1536
+ // Step 7: Commit
1537
+ sqlite.exec('COMMIT');
1538
+ }
1539
+ catch (err) {
1540
+ sqlite.exec('ROLLBACK');
1541
+ throw err;
1542
+ }
1543
+ // Step 8: Re-enable foreign keys and verify integrity
1544
+ sqlite.pragma('foreign_keys = ON');
1545
+ const fkErrors = sqlite.pragma('foreign_key_check');
1546
+ if (fkErrors.length > 0) {
1547
+ throw new Error(`FK integrity violation after v26: ${JSON.stringify(fkErrors)}`);
1548
+ }
1549
+ },
1550
+ });
1443
1551
  /**
1444
1552
  * Run incremental migrations against the database.
1445
1553
  *