@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.
- package/README.md +5 -5
- package/dist/api/middleware/address-validation.d.ts +6 -33
- package/dist/api/middleware/address-validation.d.ts.map +1 -1
- package/dist/api/middleware/address-validation.js +5 -129
- package/dist/api/middleware/address-validation.js.map +1 -1
- package/dist/api/middleware/host-guard.d.ts +1 -1
- package/dist/api/middleware/host-guard.js +2 -2
- package/dist/api/middleware/host-guard.js.map +1 -1
- package/dist/api/middleware/index.d.ts +1 -0
- package/dist/api/middleware/index.d.ts.map +1 -1
- package/dist/api/middleware/index.js +1 -0
- package/dist/api/middleware/index.js.map +1 -1
- package/dist/api/middleware/master-auth.d.ts +2 -5
- package/dist/api/middleware/master-auth.d.ts.map +1 -1
- package/dist/api/middleware/master-auth.js.map +1 -1
- package/dist/api/middleware/rate-limiter.d.ts +51 -0
- package/dist/api/middleware/rate-limiter.d.ts.map +1 -0
- package/dist/api/middleware/rate-limiter.js +146 -0
- package/dist/api/middleware/rate-limiter.js.map +1 -0
- package/dist/api/middleware/siwe-verify.d.ts +6 -26
- package/dist/api/middleware/siwe-verify.d.ts.map +1 -1
- package/dist/api/middleware/siwe-verify.js +5 -50
- package/dist/api/middleware/siwe-verify.js.map +1 -1
- package/dist/api/routes/actions.d.ts +1 -0
- package/dist/api/routes/actions.d.ts.map +1 -1
- package/dist/api/routes/actions.js +52 -4
- package/dist/api/routes/actions.js.map +1 -1
- package/dist/api/routes/admin-actions.d.ts +1 -0
- package/dist/api/routes/admin-actions.d.ts.map +1 -1
- package/dist/api/routes/admin-actions.js +3 -3
- package/dist/api/routes/admin-actions.js.map +1 -1
- package/dist/api/routes/admin-auth.d.ts.map +1 -1
- package/dist/api/routes/admin-auth.js +12 -7
- package/dist/api/routes/admin-auth.js.map +1 -1
- package/dist/api/routes/admin-credentials.js +2 -2
- package/dist/api/routes/admin-credentials.js.map +1 -1
- package/dist/api/routes/admin-monitoring.d.ts +10 -0
- package/dist/api/routes/admin-monitoring.d.ts.map +1 -1
- package/dist/api/routes/admin-monitoring.js +59 -14
- package/dist/api/routes/admin-monitoring.js.map +1 -1
- package/dist/api/routes/admin-notifications.d.ts.map +1 -1
- package/dist/api/routes/admin-notifications.js +2 -15
- package/dist/api/routes/admin-notifications.js.map +1 -1
- package/dist/api/routes/admin-settings.d.ts.map +1 -1
- package/dist/api/routes/admin-settings.js +90 -1
- package/dist/api/routes/admin-settings.js.map +1 -1
- package/dist/api/routes/admin-wallets.d.ts +16 -1
- package/dist/api/routes/admin-wallets.d.ts.map +1 -1
- package/dist/api/routes/admin-wallets.js +64 -75
- package/dist/api/routes/admin-wallets.js.map +1 -1
- package/dist/api/routes/admin.d.ts +1 -0
- package/dist/api/routes/admin.d.ts.map +1 -1
- package/dist/api/routes/admin.js.map +1 -1
- package/dist/api/routes/credentials.js +2 -2
- package/dist/api/routes/credentials.js.map +1 -1
- package/dist/api/routes/defi-positions.js.map +1 -1
- package/dist/api/routes/nfts.js.map +1 -1
- package/dist/api/routes/openapi-schemas.d.ts +412 -12
- package/dist/api/routes/openapi-schemas.d.ts.map +1 -1
- package/dist/api/routes/openapi-schemas.js +38 -5
- package/dist/api/routes/openapi-schemas.js.map +1 -1
- package/dist/api/routes/policies.d.ts +2 -0
- package/dist/api/routes/policies.d.ts.map +1 -1
- package/dist/api/routes/policies.js +55 -6
- package/dist/api/routes/policies.js.map +1 -1
- package/dist/api/routes/rpc-proxy.js.map +1 -1
- package/dist/api/routes/sessions.d.ts.map +1 -1
- package/dist/api/routes/sessions.js +47 -28
- package/dist/api/routes/sessions.js.map +1 -1
- package/dist/api/routes/staking.d.ts.map +1 -1
- package/dist/api/routes/staking.js +4 -76
- package/dist/api/routes/staking.js.map +1 -1
- package/dist/api/routes/tokens.d.ts.map +1 -1
- package/dist/api/routes/tokens.js.map +1 -1
- package/dist/api/routes/transactions.d.ts +1 -0
- package/dist/api/routes/transactions.d.ts.map +1 -1
- package/dist/api/routes/transactions.js +8 -2
- package/dist/api/routes/transactions.js.map +1 -1
- package/dist/api/routes/userop.d.ts.map +1 -1
- package/dist/api/routes/userop.js +0 -2
- package/dist/api/routes/userop.js.map +1 -1
- package/dist/api/routes/wallet-apps.d.ts.map +1 -1
- package/dist/api/routes/wallet-apps.js +20 -13
- package/dist/api/routes/wallet-apps.js.map +1 -1
- package/dist/api/routes/wallet.js.map +1 -1
- package/dist/api/routes/wallets.d.ts.map +1 -1
- package/dist/api/routes/wallets.js +3 -0
- package/dist/api/routes/wallets.js.map +1 -1
- package/dist/api/routes/wc.d.ts.map +1 -1
- package/dist/api/routes/wc.js +13 -8
- package/dist/api/routes/wc.js.map +1 -1
- package/dist/api/routes/x402.d.ts.map +1 -1
- package/dist/api/routes/x402.js +1 -2
- package/dist/api/routes/x402.js.map +1 -1
- package/dist/api/server.d.ts +8 -4
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +46 -5
- package/dist/api/server.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/infrastructure/action/action-provider-registry.d.ts.map +1 -1
- package/dist/infrastructure/action/action-provider-registry.js +2 -3
- package/dist/infrastructure/action/action-provider-registry.js.map +1 -1
- package/dist/infrastructure/action/builtin-metadata.d.ts +22 -0
- package/dist/infrastructure/action/builtin-metadata.d.ts.map +1 -0
- package/dist/infrastructure/action/builtin-metadata.js +29 -0
- package/dist/infrastructure/action/builtin-metadata.js.map +1 -0
- package/dist/infrastructure/adapter-pool.d.ts +2 -1
- package/dist/infrastructure/adapter-pool.d.ts.map +1 -1
- package/dist/infrastructure/adapter-pool.js.map +1 -1
- package/dist/infrastructure/auth/address-validation.d.ts +38 -0
- package/dist/infrastructure/auth/address-validation.d.ts.map +1 -0
- package/dist/infrastructure/auth/address-validation.js +134 -0
- package/dist/infrastructure/auth/address-validation.js.map +1 -0
- package/dist/infrastructure/auth/siwe-verify.d.ts +34 -0
- package/dist/infrastructure/auth/siwe-verify.d.ts.map +1 -0
- package/dist/infrastructure/auth/siwe-verify.js +58 -0
- package/dist/infrastructure/auth/siwe-verify.js.map +1 -0
- package/dist/infrastructure/auth/types.d.ts +12 -0
- package/dist/infrastructure/auth/types.d.ts.map +1 -0
- package/dist/infrastructure/auth/types.js +8 -0
- package/dist/infrastructure/auth/types.js.map +1 -0
- package/dist/infrastructure/config/loader.d.ts +1 -10
- package/dist/infrastructure/config/loader.d.ts.map +1 -1
- package/dist/infrastructure/config/loader.js +0 -2
- package/dist/infrastructure/config/loader.js.map +1 -1
- package/dist/infrastructure/database/migrate.d.ts +6 -18
- package/dist/infrastructure/database/migrate.d.ts.map +1 -1
- package/dist/infrastructure/database/migrate.js +25 -2856
- package/dist/infrastructure/database/migrate.js.map +1 -1
- package/dist/infrastructure/database/migrations/v11-v20.d.ts +17 -0
- package/dist/infrastructure/database/migrations/v11-v20.d.ts.map +1 -0
- package/dist/infrastructure/database/migrations/v11-v20.js +295 -0
- package/dist/infrastructure/database/migrations/v11-v20.js.map +1 -0
- package/dist/infrastructure/database/migrations/v2-v10.d.ts +16 -0
- package/dist/infrastructure/database/migrations/v2-v10.d.ts.map +1 -0
- package/dist/infrastructure/database/migrations/v2-v10.js +539 -0
- package/dist/infrastructure/database/migrations/v2-v10.js.map +1 -0
- package/dist/infrastructure/database/migrations/v21-v30.d.ts +17 -0
- package/dist/infrastructure/database/migrations/v21-v30.d.ts.map +1 -0
- package/dist/infrastructure/database/migrations/v21-v30.js +507 -0
- package/dist/infrastructure/database/migrations/v21-v30.js.map +1 -0
- package/dist/infrastructure/database/migrations/v31-v40.d.ts +17 -0
- package/dist/infrastructure/database/migrations/v31-v40.d.ts.map +1 -0
- package/dist/infrastructure/database/migrations/v31-v40.js +203 -0
- package/dist/infrastructure/database/migrations/v31-v40.js.map +1 -0
- package/dist/infrastructure/database/migrations/v41-v50.d.ts +17 -0
- package/dist/infrastructure/database/migrations/v41-v50.d.ts.map +1 -0
- package/dist/infrastructure/database/migrations/v41-v50.js +188 -0
- package/dist/infrastructure/database/migrations/v41-v50.js.map +1 -0
- package/dist/infrastructure/database/migrations/v51-v59.d.ts +17 -0
- package/dist/infrastructure/database/migrations/v51-v59.d.ts.map +1 -0
- package/dist/infrastructure/database/migrations/v51-v59.js +420 -0
- package/dist/infrastructure/database/migrations/v51-v59.js.map +1 -0
- package/dist/infrastructure/database/schema-ddl.d.ts +24 -0
- package/dist/infrastructure/database/schema-ddl.d.ts.map +1 -0
- package/dist/infrastructure/database/schema-ddl.js +596 -0
- package/dist/infrastructure/database/schema-ddl.js.map +1 -0
- package/dist/infrastructure/database/schema.d.ts +38 -0
- package/dist/infrastructure/database/schema.d.ts.map +1 -1
- package/dist/infrastructure/database/schema.js +2 -0
- package/dist/infrastructure/database/schema.js.map +1 -1
- package/dist/infrastructure/jwt/jwt-secret-manager.d.ts.map +1 -1
- package/dist/infrastructure/jwt/jwt-secret-manager.js +16 -3
- package/dist/infrastructure/jwt/jwt-secret-manager.js.map +1 -1
- package/dist/infrastructure/nft/alchemy-nft-indexer.d.ts.map +1 -1
- package/dist/infrastructure/nft/alchemy-nft-indexer.js +0 -1
- package/dist/infrastructure/nft/alchemy-nft-indexer.js.map +1 -1
- package/dist/infrastructure/nft/helius-nft-indexer.d.ts.map +1 -1
- package/dist/infrastructure/nft/helius-nft-indexer.js +1 -2
- package/dist/infrastructure/nft/helius-nft-indexer.js.map +1 -1
- package/dist/infrastructure/nft/nft-indexer-client.d.ts.map +1 -1
- package/dist/infrastructure/nft/nft-indexer-client.js +0 -2
- package/dist/infrastructure/nft/nft-indexer-client.js.map +1 -1
- package/dist/infrastructure/security/ssrf-guard.d.ts +33 -0
- package/dist/infrastructure/security/ssrf-guard.d.ts.map +1 -0
- package/dist/infrastructure/security/ssrf-guard.js +244 -0
- package/dist/infrastructure/security/ssrf-guard.js.map +1 -0
- package/dist/infrastructure/settings/hot-reload.d.ts +1 -1
- package/dist/infrastructure/settings/hot-reload.d.ts.map +1 -1
- package/dist/infrastructure/settings/hot-reload.js +0 -2
- package/dist/infrastructure/settings/hot-reload.js.map +1 -1
- package/dist/infrastructure/settings/index.d.ts +2 -2
- package/dist/infrastructure/settings/index.d.ts.map +1 -1
- package/dist/infrastructure/settings/index.js +1 -1
- package/dist/infrastructure/settings/index.js.map +1 -1
- package/dist/infrastructure/settings/setting-keys.d.ts +14 -0
- package/dist/infrastructure/settings/setting-keys.d.ts.map +1 -1
- package/dist/infrastructure/settings/setting-keys.js +296 -214
- package/dist/infrastructure/settings/setting-keys.js.map +1 -1
- package/dist/infrastructure/settings/settings-service.d.ts +6 -1
- package/dist/infrastructure/settings/settings-service.d.ts.map +1 -1
- package/dist/infrastructure/settings/settings-service.js +15 -5
- package/dist/infrastructure/settings/settings-service.js.map +1 -1
- package/dist/infrastructure/telegram/telegram-bot-service.d.ts.map +1 -1
- package/dist/infrastructure/telegram/telegram-bot-service.js +3 -2
- package/dist/infrastructure/telegram/telegram-bot-service.js.map +1 -1
- package/dist/infrastructure/token-registry/builtin-tokens.d.ts.map +1 -1
- package/dist/infrastructure/token-registry/builtin-tokens.js +4 -7
- package/dist/infrastructure/token-registry/builtin-tokens.js.map +1 -1
- package/dist/lifecycle/daemon-pipeline.d.ts +49 -0
- package/dist/lifecycle/daemon-pipeline.d.ts.map +1 -0
- package/dist/lifecycle/daemon-pipeline.js +281 -0
- package/dist/lifecycle/daemon-pipeline.js.map +1 -0
- package/dist/lifecycle/daemon-shutdown.d.ts +14 -0
- package/dist/lifecycle/daemon-shutdown.d.ts.map +1 -0
- package/dist/lifecycle/daemon-shutdown.js +176 -0
- package/dist/lifecycle/daemon-shutdown.js.map +1 -0
- package/dist/lifecycle/daemon-startup.d.ts +15 -0
- package/dist/lifecycle/daemon-startup.d.ts.map +1 -0
- package/dist/lifecycle/daemon-startup.js +1527 -0
- package/dist/lifecycle/daemon-startup.js.map +1 -0
- package/dist/lifecycle/daemon.d.ts +171 -114
- package/dist/lifecycle/daemon.d.ts.map +1 -1
- package/dist/lifecycle/daemon.js +22 -1904
- package/dist/lifecycle/daemon.js.map +1 -1
- package/dist/notifications/channels/discord.d.ts.map +1 -1
- package/dist/notifications/channels/discord.js +1 -0
- package/dist/notifications/channels/discord.js.map +1 -1
- package/dist/notifications/channels/slack.d.ts.map +1 -1
- package/dist/notifications/channels/slack.js +1 -0
- package/dist/notifications/channels/slack.js.map +1 -1
- package/dist/notifications/index.d.ts +0 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +0 -1
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/notification-service.d.ts.map +1 -1
- package/dist/notifications/notification-service.js +8 -6
- package/dist/notifications/notification-service.js.map +1 -1
- package/dist/pipeline/database-policy-engine.d.ts +18 -438
- package/dist/pipeline/database-policy-engine.d.ts.map +1 -1
- package/dist/pipeline/database-policy-engine.js +154 -1321
- package/dist/pipeline/database-policy-engine.js.map +1 -1
- package/dist/pipeline/dry-run.d.ts +5 -2
- package/dist/pipeline/dry-run.d.ts.map +1 -1
- package/dist/pipeline/dry-run.js +102 -8
- package/dist/pipeline/dry-run.js.map +1 -1
- package/dist/pipeline/evaluators/allowed-tokens.d.ts +28 -0
- package/dist/pipeline/evaluators/allowed-tokens.d.ts.map +1 -0
- package/dist/pipeline/evaluators/allowed-tokens.js +129 -0
- package/dist/pipeline/evaluators/allowed-tokens.js.map +1 -0
- package/dist/pipeline/evaluators/approved-spenders.d.ts +26 -0
- package/dist/pipeline/evaluators/approved-spenders.d.ts.map +1 -0
- package/dist/pipeline/evaluators/approved-spenders.js +115 -0
- package/dist/pipeline/evaluators/approved-spenders.js.map +1 -0
- package/dist/pipeline/evaluators/contract-whitelist.d.ts +28 -0
- package/dist/pipeline/evaluators/contract-whitelist.d.ts.map +1 -0
- package/dist/pipeline/evaluators/contract-whitelist.js +168 -0
- package/dist/pipeline/evaluators/contract-whitelist.js.map +1 -0
- package/dist/pipeline/evaluators/helpers.d.ts +9 -0
- package/dist/pipeline/evaluators/helpers.d.ts.map +1 -0
- package/dist/pipeline/evaluators/helpers.js +13 -0
- package/dist/pipeline/evaluators/helpers.js.map +1 -0
- package/dist/pipeline/evaluators/lending-asset-whitelist.d.ts +18 -0
- package/dist/pipeline/evaluators/lending-asset-whitelist.d.ts.map +1 -0
- package/dist/pipeline/evaluators/lending-asset-whitelist.js +44 -0
- package/dist/pipeline/evaluators/lending-asset-whitelist.js.map +1 -0
- package/dist/pipeline/evaluators/lending-ltv-limit.d.ts +24 -0
- package/dist/pipeline/evaluators/lending-ltv-limit.d.ts.map +1 -0
- package/dist/pipeline/evaluators/lending-ltv-limit.js +130 -0
- package/dist/pipeline/evaluators/lending-ltv-limit.js.map +1 -0
- package/dist/pipeline/evaluators/spending-limit.d.ts +46 -0
- package/dist/pipeline/evaluators/spending-limit.d.ts.map +1 -0
- package/dist/pipeline/evaluators/spending-limit.js +241 -0
- package/dist/pipeline/evaluators/spending-limit.js.map +1 -0
- package/dist/pipeline/evaluators/types.d.ts +71 -0
- package/dist/pipeline/evaluators/types.d.ts.map +1 -0
- package/dist/pipeline/evaluators/types.js +7 -0
- package/dist/pipeline/evaluators/types.js.map +1 -0
- package/dist/pipeline/external-action-pipeline.js.map +1 -1
- package/dist/pipeline/gas-condition-tracker.d.ts +1 -1
- package/dist/pipeline/gas-condition-tracker.js +1 -1
- package/dist/pipeline/pipeline-helpers.d.ts +146 -0
- package/dist/pipeline/pipeline-helpers.d.ts.map +1 -0
- package/dist/pipeline/pipeline-helpers.js +260 -0
- package/dist/pipeline/pipeline-helpers.js.map +1 -0
- package/dist/pipeline/pipeline.d.ts +1 -0
- package/dist/pipeline/pipeline.d.ts.map +1 -1
- package/dist/pipeline/pipeline.js +3 -2
- package/dist/pipeline/pipeline.js.map +1 -1
- package/dist/pipeline/resolve-effective-amount-usd.d.ts.map +1 -1
- package/dist/pipeline/resolve-effective-amount-usd.js +4 -10
- package/dist/pipeline/resolve-effective-amount-usd.js.map +1 -1
- package/dist/pipeline/sign-message.js +1 -1
- package/dist/pipeline/sign-message.js.map +1 -1
- package/dist/pipeline/sleep.d.ts +1 -5
- package/dist/pipeline/sleep.d.ts.map +1 -1
- package/dist/pipeline/sleep.js +2 -7
- package/dist/pipeline/sleep.js.map +1 -1
- package/dist/pipeline/stage1-validate.d.ts +8 -0
- package/dist/pipeline/stage1-validate.d.ts.map +1 -0
- package/dist/pipeline/stage1-validate.js +69 -0
- package/dist/pipeline/stage1-validate.js.map +1 -0
- package/dist/pipeline/stage2-auth.d.ts +12 -0
- package/dist/pipeline/stage2-auth.d.ts.map +1 -0
- package/dist/pipeline/stage2-auth.js +18 -0
- package/dist/pipeline/stage2-auth.js.map +1 -0
- package/dist/pipeline/stage3-policy.d.ts +26 -0
- package/dist/pipeline/stage3-policy.d.ts.map +1 -0
- package/dist/pipeline/stage3-policy.js +384 -0
- package/dist/pipeline/stage3-policy.js.map +1 -0
- package/dist/pipeline/stage4-wait.d.ts +8 -0
- package/dist/pipeline/stage4-wait.d.ts.map +1 -0
- package/dist/pipeline/stage4-wait.js +87 -0
- package/dist/pipeline/stage4-wait.js.map +1 -0
- package/dist/pipeline/stage5-execute.d.ts +120 -0
- package/dist/pipeline/stage5-execute.d.ts.map +1 -0
- package/dist/pipeline/stage5-execute.js +1070 -0
- package/dist/pipeline/stage5-execute.js.map +1 -0
- package/dist/pipeline/stage6-confirm.d.ts +11 -0
- package/dist/pipeline/stage6-confirm.d.ts.map +1 -0
- package/dist/pipeline/stage6-confirm.js +110 -0
- package/dist/pipeline/stage6-confirm.js.map +1 -0
- package/dist/pipeline/stages.d.ts +11 -245
- package/dist/pipeline/stages.d.ts.map +1 -1
- package/dist/pipeline/stages.js +11 -1896
- package/dist/pipeline/stages.js.map +1 -1
- package/dist/rpc-proxy/sync-pipeline.js +2 -2
- package/dist/rpc-proxy/sync-pipeline.js.map +1 -1
- package/dist/services/autostop/autostop-service.d.ts +4 -1
- package/dist/services/autostop/autostop-service.d.ts.map +1 -1
- package/dist/services/autostop/autostop-service.js +27 -7
- package/dist/services/autostop/autostop-service.js.map +1 -1
- package/dist/services/defi/position-tracker.d.ts +5 -0
- package/dist/services/defi/position-tracker.d.ts.map +1 -1
- package/dist/services/defi/position-tracker.js +41 -6
- package/dist/services/defi/position-tracker.js.map +1 -1
- package/dist/services/defi/position-write-queue.d.ts.map +1 -1
- package/dist/services/defi/position-write-queue.js +3 -2
- package/dist/services/defi/position-write-queue.js.map +1 -1
- package/dist/services/incoming/__tests__/integration-wiring.test.js +58 -0
- package/dist/services/incoming/__tests__/integration-wiring.test.js.map +1 -1
- package/dist/services/incoming/incoming-tx-monitor-service.d.ts.map +1 -1
- package/dist/services/incoming/incoming-tx-monitor-service.js +11 -14
- package/dist/services/incoming/incoming-tx-monitor-service.js.map +1 -1
- package/dist/services/incoming/incoming-tx-workers.d.ts +2 -2
- package/dist/services/incoming/incoming-tx-workers.d.ts.map +1 -1
- package/dist/services/incoming/incoming-tx-workers.js +1 -1
- package/dist/services/incoming/incoming-tx-workers.js.map +1 -1
- package/dist/services/incoming/safety-rules.d.ts.map +1 -1
- package/dist/services/incoming/safety-rules.js +3 -2
- package/dist/services/incoming/safety-rules.js.map +1 -1
- package/dist/services/incoming/subscription-multiplexer.d.ts +2 -6
- package/dist/services/incoming/subscription-multiplexer.d.ts.map +1 -1
- package/dist/services/incoming/subscription-multiplexer.js +1 -3
- package/dist/services/incoming/subscription-multiplexer.js.map +1 -1
- package/dist/services/monitoring/balance-monitor-service.d.ts.map +1 -1
- package/dist/services/monitoring/balance-monitor-service.js +2 -2
- package/dist/services/monitoring/balance-monitor-service.js.map +1 -1
- package/dist/services/signing-sdk/approval-channel-router.d.ts +7 -7
- package/dist/services/signing-sdk/approval-channel-router.d.ts.map +1 -1
- package/dist/services/signing-sdk/approval-channel-router.js +13 -13
- package/dist/services/signing-sdk/approval-channel-router.js.map +1 -1
- package/dist/services/signing-sdk/channels/index.d.ts +2 -2
- package/dist/services/signing-sdk/channels/index.d.ts.map +1 -1
- package/dist/services/signing-sdk/channels/index.js +1 -1
- package/dist/services/signing-sdk/channels/index.js.map +1 -1
- package/dist/services/signing-sdk/channels/push-relay-signing-channel.d.ts +59 -0
- package/dist/services/signing-sdk/channels/push-relay-signing-channel.d.ts.map +1 -0
- package/dist/services/signing-sdk/channels/push-relay-signing-channel.js +190 -0
- package/dist/services/signing-sdk/channels/push-relay-signing-channel.js.map +1 -0
- package/dist/services/signing-sdk/channels/telegram-signing-channel.d.ts +1 -1
- package/dist/services/signing-sdk/channels/telegram-signing-channel.js +1 -1
- package/dist/services/signing-sdk/channels/wallet-notification-channel.d.ts +6 -7
- package/dist/services/signing-sdk/channels/wallet-notification-channel.d.ts.map +1 -1
- package/dist/services/signing-sdk/channels/wallet-notification-channel.js +38 -55
- package/dist/services/signing-sdk/channels/wallet-notification-channel.js.map +1 -1
- package/dist/services/signing-sdk/index.d.ts +3 -3
- package/dist/services/signing-sdk/index.d.ts.map +1 -1
- package/dist/services/signing-sdk/index.js +2 -2
- package/dist/services/signing-sdk/index.js.map +1 -1
- package/dist/services/signing-sdk/preset-auto-setup.js +2 -2
- package/dist/services/signing-sdk/preset-auto-setup.js.map +1 -1
- package/dist/services/signing-sdk/sign-request-builder.d.ts +2 -2
- package/dist/services/signing-sdk/sign-request-builder.d.ts.map +1 -1
- package/dist/services/signing-sdk/sign-request-builder.js +17 -25
- package/dist/services/signing-sdk/sign-request-builder.js.map +1 -1
- package/dist/services/signing-sdk/wallet-app-service.d.ts +4 -0
- package/dist/services/signing-sdk/wallet-app-service.d.ts.map +1 -1
- package/dist/services/signing-sdk/wallet-app-service.js +12 -5
- package/dist/services/signing-sdk/wallet-app-service.js.map +1 -1
- package/dist/services/staking/aggregate-staking-balance.d.ts +24 -0
- package/dist/services/staking/aggregate-staking-balance.d.ts.map +1 -0
- package/dist/services/staking/aggregate-staking-balance.js +82 -0
- package/dist/services/staking/aggregate-staking-balance.js.map +1 -0
- package/dist/services/wc-session-service.d.ts.map +1 -1
- package/dist/services/wc-session-service.js +2 -1
- package/dist/services/wc-session-service.js.map +1 -1
- package/dist/services/wc-signing-bridge.js +2 -2
- package/dist/services/wc-signing-bridge.js.map +1 -1
- package/dist/services/x402/payment-signer.d.ts.map +1 -1
- package/dist/services/x402/payment-signer.js +2 -5
- package/dist/services/x402/payment-signer.js.map +1 -1
- package/dist/services/x402/ssrf-guard.d.ts +4 -23
- package/dist/services/x402/ssrf-guard.d.ts.map +1 -1
- package/dist/services/x402/ssrf-guard.js +3 -232
- package/dist/services/x402/ssrf-guard.js.map +1 -1
- package/dist/signing/capabilities/eip712-signer.d.ts.map +1 -1
- package/dist/signing/capabilities/eip712-signer.js +2 -0
- package/dist/signing/capabilities/eip712-signer.js.map +1 -1
- package/package.json +5 -5
- package/public/admin/assets/index-CpFF2lCo.js +3 -0
- package/public/admin/index.html +1 -1
- package/dist/notifications/channels/ntfy.d.ts +0 -13
- package/dist/notifications/channels/ntfy.d.ts.map +0 -1
- package/dist/notifications/channels/ntfy.js +0 -74
- package/dist/notifications/channels/ntfy.js.map +0 -1
- package/dist/services/signing-sdk/channels/ntfy-signing-channel.d.ts +0 -66
- package/dist/services/signing-sdk/channels/ntfy-signing-channel.d.ts.map +0 -1
- package/dist/services/signing-sdk/channels/ntfy-signing-channel.js +0 -270
- package/dist/services/signing-sdk/channels/ntfy-signing-channel.js.map +0 -1
- package/public/admin/assets/index-CQ3i4P2U.js +0 -3
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database migrations v21 through v30.
|
|
3
|
+
*
|
|
4
|
+
* v21: incoming transaction monitoring tables
|
|
5
|
+
* v22: token_registry.asset_id CAIP-19 backfill
|
|
6
|
+
* v23: DeFi async tracking (bridge_status, bridge_metadata, GAS_WAITING)
|
|
7
|
+
* v24: wallets.wallet_type column
|
|
8
|
+
* v25: defi_positions table
|
|
9
|
+
* v26: Lending policy types CHECK constraint
|
|
10
|
+
* v27: Remove is_default + default_network (v29.3)
|
|
11
|
+
* v28: Migrate api_keys to settings
|
|
12
|
+
* v29: Rename Solana network IDs
|
|
13
|
+
* v30: MATURED position status
|
|
14
|
+
*/
|
|
15
|
+
import { WALLET_STATUSES, CHAIN_TYPES, NETWORK_TYPES, ENVIRONMENT_TYPES, TRANSACTION_STATUSES, TRANSACTION_TYPES, POLICY_TYPES, POLICY_TIERS, INCOMING_TX_STATUSES, POSITION_CATEGORIES, POSITION_STATUSES, NETWORK_TO_CAIP2, tokenAssetId, } from '@waiaas/core';
|
|
16
|
+
import { inList, NETWORK_TYPES_WITH_LEGACY, LEGACY_NETWORK_NORMALIZE } from '../schema-ddl.js';
|
|
17
|
+
export const migrations = [
|
|
18
|
+
// v21: incoming transaction monitoring
|
|
19
|
+
{
|
|
20
|
+
version: 21,
|
|
21
|
+
description: 'Add incoming transaction monitoring tables and wallet opt-in column',
|
|
22
|
+
up: (sqlite) => {
|
|
23
|
+
sqlite.exec('ALTER TABLE wallets ADD COLUMN monitor_incoming INTEGER NOT NULL DEFAULT 0');
|
|
24
|
+
sqlite.exec(`CREATE TABLE IF NOT EXISTS incoming_transactions (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
tx_hash TEXT NOT NULL,
|
|
27
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
|
|
28
|
+
from_address TEXT NOT NULL,
|
|
29
|
+
amount TEXT NOT NULL,
|
|
30
|
+
token_address TEXT,
|
|
31
|
+
chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
|
|
32
|
+
network TEXT NOT NULL,
|
|
33
|
+
status TEXT NOT NULL DEFAULT 'DETECTED' CHECK (status IN (${inList(INCOMING_TX_STATUSES)})),
|
|
34
|
+
block_number INTEGER,
|
|
35
|
+
detected_at INTEGER NOT NULL,
|
|
36
|
+
confirmed_at INTEGER,
|
|
37
|
+
is_suspicious INTEGER NOT NULL DEFAULT 0,
|
|
38
|
+
UNIQUE(tx_hash, wallet_id)
|
|
39
|
+
)`);
|
|
40
|
+
sqlite.exec(`CREATE TABLE IF NOT EXISTS incoming_tx_cursors (
|
|
41
|
+
wallet_id TEXT PRIMARY KEY REFERENCES wallets(id) ON DELETE CASCADE,
|
|
42
|
+
chain TEXT NOT NULL,
|
|
43
|
+
network TEXT NOT NULL,
|
|
44
|
+
last_signature TEXT,
|
|
45
|
+
last_block_number INTEGER,
|
|
46
|
+
updated_at INTEGER NOT NULL
|
|
47
|
+
)`);
|
|
48
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_incoming_tx_wallet_detected ON incoming_transactions(wallet_id, detected_at DESC)');
|
|
49
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_incoming_tx_detected_at ON incoming_transactions(detected_at)');
|
|
50
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_incoming_tx_chain_network ON incoming_transactions(chain, network)');
|
|
51
|
+
sqlite.exec("CREATE INDEX IF NOT EXISTS idx_incoming_tx_status ON incoming_transactions(status) WHERE status = 'DETECTED'");
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
// v22: token_registry.asset_id CAIP-19 backfill
|
|
55
|
+
{
|
|
56
|
+
version: 22,
|
|
57
|
+
description: 'Add asset_id column to token_registry with CAIP-19 backfill',
|
|
58
|
+
managesOwnTransaction: false,
|
|
59
|
+
up: (sqlite) => {
|
|
60
|
+
const columns = sqlite
|
|
61
|
+
.prepare("PRAGMA table_info('token_registry')")
|
|
62
|
+
.all();
|
|
63
|
+
const hasAssetId = columns.some((c) => c.name === 'asset_id');
|
|
64
|
+
if (!hasAssetId) {
|
|
65
|
+
sqlite.exec('ALTER TABLE token_registry ADD COLUMN asset_id TEXT');
|
|
66
|
+
}
|
|
67
|
+
const rows = sqlite
|
|
68
|
+
.prepare('SELECT id, network, address FROM token_registry')
|
|
69
|
+
.all();
|
|
70
|
+
const updateStmt = sqlite.prepare('UPDATE token_registry SET asset_id = ? WHERE id = ?');
|
|
71
|
+
for (const row of rows) {
|
|
72
|
+
const normalizedNetwork = LEGACY_NETWORK_NORMALIZE[row.network] ?? row.network;
|
|
73
|
+
if (!(normalizedNetwork in NETWORK_TO_CAIP2))
|
|
74
|
+
continue;
|
|
75
|
+
try {
|
|
76
|
+
const assetId = tokenAssetId(normalizedNetwork, row.address);
|
|
77
|
+
updateStmt.run(assetId, row.id);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Skip on error
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
// v23: DeFi async tracking
|
|
86
|
+
{
|
|
87
|
+
version: 23,
|
|
88
|
+
description: 'DeFi async tracking: bridge_status + bridge_metadata + GAS_WAITING state',
|
|
89
|
+
managesOwnTransaction: true,
|
|
90
|
+
up: (sqlite) => {
|
|
91
|
+
sqlite.exec('BEGIN');
|
|
92
|
+
try {
|
|
93
|
+
sqlite.exec(`CREATE TABLE transactions_new (
|
|
94
|
+
id TEXT PRIMARY KEY,
|
|
95
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE RESTRICT,
|
|
96
|
+
session_id TEXT REFERENCES sessions(id) ON DELETE SET NULL,
|
|
97
|
+
chain TEXT NOT NULL,
|
|
98
|
+
tx_hash TEXT,
|
|
99
|
+
type TEXT NOT NULL CHECK (type IN (${inList(TRANSACTION_TYPES)})),
|
|
100
|
+
amount TEXT,
|
|
101
|
+
to_address TEXT,
|
|
102
|
+
token_mint TEXT,
|
|
103
|
+
contract_address TEXT,
|
|
104
|
+
method_signature TEXT,
|
|
105
|
+
spender_address TEXT,
|
|
106
|
+
approved_amount TEXT,
|
|
107
|
+
parent_id TEXT REFERENCES transactions_new(id) ON DELETE CASCADE,
|
|
108
|
+
batch_index INTEGER,
|
|
109
|
+
status TEXT NOT NULL DEFAULT 'PENDING' CHECK (status IN (${inList(TRANSACTION_STATUSES)})),
|
|
110
|
+
tier TEXT CHECK (tier IS NULL OR tier IN (${inList(POLICY_TIERS)})),
|
|
111
|
+
queued_at INTEGER,
|
|
112
|
+
executed_at INTEGER,
|
|
113
|
+
created_at INTEGER NOT NULL,
|
|
114
|
+
reserved_amount TEXT,
|
|
115
|
+
amount_usd REAL,
|
|
116
|
+
reserved_amount_usd REAL,
|
|
117
|
+
error TEXT,
|
|
118
|
+
metadata TEXT,
|
|
119
|
+
network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES_WITH_LEGACY)})),
|
|
120
|
+
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')),
|
|
121
|
+
bridge_metadata TEXT
|
|
122
|
+
)`);
|
|
123
|
+
sqlite.exec(`INSERT INTO transactions_new (id, wallet_id, session_id, chain, tx_hash, type, amount, to_address, token_mint, contract_address, method_signature, spender_address, approved_amount, parent_id, batch_index, status, tier, queued_at, executed_at, created_at, reserved_amount, amount_usd, reserved_amount_usd, error, metadata, network)
|
|
124
|
+
SELECT id, wallet_id, session_id, chain, tx_hash, type, amount, to_address, token_mint, contract_address, method_signature, spender_address, approved_amount, parent_id, batch_index, status, tier, queued_at, executed_at, created_at, reserved_amount, amount_usd, reserved_amount_usd, error, metadata, network FROM transactions`);
|
|
125
|
+
sqlite.exec('DROP TABLE transactions');
|
|
126
|
+
sqlite.exec('ALTER TABLE transactions_new RENAME TO transactions');
|
|
127
|
+
sqlite.exec('CREATE INDEX idx_transactions_wallet_status ON transactions(wallet_id, status)');
|
|
128
|
+
sqlite.exec('CREATE INDEX idx_transactions_session_id ON transactions(session_id)');
|
|
129
|
+
sqlite.exec('CREATE UNIQUE INDEX idx_transactions_tx_hash ON transactions(tx_hash)');
|
|
130
|
+
sqlite.exec('CREATE INDEX idx_transactions_queued_at ON transactions(queued_at)');
|
|
131
|
+
sqlite.exec('CREATE INDEX idx_transactions_created_at ON transactions(created_at)');
|
|
132
|
+
sqlite.exec('CREATE INDEX idx_transactions_type ON transactions(type)');
|
|
133
|
+
sqlite.exec('CREATE INDEX idx_transactions_contract_address ON transactions(contract_address)');
|
|
134
|
+
sqlite.exec('CREATE INDEX idx_transactions_parent_id ON transactions(parent_id)');
|
|
135
|
+
sqlite.exec('CREATE INDEX idx_transactions_bridge_status ON transactions(bridge_status) WHERE bridge_status IS NOT NULL');
|
|
136
|
+
sqlite.exec("CREATE INDEX idx_transactions_gas_waiting ON transactions(status) WHERE status = 'GAS_WAITING'");
|
|
137
|
+
sqlite.exec('COMMIT');
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
sqlite.exec('ROLLBACK');
|
|
141
|
+
throw err;
|
|
142
|
+
}
|
|
143
|
+
sqlite.pragma('foreign_keys = ON');
|
|
144
|
+
const fkErrors = sqlite.pragma('foreign_key_check');
|
|
145
|
+
if (fkErrors.length > 0) {
|
|
146
|
+
throw new Error(`FK integrity violation after v23: ${JSON.stringify(fkErrors)}`);
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
// v24: wallets.wallet_type
|
|
151
|
+
{
|
|
152
|
+
version: 24,
|
|
153
|
+
description: 'Add wallet_type column to wallets table for preset auto-setup',
|
|
154
|
+
up: (sqlite) => {
|
|
155
|
+
sqlite.exec('ALTER TABLE wallets ADD COLUMN wallet_type TEXT');
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
// v25: defi_positions table
|
|
159
|
+
{
|
|
160
|
+
version: 25,
|
|
161
|
+
description: 'Add defi_positions table for DeFi position tracking',
|
|
162
|
+
up: (sqlite) => {
|
|
163
|
+
sqlite.exec(`
|
|
164
|
+
CREATE TABLE IF NOT EXISTS defi_positions (
|
|
165
|
+
id TEXT PRIMARY KEY,
|
|
166
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
|
|
167
|
+
category TEXT NOT NULL CHECK(category IN (${inList(POSITION_CATEGORIES)})),
|
|
168
|
+
provider TEXT NOT NULL,
|
|
169
|
+
chain TEXT NOT NULL CHECK(chain IN (${inList(CHAIN_TYPES)})),
|
|
170
|
+
network TEXT CHECK(network IS NULL OR network IN (${inList(NETWORK_TYPES_WITH_LEGACY)})),
|
|
171
|
+
asset_id TEXT,
|
|
172
|
+
amount TEXT NOT NULL,
|
|
173
|
+
amount_usd REAL,
|
|
174
|
+
metadata TEXT,
|
|
175
|
+
status TEXT NOT NULL DEFAULT 'ACTIVE' CHECK(status IN (${inList(POSITION_STATUSES)})),
|
|
176
|
+
opened_at INTEGER NOT NULL,
|
|
177
|
+
closed_at INTEGER,
|
|
178
|
+
last_synced_at INTEGER NOT NULL,
|
|
179
|
+
created_at INTEGER NOT NULL,
|
|
180
|
+
updated_at INTEGER NOT NULL
|
|
181
|
+
)
|
|
182
|
+
`);
|
|
183
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_category ON defi_positions(wallet_id, category)');
|
|
184
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_provider ON defi_positions(wallet_id, provider)');
|
|
185
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_status ON defi_positions(status)');
|
|
186
|
+
sqlite.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_defi_positions_unique ON defi_positions(wallet_id, provider, asset_id, category)');
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
// v26: Lending policy types CHECK
|
|
190
|
+
{
|
|
191
|
+
version: 26,
|
|
192
|
+
description: 'Add lending policy types to policies table CHECK constraint',
|
|
193
|
+
managesOwnTransaction: true,
|
|
194
|
+
up: (sqlite) => {
|
|
195
|
+
sqlite.exec('BEGIN');
|
|
196
|
+
try {
|
|
197
|
+
sqlite.exec(`CREATE TABLE policies_new (
|
|
198
|
+
id TEXT PRIMARY KEY,
|
|
199
|
+
wallet_id TEXT REFERENCES wallets(id) ON DELETE CASCADE,
|
|
200
|
+
type TEXT NOT NULL CHECK (type IN (${inList(POLICY_TYPES)})),
|
|
201
|
+
rules TEXT NOT NULL,
|
|
202
|
+
priority INTEGER NOT NULL DEFAULT 0,
|
|
203
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
204
|
+
network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES_WITH_LEGACY)})),
|
|
205
|
+
created_at INTEGER NOT NULL,
|
|
206
|
+
updated_at INTEGER NOT NULL
|
|
207
|
+
)`);
|
|
208
|
+
sqlite.exec('INSERT INTO policies_new SELECT * FROM policies');
|
|
209
|
+
sqlite.exec('DROP TABLE policies');
|
|
210
|
+
sqlite.exec('ALTER TABLE policies_new RENAME TO policies');
|
|
211
|
+
sqlite.exec('CREATE INDEX idx_policies_wallet_enabled ON policies(wallet_id, enabled)');
|
|
212
|
+
sqlite.exec('CREATE INDEX idx_policies_type ON policies(type)');
|
|
213
|
+
sqlite.exec('CREATE INDEX idx_policies_network ON policies(network)');
|
|
214
|
+
sqlite.exec('COMMIT');
|
|
215
|
+
}
|
|
216
|
+
catch (err) {
|
|
217
|
+
sqlite.exec('ROLLBACK');
|
|
218
|
+
throw err;
|
|
219
|
+
}
|
|
220
|
+
sqlite.pragma('foreign_keys = ON');
|
|
221
|
+
const fkErrors = sqlite.pragma('foreign_key_check');
|
|
222
|
+
if (fkErrors.length > 0) {
|
|
223
|
+
throw new Error(`FK integrity violation after v26: ${JSON.stringify(fkErrors)}`);
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
// v27: Remove is_default + default_network
|
|
228
|
+
{
|
|
229
|
+
version: 27,
|
|
230
|
+
description: 'Remove is_default from session_wallets and default_network from wallets (v29.3)',
|
|
231
|
+
managesOwnTransaction: true,
|
|
232
|
+
up: (sqlite) => {
|
|
233
|
+
sqlite.exec('BEGIN');
|
|
234
|
+
try {
|
|
235
|
+
// Part 1: Remove is_default from session_wallets
|
|
236
|
+
sqlite.exec(`CREATE TABLE session_wallets_new (
|
|
237
|
+
session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE,
|
|
238
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
|
|
239
|
+
created_at INTEGER NOT NULL,
|
|
240
|
+
PRIMARY KEY (session_id, wallet_id)
|
|
241
|
+
)`);
|
|
242
|
+
sqlite.exec('INSERT INTO session_wallets_new (session_id, wallet_id, created_at) SELECT session_id, wallet_id, created_at FROM session_wallets');
|
|
243
|
+
sqlite.exec('DROP TABLE session_wallets');
|
|
244
|
+
sqlite.exec('ALTER TABLE session_wallets_new RENAME TO session_wallets');
|
|
245
|
+
sqlite.exec('CREATE INDEX idx_session_wallets_session ON session_wallets(session_id)');
|
|
246
|
+
sqlite.exec('CREATE INDEX idx_session_wallets_wallet ON session_wallets(wallet_id)');
|
|
247
|
+
// Part 2: Remove default_network from wallets
|
|
248
|
+
sqlite.exec(`CREATE TABLE wallets_new (
|
|
249
|
+
id TEXT PRIMARY KEY,
|
|
250
|
+
name TEXT NOT NULL,
|
|
251
|
+
chain TEXT NOT NULL CHECK (chain IN (${inList(CHAIN_TYPES)})),
|
|
252
|
+
environment TEXT NOT NULL CHECK (environment IN (${inList(ENVIRONMENT_TYPES)})),
|
|
253
|
+
public_key TEXT NOT NULL,
|
|
254
|
+
status TEXT NOT NULL DEFAULT 'CREATING' CHECK (status IN (${inList(WALLET_STATUSES)})),
|
|
255
|
+
owner_address TEXT,
|
|
256
|
+
owner_verified INTEGER NOT NULL DEFAULT 0 CHECK (owner_verified IN (0, 1)),
|
|
257
|
+
created_at INTEGER NOT NULL,
|
|
258
|
+
updated_at INTEGER NOT NULL,
|
|
259
|
+
suspended_at INTEGER,
|
|
260
|
+
suspension_reason TEXT,
|
|
261
|
+
monitor_incoming INTEGER NOT NULL DEFAULT 0,
|
|
262
|
+
owner_approval_method TEXT CHECK (owner_approval_method IS NULL OR owner_approval_method IN ('sdk_ntfy', 'sdk_telegram', 'walletconnect', 'telegram_bot', 'rest')),
|
|
263
|
+
wallet_type TEXT
|
|
264
|
+
)`);
|
|
265
|
+
sqlite.exec('INSERT INTO wallets_new (id, name, chain, environment, public_key, status, owner_address, owner_verified, created_at, updated_at, suspended_at, suspension_reason, monitor_incoming, owner_approval_method, wallet_type) SELECT id, name, chain, environment, public_key, status, owner_address, owner_verified, created_at, updated_at, suspended_at, suspension_reason, monitor_incoming, owner_approval_method, wallet_type FROM wallets');
|
|
266
|
+
sqlite.exec('DROP TABLE wallets');
|
|
267
|
+
sqlite.exec('ALTER TABLE wallets_new RENAME TO wallets');
|
|
268
|
+
sqlite.exec('CREATE UNIQUE INDEX idx_wallets_public_key ON wallets(public_key)');
|
|
269
|
+
sqlite.exec('CREATE INDEX idx_wallets_status ON wallets(status)');
|
|
270
|
+
sqlite.exec('CREATE INDEX idx_wallets_chain_environment ON wallets(chain, environment)');
|
|
271
|
+
sqlite.exec('CREATE INDEX idx_wallets_owner_address ON wallets(owner_address)');
|
|
272
|
+
sqlite.exec('COMMIT');
|
|
273
|
+
}
|
|
274
|
+
catch (err) {
|
|
275
|
+
sqlite.exec('ROLLBACK');
|
|
276
|
+
throw err;
|
|
277
|
+
}
|
|
278
|
+
sqlite.pragma('foreign_keys = ON');
|
|
279
|
+
const fkErrors = sqlite.pragma('foreign_key_check');
|
|
280
|
+
if (fkErrors.length > 0) {
|
|
281
|
+
throw new Error(`FK integrity violation after v27: ${JSON.stringify(fkErrors)}`);
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
// v28: Migrate api_keys to settings
|
|
286
|
+
{
|
|
287
|
+
version: 28,
|
|
288
|
+
description: 'Migrate api_keys to settings table and drop api_keys (v29.5 #214)',
|
|
289
|
+
managesOwnTransaction: true,
|
|
290
|
+
up: (sqlite) => {
|
|
291
|
+
sqlite.exec('BEGIN');
|
|
292
|
+
try {
|
|
293
|
+
const tableExists = sqlite
|
|
294
|
+
.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='api_keys'")
|
|
295
|
+
.get();
|
|
296
|
+
if (tableExists) {
|
|
297
|
+
const rows = sqlite
|
|
298
|
+
.prepare('SELECT provider_name, encrypted_key, updated_at FROM api_keys')
|
|
299
|
+
.all();
|
|
300
|
+
const insertStmt = sqlite.prepare(`INSERT OR IGNORE INTO settings (key, value, encrypted, category, updated_at)
|
|
301
|
+
VALUES (?, ?, 1, 'actions', ?)`);
|
|
302
|
+
for (const row of rows) {
|
|
303
|
+
const settingKey = `actions.${row.provider_name}_api_key`;
|
|
304
|
+
insertStmt.run(settingKey, row.encrypted_key, row.updated_at);
|
|
305
|
+
}
|
|
306
|
+
sqlite.exec('DROP TABLE IF EXISTS api_keys');
|
|
307
|
+
}
|
|
308
|
+
sqlite.exec('COMMIT');
|
|
309
|
+
}
|
|
310
|
+
catch (err) {
|
|
311
|
+
sqlite.exec('ROLLBACK');
|
|
312
|
+
throw err;
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
// v29: Rename Solana network IDs
|
|
317
|
+
{
|
|
318
|
+
version: 29,
|
|
319
|
+
description: 'Rename Solana network IDs to solana-{network} format (v29.5 #211)',
|
|
320
|
+
managesOwnTransaction: true,
|
|
321
|
+
up: (sqlite) => {
|
|
322
|
+
sqlite.exec('BEGIN');
|
|
323
|
+
try {
|
|
324
|
+
const solanaCase = (col) => `CASE WHEN chain = 'solana' AND ${col} = 'mainnet' THEN 'solana-mainnet'` +
|
|
325
|
+
` WHEN chain = 'solana' AND ${col} = 'devnet' THEN 'solana-devnet'` +
|
|
326
|
+
` WHEN chain = 'solana' AND ${col} = 'testnet' THEN 'solana-testnet'` +
|
|
327
|
+
` ELSE ${col} END`;
|
|
328
|
+
// 1. transactions: 12-step recreation
|
|
329
|
+
sqlite.exec(`CREATE TABLE transactions_new (
|
|
330
|
+
id TEXT PRIMARY KEY,
|
|
331
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE RESTRICT,
|
|
332
|
+
session_id TEXT REFERENCES sessions(id) ON DELETE SET NULL,
|
|
333
|
+
chain TEXT NOT NULL,
|
|
334
|
+
tx_hash TEXT,
|
|
335
|
+
type TEXT NOT NULL CHECK (type IN (${inList(TRANSACTION_TYPES)})),
|
|
336
|
+
amount TEXT,
|
|
337
|
+
to_address TEXT,
|
|
338
|
+
token_mint TEXT,
|
|
339
|
+
contract_address TEXT,
|
|
340
|
+
method_signature TEXT,
|
|
341
|
+
spender_address TEXT,
|
|
342
|
+
approved_amount TEXT,
|
|
343
|
+
parent_id TEXT REFERENCES transactions(id) ON DELETE CASCADE,
|
|
344
|
+
batch_index INTEGER,
|
|
345
|
+
status TEXT NOT NULL DEFAULT 'PENDING' CHECK (status IN (${inList(TRANSACTION_STATUSES)})),
|
|
346
|
+
tier TEXT CHECK (tier IS NULL OR tier IN (${inList(POLICY_TIERS)})),
|
|
347
|
+
queued_at INTEGER,
|
|
348
|
+
executed_at INTEGER,
|
|
349
|
+
created_at INTEGER NOT NULL,
|
|
350
|
+
reserved_amount TEXT,
|
|
351
|
+
amount_usd REAL,
|
|
352
|
+
reserved_amount_usd REAL,
|
|
353
|
+
error TEXT,
|
|
354
|
+
metadata TEXT,
|
|
355
|
+
network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
|
|
356
|
+
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')),
|
|
357
|
+
bridge_metadata TEXT
|
|
358
|
+
)`);
|
|
359
|
+
sqlite.exec(`INSERT INTO transactions_new
|
|
360
|
+
SELECT id, wallet_id, session_id, chain, tx_hash, type, amount, to_address,
|
|
361
|
+
token_mint, contract_address, method_signature, spender_address,
|
|
362
|
+
approved_amount, parent_id, batch_index, status, tier, queued_at,
|
|
363
|
+
executed_at, created_at, reserved_amount, amount_usd, reserved_amount_usd,
|
|
364
|
+
error, metadata, ${solanaCase('network')}, bridge_status, bridge_metadata
|
|
365
|
+
FROM transactions`);
|
|
366
|
+
sqlite.exec('DROP TABLE transactions');
|
|
367
|
+
sqlite.exec('ALTER TABLE transactions_new RENAME TO transactions');
|
|
368
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_wallet_status ON transactions(wallet_id, status)');
|
|
369
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_session_id ON transactions(session_id)');
|
|
370
|
+
sqlite.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_transactions_tx_hash ON transactions(tx_hash)');
|
|
371
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_queued_at ON transactions(queued_at)');
|
|
372
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_created_at ON transactions(created_at)');
|
|
373
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_type ON transactions(type)');
|
|
374
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_contract_address ON transactions(contract_address)');
|
|
375
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_parent_id ON transactions(parent_id)');
|
|
376
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_transactions_bridge_status ON transactions(bridge_status) WHERE bridge_status IS NOT NULL');
|
|
377
|
+
sqlite.exec("CREATE INDEX IF NOT EXISTS idx_transactions_gas_waiting ON transactions(status) WHERE status = 'GAS_WAITING'");
|
|
378
|
+
// 2. policies: 12-step recreation
|
|
379
|
+
sqlite.exec(`CREATE TABLE policies_new (
|
|
380
|
+
id TEXT PRIMARY KEY,
|
|
381
|
+
wallet_id TEXT REFERENCES wallets(id) ON DELETE CASCADE,
|
|
382
|
+
type TEXT NOT NULL CHECK (type IN (${inList(POLICY_TYPES)})),
|
|
383
|
+
rules TEXT NOT NULL,
|
|
384
|
+
priority INTEGER NOT NULL DEFAULT 0,
|
|
385
|
+
enabled INTEGER NOT NULL DEFAULT 1,
|
|
386
|
+
network TEXT CHECK (network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
|
|
387
|
+
created_at INTEGER NOT NULL,
|
|
388
|
+
updated_at INTEGER NOT NULL
|
|
389
|
+
)`);
|
|
390
|
+
sqlite.exec(`INSERT INTO policies_new
|
|
391
|
+
SELECT id, wallet_id, type, rules, priority, enabled,
|
|
392
|
+
CASE WHEN network = 'mainnet' THEN 'solana-mainnet'
|
|
393
|
+
WHEN network = 'devnet' THEN 'solana-devnet'
|
|
394
|
+
WHEN network = 'testnet' THEN 'solana-testnet'
|
|
395
|
+
ELSE network END,
|
|
396
|
+
created_at, updated_at
|
|
397
|
+
FROM policies`);
|
|
398
|
+
sqlite.exec('DROP TABLE policies');
|
|
399
|
+
sqlite.exec('ALTER TABLE policies_new RENAME TO policies');
|
|
400
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_policies_wallet_enabled ON policies(wallet_id, enabled)');
|
|
401
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_policies_type ON policies(type)');
|
|
402
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_policies_network ON policies(network)');
|
|
403
|
+
// 3. defi_positions: 12-step recreation
|
|
404
|
+
sqlite.exec(`CREATE TABLE defi_positions_new (
|
|
405
|
+
id TEXT PRIMARY KEY,
|
|
406
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
|
|
407
|
+
category TEXT NOT NULL CHECK(category IN (${inList(POSITION_CATEGORIES)})),
|
|
408
|
+
provider TEXT NOT NULL,
|
|
409
|
+
chain TEXT NOT NULL CHECK(chain IN (${inList(CHAIN_TYPES)})),
|
|
410
|
+
network TEXT CHECK(network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
|
|
411
|
+
asset_id TEXT,
|
|
412
|
+
amount TEXT NOT NULL,
|
|
413
|
+
amount_usd REAL,
|
|
414
|
+
metadata TEXT,
|
|
415
|
+
status TEXT NOT NULL DEFAULT 'ACTIVE' CHECK(status IN (${inList(POSITION_STATUSES)})),
|
|
416
|
+
opened_at INTEGER NOT NULL,
|
|
417
|
+
closed_at INTEGER,
|
|
418
|
+
last_synced_at INTEGER NOT NULL,
|
|
419
|
+
created_at INTEGER NOT NULL,
|
|
420
|
+
updated_at INTEGER NOT NULL
|
|
421
|
+
)`);
|
|
422
|
+
sqlite.exec(`INSERT INTO defi_positions_new
|
|
423
|
+
SELECT id, wallet_id, category, provider, chain, ${solanaCase('network')},
|
|
424
|
+
asset_id, amount, amount_usd, metadata, status, opened_at, closed_at,
|
|
425
|
+
last_synced_at, created_at, updated_at
|
|
426
|
+
FROM defi_positions`);
|
|
427
|
+
sqlite.exec('DROP TABLE defi_positions');
|
|
428
|
+
sqlite.exec('ALTER TABLE defi_positions_new RENAME TO defi_positions');
|
|
429
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_category ON defi_positions(wallet_id, category)');
|
|
430
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_provider ON defi_positions(wallet_id, provider)');
|
|
431
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_status ON defi_positions(status)');
|
|
432
|
+
sqlite.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_defi_positions_unique ON defi_positions(wallet_id, provider, asset_id, category)');
|
|
433
|
+
// 4-6. Simple UPDATE for tables without CHECK
|
|
434
|
+
sqlite.exec(`UPDATE incoming_transactions SET network = 'solana-mainnet' WHERE chain = 'solana' AND network = 'mainnet'`);
|
|
435
|
+
sqlite.exec(`UPDATE incoming_transactions SET network = 'solana-devnet' WHERE chain = 'solana' AND network = 'devnet'`);
|
|
436
|
+
sqlite.exec(`UPDATE incoming_transactions SET network = 'solana-testnet' WHERE chain = 'solana' AND network = 'testnet'`);
|
|
437
|
+
sqlite.exec(`UPDATE incoming_tx_cursors SET network = 'solana-mainnet' WHERE chain = 'solana' AND network = 'mainnet'`);
|
|
438
|
+
sqlite.exec(`UPDATE incoming_tx_cursors SET network = 'solana-devnet' WHERE chain = 'solana' AND network = 'devnet'`);
|
|
439
|
+
sqlite.exec(`UPDATE incoming_tx_cursors SET network = 'solana-testnet' WHERE chain = 'solana' AND network = 'testnet'`);
|
|
440
|
+
sqlite.exec(`UPDATE token_registry SET network = 'solana-mainnet' WHERE network = 'mainnet'`);
|
|
441
|
+
sqlite.exec(`UPDATE token_registry SET network = 'solana-devnet' WHERE network = 'devnet'`);
|
|
442
|
+
sqlite.exec(`UPDATE token_registry SET network = 'solana-testnet' WHERE network = 'testnet'`);
|
|
443
|
+
sqlite.exec('COMMIT');
|
|
444
|
+
}
|
|
445
|
+
catch (err) {
|
|
446
|
+
sqlite.exec('ROLLBACK');
|
|
447
|
+
throw err;
|
|
448
|
+
}
|
|
449
|
+
sqlite.pragma('foreign_keys = ON');
|
|
450
|
+
const fkErrors = sqlite.pragma('foreign_key_check');
|
|
451
|
+
if (fkErrors.length > 0) {
|
|
452
|
+
throw new Error(`FK integrity check failed after v29 migration: ${JSON.stringify(fkErrors)}`);
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
// v30: MATURED position status
|
|
457
|
+
{
|
|
458
|
+
version: 30,
|
|
459
|
+
description: 'Add MATURED position status to defi_positions CHECK constraint (v29.6 Yield)',
|
|
460
|
+
managesOwnTransaction: true,
|
|
461
|
+
up: (sqlite) => {
|
|
462
|
+
sqlite.exec('BEGIN');
|
|
463
|
+
try {
|
|
464
|
+
sqlite.exec(`CREATE TABLE defi_positions_new (
|
|
465
|
+
id TEXT PRIMARY KEY,
|
|
466
|
+
wallet_id TEXT NOT NULL REFERENCES wallets(id) ON DELETE CASCADE,
|
|
467
|
+
category TEXT NOT NULL CHECK(category IN (${inList(POSITION_CATEGORIES)})),
|
|
468
|
+
provider TEXT NOT NULL,
|
|
469
|
+
chain TEXT NOT NULL CHECK(chain IN (${inList(CHAIN_TYPES)})),
|
|
470
|
+
network TEXT CHECK(network IS NULL OR network IN (${inList(NETWORK_TYPES)})),
|
|
471
|
+
asset_id TEXT,
|
|
472
|
+
amount TEXT NOT NULL,
|
|
473
|
+
amount_usd REAL,
|
|
474
|
+
metadata TEXT,
|
|
475
|
+
status TEXT NOT NULL DEFAULT 'ACTIVE' CHECK(status IN (${inList(POSITION_STATUSES)})),
|
|
476
|
+
opened_at INTEGER NOT NULL,
|
|
477
|
+
closed_at INTEGER,
|
|
478
|
+
last_synced_at INTEGER NOT NULL,
|
|
479
|
+
created_at INTEGER NOT NULL,
|
|
480
|
+
updated_at INTEGER NOT NULL
|
|
481
|
+
)`);
|
|
482
|
+
sqlite.exec(`INSERT INTO defi_positions_new
|
|
483
|
+
SELECT id, wallet_id, category, provider, chain, network,
|
|
484
|
+
asset_id, amount, amount_usd, metadata, status, opened_at, closed_at,
|
|
485
|
+
last_synced_at, created_at, updated_at
|
|
486
|
+
FROM defi_positions`);
|
|
487
|
+
sqlite.exec('DROP TABLE defi_positions');
|
|
488
|
+
sqlite.exec('ALTER TABLE defi_positions_new RENAME TO defi_positions');
|
|
489
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_category ON defi_positions(wallet_id, category)');
|
|
490
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_wallet_provider ON defi_positions(wallet_id, provider)');
|
|
491
|
+
sqlite.exec('CREATE INDEX IF NOT EXISTS idx_defi_positions_status ON defi_positions(status)');
|
|
492
|
+
sqlite.exec('CREATE UNIQUE INDEX IF NOT EXISTS idx_defi_positions_unique ON defi_positions(wallet_id, provider, asset_id, category)');
|
|
493
|
+
sqlite.exec('COMMIT');
|
|
494
|
+
}
|
|
495
|
+
catch (err) {
|
|
496
|
+
sqlite.exec('ROLLBACK');
|
|
497
|
+
throw err;
|
|
498
|
+
}
|
|
499
|
+
sqlite.pragma('foreign_keys = ON');
|
|
500
|
+
const fkErrors = sqlite.pragma('foreign_key_check');
|
|
501
|
+
if (fkErrors.length > 0) {
|
|
502
|
+
throw new Error(`FK integrity check failed after v30 migration: ${JSON.stringify(fkErrors)}`);
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
},
|
|
506
|
+
];
|
|
507
|
+
//# sourceMappingURL=v21-v30.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v21-v30.js","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v21-v30.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE/F,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,uCAAuC;IACvC;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,qEAAqE;QAClF,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAE1F,MAAM,CAAC,IAAI,CAAC;;;;;;;yCAOuB,MAAM,CAAC,WAAW,CAAC;;8DAEE,MAAM,CAAC,oBAAoB,CAAC;;;;;;EAMxF,CAAC,CAAC;YAEE,MAAM,CAAC,IAAI,CAAC;;;;;;;EAOhB,CAAC,CAAC;YAEE,MAAM,CAAC,IAAI,CAAC,kHAAkH,CAAC,CAAC;YAChI,MAAM,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;YAC5G,MAAM,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;YACjH,MAAM,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;QAC9H,CAAC;KACF;IAED,gDAAgD;IAChD;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,6DAA6D;QAC1E,qBAAqB,EAAE,KAAK;QAC5B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,MAAM;iBACnB,OAAO,CAAC,qCAAqC,CAAC;iBAC9C,GAAG,EAA6B,CAAC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM;iBAChB,OAAO,CAAC,iDAAiD,CAAC;iBAC1D,GAAG,EAA6D,CAAC;YAEpE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAC/B,qDAAqD,CACtD,CAAC;YAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC;gBAC/E,IAAI,CAAC,CAAC,iBAAiB,IAAI,gBAAgB,CAAC;oBAAE,SAAS;gBACvD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,YAAY,CAAC,iBAAgC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC5E,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;KACF;IAED,2BAA2B;IAC3B;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,0EAA0E;QACvF,qBAAqB,EAAE,IAAI;QAC3B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC;;;;;;uCAMmB,MAAM,CAAC,iBAAiB,CAAC;;;;;;;;;;6DAUH,MAAM,CAAC,oBAAoB,CAAC;8CAC3C,MAAM,CAAC,YAAY,CAAC;;;;;;;;;uDASX,MAAM,CAAC,yBAAyB,CAAC;;;EAGtF,CAAC,CAAC;gBAEI,MAAM,CAAC,IAAI,CAAC;uUACmT,CAAC,CAAC;gBAEjU,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBAEnE,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;gBACrF,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACpF,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBACxE,MAAM,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;gBAChG,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;gBAC1H,MAAM,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;gBAE9G,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAc,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;KACF;IAED,2BAA2B;IAC3B;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,+DAA+D;QAC5E,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACjE,CAAC;KACF;IAED,4BAA4B;IAC5B;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,qDAAqD;QAClE,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC;;;;oDAIkC,MAAM,CAAC,mBAAmB,CAAC;;8CAEjC,MAAM,CAAC,WAAW,CAAC;4DACL,MAAM,CAAC,yBAAyB,CAAC;;;;;iEAK5B,MAAM,CAAC,iBAAiB,CAAC;;;;;;;KAOrF,CAAC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;YACpH,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;YACpH,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;YAC9F,MAAM,CAAC,IAAI,CAAC,wHAAwH,CAAC,CAAC;QACxI,CAAC;KACF;IAED,kCAAkC;IAClC;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,6DAA6D;QAC1E,qBAAqB,EAAE,IAAI;QAC3B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC;;;uCAGmB,MAAM,CAAC,YAAY,CAAC;;;;uDAIJ,MAAM,CAAC,yBAAyB,CAAC;;;EAGtF,CAAC,CAAC;gBAEI,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAE3D,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;gBACxF,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBAEtE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAc,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;KACF;IAED,2CAA2C;IAC3C;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,iFAAiF;QAC9F,qBAAqB,EAAE,IAAI;QAC3B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAErB,IAAI,CAAC;gBACH,iDAAiD;gBACjD,MAAM,CAAC,IAAI,CAAC;;;;;EAKlB,CAAC,CAAC;gBACI,MAAM,CAAC,IAAI,CAAC,mIAAmI,CAAC,CAAC;gBACjJ,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;gBACzE,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;gBACvF,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;gBAErF,8CAA8C;gBAC9C,MAAM,CAAC,IAAI,CAAC;;;yCAGqB,MAAM,CAAC,WAAW,CAAC;qDACP,MAAM,CAAC,iBAAiB,CAAC;;8DAEhB,MAAM,CAAC,eAAe,CAAC;;;;;;;;;;EAUnF,CAAC,CAAC;gBACI,MAAM,CAAC,IAAI,CAAC,6aAA6a,CAAC,CAAC;gBAC3b,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAEzD,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;gBACjF,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;gBACzF,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBAEhF,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAc,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;KACF;IAED,oCAAoC;IACpC;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,mEAAmE;QAChF,qBAAqB,EAAE,IAAI;QAC3B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM;qBACvB,OAAO,CAAC,uEAAuE,CAAC;qBAChF,GAAG,EAAE,CAAC;gBAET,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,IAAI,GAAG,MAAM;yBAChB,OAAO,CAAC,+DAA+D,CAAC;yBACxE,GAAG,EAIJ,CAAC;oBAEH,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAC/B;0CAC8B,CAC/B,CAAC;oBAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,aAAa,UAAU,CAAC;wBAC1D,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBAChE,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;gBAC/C,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;KACF;IAED,iCAAiC;IACjC;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,mEAAmE;QAChF,qBAAqB,EAAE,IAAI;QAC3B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,kCAAkC,GAAG,oCAAoC;oBACzE,8BAA8B,GAAG,kCAAkC;oBACnE,8BAA8B,GAAG,oCAAoC;oBACrE,SAAS,GAAG,MAAM,CAAC;gBAErB,sCAAsC;gBACtC,MAAM,CAAC,IAAI,CAAC;;;;;;uCAMmB,MAAM,CAAC,iBAAiB,CAAC;;;;;;;;;;6DAUH,MAAM,CAAC,oBAAoB,CAAC;8CAC3C,MAAM,CAAC,YAAY,CAAC;;;;;;;;;uDASX,MAAM,CAAC,aAAa,CAAC;;;EAG1E,CAAC,CAAC;gBAEI,MAAM,CAAC,IAAI,CAAC;;;;;4BAKQ,UAAU,CAAC,SAAS,CAAC;oBAC7B,CAAC,CAAC;gBAEd,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBAEnE,MAAM,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;gBAC5G,MAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;gBAClG,MAAM,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;gBACnG,MAAM,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;gBAChG,MAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;gBAClG,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;gBACtF,MAAM,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;gBAC9G,MAAM,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;gBAChG,MAAM,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAC;gBACxI,MAAM,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;gBAE5H,kCAAkC;gBAClC,MAAM,CAAC,IAAI,CAAC;;;uCAGmB,MAAM,CAAC,YAAY,CAAC;;;;uDAIJ,MAAM,CAAC,aAAa,CAAC;;;EAG1E,CAAC,CAAC;gBAEI,MAAM,CAAC,IAAI,CAAC;;;;;;;gBAOJ,CAAC,CAAC;gBAEV,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAE3D,MAAM,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;gBACtG,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;gBAC9E,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBAEpF,wCAAwC;gBACxC,MAAM,CAAC,IAAI,CAAC;;;8CAG0B,MAAM,CAAC,mBAAmB,CAAC;;wCAEjC,MAAM,CAAC,WAAW,CAAC;sDACL,MAAM,CAAC,aAAa,CAAC;;;;;2DAKhB,MAAM,CAAC,iBAAiB,CAAC;;;;;;EAMlF,CAAC,CAAC;gBAEI,MAAM,CAAC,IAAI,CAAC;qDACiC,UAAU,CAAC,SAAS,CAAC;;;sBAGpD,CAAC,CAAC;gBAEhB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBAEvE,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,wHAAwH,CAAC,CAAC;gBAEtI,8CAA8C;gBAC9C,MAAM,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;gBAC1H,MAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;gBACxH,MAAM,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAC;gBAE1H,MAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;gBACxH,MAAM,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;gBACtH,MAAM,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;gBAExH,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;gBAC5F,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;gBAE9F,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAc,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IAED,+BAA+B;IAC/B;QACE,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,8EAA8E;QAC3F,qBAAqB,EAAE,IAAI;QAC3B,EAAE,EAAE,CAAC,MAAgB,EAAE,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC;;;8CAG0B,MAAM,CAAC,mBAAmB,CAAC;;wCAEjC,MAAM,CAAC,WAAW,CAAC;sDACL,MAAM,CAAC,aAAa,CAAC;;;;;2DAKhB,MAAM,CAAC,iBAAiB,CAAC;;;;;;EAMlF,CAAC,CAAC;gBAEI,MAAM,CAAC,IAAI,CAAC;;;;sBAIE,CAAC,CAAC;gBAEhB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBAEvE,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,sGAAsG,CAAC,CAAC;gBACpH,MAAM,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;gBAC9F,MAAM,CAAC,IAAI,CAAC,wHAAwH,CAAC,CAAC;gBAEtI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxB,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAc,CAAC;YACjE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,kDAAkD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database migrations v31 through v40.
|
|
3
|
+
*
|
|
4
|
+
* v31: wallet_apps table
|
|
5
|
+
* v32: sessions max_renewals default change (no-op)
|
|
6
|
+
* v33: wallet_apps sign_topic + notify_topic
|
|
7
|
+
* v34: wallet_apps.wallet_type
|
|
8
|
+
* v35: wallet_apps.subscription_token
|
|
9
|
+
* v36: audit_log tx_id index
|
|
10
|
+
* v37: webhooks + webhook_logs tables
|
|
11
|
+
* v38: Smart account columns
|
|
12
|
+
* v39: ERC-8004 (agent_identities + reputation_cache + policies CHECK)
|
|
13
|
+
* v40: pending_approvals.typed_data_json
|
|
14
|
+
*/
|
|
15
|
+
import type { Migration } from '../migrate.js';
|
|
16
|
+
export declare const migrations: Migration[];
|
|
17
|
+
//# sourceMappingURL=v31-v40.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v31-v40.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/database/migrations/v31-v40.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO/C,eAAO,MAAM,UAAU,EAAE,SAAS,EA2MjC,CAAC"}
|