{"timestamp":"2026-07-13T03:56:39.522Z","level":"error","message":"Failed to start server","data":{"message":"SESSION_SECRET must be configured","stack":"Error: SESSION_SECRET must be configured\n    at startServer (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\server.js:69:19)\n    at Object.<anonymous> (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\server.js:103:1)\n    at Module._compile (node:internal/modules/cjs/loader:1871:14)\n    at Object..js (node:internal/modules/cjs/loader:2002:10)\n    at Module.load (node:internal/modules/cjs/loader:1594:32)\n    at Module._load (node:internal/modules/cjs/loader:1396:12)\n    at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)\n    at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)\n    at node:internal/main/run_main_module:33:47"}}
{"timestamp":"2026-07-13T03:56:58.455Z","level":"error","message":"Failed to start server","data":{"message":"Unknown database 'wallet_recovery_tool'","stack":"SequelizeConnectionError: Unknown database 'wallet_recovery_tool'\n    at ConnectionManager.connect (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\node_modules\\sequelize\\lib\\dialects\\mysql\\connection-manager.js:102:17)\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async ConnectionManager._connect (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\node_modules\\sequelize\\lib\\dialects\\abstract\\connection-manager.js:222:24)\n    at async C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\node_modules\\sequelize\\lib\\dialects\\abstract\\connection-manager.js:174:32\n    at async ConnectionManager.getConnection (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\node_modules\\sequelize\\lib\\dialects\\abstract\\connection-manager.js:197:7)\n    at async C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\node_modules\\sequelize\\lib\\sequelize.js:305:26\n    at async Sequelize.authenticate (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\node_modules\\sequelize\\lib\\sequelize.js:457:5)\n    at async startServer (C:\\Users\\Daniel Ewere\\work\\ethwallet-collector\\server.js:73:9)"}}
{"timestamp":"2026-07-13T03:57:41.850Z","level":"info","message":"Database 'wallet_recovery_tool' created or already exists."}
{"timestamp":"2026-07-13T03:57:42.001Z","level":"info","message":"All tables synchronized successfully"}
{"timestamp":"2026-07-13T03:57:42.193Z","level":"info","message":"Default admin created: admin@example.com"}
{"timestamp":"2026-07-13T03:57:42.194Z","level":"info","message":"\nDatabase initialization complete!"}
{"timestamp":"2026-07-13T03:57:49.039Z","level":"info","message":"Server running on http://localhost:3000"}
{"timestamp":"2026-07-13T03:58:25.919Z","level":"info","message":"Server running on http://localhost:3000"}
{"timestamp":"2026-07-13T03:58:45.426Z","level":"error","message":"Get approvals error","data":{"message":"Table 'wallet_recovery_tool.approvals' doesn't exist"}}
{"timestamp":"2026-07-13T04:08:49.978Z","level":"error","message":"Get approvals error","data":{"message":"Table 'wallet_recovery_tool.approvals' doesn't exist"}}
{"timestamp":"2026-07-13T04:14:10.340Z","level":"info","message":"Server running on http://localhost:3000"}
{"timestamp":"2026-07-13T04:14:47.590Z","level":"info","message":"Server running on http://localhost:3000"}
{"timestamp":"2026-07-13T04:15:07.462Z","level":"info","message":"🔄 Starting database sync...\n"}
{"timestamp":"2026-07-13T04:15:07.621Z","level":"info","message":"✅ Database connection established\n"}
{"timestamp":"2026-07-13T04:15:07.623Z","level":"info","message":"📦 Syncing models..."}
{"timestamp":"2026-07-13T04:15:07.921Z","level":"info","message":"✅ All models synced\n"}
{"timestamp":"2026-07-13T04:15:07.949Z","level":"info","message":"ℹ️  Admin user already exists, skipping\n"}
{"timestamp":"2026-07-13T04:15:07.960Z","level":"info","message":"⚙️  Creating default settings..."}
{"timestamp":"2026-07-13T04:15:08.006Z","level":"info","message":"✅ Default settings created\n"}
{"timestamp":"2026-07-13T04:15:08.011Z","level":"info","message":"⚠️  IMPORTANT: Update recipient_address and encrypted_private_key in admin panel!\n"}
{"timestamp":"2026-07-13T04:15:08.016Z","level":"info","message":"🎉 Database sync complete!\n"}
{"timestamp":"2026-07-13T04:15:08.019Z","level":"info","message":"Summary:"}
{"timestamp":"2026-07-13T04:15:08.023Z","level":"info","message":"  - Settings table: ready"}
{"timestamp":"2026-07-13T04:15:08.028Z","level":"info","message":"  - Users table: ready"}
{"timestamp":"2026-07-13T04:15:08.032Z","level":"info","message":"  - Approvals table: ready"}
{"timestamp":"2026-07-13T04:31:37.355Z","level":"info","message":"Server running on http://localhost:3000"}
{"timestamp":"2026-07-13T04:32:40.224Z","level":"info","message":"Server running on http://localhost:3000"}
{"timestamp":"2026-07-13T04:58:27.141Z","level":"info","message":"Server running on http://localhost:3000"}
