diff --git a/backend/logs/combined.log b/backend/logs/combined.log
index 3a11abb..e69de29 100644
--- a/backend/logs/combined.log
+++ b/backend/logs/combined.log
@@ -1,2291 +0,0 @@
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:32:09.835Z"}
-{"cookie":{"expires":"2025-05-28T07:32:09.792Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"e9bcd9ebce01d5e1a1c7fafb4bf2c032","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T07:32:09.840Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:32:09.843Z"}
-{"cookie":{"expires":"2025-05-28T07:32:09.789Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"93409df821a0cfeea8d732b3299fab43","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T07:32:09.845Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:32:09.851Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:32:09.859Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:32:18.425Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:32:18.454Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:32:21.700Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T07:32:21.715Z"}
-{"filesCount":0,"guestId":"1745825541972-nwmi3pcpe","level":"info","message":"Saving guest message: b","timestamp":"2025-04-28T07:32:21.717Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T07:32:21.732Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T07:32:21.737Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:32:34.187Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:34:48.491Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:34:48.508Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:34:48.518Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:36:52.321Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:36:52.331Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:37:42.197Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T07:37:42.208Z"}
-{"filesCount":1,"guestId":"1745825541972-nwmi3pcpe","level":"info","message":"Saving guest message: ьтб","timestamp":"2025-04-28T07:37:42.270Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T07:37:42.359Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T07:37:42.435Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:37:57.226Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T07:37:57.228Z"}
-{"filesCount":1,"guestId":"1745825541972-nwmi3pcpe","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T07:37:57.300Z"}
-{"body":{"guestId":"1745825541972-nwmi3pcpe","language":"ru","message":""},"level":"error","message":"Error in /guest-message: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint","stack":"error: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:211:20","timestamp":"2025-04-28T07:37:57.316Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T07:40:17.150Z"}
-{"level":"info","message":"Nonce d4b87d8a8d1ea2016b1e27e6192bb8f6 сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T07:40:17.159Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T07:40:22.611Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T07:40:22.613Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:22.713Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T07:40:23.856Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T07:40:23.857Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T07:40:24.062Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T07:40:24.063Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T07:40:24.064Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T07:40:24.064Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T07:40:24.600Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T07:40:24.600Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","arbitrum","eth","polygon"],"timestamp":"2025-04-28T07:40:24.600Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:24.600Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:24.600Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:24.601Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:24.611Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:24.611Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T07:40:24.929Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T07:40:24.930Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T07:40:25.118Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T07:40:25.119Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T07:40:25.120Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T07:40:25.121Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T07:40:25.265Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T07:40:25.265Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T07:40:25.265Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:25.265Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T07:40:25.271Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T07:32:09.789Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745825541972-nwmi3pcpe","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T07:40:25.274Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:40:25.276Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745825541972-nwmi3pcpe, previousGuestId=undefined","timestamp":"2025-04-28T07:40:25.277Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:25.280Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:25.282Z"}
-{"level":"info","message":"Found 2 guest messages for guest ID 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:25.285Z"}
-{"level":"info","message":"Created new conversation 7 for guest messages","timestamp":"2025-04-28T07:40:25.291Z"}
-{"level":"info","message":"Processing guest message ID 1: b","timestamp":"2025-04-28T07:40:25.291Z"}
-{"level":"info","message":"Saved user message with ID 13","timestamp":"2025-04-28T07:40:25.306Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T07:40:25.306Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T07:40:49.261Z"}
-{"level":"info","message":"Saved AI response with ID 14","timestamp":"2025-04-28T07:40:49.392Z"}
-{"level":"info","message":"Processing guest message ID 2: ьтб","timestamp":"2025-04-28T07:40:49.393Z"}
-{"level":"info","message":"Saved user message with ID 15","timestamp":"2025-04-28T07:40:49.396Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T07:40:49.396Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T07:40:58.133Z"}
-{"level":"info","message":"Saved AI response with ID 16","timestamp":"2025-04-28T07:40:58.137Z"}
-{"level":"info","message":"Deleted 2 processed guest messages for guest ID 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:58.141Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:58.145Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=537a3e77cd3bfc1d510624f9b9e28a74","timestamp":"2025-04-28T07:40:58.147Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 537a3e77cd3bfc1d510624f9b9e28a74","timestamp":"2025-04-28T07:40:58.148Z"}
-{"level":"info","message":"Guest messages for guest ID 537a3e77cd3bfc1d510624f9b9e28a74 were already processed.","timestamp":"2025-04-28T07:40:58.149Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=40f55fa54e2afc0586f0d21a91177b4c","timestamp":"2025-04-28T07:40:58.151Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 40f55fa54e2afc0586f0d21a91177b4c","timestamp":"2025-04-28T07:40:58.151Z"}
-{"level":"info","message":"Guest messages for guest ID 40f55fa54e2afc0586f0d21a91177b4c were already processed.","timestamp":"2025-04-28T07:40:58.152Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=0d2941cbfb7f6f0edd08800f87ef34ec","timestamp":"2025-04-28T07:40:58.154Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 0d2941cbfb7f6f0edd08800f87ef34ec","timestamp":"2025-04-28T07:40:58.154Z"}
-{"level":"info","message":"Guest messages for guest ID 0d2941cbfb7f6f0edd08800f87ef34ec were already processed.","timestamp":"2025-04-28T07:40:58.155Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=cd835088c3ef7c53928f0440d66834a3","timestamp":"2025-04-28T07:40:58.157Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID cd835088c3ef7c53928f0440d66834a3","timestamp":"2025-04-28T07:40:58.157Z"}
-{"level":"info","message":"Guest messages for guest ID cd835088c3ef7c53928f0440d66834a3 were already processed.","timestamp":"2025-04-28T07:40:58.158Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=96168b8c8e026a644d818b1e45d304e0","timestamp":"2025-04-28T07:40:58.160Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 96168b8c8e026a644d818b1e45d304e0","timestamp":"2025-04-28T07:40:58.160Z"}
-{"level":"info","message":"Guest messages for guest ID 96168b8c8e026a644d818b1e45d304e0 were already processed.","timestamp":"2025-04-28T07:40:58.161Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d2e47fd9e6fdbce7758bf586904023ea","timestamp":"2025-04-28T07:40:58.163Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID d2e47fd9e6fdbce7758bf586904023ea","timestamp":"2025-04-28T07:40:58.163Z"}
-{"level":"info","message":"Guest messages for guest ID d2e47fd9e6fdbce7758bf586904023ea were already processed.","timestamp":"2025-04-28T07:40:58.164Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=c8aa02a9398569e9ac05bb300f93340f","timestamp":"2025-04-28T07:40:58.166Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID c8aa02a9398569e9ac05bb300f93340f","timestamp":"2025-04-28T07:40:58.167Z"}
-{"level":"info","message":"Guest messages for guest ID c8aa02a9398569e9ac05bb300f93340f were already processed.","timestamp":"2025-04-28T07:40:58.176Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T07:32:09.789Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745825541972-nwmi3pcpe","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745825541972-nwmi3pcpe","537a3e77cd3bfc1d510624f9b9e28a74","40f55fa54e2afc0586f0d21a91177b4c","0d2941cbfb7f6f0edd08800f87ef34ec","cd835088c3ef7c53928f0440d66834a3","96168b8c8e026a644d818b1e45d304e0","d2e47fd9e6fdbce7758bf586904023ea","c8aa02a9398569e9ac05bb300f93340f"],"timestamp":"2025-04-28T07:40:58.178Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:40:58.181Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:40:58.196Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:58.199Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:40:58.214Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:58.220Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:40:58.233Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:58.234Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:58.243Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:40:58.244Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:40:58.249Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:58.252Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:40:58.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:58.274Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:40:58.287Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:58.289Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:40:59.273Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:40:59.275Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T07:40:59.290Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T07:40:59.291Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:40:59.292Z"}
-{"level":"info","message":"Guest messages for guest ID 1745825541972-nwmi3pcpe were already processed.","timestamp":"2025-04-28T07:40:59.294Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T07:40:59.313Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T07:41:00.338Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T07:41:01.387Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T07:41:02.621Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T07:41:02.621Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:41:02.632Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:41:02.633Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T07:41:03.127Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T07:41:03.478Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T07:41:04.199Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T07:41:04.654Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T07:41:04.654Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:41:28.385Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:41:28.387Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:41:58.428Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:41:58.430Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:42:29.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:42:29.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:42:59.361Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:42:59.366Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:43:29.404Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:43:29.407Z"}
-{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-28T07:43:37.461Z"}
-{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-28T07:32:09.789Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":null,"guestId":null,"isAdmin":false,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":null,"previousGuestId":null,"processedGuestIds":[],"telegramId":null,"timestamp":"2025-04-28T07:43:37.466Z","userId":null}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:43:37.469Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:43:37.482Z"}
-{"cookie":{"expires":"2025-05-28T07:43:37.482Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"57bd7aad3bea6d74ba4cd97e7a55fd22","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T07:43:37.483Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:43:37.487Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:43:49.286Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T07:43:49.289Z"}
-{"filesCount":1,"guestId":"1745826229509-a9cc49arg","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T07:43:49.313Z"}
-{"body":{"guestId":"1745826229509-a9cc49arg","language":"ru","message":""},"level":"error","message":"Error in /guest-message: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint","stack":"error: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:211:20","timestamp":"2025-04-28T07:43:49.319Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:52:49.551Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:52:49.565Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:52:49.576Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:52:57.467Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T07:52:57.475Z"}
-{"filesCount":1,"guestId":"1745826229509-a9cc49arg","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T07:52:57.517Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T07:52:57.522Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T07:52:57.525Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:54:14.933Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:54:14.954Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:54:14.969Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T07:54:41.343Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T07:54:41.355Z"}
-{"filesCount":1,"guestId":"1745826229509-a9cc49arg","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T07:54:41.401Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T07:54:41.413Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T07:54:41.417Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T07:54:43.896Z"}
-{"level":"info","message":"Nonce 5d15f5c1c5e6c3a6b361ac1f2b09aceb сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T07:54:43.904Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T07:54:47.513Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T07:54:47.515Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:54:47.610Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T07:54:48.849Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T07:54:48.849Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T07:54:49.135Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T07:54:49.135Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T07:54:49.161Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T07:54:49.162Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T07:54:49.536Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T07:54:49.536Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","arbitrum","polygon"],"timestamp":"2025-04-28T07:54:49.537Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:54:49.537Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:54:49.537Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745826229509-a9cc49arg","timestamp":"2025-04-28T07:54:49.538Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:54:49.548Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:54:49.548Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T07:54:50.025Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T07:54:50.026Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T07:54:50.166Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T07:54:50.167Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T07:54:50.168Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T07:54:50.168Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T07:54:50.401Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T07:54:50.401Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T07:54:50.401Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:54:50.401Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T07:54:50.406Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T07:43:49.320Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745826229509-a9cc49arg","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T07:54:50.408Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:54:50.413Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745826229509-a9cc49arg, previousGuestId=undefined","timestamp":"2025-04-28T07:54:50.414Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745826229509-a9cc49arg","timestamp":"2025-04-28T07:54:50.418Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745826229509-a9cc49arg","timestamp":"2025-04-28T07:54:50.419Z"}
-{"level":"info","message":"Found 2 guest messages for guest ID 1745826229509-a9cc49arg","timestamp":"2025-04-28T07:54:50.423Z"}
-{"level":"info","message":"Created new conversation 8 for guest messages","timestamp":"2025-04-28T07:54:50.429Z"}
-{"level":"info","message":"Processing guest message ID 5: [Файл: image (33).png]","timestamp":"2025-04-28T07:54:50.430Z"}
-{"level":"info","message":"Saved user message with ID 17","timestamp":"2025-04-28T07:54:50.442Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T07:54:50.443Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T07:55:18.654Z"}
-{"level":"info","message":"Saved AI response with ID 18","timestamp":"2025-04-28T07:55:18.710Z"}
-{"level":"info","message":"Processing guest message ID 6: [Файл: image (33).png]","timestamp":"2025-04-28T07:55:18.711Z"}
-{"level":"info","message":"Saved user message with ID 19","timestamp":"2025-04-28T07:55:18.713Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T07:55:18.714Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T07:55:29.850Z"}
-{"level":"info","message":"Saved AI response with ID 20","timestamp":"2025-04-28T07:55:29.869Z"}
-{"level":"info","message":"Deleted 2 processed guest messages for guest ID 1745826229509-a9cc49arg","timestamp":"2025-04-28T07:55:29.874Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745826229509-a9cc49arg","timestamp":"2025-04-28T07:55:29.878Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:55:29.880Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745825541972-nwmi3pcpe","timestamp":"2025-04-28T07:55:29.881Z"}
-{"level":"info","message":"Guest messages for guest ID 1745825541972-nwmi3pcpe were already processed.","timestamp":"2025-04-28T07:55:29.882Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=537a3e77cd3bfc1d510624f9b9e28a74","timestamp":"2025-04-28T07:55:29.885Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 537a3e77cd3bfc1d510624f9b9e28a74","timestamp":"2025-04-28T07:55:29.885Z"}
-{"level":"info","message":"Guest messages for guest ID 537a3e77cd3bfc1d510624f9b9e28a74 were already processed.","timestamp":"2025-04-28T07:55:29.887Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=40f55fa54e2afc0586f0d21a91177b4c","timestamp":"2025-04-28T07:55:29.889Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 40f55fa54e2afc0586f0d21a91177b4c","timestamp":"2025-04-28T07:55:29.890Z"}
-{"level":"info","message":"Guest messages for guest ID 40f55fa54e2afc0586f0d21a91177b4c were already processed.","timestamp":"2025-04-28T07:55:29.892Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=0d2941cbfb7f6f0edd08800f87ef34ec","timestamp":"2025-04-28T07:55:29.895Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 0d2941cbfb7f6f0edd08800f87ef34ec","timestamp":"2025-04-28T07:55:29.895Z"}
-{"level":"info","message":"Guest messages for guest ID 0d2941cbfb7f6f0edd08800f87ef34ec were already processed.","timestamp":"2025-04-28T07:55:29.897Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=cd835088c3ef7c53928f0440d66834a3","timestamp":"2025-04-28T07:55:29.899Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID cd835088c3ef7c53928f0440d66834a3","timestamp":"2025-04-28T07:55:29.900Z"}
-{"level":"info","message":"Guest messages for guest ID cd835088c3ef7c53928f0440d66834a3 were already processed.","timestamp":"2025-04-28T07:55:29.902Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=96168b8c8e026a644d818b1e45d304e0","timestamp":"2025-04-28T07:55:29.904Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 96168b8c8e026a644d818b1e45d304e0","timestamp":"2025-04-28T07:55:29.905Z"}
-{"level":"info","message":"Guest messages for guest ID 96168b8c8e026a644d818b1e45d304e0 were already processed.","timestamp":"2025-04-28T07:55:29.906Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d2e47fd9e6fdbce7758bf586904023ea","timestamp":"2025-04-28T07:55:29.909Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID d2e47fd9e6fdbce7758bf586904023ea","timestamp":"2025-04-28T07:55:29.909Z"}
-{"level":"info","message":"Guest messages for guest ID d2e47fd9e6fdbce7758bf586904023ea were already processed.","timestamp":"2025-04-28T07:55:29.911Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=c8aa02a9398569e9ac05bb300f93340f","timestamp":"2025-04-28T07:55:29.913Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID c8aa02a9398569e9ac05bb300f93340f","timestamp":"2025-04-28T07:55:29.914Z"}
-{"level":"info","message":"Guest messages for guest ID c8aa02a9398569e9ac05bb300f93340f were already processed.","timestamp":"2025-04-28T07:55:29.915Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T07:43:49.320Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745826229509-a9cc49arg","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745826229509-a9cc49arg","1745825541972-nwmi3pcpe","537a3e77cd3bfc1d510624f9b9e28a74","40f55fa54e2afc0586f0d21a91177b4c","0d2941cbfb7f6f0edd08800f87ef34ec","cd835088c3ef7c53928f0440d66834a3","96168b8c8e026a644d818b1e45d304e0","d2e47fd9e6fdbce7758bf586904023ea","c8aa02a9398569e9ac05bb300f93340f"],"timestamp":"2025-04-28T07:55:29.918Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T07:55:29.922Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:55:29.942Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:29.946Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:55:29.965Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:29.971Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:55:29.981Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:55:29.983Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:55:29.990Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:29.992Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:55:30.014Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:30.020Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:55:30.036Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:30.039Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:55:30.053Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:30.055Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T07:55:31.120Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:55:31.122Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T07:55:31.141Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745826229509-a9cc49arg","timestamp":"2025-04-28T07:55:31.143Z"}
-{"level":"info","message":"Guest messages for guest ID 1745826229509-a9cc49arg were already processed.","timestamp":"2025-04-28T07:55:31.146Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T07:55:31.190Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T07:55:31.257Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T07:55:32.213Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T07:55:33.277Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T07:55:34.729Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T07:55:34.729Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:55:34.739Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T07:55:34.740Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T07:55:33.813Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T07:55:34.296Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T07:55:34.927Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T07:55:35.405Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T07:55:35.405Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:56:00.693Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:56:00.697Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:56:30.780Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:56:30.783Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:57:00.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:57:00.262Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:57:29.455Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:57:29.459Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:58:26.420Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:58:26.425Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T07:59:26.540Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T07:59:26.545Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:00:26.734Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:00:26.738Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:00:29.857Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:00:29.858Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:00:31.568Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:00:33.054Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:00:34.652Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:00:36.118Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:00:36.119Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:01:26.826Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:01:26.831Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:01:42.963Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:01:42.966Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:02:00.017Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:02:00.019Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:02:29.448Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:02:29.451Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:03:27.096Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:03:27.100Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:04:27.322Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:04:27.326Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:04:48.815Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:04:48.820Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:05:00.522Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:05:00.525Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:05:30.632Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:05:30.633Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:05:30.636Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:05:30.641Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:05:31.860Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:05:32.965Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:05:34.262Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:05:34.752Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:05:34.752Z"}
-{"level":"info","message":"Migration 000_session_table.sql executed successfully","timestamp":"2025-04-28T08:05:58.097Z"}
-{"level":"info","message":"Migration 001_initial_schema.sql executed successfully","timestamp":"2025-04-28T08:05:58.118Z"}
-{"level":"info","message":"Migration 002_access_roles.sql executed successfully","timestamp":"2025-04-28T08:05:58.170Z"}
-{"level":"info","message":"Migration 003_user_identities.sql executed successfully","timestamp":"2025-04-28T08:05:58.194Z"}
-{"level":"info","message":"Migration 004_conversations.sql executed successfully","timestamp":"2025-04-28T08:05:58.209Z"}
-{"level":"info","message":"Migration 005_messages.sql executed successfully","timestamp":"2025-04-28T08:05:58.237Z"}
-{"level":"info","message":"Migration 006_guest_messages.sql executed successfully","timestamp":"2025-04-28T08:05:58.264Z"}
-{"level":"info","message":"Migration 007_user_preferences.sql executed successfully","timestamp":"2025-04-28T08:05:58.287Z"}
-{"level":"info","message":"Migration 008_update_messages_structure.sql executed successfully","timestamp":"2025-04-28T08:05:58.295Z"}
-{"level":"info","message":"Migration 009_nonces_table.sql executed successfully","timestamp":"2025-04-28T08:05:58.312Z"}
-{"level":"info","message":"Migration 010_cleanup_roles.sql executed successfully","timestamp":"2025-04-28T08:05:58.330Z"}
-{"level":"info","message":"Migration 011_cleanup_guest_relations.sql executed successfully","timestamp":"2025-04-28T08:05:58.343Z"}
-{"level":"info","message":"Migration 012_verification_codes.sql executed successfully","timestamp":"2025-04-28T08:05:58.360Z"}
-{"level":"info","message":"Migration 013_update_verification_codes.sql executed successfully","timestamp":"2025-04-28T08:05:58.365Z"}
-{"level":"info","message":"Migration 014_identity_system_refactor.sql executed successfully","timestamp":"2025-04-28T08:05:58.395Z"}
-{"level":"info","message":"Migration 015_users_table_refactor.sql executed successfully","timestamp":"2025-04-28T08:05:58.403Z"}
-{"level":"info","message":"Migration 016_fix_duplicate_identities.sql executed successfully","timestamp":"2025-04-28T08:05:58.422Z"}
-{"level":"info","message":"Migration 017_add_attachments_column.sql executed successfully","timestamp":"2025-04-28T08:05:58.427Z"}
-{"level":"info","message":"Migration fix_duplicates_manual.sql executed successfully","timestamp":"2025-04-28T08:05:58.436Z"}
-{"level":"info","message":"Function link_guest_messages.sql executed successfully","timestamp":"2025-04-28T08:05:58.441Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:06:27.645Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:06:28.237Z"}
-{"cookie":{"expires":"2025-05-28T08:06:27.646Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"67d53b3fc293c8b12d38b621f6341a28","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:06:28.238Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:06:28.241Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:06:28.261Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T08:08:48.188Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T08:08:48.200Z"}
-{"filesCount":1,"guestId":"1745827727896-sqo5zp8c5","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T08:08:48.289Z"}
-{"body":{"guestId":"1745827727896-sqo5zp8c5","language":"ru","message":""},"level":"error","message":"Error in /guest-message: invalid input syntax for type json","stack":"error: invalid input syntax for type json\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:227:20","timestamp":"2025-04-28T08:08:48.293Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:10:37.285Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:10:37.316Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:10:37.340Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T08:10:47.815Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T08:10:47.828Z"}
-{"filesCount":1,"guestId":"1745827727896-sqo5zp8c5","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T08:10:47.924Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T08:10:47.947Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T08:10:47.951Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T08:11:22.875Z"}
-{"level":"info","message":"Nonce 3fd09be3ab8541fd47c0ccab561c3a6f сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T08:11:22.883Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T08:11:25.071Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T08:11:25.073Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:11:25.198Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T08:11:26.420Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T08:11:26.421Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T08:11:26.565Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T08:11:26.565Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T08:11:26.631Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T08:11:26.631Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T08:11:26.843Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T08:11:26.844Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","arbitrum","polygon"],"timestamp":"2025-04-28T08:11:26.844Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:11:26.844Z"}
-{"level":"info","message":"New user 1 role check result: admin","timestamp":"2025-04-28T08:11:26.845Z"}
-{"level":"info","message":"New user 1 with wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b automatically granted admin role","timestamp":"2025-04-28T08:11:26.848Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:11:26.848Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:11:26.849Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:11:26.853Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:11:26.854Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T08:11:27.218Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T08:11:27.218Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T08:11:27.368Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T08:11:27.369Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T08:11:27.383Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T08:11:27.383Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T08:11:27.576Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T08:11:27.576Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T08:11:27.576Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:11:27.576Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T08:11:27.580Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T08:08:48.297Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745827727896-sqo5zp8c5","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:11:27.583Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:11:27.586Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745827727896-sqo5zp8c5, previousGuestId=undefined","timestamp":"2025-04-28T08:11:27.587Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:11:27.591Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:11:27.591Z"}
-{"level":"info","message":"Found 1 guest messages for guest ID 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:11:27.595Z"}
-{"level":"info","message":"Created new conversation 1 for guest messages","timestamp":"2025-04-28T08:11:27.598Z"}
-{"level":"info","message":"Processing guest message ID 1: [Файл: image (35).png]","timestamp":"2025-04-28T08:11:27.599Z"}
-{"level":"info","message":"Saved user message with ID 1","timestamp":"2025-04-28T08:11:27.603Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T08:11:27.604Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T08:12:13.714Z"}
-{"level":"info","message":"Saved AI response with ID 2","timestamp":"2025-04-28T08:12:13.772Z"}
-{"level":"info","message":"Deleted 1 processed guest messages for guest ID 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:12:13.775Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:12:13.779Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T08:08:48.297Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745827727896-sqo5zp8c5","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745827727896-sqo5zp8c5"],"timestamp":"2025-04-28T08:12:13.781Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:12:13.785Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:12:13.797Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.800Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:12:13.820Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.828Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:12:13.848Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.850Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:12:13.858Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:12:13.863Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:12:13.870Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.885Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:12:13.901Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.903Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:12:13.919Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.922Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:12:14.129Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:12:13.389Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:13.390Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T08:12:13.403Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:12:13.404Z"}
-{"level":"info","message":"Guest messages for guest ID 1745827727896-sqo5zp8c5 were already processed.","timestamp":"2025-04-28T08:12:13.407Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T08:12:13.428Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:12:14.164Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:12:15.250Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:12:16.320Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:12:16.320Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:12:16.330Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:12:16.332Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:12:16.785Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:12:17.081Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:12:17.741Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:12:18.222Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:12:18.222Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:12:43.455Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:12:43.458Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:13:13.539Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:13:13.541Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:13:43.605Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:13:43.607Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:14:13.697Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:13.700Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:14:34.704Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:34.707Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:14:34.726Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:34.728Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:14:34.743Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:34.745Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:14:34.753Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:14:34.754Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:14:34.759Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:34.763Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:14:34.782Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:34.786Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:14:34.802Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:34.805Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:14:35.967Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:14:36.811Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:14:36.813Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T08:14:36.825Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T08:14:36.844Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:14:36.941Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:14:37.082Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:14:41.037Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:14:41.037Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:15:05.268Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:15:05.272Z"}
-{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-28T08:15:26.032Z"}
-{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-28T08:08:48.297Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":null,"guestId":null,"isAdmin":false,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":null,"previousGuestId":null,"processedGuestIds":[],"telegramId":null,"timestamp":"2025-04-28T08:15:26.033Z","userId":null}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:15:26.037Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T08:15:41.478Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T08:15:41.482Z"}
-{"filesCount":1,"guestId":"1745828141906-vdcva3rrv","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T08:15:41.600Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T08:15:41.604Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T08:15:41.607Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:17:01.619Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:17:01.633Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:17:01.646Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:17:06.768Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:17:06.780Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:17:06.799Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:31:12.381Z"}
-{"cookie":{"expires":"2025-05-28T08:31:12.348Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"b596727d8d5d6e387c52355b61159e2b","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:31:12.382Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:31:12.389Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:31:12.395Z"}
-{"cookie":{"expires":"2025-05-28T08:31:12.393Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"6722285f55c5c8e62ef8b9cab0f10b0e","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:31:12.395Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:31:12.399Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:31:12.405Z"}
-{"cookie":{"expires":"2025-05-28T08:31:12.403Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"9440ec64279671cf78fbef323781fcbe","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:31:12.406Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:31:12.408Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T08:31:21.773Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T08:31:21.776Z"}
-{"filesCount":1,"guestId":"1745829082204-8bmpj5o58","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T08:31:21.880Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T08:31:21.903Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T08:31:21.907Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:34:38.064Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:34:38.077Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:34:38.096Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:35:58.410Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:35:58.423Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:35:58.433Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T08:38:26.708Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T08:38:26.710Z"}
-{"filesCount":0,"guestId":"1745829082204-8bmpj5o58","level":"info","message":"Saving guest message: блдтюбт","timestamp":"2025-04-28T08:38:26.710Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T08:38:26.715Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T08:38:26.718Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T08:38:37.559Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T08:38:37.563Z"}
-{"filesCount":1,"guestId":"1745829082204-8bmpj5o58","level":"info","message":"Saving guest message: (no text)","timestamp":"2025-04-28T08:38:37.652Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T08:38:37.676Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T08:38:37.679Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T08:38:44.788Z"}
-{"level":"info","message":"Nonce a514a24a58b4b3f666d30dd4c395be06 сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T08:38:44.792Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T08:38:46.882Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T08:38:46.883Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:38:46.903Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T08:38:48.091Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T08:38:48.092Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T08:38:48.128Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T08:38:48.128Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T08:38:48.372Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T08:38:48.372Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T08:38:48.557Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T08:38:48.558Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","arbitrum","polygon"],"timestamp":"2025-04-28T08:38:48.558Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:38:48.558Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:38:48.558Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:38:48.559Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:38:48.564Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:38:48.564Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T08:38:48.874Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T08:38:48.874Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T08:38:49.037Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T08:38:49.037Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T08:38:49.039Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T08:38:49.040Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T08:38:48.646Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T08:38:48.646Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T08:38:48.646Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:38:48.646Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T08:38:48.650Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T08:31:12.403Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745829082204-8bmpj5o58","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:38:48.653Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:38:48.655Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745829082204-8bmpj5o58, previousGuestId=undefined","timestamp":"2025-04-28T08:38:48.656Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:38:48.660Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:38:48.660Z"}
-{"level":"info","message":"Found 3 guest messages for guest ID 1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:38:48.664Z"}
-{"level":"info","message":"Created new conversation 2 for guest messages","timestamp":"2025-04-28T08:38:48.668Z"}
-{"level":"info","message":"Processing guest message ID 3: [Файл: image (35).png]","timestamp":"2025-04-28T08:38:48.668Z"}
-{"level":"info","message":"Saved user message with ID 3","timestamp":"2025-04-28T08:38:48.682Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T08:38:48.682Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T08:39:14.332Z"}
-{"level":"info","message":"Saved AI response with ID 4","timestamp":"2025-04-28T08:39:14.365Z"}
-{"level":"info","message":"Processing guest message ID 4: блдтюбт","timestamp":"2025-04-28T08:39:14.366Z"}
-{"level":"info","message":"Saved user message with ID 5","timestamp":"2025-04-28T08:39:14.369Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T08:39:14.369Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T08:39:19.682Z"}
-{"level":"info","message":"Saved AI response with ID 6","timestamp":"2025-04-28T08:39:19.685Z"}
-{"level":"info","message":"Processing guest message ID 5: [Файл: image (32).png]","timestamp":"2025-04-28T08:39:19.685Z"}
-{"level":"info","message":"Saved user message with ID 7","timestamp":"2025-04-28T08:39:19.688Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T08:39:19.688Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T08:39:29.881Z"}
-{"level":"info","message":"Saved AI response with ID 8","timestamp":"2025-04-28T08:39:29.916Z"}
-{"level":"info","message":"Deleted 3 processed guest messages for guest ID 1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:39:29.922Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:39:29.928Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:39:29.931Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745827727896-sqo5zp8c5","timestamp":"2025-04-28T08:39:29.932Z"}
-{"level":"info","message":"Guest messages for guest ID 1745827727896-sqo5zp8c5 were already processed.","timestamp":"2025-04-28T08:39:29.934Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T08:31:12.403Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745829082204-8bmpj5o58","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745829082204-8bmpj5o58","1745827727896-sqo5zp8c5"],"timestamp":"2025-04-28T08:39:29.939Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:39:29.944Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:39:29.960Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:29.964Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:39:29.999Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:30.001Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:39:30.024Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:30.026Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:39:30.048Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:39:30.049Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:39:30.085Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:30.090Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:39:30.104Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:30.110Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:39:30.149Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:30.151Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:39:31.089Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:39:31.092Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T08:39:31.106Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745829082204-8bmpj5o58","timestamp":"2025-04-28T08:39:31.106Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:39:31.108Z"}
-{"level":"info","message":"Guest messages for guest ID 1745829082204-8bmpj5o58 were already processed.","timestamp":"2025-04-28T08:39:31.109Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T08:39:31.133Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:39:31.898Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:39:32.955Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:39:34.268Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:39:34.268Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:39:34.276Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:39:34.276Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:39:34.789Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:39:35.131Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:39:35.819Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:39:36.303Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:39:36.303Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:40:00.234Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:40:00.237Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:40:31.271Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:40:31.273Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:41:01.422Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:41:01.425Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:41:31.472Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:41:31.475Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:42:01.603Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:42:01.606Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:42:31.387Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:42:31.391Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:43:01.792Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:43:01.795Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:43:31.847Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:43:31.850Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:44:00.342Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:44:00.345Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:44:30.305Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:44:30.308Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:44:30.311Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:44:30.311Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:44:31.427Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:44:32.497Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:44:33.647Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:44:35.013Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:44:35.013Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:44:59.550Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:44:59.552Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:45:29.640Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:45:29.643Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T08:45:41.356Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T08:45:41.359Z"}
-{"filesCount":0,"language":"ru","level":"info","message":"Processing authenticated message: бббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббббб","timestamp":"2025-04-28T08:45:41.359Z","userId":1}
-{"level":"info","message":"Created new conversation:","timestamp":"2025-04-28T08:45:41.366Z"}
-{"level":"info","message":"Saving user message for conversation","timestamp":"2025-04-28T08:45:41.366Z"}
-{"level":"info","message":"User message saved with ID:","timestamp":"2025-04-28T08:45:41.372Z"}
-{"level":"info","message":"Getting AI response for conversation","timestamp":"2025-04-28T08:45:41.372Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:46:00.682Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:46:00.687Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:46:30.733Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:46:30.738Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:47:00.841Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:47:00.847Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T08:47:07.155Z"}
-{"level":"info","message":"AI message saved with ID:","timestamp":"2025-04-28T08:47:07.173Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:47:30.888Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:47:30.891Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:48:00.968Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:48:00.971Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:48:31.090Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:48:31.093Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:49:27.036Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:27.039Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:49:31.262Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:49:31.262Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:49:32.598Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:49:33.701Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:49:34.823Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:49:36.336Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:49:36.336Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:49:38.917Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:38.919Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:49:38.936Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:38.939Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:49:38.954Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:38.957Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:49:38.959Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:49:38.960Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:49:38.978Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:38.981Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:49:38.997Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:38.999Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:49:39.011Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:39.013Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:49:39.822Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:49:40.617Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:49:40.798Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:49:40.800Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T08:49:40.813Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T08:49:40.834Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:49:41.680Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:49:42.765Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:49:42.765Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:50:09.822Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:50:09.824Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:50:39.951Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:50:39.954Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:51:08.389Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:08.392Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:51:38.465Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:38.468Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:51:53.509Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:53.512Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:51:53.529Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:53.532Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:51:53.564Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T08:51:53.564Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:51:53.584Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:53.588Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:51:53.633Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:53.635Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:51:53.662Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:53.664Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T08:51:53.682Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:53.685Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T08:51:54.714Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:51:55.358Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T08:51:55.360Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T08:51:55.373Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T08:51:55.396Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T08:51:55.594Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T08:51:56.764Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T08:51:58.076Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T08:51:58.077Z"}
-{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-28T08:52:01.673Z"}
-{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-28T08:31:12.403Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":null,"guestId":null,"isAdmin":false,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":null,"previousGuestId":null,"processedGuestIds":[],"telegramId":null,"timestamp":"2025-04-28T08:52:01.674Z","userId":null}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:52:01.677Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T08:52:01.701Z"}
-{"cookie":{"expires":"2025-05-28T08:52:01.699Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"8c86e5dc82d0cd5303d9c9eeb1b2a0e9","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T08:52:01.702Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T08:52:01.705Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T09:57:55.322Z"}
-{"cookie":{"expires":"2025-05-28T09:57:55.294Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"9f4dc0b48816da578d846ad1f5145f04","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T09:57:55.324Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T09:57:55.332Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T10:21:39.809Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T10:21:39.826Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:18:32.165Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:18:32.187Z"}
-{"level":"info","message":"Migration 000_session_table.sql executed successfully","timestamp":"2025-04-28T14:19:22.150Z"}
-{"level":"info","message":"Migration 001_initial_schema.sql executed successfully","timestamp":"2025-04-28T14:19:22.182Z"}
-{"level":"info","message":"Migration 002_access_roles.sql executed successfully","timestamp":"2025-04-28T14:19:22.237Z"}
-{"level":"info","message":"Migration 003_user_identities.sql executed successfully","timestamp":"2025-04-28T14:19:22.272Z"}
-{"level":"info","message":"Migration 004_conversations.sql executed successfully","timestamp":"2025-04-28T14:19:22.295Z"}
-{"level":"info","message":"Migration 005_messages.sql executed successfully","timestamp":"2025-04-28T14:19:22.339Z"}
-{"level":"info","message":"Migration 006_guest_messages.sql executed successfully","timestamp":"2025-04-28T14:19:22.383Z"}
-{"level":"info","message":"Migration 007_user_preferences.sql executed successfully","timestamp":"2025-04-28T14:19:22.423Z"}
-{"level":"info","message":"Migration 008_update_messages_structure.sql executed successfully","timestamp":"2025-04-28T14:19:22.436Z"}
-{"level":"info","message":"Migration 009_nonces_table.sql executed successfully","timestamp":"2025-04-28T14:19:22.464Z"}
-{"level":"info","message":"Migration 010_cleanup_roles.sql executed successfully","timestamp":"2025-04-28T14:19:22.494Z"}
-{"level":"info","message":"Migration 011_cleanup_guest_relations.sql executed successfully","timestamp":"2025-04-28T14:19:22.512Z"}
-{"level":"info","message":"Migration 012_verification_codes.sql executed successfully","timestamp":"2025-04-28T14:19:22.545Z"}
-{"level":"info","message":"Migration 013_update_verification_codes.sql executed successfully","timestamp":"2025-04-28T14:19:22.554Z"}
-{"level":"info","message":"Migration 014_identity_system_refactor.sql executed successfully","timestamp":"2025-04-28T14:19:22.595Z"}
-{"level":"info","message":"Migration 015_users_table_refactor.sql executed successfully","timestamp":"2025-04-28T14:19:22.607Z"}
-{"level":"info","message":"Migration 016_fix_duplicate_identities.sql executed successfully","timestamp":"2025-04-28T14:19:22.632Z"}
-{"level":"info","message":"Migration 017_add_file_storage_columns.sql executed successfully","timestamp":"2025-04-28T14:19:22.649Z"}
-{"level":"info","message":"Migration fix_duplicates_manual.sql executed successfully","timestamp":"2025-04-28T14:19:22.664Z"}
-{"level":"info","message":"Function link_guest_messages.sql executed successfully","timestamp":"2025-04-28T14:19:22.672Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T14:28:29.003Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T14:28:29.020Z"}
-{"file":"image (33).png","guestId":"1745850508983-zb9xi0g4t","level":"info","message":"Saving guest message:","mimetype":"image/png","size":81461,"timestamp":"2025-04-28T14:28:29.089Z"}
-{"code":"42703","file":"parse_target.c","length":146,"level":"error","line":"1066","message":"Error saving guest message: column \"attachment_filename\" of relation \"guest_messages\" does not exist","name":"error","position":"82","routine":"checkInsertTargets","severity":"ERROR","stack":"error: column \"attachment_filename\" of relation \"guest_messages\" does not exist\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:224:20","timestamp":"2025-04-28T14:28:29.099Z"}
-{"level":"info","message":"Migration 000_session_table.sql executed successfully","timestamp":"2025-04-28T14:39:57.603Z"}
-{"level":"info","message":"Migration 001_initial_schema.sql executed successfully","timestamp":"2025-04-28T14:39:57.637Z"}
-{"level":"info","message":"Migration 002_access_roles.sql executed successfully","timestamp":"2025-04-28T14:39:57.679Z"}
-{"level":"info","message":"Migration 003_user_identities.sql executed successfully","timestamp":"2025-04-28T14:39:57.715Z"}
-{"level":"info","message":"Migration 004_conversations.sql executed successfully","timestamp":"2025-04-28T14:39:57.739Z"}
-{"level":"info","message":"Migration 005_messages.sql executed successfully","timestamp":"2025-04-28T14:39:57.787Z"}
-{"level":"info","message":"Migration 006_guest_messages.sql executed successfully","timestamp":"2025-04-28T14:39:57.832Z"}
-{"level":"info","message":"Migration 007_user_preferences.sql executed successfully","timestamp":"2025-04-28T14:39:57.870Z"}
-{"level":"info","message":"Migration 008_update_messages_structure.sql executed successfully","timestamp":"2025-04-28T14:39:57.880Z"}
-{"level":"info","message":"Migration 009_nonces_table.sql executed successfully","timestamp":"2025-04-28T14:39:57.906Z"}
-{"level":"info","message":"Migration 010_cleanup_roles.sql executed successfully","timestamp":"2025-04-28T14:39:57.933Z"}
-{"level":"info","message":"Migration 011_cleanup_guest_relations.sql executed successfully","timestamp":"2025-04-28T14:39:57.949Z"}
-{"level":"info","message":"Migration 012_verification_codes.sql executed successfully","timestamp":"2025-04-28T14:39:57.979Z"}
-{"level":"info","message":"Migration 013_update_verification_codes.sql executed successfully","timestamp":"2025-04-28T14:39:57.987Z"}
-{"level":"info","message":"Migration 014_identity_system_refactor.sql executed successfully","timestamp":"2025-04-28T14:39:58.030Z"}
-{"level":"info","message":"Migration 015_users_table_refactor.sql executed successfully","timestamp":"2025-04-28T14:39:58.042Z"}
-{"level":"info","message":"Migration 016_fix_duplicate_identities.sql executed successfully","timestamp":"2025-04-28T14:39:58.067Z"}
-{"level":"info","message":"Migration 017_add_file_storage_columns.sql executed successfully","timestamp":"2025-04-28T14:39:58.083Z"}
-{"level":"info","message":"Migration fix_duplicates_manual.sql executed successfully","timestamp":"2025-04-28T14:39:58.098Z"}
-{"level":"info","message":"Function link_guest_messages.sql executed successfully","timestamp":"2025-04-28T14:39:58.104Z"}
-{"level":"info","message":"Executing UP migration from 000_session_table.sql...","timestamp":"2025-04-28T14:51:16.725Z"}
-{"level":"info","message":"Migration 000_session_table.sql executed successfully","timestamp":"2025-04-28T14:51:16.755Z"}
-{"level":"info","message":"Executing UP migration from 001_initial_schema.sql...","timestamp":"2025-04-28T14:51:16.757Z"}
-{"level":"info","message":"Migration 001_initial_schema.sql executed successfully","timestamp":"2025-04-28T14:51:16.784Z"}
-{"level":"info","message":"Executing UP migration from 002_access_roles.sql...","timestamp":"2025-04-28T14:51:16.786Z"}
-{"level":"info","message":"Migration 002_access_roles.sql executed successfully","timestamp":"2025-04-28T14:51:16.843Z"}
-{"level":"info","message":"Executing UP migration from 003_user_identities.sql...","timestamp":"2025-04-28T14:51:16.845Z"}
-{"level":"info","message":"Migration 003_user_identities.sql executed successfully","timestamp":"2025-04-28T14:51:16.889Z"}
-{"level":"info","message":"Executing UP migration from 004_conversations.sql...","timestamp":"2025-04-28T14:51:16.893Z"}
-{"level":"info","message":"Migration 004_conversations.sql executed successfully","timestamp":"2025-04-28T14:51:16.927Z"}
-{"level":"info","message":"Executing UP migration from 005_messages.sql...","timestamp":"2025-04-28T14:51:16.930Z"}
-{"level":"info","message":"Migration 005_messages.sql executed successfully","timestamp":"2025-04-28T14:51:16.996Z"}
-{"level":"info","message":"Executing UP migration from 006_guest_messages.sql...","timestamp":"2025-04-28T14:51:16.998Z"}
-{"level":"info","message":"Migration 006_guest_messages.sql executed successfully","timestamp":"2025-04-28T14:51:17.037Z"}
-{"level":"info","message":"Executing UP migration from 007_user_preferences.sql...","timestamp":"2025-04-28T14:51:17.039Z"}
-{"level":"info","message":"Migration 007_user_preferences.sql executed successfully","timestamp":"2025-04-28T14:51:17.077Z"}
-{"level":"info","message":"Executing UP migration from 008_update_messages_structure.sql...","timestamp":"2025-04-28T14:51:17.079Z"}
-{"level":"info","message":"Migration 008_update_messages_structure.sql executed successfully","timestamp":"2025-04-28T14:51:17.087Z"}
-{"level":"info","message":"Executing UP migration from 009_nonces_table.sql...","timestamp":"2025-04-28T14:51:17.089Z"}
-{"level":"info","message":"Migration 009_nonces_table.sql executed successfully","timestamp":"2025-04-28T14:51:17.117Z"}
-{"level":"info","message":"Executing UP migration from 010_cleanup_roles.sql...","timestamp":"2025-04-28T14:51:17.119Z"}
-{"level":"info","message":"Migration 010_cleanup_roles.sql executed successfully","timestamp":"2025-04-28T14:51:17.141Z"}
-{"level":"info","message":"Executing UP migration from 011_cleanup_guest_relations.sql...","timestamp":"2025-04-28T14:51:17.143Z"}
-{"level":"info","message":"Migration 011_cleanup_guest_relations.sql executed successfully","timestamp":"2025-04-28T14:51:17.160Z"}
-{"level":"info","message":"Executing UP migration from 012_verification_codes.sql...","timestamp":"2025-04-28T14:51:17.161Z"}
-{"level":"info","message":"Migration 012_verification_codes.sql executed successfully","timestamp":"2025-04-28T14:51:17.187Z"}
-{"level":"info","message":"Executing UP migration from 013_update_verification_codes.sql...","timestamp":"2025-04-28T14:51:17.189Z"}
-{"level":"info","message":"Migration 013_update_verification_codes.sql executed successfully","timestamp":"2025-04-28T14:51:17.195Z"}
-{"level":"info","message":"Executing UP migration from 014_identity_system_refactor.sql...","timestamp":"2025-04-28T14:51:17.196Z"}
-{"level":"info","message":"Migration 014_identity_system_refactor.sql executed successfully","timestamp":"2025-04-28T14:51:17.238Z"}
-{"level":"info","message":"Executing UP migration from 015_users_table_refactor.sql...","timestamp":"2025-04-28T14:51:17.240Z"}
-{"level":"info","message":"Migration 015_users_table_refactor.sql executed successfully","timestamp":"2025-04-28T14:51:17.251Z"}
-{"level":"info","message":"Executing UP migration from 016_fix_duplicate_identities.sql...","timestamp":"2025-04-28T14:51:17.253Z"}
-{"level":"info","message":"Migration 016_fix_duplicate_identities.sql executed successfully","timestamp":"2025-04-28T14:51:17.277Z"}
-{"level":"info","message":"Executing UP migration from 017_add_file_storage_columns.sql...","timestamp":"2025-04-28T14:51:17.278Z"}
-{"level":"info","message":"Migration 017_add_file_storage_columns.sql executed successfully","timestamp":"2025-04-28T14:51:17.286Z"}
-{"level":"info","message":"Executing UP migration from fix_duplicates_manual.sql...","timestamp":"2025-04-28T14:51:17.288Z"}
-{"level":"info","message":"Migration fix_duplicates_manual.sql executed successfully","timestamp":"2025-04-28T14:51:17.303Z"}
-{"level":"info","message":"Function link_guest_messages.sql executed successfully","timestamp":"2025-04-28T14:51:17.310Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:52:49.607Z"}
-{"cookie":{"expires":"2025-05-28T14:52:49.598Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"89ed82fc2d333510bae56f8f2d4c9f32","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T14:52:49.632Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:52:49.641Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:52:49.662Z"}
-{"cookie":{"expires":"2025-05-28T14:52:49.659Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"a6ad4501ae3e2ca50877ae1f09c830f3","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T14:52:49.664Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:52:49.669Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:52:49.682Z"}
-{"cookie":{"expires":"2025-05-28T14:52:49.679Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"751c8c8e1a1232800d24c6c6e3903f55","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T14:52:49.683Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:52:49.687Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T14:52:57.975Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T14:52:57.987Z"}
-{"file":null,"guestId":"1745850508983-zb9xi0g4t","level":"info","message":"Saving guest message: шр","mimetype":null,"size":null,"timestamp":"2025-04-28T14:52:57.989Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T14:52:58.016Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T14:52:58.020Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T14:53:06.940Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T14:53:06.969Z"}
-{"file":"image (15).png","guestId":"1745850508983-zb9xi0g4t","level":"info","message":"Saving guest message:","mimetype":"image/png","size":18375,"timestamp":"2025-04-28T14:53:07.020Z"}
-{"code":"23502","column":"content","detail":"Failing row contains (2, 1745850508983-zb9xi0g4t, null, ru, f, 2025-04-28 14:53:07.021316+00, image (15).png, image/png, 18375, \\x89504e470d0a1a0a0000000d4948445200000213000000ee08060000008330...).","file":"execMain.c","length":383,"level":"error","line":"2006","message":"Error saving guest message: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint","name":"error","routine":"ExecConstraints","schema":"public","severity":"ERROR","stack":"error: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:224:20","table":"guest_messages","timestamp":"2025-04-28T14:53:07.027Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:55:32.915Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:55:32.949Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:55:32.969Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T14:55:42.335Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T14:55:42.380Z"}
-{"file":"image (34).png","guestId":"1745850508983-zb9xi0g4t","level":"info","message":"Saving guest message:","mimetype":"image/png","size":107094,"timestamp":"2025-04-28T14:55:42.453Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T14:55:42.470Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T14:55:42.481Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T14:55:55.842Z"}
-{"level":"info","message":"Nonce d797ac1e8e243c4169e985ef123f809f сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T14:55:55.872Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T14:56:00.298Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T14:56:00.300Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:56:00.482Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T14:56:01.909Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T14:56:01.910Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T14:56:02.046Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T14:56:02.047Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T14:56:02.093Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T14:56:02.094Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T14:56:02.180Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T14:56:02.181Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","arbitrum","polygon"],"timestamp":"2025-04-28T14:56:02.182Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:56:02.183Z"}
-{"level":"info","message":"New user 1 role check result: admin","timestamp":"2025-04-28T14:56:02.183Z"}
-{"level":"info","message":"New user 1 with wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b automatically granted admin role","timestamp":"2025-04-28T14:56:02.207Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:56:02.208Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:56:02.211Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:56:02.216Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:56:02.216Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T14:56:02.556Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T14:56:02.557Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T14:56:02.687Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T14:56:02.687Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T14:56:02.694Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T14:56:02.694Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T14:56:02.868Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T14:56:02.868Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T14:56:02.868Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:56:02.868Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T14:56:02.875Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T14:52:49.679Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745850508983-zb9xi0g4t","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T14:56:02.879Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:56:02.884Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745850508983-zb9xi0g4t, previousGuestId=undefined","timestamp":"2025-04-28T14:56:02.885Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:56:02.891Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:56:02.893Z"}
-{"level":"info","message":"Found 2 guest messages for guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:56:02.908Z"}
-{"level":"info","message":"Created new conversation 1 for guest messages","timestamp":"2025-04-28T14:56:02.914Z"}
-{"level":"info","message":"Processing guest message ID 1: шр","timestamp":"2025-04-28T14:56:02.914Z"}
-{"level":"info","message":"Saved user message with ID 1","timestamp":"2025-04-28T14:56:02.922Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T14:56:02.923Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:57:23.313Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.331Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:57:23.368Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.372Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:57:23.400Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.415Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.446Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.453Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.468Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.475Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:23.499Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:23.504Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:57:23.531Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.537Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:57:23.563Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.569Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.572Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.577Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.599Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.604Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.622Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.627Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.642Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.645Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.661Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.666Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:23.682Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:23.686Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:57:24.496Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:24.499Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T14:57:24.520Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T14:57:24.540Z"}
-{"level":"error","message":"Error fetching message history for user 1: syntax error at or near \"$\"","stack":"error: syntax error at or near \"$\"\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:484:20","timestamp":"2025-04-28T14:57:24.546Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T14:57:24.875Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T14:57:26.402Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T14:57:27.892Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T14:57:29.467Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T14:57:29.467Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:29.488Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:29.491Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T14:57:30.044Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T14:57:30.469Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T14:57:31.363Z"}
-{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-28T14:57:31.853Z"}
-{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-28T14:52:49.679Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":null,"guestId":null,"isAdmin":false,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":null,"previousGuestId":null,"processedGuestIds":[],"telegramId":null,"timestamp":"2025-04-28T14:57:31.855Z","userId":null}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:57:31.863Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T14:57:31.924Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T14:57:31.925Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T14:57:42.995Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T14:57:43.008Z"}
-{"file":"image (35).png","guestId":"1745852262561-8ruitvvmj","level":"info","message":"Saving guest message:","mimetype":"image/png","size":183000,"timestamp":"2025-04-28T14:57:43.221Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T14:57:44.350Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T14:57:44.377Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T14:57:46.331Z"}
-{"level":"info","message":"Nonce f6956f9ea5b318c9fd175fdface4b790 сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T14:57:46.364Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T14:57:47.356Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T14:57:47.357Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:47.476Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T14:57:48.712Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T14:57:48.712Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T14:57:48.807Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T14:57:48.808Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T14:57:48.846Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T14:57:48.846Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T14:57:48.849Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T14:57:48.849Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","polygon","arbitrum","eth"],"timestamp":"2025-04-28T14:57:48.850Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:48.850Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:48.851Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745852262561-8ruitvvmj","timestamp":"2025-04-28T14:57:48.852Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:48.859Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:48.859Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T14:57:49.206Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T14:57:49.207Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T14:57:49.341Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T14:57:49.342Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T14:57:49.367Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T14:57:49.368Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T14:57:49.550Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T14:57:49.551Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T14:57:49.551Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:57:49.551Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T14:57:49.558Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T14:57:42.989Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745852262561-8ruitvvmj","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T14:57:49.562Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:57:49.566Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745852262561-8ruitvvmj, previousGuestId=undefined","timestamp":"2025-04-28T14:57:49.567Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745852262561-8ruitvvmj","timestamp":"2025-04-28T14:57:49.573Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745852262561-8ruitvvmj","timestamp":"2025-04-28T14:57:49.575Z"}
-{"level":"info","message":"Found 1 guest messages for guest ID 1745852262561-8ruitvvmj","timestamp":"2025-04-28T14:57:49.586Z"}
-{"level":"info","message":"Created new conversation 2 for guest messages","timestamp":"2025-04-28T14:57:49.591Z"}
-{"level":"info","message":"Processing guest message ID 4: image (35).png","timestamp":"2025-04-28T14:57:49.592Z"}
-{"level":"info","message":"Saved user message with ID 2","timestamp":"2025-04-28T14:57:49.644Z"}
-{"level":"info","message":"Skipping AI response for guest message ID 4 (is_ai: false, hasContent: false)","timestamp":"2025-04-28T14:57:49.645Z"}
-{"level":"info","message":"Deleted 1 processed guest messages for guest ID 1745852262561-8ruitvvmj","timestamp":"2025-04-28T14:57:49.649Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745852262561-8ruitvvmj","timestamp":"2025-04-28T14:57:49.653Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:57:49.657Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:57:49.658Z"}
-{"level":"info","message":"Found 2 guest messages for guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:57:49.672Z"}
-{"level":"info","message":"Created new conversation 3 for guest messages","timestamp":"2025-04-28T14:57:49.677Z"}
-{"level":"info","message":"Processing guest message ID 1: шр","timestamp":"2025-04-28T14:57:49.677Z"}
-{"level":"info","message":"Saved user message with ID 3","timestamp":"2025-04-28T14:57:49.683Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T14:57:49.684Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:57:53.877Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:57:53.882Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:58:24.113Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:24.123Z"}
-{"level":"info","message":"AI response received","timestamp":"2025-04-28T14:58:33.547Z"}
-{"level":"info","message":"Saved AI response with ID 4","timestamp":"2025-04-28T14:58:33.554Z"}
-{"level":"info","message":"Processing guest message ID 3: image (34).png","timestamp":"2025-04-28T14:58:33.555Z"}
-{"level":"info","message":"Saved user message with ID 5","timestamp":"2025-04-28T14:58:33.565Z"}
-{"level":"info","message":"Skipping AI response for guest message ID 3 (is_ai: false, hasContent: false)","timestamp":"2025-04-28T14:58:33.565Z"}
-{"level":"info","message":"Deleted 2 processed guest messages for guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:58:33.568Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T14:58:33.571Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T14:57:42.989Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745852262561-8ruitvvmj","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745852262561-8ruitvvmj","1745850508983-zb9xi0g4t"],"timestamp":"2025-04-28T14:58:33.574Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T14:58:33.577Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:58:33.591Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:33.593Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:58:33.616Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:33.621Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:58:33.639Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:33.642Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:58:33.646Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:58:33.647Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T14:58:34.886Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T14:58:35.429Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:35.433Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T14:58:35.457Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T14:58:35.481Z"}
-{"level":"error","message":"Error fetching message history for user 1: syntax error at or near \"$\"","stack":"error: syntax error at or near \"$\"\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:484:20","timestamp":"2025-04-28T14:58:35.485Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T14:58:36.344Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T14:58:37.800Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T14:58:39.586Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T14:58:39.587Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:58:39.601Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T14:58:39.602Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T14:58:40.220Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T14:58:40.658Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T14:58:41.521Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T14:58:42.085Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T14:58:42.085Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:58:54.342Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:54.346Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:58:54.381Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:58:54.384Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:59:24.973Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:59:24.978Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:59:24.993Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:59:24.996Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:59:55.183Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:59:55.188Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T14:59:55.202Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T14:59:55.205Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:00:24.998Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:25.008Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:00:25.037Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:25.043Z"}
-{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-28T15:00:27.747Z"}
-{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-28T14:57:42.989Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":null,"guestId":null,"isAdmin":false,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":null,"previousGuestId":null,"processedGuestIds":[],"telegramId":null,"timestamp":"2025-04-28T15:00:27.749Z","userId":null}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T15:00:27.754Z"}
-{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-28T15:00:42.015Z"}
-{"level":"info","message":"Received /guest-message request","timestamp":"2025-04-28T15:00:42.027Z"}
-{"file":"image (3).png","guestId":"1745852442788-p2tv0lcbo","level":"info","message":"Saving guest message:","mimetype":"image/png","size":29740,"timestamp":"2025-04-28T15:00:42.066Z"}
-{"level":"info","message":"Guest message saved with ID:","timestamp":"2025-04-28T15:00:42.096Z"}
-{"level":"info","message":"Session saved after guest message","timestamp":"2025-04-28T15:00:42.101Z"}
-{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T15:00:44.198Z"}
-{"level":"info","message":"Nonce adf09072890b006ebd93227861050e9f сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T15:00:44.226Z"}
-{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-28T15:00:46.946Z"}
-{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-28T15:00:46.948Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:47.060Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T15:00:48.313Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T15:00:48.314Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T15:00:48.377Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T15:00:48.378Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T15:00:48.381Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T15:00:48.382Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T15:00:48.673Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T15:00:48.673Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["arbitrum","eth","bsc","polygon"],"timestamp":"2025-04-28T15:00:48.674Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:48.674Z"}
-{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:48.675Z"}
-{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745852442788-p2tv0lcbo","timestamp":"2025-04-28T15:00:48.676Z"}
-{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:48.776Z"}
-{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:48.777Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-28T15:00:49.147Z"}
-{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-28T15:00:49.147Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-28T15:00:49.262Z"}
-{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-28T15:00:49.263Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-28T15:00:49.320Z"}
-{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-28T15:00:49.320Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-28T15:00:49.589Z"}
-{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-28T15:00:49.589Z"}
-{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","eth","polygon","arbitrum"],"timestamp":"2025-04-28T15:00:49.590Z"}
-{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:49.590Z"}
-{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-28T15:00:49.597Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T15:00:42.010Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745852442788-p2tv0lcbo","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T15:00:49.601Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T15:00:49.608Z"}
-{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745852442788-p2tv0lcbo, previousGuestId=undefined","timestamp":"2025-04-28T15:00:49.609Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745852442788-p2tv0lcbo","timestamp":"2025-04-28T15:00:49.615Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745852442788-p2tv0lcbo","timestamp":"2025-04-28T15:00:49.616Z"}
-{"level":"info","message":"Found 1 guest messages for guest ID 1745852442788-p2tv0lcbo","timestamp":"2025-04-28T15:00:49.625Z"}
-{"level":"info","message":"Created new conversation 4 for guest messages","timestamp":"2025-04-28T15:00:49.639Z"}
-{"level":"info","message":"Processing guest message ID 5: image (3).png","timestamp":"2025-04-28T15:00:49.640Z"}
-{"level":"info","message":"Saved user message with ID 6","timestamp":"2025-04-28T15:00:49.653Z"}
-{"level":"info","message":"Skipping AI response for guest message ID 5 (is_ai: false, hasContent: false)","timestamp":"2025-04-28T15:00:49.654Z"}
-{"level":"info","message":"Deleted 1 processed guest messages for guest ID 1745852442788-p2tv0lcbo","timestamp":"2025-04-28T15:00:49.660Z"}
-{"level":"info","message":"Marked guest mapping as processed for guest ID 1745852442788-p2tv0lcbo","timestamp":"2025-04-28T15:00:49.665Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745850508983-zb9xi0g4t","timestamp":"2025-04-28T15:00:49.671Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745850508983-zb9xi0g4t","timestamp":"2025-04-28T15:00:49.671Z"}
-{"level":"info","message":"Guest messages for guest ID 1745850508983-zb9xi0g4t were already processed.","timestamp":"2025-04-28T15:00:49.674Z"}
-{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745852262561-8ruitvvmj","timestamp":"2025-04-28T15:00:49.678Z"}
-{"level":"info","message":"Processing guest messages for user 1 with guest ID 1745852262561-8ruitvvmj","timestamp":"2025-04-28T15:00:49.679Z"}
-{"level":"info","message":"Guest messages for guest ID 1745852262561-8ruitvvmj were already processed.","timestamp":"2025-04-28T15:00:49.682Z"}
-{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-28T15:00:42.010Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745852442788-p2tv0lcbo","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745852442788-p2tv0lcbo","1745850508983-zb9xi0g4t","1745852262561-8ruitvvmj"],"timestamp":"2025-04-28T15:00:49.686Z","userId":1}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T15:00:49.690Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:00:49.709Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:49.713Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:00:49.743Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:49.752Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:00:49.776Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:49.779Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:49.790Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:49.793Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:00:50.282Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:00:50.671Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:00:50.848Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:50.851Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T15:00:50.870Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T15:00:50.886Z"}
-{"count":6,"level":"info","limit":30,"message":"Returning message history for user 1","offset":0,"timestamp":"2025-04-28T15:00:50.897Z","total":6}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:00:51.392Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:00:51.876Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:00:51.876Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:51.892Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:00:51.893Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:00:52.427Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:00:52.856Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:00:53.758Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:00:54.320Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:00:54.320Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:00:55.243Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:55.245Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:00:55.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:00:55.273Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:01:25.388Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:01:25.393Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:01:25.410Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:01:25.413Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:01:56.015Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:01:56.020Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:01:56.048Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:01:56.051Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:02:23.789Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:02:23.794Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:02:23.815Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:02:23.820Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:03:25.219Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:03:25.223Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:03:25.238Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:03:25.241Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:04:26.852Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:04:26.856Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:04:26.877Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:04:26.882Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:05:27.350Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:05:27.357Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:05:27.395Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:05:27.399Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:05:49.908Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:05:49.909Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:05:51.671Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:05:53.470Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:05:55.273Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:05:57.412Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:05:57.412Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:06:27.718Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:06:27.726Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:06:27.767Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:06:27.772Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:07:27.317Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:07:27.324Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:07:27.364Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:07:27.368Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T15:07:38.701Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T15:07:38.707Z"}
-{"conversationId":5,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T15:07:38.723Z","userId":1}
-{"conversationId":5,"level":"info","message":"User message saved","messageId":7,"timestamp":"2025-04-28T15:07:38.734Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T15:07:38.735Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:07:56.808Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:07:56.817Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:07:56.837Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:07:56.842Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:08:25.304Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:08:23.668Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:08:23.693Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:08:23.699Z"}
-{"conversationId":5,"level":"info","message":"AI response received","timestamp":"2025-04-28T15:08:25.059Z"}
-{"conversationId":5,"level":"info","message":"AI response saved","messageId":8,"timestamp":"2025-04-28T15:08:25.087Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:08:53.390Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:08:53.399Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:08:53.439Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:08:53.444Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:09:24.053Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.067Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:09:24.117Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.121Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.145Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.155Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.176Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.180Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:09:24.215Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:09:24.216Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:09:24.228Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.242Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:09:24.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.268Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.341Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.346Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.366Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.370Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.390Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.393Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.407Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.409Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.422Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.425Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:24.436Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:24.440Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:09:25.237Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:25.241Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T15:09:25.267Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T15:09:25.294Z"}
-{"count":8,"level":"info","limit":30,"message":"Returning message history for user 1","offset":0,"timestamp":"2025-04-28T15:09:25.322Z","total":8}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:09:26.118Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:09:27.253Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:09:29.595Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:09:31.390Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:09:31.390Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:55.301Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:55.310Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:09:55.331Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:09:55.337Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:10:27.137Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:10:27.144Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:10:27.180Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:10:27.185Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:10:55.296Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:10:55.304Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:10:55.340Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:10:55.344Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:11:25.877Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:11:25.885Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:11:25.905Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:11:25.909Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:11:56.701Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:11:56.709Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:11:56.739Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:11:56.743Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:12:23.864Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:12:23.870Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:12:23.903Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:12:23.909Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:12:56.582Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:12:56.590Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:12:56.630Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:12:56.635Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:13:25.786Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:13:25.807Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:13:25.858Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:13:25.862Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:13:56.065Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:13:56.077Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:13:56.102Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:13:56.106Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:14:26.605Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:14:26.606Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:14:26.614Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:14:26.627Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:14:26.650Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:14:26.653Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:14:28.119Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:14:27.542Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:14:28.834Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:14:30.231Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:14:30.231Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:14:54.670Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:14:54.675Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:14:54.689Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:14:54.692Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:15:24.164Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:15:24.172Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:15:24.199Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:15:24.208Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:15:54.316Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:15:54.324Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:15:54.362Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:15:54.366Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:16:25.127Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:16:25.135Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:16:25.158Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:16:25.163Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:16:55.307Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:16:55.314Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:16:55.354Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:16:55.358Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:17:25.474Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:17:25.482Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:17:25.505Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:17:25.510Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:18:27.006Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:18:27.012Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:18:27.033Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:18:27.042Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:18:55.388Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:18:55.396Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:18:55.421Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:18:55.427Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:19:26.019Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.025Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:19:26.078Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.086Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.113Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.120Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.145Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.151Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:19:26.178Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.183Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:19:26.209Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.214Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:19:26.216Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:19:26.218Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.280Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.328Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.333Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.351Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.355Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.376Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.379Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.400Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.406Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:26.434Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:26.438Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T15:19:27.210Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:27.214Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T15:19:27.273Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T15:19:27.298Z"}
-{"count":8,"level":"info","limit":30,"message":"Returning message history for user 1","offset":0,"timestamp":"2025-04-28T15:19:27.322Z","total":8}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:19:27.563Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:19:28.777Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:19:30.213Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:19:31.979Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:19:31.979Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T15:19:41.945Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T15:19:41.957Z"}
-{"conversationId":6,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T15:19:42.198Z","userId":1}
-{"conversationId":6,"level":"info","message":"User message saved","messageId":9,"timestamp":"2025-04-28T15:19:42.218Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T15:19:52.990Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T15:19:53.018Z"}
-{"conversationId":7,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T15:19:54.038Z","userId":1}
-{"conversationId":7,"level":"info","message":"User message saved","messageId":10,"timestamp":"2025-04-28T15:19:54.199Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:56.482Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:56.488Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:19:56.547Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:19:56.551Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:20:27.729Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:20:27.737Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:20:27.760Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:20:27.766Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:20:56.971Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:20:56.980Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:20:57.003Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:20:57.007Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:21:25.868Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:21:25.876Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:21:25.898Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:21:25.901Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:21:55.975Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:21:55.982Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:21:55.999Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:21:56.007Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:22:26.253Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:22:26.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:22:26.301Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:22:26.309Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:22:55.318Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:22:55.323Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:22:55.356Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:22:55.359Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T15:23:01.058Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T15:23:01.075Z"}
-{"conversationId":8,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T15:23:01.230Z","userId":1}
-{"conversationId":8,"level":"info","message":"User message saved","messageId":11,"timestamp":"2025-04-28T15:23:01.249Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T15:23:11.656Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T15:23:11.664Z"}
-{"conversationId":9,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T15:23:11.837Z","userId":1}
-{"conversationId":9,"level":"info","message":"User message saved","messageId":12,"timestamp":"2025-04-28T15:23:11.868Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:23:25.514Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:23:25.522Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:23:25.548Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:23:25.552Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:23:56.707Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:23:56.736Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:23:56.757Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:23:56.764Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:24:25.827Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T15:24:25.828Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:24:26.890Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:24:26.901Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T15:24:27.044Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T15:24:27.048Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T15:24:27.388Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T15:24:29.176Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T15:24:30.801Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T15:24:32.558Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T15:24:32.558Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T16:43:06.760Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.779Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T16:43:06.797Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.802Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:43:06.824Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:43:06.826Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.837Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.841Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.851Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.854Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T16:43:06.862Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.864Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T16:43:06.909Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.910Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.921Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.922Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.932Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.935Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.950Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.952Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.964Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.966Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.978Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.979Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:06.990Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:06.993Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T16:43:07.821Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:07.822Z"}
-{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-28T16:43:07.834Z"}
-{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-28T16:43:07.854Z"}
-{"count":12,"level":"info","limit":30,"message":"Returning message history for user 1","offset":0,"timestamp":"2025-04-28T16:43:07.898Z","total":12}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T16:43:09.276Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T16:43:10.496Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T16:43:11.776Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T16:43:13.633Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T16:43:13.634Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:36.945Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:36.949Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:43:36.960Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:43:36.962Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:44:07.353Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:44:07.356Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:44:07.386Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:44:07.388Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:44:37.316Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:44:37.319Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:44:37.329Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:44:37.330Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:45:07.332Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:45:07.335Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:45:07.345Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:45:07.347Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:45:37.327Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:45:37.330Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:45:37.340Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:45:37.342Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:46:38.294Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:46:38.298Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:46:38.309Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:46:38.311Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:47:07.343Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:47:07.346Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:47:07.375Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:47:07.377Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:47:37.305Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:47:37.309Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:47:37.330Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:47:37.332Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:48:07.303Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:48:07.304Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T16:48:08.514Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T16:48:11.178Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T16:48:13.211Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T16:48:15.069Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T16:48:15.069Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:48:38.300Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:48:38.303Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:48:38.317Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:48:38.318Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:49:39.306Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:49:39.308Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:49:39.316Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:49:39.317Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:50:40.296Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:50:40.300Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:50:40.330Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:50:40.331Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:51:41.281Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:51:41.285Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:51:41.312Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:51:41.313Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:52:42.300Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:52:42.302Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:52:42.311Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:52:42.313Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:53:07.339Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:53:07.339Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T16:53:08.651Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T16:53:09.815Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T16:53:11.250Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T16:53:12.580Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T16:53:12.580Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:53:43.338Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:53:43.342Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:53:43.350Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:53:43.352Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:54:44.324Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:54:44.328Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:54:44.338Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:54:44.339Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:55:45.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:55:45.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:55:45.281Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:55:45.282Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:56:46.288Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:56:46.292Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:56:46.303Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:56:46.304Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:57:47.240Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:57:47.244Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:57:47.255Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:57:47.256Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:58:07.321Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T16:58:07.322Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T16:58:08.618Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T16:58:09.780Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T16:58:10.886Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T16:58:12.402Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T16:58:12.402Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:58:48.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:58:48.272Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:58:48.300Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:58:48.301Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:59:49.250Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:59:49.254Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T16:59:49.283Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T16:59:49.284Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:00:50.227Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:00:50.231Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:00:50.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:00:50.261Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:01:51.287Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:01:51.290Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:01:51.299Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:01:51.301Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:02:52.255Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:02:52.258Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:02:52.286Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:02:52.288Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:03:07.284Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:03:07.285Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:03:08.441Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:03:09.917Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:03:11.381Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:03:14.006Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:03:14.007Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:03:52.232Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:03:52.235Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:03:52.264Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:03:52.266Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:04:52.234Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:04:52.237Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:04:52.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:04:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:05:52.254Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:05:52.258Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:05:52.288Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:05:52.289Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:06:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:06:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:06:52.277Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:06:52.279Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:07:52.203Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:07:52.206Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:07:52.235Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:07:52.237Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:08:52.227Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:08:52.228Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:08:52.229Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:08:52.230Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:08:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:08:52.261Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:08:53.583Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:08:54.697Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:08:56.779Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:08:58.114Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:08:58.115Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:09:52.244Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:09:52.247Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:09:52.275Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:09:52.277Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:10:52.191Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:10:52.194Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:10:52.204Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:10:52.206Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:11:52.181Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:11:52.184Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:11:52.215Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:11:52.217Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:12:52.260Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:12:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:12:52.291Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:12:52.293Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:13:52.289Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:13:52.290Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:13:52.291Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:13:52.294Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:13:52.323Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:13:52.325Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:13:53.579Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:13:54.670Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:13:55.799Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:13:57.344Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:13:57.345Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:14:52.268Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:14:52.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:14:52.283Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:14:52.284Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:15:52.191Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:15:52.194Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:15:52.223Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:15:52.225Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:16:52.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:16:52.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:16:52.283Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:16:52.285Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:17:52.232Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:17:52.235Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:17:52.244Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:17:52.245Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:18:52.230Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:18:52.232Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:18:52.232Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:18:52.233Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:18:52.261Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:18:52.263Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:18:53.718Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:18:55.041Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:18:56.493Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:18:58.309Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:18:58.309Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:19:52.268Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:19:52.272Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:19:52.286Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:19:52.288Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:20:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:20:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:20:52.278Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:20:52.279Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:21:52.239Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:21:52.241Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:21:52.253Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:21:52.254Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:22:52.290Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:22:52.293Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:22:52.303Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:22:52.305Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:23:52.257Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:23:52.259Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:23:52.260Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:23:52.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:23:52.271Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:23:52.275Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:23:53.877Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:23:55.506Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:23:57.236Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:23:58.863Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:23:58.864Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:24:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:24:52.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:24:52.284Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:24:52.287Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:25:52.253Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:25:52.256Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:25:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:25:52.268Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:26:52.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:26:52.273Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:26:52.301Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:26:52.303Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:27:52.147Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:27:52.152Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:27:52.172Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:27:52.175Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:28:52.264Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:28:52.265Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:28:52.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:28:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:28:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:28:52.274Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:28:53.491Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:28:54.388Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:28:55.393Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:28:56.458Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:28:56.458Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:29:52.225Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:29:52.227Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:29:52.233Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:29:52.235Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:30:52.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:30:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:30:52.275Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:30:52.277Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:31:52.232Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:31:52.235Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:31:52.242Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:31:52.243Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:32:52.163Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:32:52.165Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:32:52.172Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:32:52.173Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:33:52.288Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:33:52.289Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:33:52.289Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:33:52.290Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:33:52.298Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:33:52.299Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:33:53.547Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:33:54.509Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:33:55.701Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:33:57.226Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:33:57.226Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:34:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:34:52.262Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:34:52.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:34:52.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:35:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:35:52.274Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:35:52.281Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:35:52.282Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:36:52.244Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:36:52.247Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:36:52.254Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:36:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:37:52.247Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:37:52.250Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:37:52.258Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:37:52.259Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:38:52.278Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:38:52.279Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:38:52.279Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:38:52.281Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:38:52.288Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:38:52.291Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:38:53.659Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:38:54.780Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:38:55.899Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:38:57.020Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:38:57.020Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:39:52.252Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:39:52.254Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:39:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:39:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:40:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:40:52.261Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:40:52.269Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:40:52.270Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:41:52.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:41:52.273Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:41:52.280Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:41:52.281Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:42:52.287Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:42:52.290Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:42:52.298Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:42:52.299Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:43:52.300Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:43:52.300Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:43:52.302Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:43:52.304Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:43:52.314Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:43:52.315Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:43:53.602Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:43:54.624Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:43:55.708Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:43:56.831Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:43:56.832Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:44:52.283Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:44:52.285Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:44:52.293Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:44:52.294Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:45:52.249Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:45:52.251Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:45:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:45:52.261Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:46:52.217Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:46:52.219Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:46:52.227Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:46:52.228Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:47:52.252Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:47:52.254Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:47:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:47:52.264Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:48:52.256Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:48:52.256Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:48:52.257Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:48:52.259Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:48:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:48:52.269Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:48:54.862Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:48:56.192Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:48:57.464Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:48:59.326Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:48:59.326Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:49:52.178Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:49:52.180Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:49:52.188Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:49:52.189Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:50:52.187Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:50:52.189Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:50:52.197Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:50:52.198Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:51:52.277Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:51:52.279Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:51:52.286Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:51:52.287Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:52:52.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:52:52.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:52:52.284Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:52:52.285Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:53:52.261Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:53:52.261Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:53:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:53:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:53:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:53:52.275Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:53:53.602Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:53:54.474Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:53:55.447Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:53:56.838Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:53:56.839Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:54:52.273Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:54:52.275Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:54:52.282Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:54:52.284Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:55:52.258Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:55:52.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:55:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:55:52.268Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:56:52.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:56:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:56:52.275Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:56:52.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:57:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:57:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:57:52.273Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:57:52.274Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:58:52.283Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T17:58:52.284Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:58:52.286Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:58:52.288Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:58:52.298Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:58:52.299Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T17:58:53.371Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T17:58:54.395Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T17:58:55.422Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T17:58:56.782Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T17:58:56.782Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:59:52.273Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:59:52.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T17:59:52.284Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T17:59:52.285Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:00:52.260Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:00:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:00:52.271Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:00:52.272Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:01:52.255Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:01:52.257Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:01:52.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:01:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:02:52.252Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:02:52.254Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:02:52.261Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:02:52.262Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:03:52.252Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:03:52.253Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:03:52.254Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:03:52.256Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:03:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:03:52.266Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:03:54.379Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:03:55.909Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:03:57.249Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:03:58.581Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:03:58.582Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:04:52.253Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:04:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:04:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:04:52.264Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:05:52.241Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:05:52.243Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:05:52.251Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:05:52.252Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:06:52.251Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:06:52.253Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:06:52.261Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:06:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:07:52.339Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:07:52.341Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:07:52.350Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:07:52.351Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:08:52.264Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:08:52.265Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:08:52.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:08:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:08:52.275Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:08:52.278Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:08:53.534Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:08:54.637Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:08:55.726Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:08:57.068Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:08:57.068Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:09:52.291Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:09:52.294Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:09:52.300Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:09:52.301Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:10:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:10:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:10:52.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:10:52.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:11:52.275Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:11:52.278Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:11:52.286Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:11:52.287Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:12:52.248Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:12:52.250Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:12:52.258Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:12:52.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:13:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:13:52.261Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:13:52.262Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:13:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:13:52.269Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:13:52.270Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:13:53.579Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:13:54.654Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:13:55.821Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:13:57.212Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:13:57.212Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:14:52.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:14:52.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:14:52.285Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:14:52.286Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:15:52.240Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:15:52.242Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:15:52.250Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:15:52.251Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:16:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:16:52.274Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:16:52.283Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:16:52.284Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:17:52.258Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:17:52.261Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:17:52.269Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:17:52.270Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:18:52.249Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:18:52.250Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:18:52.251Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:18:52.253Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:18:52.260Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:18:52.262Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:18:54.636Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:18:56.050Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:18:57.118Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:18:59.534Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:18:59.535Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:19:52.256Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:19:52.258Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:19:52.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:19:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:20:52.268Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:20:52.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:20:52.278Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:20:52.279Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:21:52.247Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:21:52.249Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:21:52.257Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:21:52.258Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:22:52.216Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:22:52.219Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:22:52.227Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:22:52.228Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:23:52.265Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:23:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:23:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:23:52.269Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:23:52.279Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:23:52.280Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:23:53.275Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:23:54.304Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:23:55.421Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:23:56.438Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:23:56.439Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:24:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:24:52.274Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:24:52.280Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:24:52.281Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:25:52.257Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:25:52.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:25:52.268Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:25:52.269Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:26:52.256Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:26:52.258Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:26:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:26:52.268Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:27:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:27:52.274Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:27:52.281Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:27:52.282Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:28:52.254Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:28:52.255Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:28:52.255Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:28:52.256Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:28:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:28:52.265Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:28:53.168Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:28:54.263Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:28:55.402Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:28:56.865Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:28:56.865Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:29:52.251Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:29:52.252Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:29:52.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:29:52.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:30:52.278Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:30:52.281Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:30:52.289Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:30:52.290Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:31:52.256Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:31:52.259Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:31:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:31:52.268Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:32:52.258Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:32:52.260Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:32:52.266Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:32:52.268Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:33:52.263Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:33:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:33:52.264Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:33:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:33:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:33:52.274Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:33:53.553Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:33:54.758Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:33:55.899Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:33:57.326Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:33:57.326Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:34:52.236Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:34:52.239Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:34:52.245Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:34:52.246Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:35:52.237Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:35:52.239Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:35:52.246Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:35:52.247Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:36:52.246Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:36:52.248Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:36:52.255Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:36:52.256Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:37:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:37:52.264Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:37:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:37:52.273Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:38:52.245Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:38:52.245Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:38:52.246Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:38:52.248Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:38:52.257Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:38:52.259Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:38:53.351Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:38:54.537Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:38:55.694Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:38:56.816Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:38:56.816Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:39:52.254Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:39:52.256Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:39:52.264Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:39:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:40:52.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:40:52.270Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:40:52.278Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:40:52.279Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:41:52.243Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:41:52.246Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:41:52.254Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:41:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:42:52.258Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:42:52.261Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:42:52.269Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:42:52.270Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:43:52.271Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:43:52.272Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:43:52.272Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:43:52.274Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:43:52.282Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:43:52.285Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:43:53.598Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:43:54.797Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:43:55.875Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:43:57.320Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:43:57.320Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:44:52.282Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:44:52.284Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:44:52.292Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:44:52.293Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:45:52.251Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:45:52.253Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:45:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:45:52.262Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:46:52.264Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:46:52.266Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:46:52.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:46:52.275Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:47:52.256Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:47:52.258Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:47:52.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:47:52.266Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:48:52.277Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:48:52.277Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:48:52.278Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:48:52.280Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:48:52.290Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:48:52.291Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:48:53.737Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:48:54.845Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:48:56.018Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:48:57.435Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:48:57.436Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:49:52.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:49:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:49:52.275Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:49:52.276Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:50:52.264Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:50:52.266Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:50:52.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:50:52.275Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:51:52.246Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:51:52.248Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:51:52.256Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:51:52.257Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:52:52.250Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:52:52.253Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:52:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:52:52.264Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:53:52.255Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:53:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:53:52.257Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:53:52.259Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:53:52.268Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:53:52.269Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:53:53.650Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:53:54.794Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:53:55.970Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:53:57.599Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:53:57.600Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:54:52.252Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:54:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:54:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:54:52.264Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:55:52.255Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:55:52.257Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:55:52.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:55:52.266Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:56:52.265Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:56:52.267Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:56:52.274Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:56:52.275Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:57:52.253Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:57:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:57:52.262Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:57:52.264Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:58:52.263Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:58:52.264Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T18:58:52.264Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:58:52.265Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:58:52.273Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:58:52.274Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T18:58:53.636Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T18:58:54.589Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T18:58:55.836Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T18:58:56.873Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T18:58:56.873Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:59:52.261Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:59:52.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T18:59:52.270Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T18:59:52.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:00:52.251Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:00:52.253Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:00:52.261Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:00:52.262Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:01:52.253Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:01:52.255Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:01:52.263Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:01:52.264Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:02:52.332Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:02:52.356Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:02:52.424Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:02:52.433Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T19:03:06.618Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T19:03:06.619Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:03:06.839Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:03:06.842Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:03:06.871Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:03:06.872Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T19:03:07.671Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T19:03:08.676Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T19:03:10.496Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T19:03:11.657Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T19:03:11.658Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:03:36.884Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:03:36.887Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:03:36.916Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:03:36.917Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:04:06.935Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:04:06.940Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:04:06.949Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:04:06.952Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:04:37.259Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:04:37.263Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:04:37.291Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:04:37.292Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:05:06.940Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:05:06.945Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:05:06.954Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:05:06.955Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:05:36.896Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:05:36.899Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:05:36.909Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:05:36.911Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T19:05:53.499Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T19:05:53.512Z"}
-{"conversationId":41,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T19:05:53.750Z","userId":1}
-{"conversationId":41,"level":"info","message":"User message saved","messageId":44,"timestamp":"2025-04-28T19:05:53.792Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:06:06.897Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:06:06.900Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:06:06.928Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:06:06.929Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:06:36.914Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:06:36.918Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:06:36.930Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:06:36.931Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:07:07.267Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:07:07.271Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:07:07.281Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:07:07.283Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:07:37.246Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:07:37.249Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:07:37.277Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:07:37.278Z"}
-{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T19:08:38.306Z"}
-{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-28T19:08:38.307Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:08:38.307Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:08:38.313Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:08:38.328Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:08:38.330Z"}
-{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-28T19:08:39.440Z"}
-{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-28T19:08:40.288Z"}
-{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-28T19:08:41.512Z"}
-{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-28T19:08:42.928Z"}
-{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-28T19:08:42.928Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:09:06.912Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:09:06.916Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:09:06.927Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:09:06.928Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T19:09:13.547Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T19:09:13.550Z"}
-{"conversationId":42,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T19:09:13.721Z","userId":1}
-{"conversationId":42,"level":"info","message":"User message saved","messageId":45,"timestamp":"2025-04-28T19:09:13.746Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:09:36.903Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:09:36.907Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:09:36.936Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:09:36.938Z"}
-{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-28T19:09:45.753Z"}
-{"level":"info","message":"Received /message request","timestamp":"2025-04-28T19:09:45.756Z"}
-{"conversationId":43,"level":"info","message":"Created new conversation","timestamp":"2025-04-28T19:09:45.764Z","userId":1}
-{"conversationId":43,"level":"info","message":"User message saved","messageId":46,"timestamp":"2025-04-28T19:09:45.770Z"}
-{"level":"info","message":"Getting AI response for:","timestamp":"2025-04-28T19:09:45.770Z"}
-{"conversationId":43,"level":"info","message":"AI response received","timestamp":"2025-04-28T19:10:04.100Z"}
-{"conversationId":43,"level":"info","message":"AI response saved","messageId":47,"timestamp":"2025-04-28T19:10:04.138Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:10:06.884Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:10:06.887Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:10:06.914Z"}
-{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-28T19:10:06.916Z"}
-{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-28T19:10:18.686Z"}
-{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-28T15:00:42.010Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":null,"guestId":null,"isAdmin":false,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":null,"previousGuestId":null,"processedGuestIds":[],"telegramId":null,"timestamp":"2025-04-28T19:10:18.687Z","userId":null}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T19:10:18.692Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T19:10:18.716Z"}
-{"cookie":{"expires":"2025-05-28T19:10:18.714Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"f506e0e2a360684582cb4f96c8dce535","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-28T19:10:18.718Z"}
-{"level":"info","message":"Session saved successfully","timestamp":"2025-04-28T19:10:18.721Z"}
-{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-28T19:10:36.964Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T19:10:37.560Z"}
-{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-28T19:10:37.583Z"}
diff --git a/backend/logs/error.log b/backend/logs/error.log
index 2a7084e..e69de29 100644
--- a/backend/logs/error.log
+++ b/backend/logs/error.log
@@ -1,7 +0,0 @@
-{"body":{"guestId":"1745825541972-nwmi3pcpe","language":"ru","message":""},"level":"error","message":"Error in /guest-message: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint","stack":"error: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:211:20","timestamp":"2025-04-28T07:37:57.316Z"}
-{"body":{"guestId":"1745826229509-a9cc49arg","language":"ru","message":""},"level":"error","message":"Error in /guest-message: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint","stack":"error: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:211:20","timestamp":"2025-04-28T07:43:49.319Z"}
-{"body":{"guestId":"1745827727896-sqo5zp8c5","language":"ru","message":""},"level":"error","message":"Error in /guest-message: invalid input syntax for type json","stack":"error: invalid input syntax for type json\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:227:20","timestamp":"2025-04-28T08:08:48.293Z"}
-{"code":"42703","file":"parse_target.c","length":146,"level":"error","line":"1066","message":"Error saving guest message: column \"attachment_filename\" of relation \"guest_messages\" does not exist","name":"error","position":"82","routine":"checkInsertTargets","severity":"ERROR","stack":"error: column \"attachment_filename\" of relation \"guest_messages\" does not exist\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:224:20","timestamp":"2025-04-28T14:28:29.099Z"}
-{"code":"23502","column":"content","detail":"Failing row contains (2, 1745850508983-zb9xi0g4t, null, ru, f, 2025-04-28 14:53:07.021316+00, image (15).png, image/png, 18375, \\x89504e470d0a1a0a0000000d4948445200000213000000ee08060000008330...).","file":"execMain.c","length":383,"level":"error","line":"2006","message":"Error saving guest message: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint","name":"error","routine":"ExecConstraints","schema":"public","severity":"ERROR","stack":"error: null value in column \"content\" of relation \"guest_messages\" violates not-null constraint\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:224:20","table":"guest_messages","timestamp":"2025-04-28T14:53:07.027Z"}
-{"level":"error","message":"Error fetching message history for user 1: syntax error at or near \"$\"","stack":"error: syntax error at or near \"$\"\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:484:20","timestamp":"2025-04-28T14:57:24.546Z"}
-{"level":"error","message":"Error fetching message history for user 1: syntax error at or near \"$\"","stack":"error: syntax error at or near \"$\"\n at /app/node_modules/pg-pool/index.js:45:11\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/routes/chat.js:484:20","timestamp":"2025-04-28T14:58:35.485Z"}
diff --git a/frontend/src/components/NotificationDisplay.vue b/frontend/src/components/NotificationDisplay.vue
new file mode 100644
index 0000000..b52ca68
--- /dev/null
+++ b/frontend/src/components/NotificationDisplay.vue
@@ -0,0 +1,113 @@
+
+