From 7b6d23b1cae83e37c1c20200b48c5e62c66efff1 Mon Sep 17 00:00:00 2001 From: Alex Date: Tue, 22 Apr 2025 17:41:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=B0=D1=88=D0=B5=20=D1=81=D0=BE=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B8=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/logs/combined.log | 2919 ++++++++++++++++++++++---- backend/logs/error.log | 1 + backend/routes/auth.js | 240 ++- backend/services/auth-service.js | 128 +- backend/services/emailAuth.js | 26 + backend/services/identity-service.js | 43 + backend/services/telegramBot.js | 113 +- frontend/src/assets/styles/home.css | 12 +- frontend/src/composables/useAuth.js | 14 + frontend/src/services/tokens.js | 11 +- frontend/src/views/HomeView.vue | 212 +- 11 files changed, 3011 insertions(+), 708 deletions(-) diff --git a/backend/logs/combined.log b/backend/logs/combined.log index 020eec7..6fce439 100644 --- a/backend/logs/combined.log +++ b/backend/logs/combined.log @@ -1,457 +1,2462 @@ -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:50:16.117Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:51:14.468Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:52:14.679Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:53:14.946Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:54:15.064Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:14.660Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:30.597Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:34.522Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:36.884Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:38.747Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:40.620Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:42.501Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:44.361Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:46.220Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:48.065Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:49.918Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:51.778Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:53.673Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:55.555Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:57.446Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:55:59.335Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:01.315Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:05.123Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:07.003Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:08.878Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:10.744Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:12.600Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:14.461Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:16.302Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:18.166Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:20.042Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:21.912Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:23.784Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:25.662Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:27.563Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:29.470Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:31.367Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:56:33.266Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:57:16.174Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:58:15.931Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T17:58:15.934Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T17:59:15.214Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:00:14.608Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:01:14.714Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:02:14.930Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:03:15.105Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:04:14.432Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:05:15.499Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:15.779Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:18.801Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:20.085Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:21.735Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:21.750Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:21.758Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:06:24.804Z"} -{"level":"info","message":"Generated verification code: LYYZHX","timestamp":"2025-04-21T18:06:24.805Z"} -{"level":"info","message":"Creating verification code for telegram:26824d89a939c48d720a86a369e12343, userId: null","timestamp":"2025-04-21T18:06:24.806Z"} -{"level":"info","message":"Verification code created successfully for telegram:26824d89a939c48d720a86a369e12343","timestamp":"2025-04-21T18:06:24.809Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 26824d89a939c48d720a86a369e12343","timestamp":"2025-04-21T18:06:24.810Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:26.725Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:29.060Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:30.939Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:06:31.161Z"} -{"level":"info","message":"Using existing user 1 for Telegram account 5155951987","timestamp":"2025-04-21T18:06:31.167Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:32.826Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:34.240Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:36.134Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:39.176Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:41.076Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:42.973Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:44.865Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:46.743Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:48.635Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:50.529Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:52.433Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:56.021Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:57.921Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:06:59.805Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:01.715Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:03.598Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:05.479Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:07.373Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:09.267Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:12.044Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:13.936Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:15.828Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:17.721Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:19.614Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:21.509Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:23.399Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:25.288Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:27.183Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:29.074Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:30.964Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:32.859Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:34.748Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:07:36.641Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:08:16.027Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:14.503Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:09:14.507Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:55.952Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:57.197Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:59.102Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:59.622Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:59.640Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:09:59.648Z"} -{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-21T18:10:01.564Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:10:03.708Z"} -{"level":"info","message":"Generated verification code: GGB4K2","timestamp":"2025-04-21T18:10:03.710Z"} -{"level":"info","message":"Creating verification code for telegram:1745255947332-39b6fzbtq, userId: null","timestamp":"2025-04-21T18:10:03.710Z"} -{"level":"info","message":"Verification code created successfully for telegram:1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:10:03.716Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:10:03.717Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:10:05.616Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:10:08.059Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:10:09.939Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:10:10.046Z"} -{"level":"info","message":"Using existing user 1 for Telegram account 5155951987","timestamp":"2025-04-21T18:10:10.049Z"} -{"level":"warn","message":"Session update failed: No session found or updated for guestId: 1745255947332-39b6fzbtq. User 1 authenticated via Telegram, but web session might not reflect it.","timestamp":"2025-04-21T18:10:10.052Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:10:11.836Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:10:13.170Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:10:15.056Z"} -{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-21T18:13:06.894Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:13:08.499Z"} -{"level":"info","message":"Generated verification code: M3BFN7","timestamp":"2025-04-21T18:13:08.502Z"} -{"level":"info","message":"Creating verification code for telegram:1745255947332-39b6fzbtq, userId: null","timestamp":"2025-04-21T18:13:08.503Z"} -{"level":"info","message":"Verification code created successfully for telegram:1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:13:08.508Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:13:08.508Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:13:08.510Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:10.419Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:12.319Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:14.208Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:16.111Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:18.003Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:19.890Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:21.865Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:23.761Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:13:25.253Z"} -{"level":"info","message":"Using existing user 2 for Telegram account 1136899732","timestamp":"2025-04-21T18:13:25.257Z"} -{"level":"warn","message":"Session update failed: No session found or updated for guestId: 1745255947332-39b6fzbtq. User 2 authenticated via Telegram, but web session might not reflect it.","timestamp":"2025-04-21T18:13:25.258Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:25.659Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:27.547Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:29.367Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:32.943Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:34.919Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:36.807Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:13:38.624Z"} -{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-21T18:17:22.046Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:17:23.738Z"} -{"level":"info","message":"Generated verification code: 84E3FH","timestamp":"2025-04-21T18:17:23.740Z"} -{"level":"info","message":"Creating verification code for telegram:1745255947332-39b6fzbtq, userId: null","timestamp":"2025-04-21T18:17:23.741Z"} -{"level":"info","message":"Verification code created successfully for telegram:1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:17:23.746Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:17:23.747Z"} -{"cookie":{"expires":"2025-05-21T18:17:22.018Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745255947332-39b6fzbtq","level":"info","message":"[telegram/init] Session object before save:","timestamp":"2025-04-21T18:17:23.748Z"} -{"cookie":{"expires":"2025-05-21T18:17:22.018Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745255947332-39b6fzbtq","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:17:23.749Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:17:23.751Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:17:25.657Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:17:28.259Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:17:29.965Z"} -{"level":"info","message":"Using existing user 2 for Telegram account 1136899732","timestamp":"2025-04-21T18:17:29.968Z"} -{"level":"info","message":"[telegramBot] Attempting to update session for guestId: 1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:17:29.968Z"} -{"level":"warn","message":"Session update failed: No session found or updated for guestId: 1745255947332-39b6fzbtq. User 2 authenticated via Telegram, but web session might not reflect it.","timestamp":"2025-04-21T18:17:29.971Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:17:30.150Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:17:32.039Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:17:33.231Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:17:35.133Z"} -{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-21T18:20:31.243Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:20:32.885Z"} -{"level":"info","message":"Generated verification code: G29TVF","timestamp":"2025-04-21T18:20:32.887Z"} -{"level":"info","message":"Creating verification code for telegram:1745255947332-39b6fzbtq, userId: null","timestamp":"2025-04-21T18:20:32.888Z"} -{"level":"info","message":"Verification code created successfully for telegram:1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:20:32.893Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:20:32.894Z"} -{"cookie":{"expires":"2025-05-21T18:20:31.231Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745255947332-39b6fzbtq","level":"info","message":"[telegram/init] Session object before save:","timestamp":"2025-04-21T18:20:32.896Z"} -{"cookie":{"expires":"2025-05-21T18:20:31.231Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745255947332-39b6fzbtq","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:20:32.897Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:20:32.900Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:20:34.813Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:20:37.306Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:20:39.157Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:20:40.389Z"} -{"level":"info","message":"Using existing user 2 for Telegram account 1136899732","timestamp":"2025-04-21T18:20:40.392Z"} -{"level":"info","message":"[telegramBot] Attempting to update session for guestId: 1745255947332-39b6fzbtq","timestamp":"2025-04-21T18:20:40.393Z"} -{"level":"info","message":"Session updated successfully for guestId: 1745255947332-39b6fzbtq, userId: 2","timestamp":"2025-04-21T18:20:40.396Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:20:41.058Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:20:41.061Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:20:41.088Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:20:41.092Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:20:41.110Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:20:41.115Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:20:42.942Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:20:42.944Z"} -{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-21T18:20:42.960Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:21:12.449Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:21:12.457Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:21:41.953Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:21:41.960Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:22:12.246Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:22:12.255Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:22:42.125Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:22:42.133Z"} -{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-21T18:22:49.899Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:23:10.533Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:23:10.536Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:23:40.625Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:23:40.629Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:24:10.720Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:24:10.723Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:24:40.816Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:24:40.819Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:25:10.869Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:25:10.872Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:25:40.989Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:25:40.992Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:26:11.061Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:26:11.064Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:26:41.108Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:26:41.110Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:27:11.265Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:27:11.268Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:27:41.331Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:27:41.334Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:28:11.421Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:28:11.424Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:28:41.519Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:28:41.523Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:29:11.626Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:29:11.629Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:29:41.632Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:29:41.636Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:30:12.665Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:30:12.668Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:30:42.729Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:30:42.732Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:31:15.578Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:31:15.581Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:31:42.908Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:31:42.911Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:32:12.992Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:32:12.995Z"} -{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-21T18:32:27.940Z"} -{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-21T18:20:41.068Z","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":[],"telegramFirstName":"Alex","telegramId":null,"telegramUsername":"Alex_tg9","timestamp":"2025-04-21T18:32:27.942Z","userId":null} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:27.945Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:27.972Z"} -{"cookie":{"expires":"2025-05-21T18:32:27.970Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"ff7cb55cdacc6c964c513c37e6fb589f","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:32:27.972Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:27.975Z"} -{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-21T18:32:29.466Z"} -{"level":"info","message":"Nonce 9856fbee20c2dc156513d94df31768a9 сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-21T18:32:29.475Z"} -{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-21T18:32:31.649Z"} -{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-21T18:32:31.650Z"} -{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:31.751Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-21T18:32:32.971Z"} -{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-21T18:32:32.972Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-21T18:32:33.112Z"} -{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-21T18:32:33.112Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-21T18:32:33.163Z"} -{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-21T18:32:33.163Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-21T18:32:33.561Z"} -{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-21T18:32:33.561Z"} -{"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-21T18:32:33.561Z"} -{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:33.562Z"} -{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:33.562Z"} -{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: ff7cb55cdacc6c964c513c37e6fb589f","timestamp":"2025-04-21T18:32:33.563Z"} -{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:33.567Z"} -{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:33.568Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-21T18:32:33.883Z"} -{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-21T18:32:33.883Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-21T18:32:34.000Z"} -{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-21T18:32:34.000Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-21T18:32:34.034Z"} -{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-21T18:32:34.035Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-21T18:32:34.219Z"} -{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-21T18:32:34.219Z"} -{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["bsc","polygon","eth","arbitrum"],"timestamp":"2025-04-21T18:32:34.220Z"} -{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:34.220Z"} -{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-21T18:32:34.225Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-21T18:32:27.970Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"ff7cb55cdacc6c964c513c37e6fb589f","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:32:34.227Z","userId":1} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:34.230Z"} -{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=ff7cb55cdacc6c964c513c37e6fb589f, previousGuestId=undefined","timestamp":"2025-04-21T18:32:34.231Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=ff7cb55cdacc6c964c513c37e6fb589f","timestamp":"2025-04-21T18:32:34.235Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745243066352-5zqw1zro4","timestamp":"2025-04-21T18:32:34.242Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8d17604b9cd44fa9074cba30f7acb374","timestamp":"2025-04-21T18:32:34.246Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1643e4ae05e31df62ceaa1c784dbf2e7","timestamp":"2025-04-21T18:32:34.249Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745249966821-9l4wgyrvf","timestamp":"2025-04-21T18:32:34.253Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=3987b209726bd85f79f6668c69cec67a","timestamp":"2025-04-21T18:32:34.257Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d85d2c40506052a630bb7737bc2769e6","timestamp":"2025-04-21T18:32:34.260Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8edb112101cbbaa5bef2c3a08f275ec6","timestamp":"2025-04-21T18:32:34.264Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=4b83b24f9c0cb26179c0637632426e4a","timestamp":"2025-04-21T18:32:34.269Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=7e030d98195da1dd7f81b669c666dca7","timestamp":"2025-04-21T18:32:34.273Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=a87f7b05515098ad5a3079377690f769","timestamp":"2025-04-21T18:32:34.277Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745098219233-r5wj2olz0","timestamp":"2025-04-21T18:32:34.281Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745243339797-5jz07df5q","timestamp":"2025-04-21T18:32:34.284Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745250114599-jo1bvrylj","timestamp":"2025-04-21T18:32:34.288Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=4256b2a7e0d8b7ed947ba6c1f5f72d15","timestamp":"2025-04-21T18:32:34.292Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=e7dd7cc2be1f4cf5628ac67496f0ff60","timestamp":"2025-04-21T18:32:34.296Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8bbf43a7d107802415e69966ec47edd7","timestamp":"2025-04-21T18:32:34.300Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745248639754-svfzgedxz","timestamp":"2025-04-21T18:32:34.304Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=e50442b5c6fad89fc34176fc078d56f1","timestamp":"2025-04-21T18:32:34.309Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=750e6a49666b28814122e1d901aea6b5","timestamp":"2025-04-21T18:32:34.316Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=cee8775f1ef14ec06069222412527621","timestamp":"2025-04-21T18:32:34.320Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=4801418ef94eac344f7372c5db4bcd41","timestamp":"2025-04-21T18:32:34.324Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=6f93b96d30b4ef36faa2943c5635d949","timestamp":"2025-04-21T18:32:34.329Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=784e89fbeba721cf5c3dda2267d9ddd5","timestamp":"2025-04-21T18:32:34.334Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=30c3be3e079722b3a8d20203b1a567f9","timestamp":"2025-04-21T18:32:34.338Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745221905698-9rejq7xoe","timestamp":"2025-04-21T18:32:34.342Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=85f386bbe2c9b7affbd50d0366a39147","timestamp":"2025-04-21T18:32:34.346Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=2d284866bfe0da04a3716d3f96d2cc64","timestamp":"2025-04-21T18:32:34.350Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8f897f5f63a679da6893cac2548cdd8c","timestamp":"2025-04-21T18:32:34.355Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=ddf4efa4dca07970401397faae6ad10d","timestamp":"2025-04-21T18:32:34.360Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=a9c5cab9491ffd9a8340488892a3a83f","timestamp":"2025-04-21T18:32:34.364Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=4d9bff05706f17096791c1caae544ca2","timestamp":"2025-04-21T18:32:34.370Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d6c03e2a1a30f997e7ae94097b8bdc33","timestamp":"2025-04-21T18:32:34.375Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=00e90de9aef9134750d4519a5e10c4ee","timestamp":"2025-04-21T18:32:34.379Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=f79a4edd77d8db2def23394f52e0d0a4","timestamp":"2025-04-21T18:32:34.383Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=b710161e84700cd43778fb846c4017ff","timestamp":"2025-04-21T18:32:34.387Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=5a7dec430e4da72e53b8b07fc1713a4e","timestamp":"2025-04-21T18:32:34.393Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=fa541d53f0b7910b5d90be7822f211c0","timestamp":"2025-04-21T18:32:34.397Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8d447b0a532867a90636e000c9bbb72a","timestamp":"2025-04-21T18:32:34.401Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745079293895-f5bi3mnlq","timestamp":"2025-04-21T18:32:34.406Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=f74f7950c4b8085f2cead1620d087bb5","timestamp":"2025-04-21T18:32:34.410Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=16236f2b04a47bc549afe4960f6aeded","timestamp":"2025-04-21T18:32:34.414Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=9c7f2342b8ff1f8fe4d545f6d2af05d4","timestamp":"2025-04-21T18:32:34.420Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d7f025d51d3692685bfc8b1b86b387d3","timestamp":"2025-04-21T18:32:34.425Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=2f2e2330b4263952294d93ae6a86146a","timestamp":"2025-04-21T18:32:34.429Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=b2e89db3924be1b1d3b0f06f130cf8e0","timestamp":"2025-04-21T18:32:34.433Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=bdbb9e9a6b156fb309480755554c017c","timestamp":"2025-04-21T18:32:34.438Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=cd399a7b2782ab9dcd510a6d624311ef","timestamp":"2025-04-21T18:32:34.442Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=53e3ea1b2c59ed4f4b37a6402da579db","timestamp":"2025-04-21T18:32:34.445Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=bf299ef8e5ac941443b24bc023d55bdf","timestamp":"2025-04-21T18:32:34.449Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=e70ff3b19f49cb1ce11e3bf9d4c3f5b5","timestamp":"2025-04-21T18:32:34.452Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=4401b63702956724a4ccb3bb849f7207","timestamp":"2025-04-21T18:32:34.456Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=5957393c426559cd5ffb817d29e4da37","timestamp":"2025-04-21T18:32:34.460Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=29327cd0d71c99c4dbed0ac78a68090d","timestamp":"2025-04-21T18:32:34.465Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=9b1fb20e39a4215abe7c83b8eb752b40","timestamp":"2025-04-21T18:32:34.469Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=f622d55418e4159e864ea4e6e18115d9","timestamp":"2025-04-21T18:32:34.473Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=dca0cf1d9efe806bc9915e5a57c344b3","timestamp":"2025-04-21T18:32:34.478Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=19ca3c1e1a77f6688e48e996ec94e32b","timestamp":"2025-04-21T18:32:34.483Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745254137729-45dxtil35","timestamp":"2025-04-21T18:32:34.488Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745240790811-mxagvk0lf","timestamp":"2025-04-21T18:32:34.492Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d7c8e008ba7c6b456dbf116a97e93b60","timestamp":"2025-04-21T18:32:34.496Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=b4460596d1947e93312e2607cda758ba","timestamp":"2025-04-21T18:32:34.501Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=e4ca877a9e8a823241c5f1669ad4b177","timestamp":"2025-04-21T18:32:34.505Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=06a8da2f6b8ccb05be8606d6f5785c3e","timestamp":"2025-04-21T18:32:34.509Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=12b912bafbdae6136947a2405c43afc7","timestamp":"2025-04-21T18:32:34.513Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=75e90bb5664f78f2d4e89dba9c764340","timestamp":"2025-04-21T18:32:34.517Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=63404462543ed032df62eb0597cfbf92","timestamp":"2025-04-21T18:32:34.522Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=b6de4a34d192b6d3c6a04d64921bc2c6","timestamp":"2025-04-21T18:32:34.526Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=dc34a86ca22b491572bc728db26ec8d2","timestamp":"2025-04-21T18:32:34.530Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8e0e1382a3764993da8f68b3125307ae","timestamp":"2025-04-21T18:32:34.534Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=5fbeaeed77f7e790089e3687b6272cc4","timestamp":"2025-04-21T18:32:34.538Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8890d8475daa4b9515427d7db88cd3f6","timestamp":"2025-04-21T18:32:34.541Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=d1a1a0c6759fa0092a9ac54cc6bca38c","timestamp":"2025-04-21T18:32:34.547Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=5c62c06c28391e47ca9da69d82d6b665","timestamp":"2025-04-21T18:32:34.551Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=e1313ff9002847b61b9f8ea825150512","timestamp":"2025-04-21T18:32:34.555Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=064746c1fd4456b7021c936bb9638dfc","timestamp":"2025-04-21T18:32:34.558Z"} -{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=221d5a74f84eca5d55db182e0a3d9143","timestamp":"2025-04-21T18:32:34.564Z"} -{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-21T18:32:27.970Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"ff7cb55cdacc6c964c513c37e6fb589f","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["ff7cb55cdacc6c964c513c37e6fb589f","1745243066352-5zqw1zro4","8d17604b9cd44fa9074cba30f7acb374","1643e4ae05e31df62ceaa1c784dbf2e7","1745249966821-9l4wgyrvf","3987b209726bd85f79f6668c69cec67a","d85d2c40506052a630bb7737bc2769e6","8edb112101cbbaa5bef2c3a08f275ec6","4b83b24f9c0cb26179c0637632426e4a","7e030d98195da1dd7f81b669c666dca7","a87f7b05515098ad5a3079377690f769","1745098219233-r5wj2olz0","1745243339797-5jz07df5q","1745250114599-jo1bvrylj","4256b2a7e0d8b7ed947ba6c1f5f72d15","e7dd7cc2be1f4cf5628ac67496f0ff60","8bbf43a7d107802415e69966ec47edd7","1745248639754-svfzgedxz","e50442b5c6fad89fc34176fc078d56f1","750e6a49666b28814122e1d901aea6b5","cee8775f1ef14ec06069222412527621","4801418ef94eac344f7372c5db4bcd41","6f93b96d30b4ef36faa2943c5635d949","784e89fbeba721cf5c3dda2267d9ddd5","30c3be3e079722b3a8d20203b1a567f9","1745221905698-9rejq7xoe","85f386bbe2c9b7affbd50d0366a39147","2d284866bfe0da04a3716d3f96d2cc64","8f897f5f63a679da6893cac2548cdd8c","ddf4efa4dca07970401397faae6ad10d","a9c5cab9491ffd9a8340488892a3a83f","4d9bff05706f17096791c1caae544ca2","d6c03e2a1a30f997e7ae94097b8bdc33","00e90de9aef9134750d4519a5e10c4ee","f79a4edd77d8db2def23394f52e0d0a4","b710161e84700cd43778fb846c4017ff","5a7dec430e4da72e53b8b07fc1713a4e","fa541d53f0b7910b5d90be7822f211c0","8d447b0a532867a90636e000c9bbb72a","1745079293895-f5bi3mnlq","f74f7950c4b8085f2cead1620d087bb5","16236f2b04a47bc549afe4960f6aeded","9c7f2342b8ff1f8fe4d545f6d2af05d4","d7f025d51d3692685bfc8b1b86b387d3","2f2e2330b4263952294d93ae6a86146a","b2e89db3924be1b1d3b0f06f130cf8e0","bdbb9e9a6b156fb309480755554c017c","cd399a7b2782ab9dcd510a6d624311ef","53e3ea1b2c59ed4f4b37a6402da579db","bf299ef8e5ac941443b24bc023d55bdf","e70ff3b19f49cb1ce11e3bf9d4c3f5b5","4401b63702956724a4ccb3bb849f7207","5957393c426559cd5ffb817d29e4da37","29327cd0d71c99c4dbed0ac78a68090d","9b1fb20e39a4215abe7c83b8eb752b40","f622d55418e4159e864ea4e6e18115d9","dca0cf1d9efe806bc9915e5a57c344b3","19ca3c1e1a77f6688e48e996ec94e32b","1745254137729-45dxtil35","1745240790811-mxagvk0lf","d7c8e008ba7c6b456dbf116a97e93b60","b4460596d1947e93312e2607cda758ba","e4ca877a9e8a823241c5f1669ad4b177","06a8da2f6b8ccb05be8606d6f5785c3e","12b912bafbdae6136947a2405c43afc7","75e90bb5664f78f2d4e89dba9c764340","63404462543ed032df62eb0597cfbf92","b6de4a34d192b6d3c6a04d64921bc2c6","dc34a86ca22b491572bc728db26ec8d2","8e0e1382a3764993da8f68b3125307ae","5fbeaeed77f7e790089e3687b6272cc4","8890d8475daa4b9515427d7db88cd3f6","d1a1a0c6759fa0092a9ac54cc6bca38c","5c62c06c28391e47ca9da69d82d6b665","e1313ff9002847b61b9f8ea825150512","064746c1fd4456b7021c936bb9638dfc","221d5a74f84eca5d55db182e0a3d9143"],"timestamp":"2025-04-21T18:32:34.568Z","userId":1} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:34.575Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:34.783Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:32:34.785Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:32:34.826Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:32:34.829Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:32:34.856Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:32:34.859Z"} -{"level":"info","message":"GET /api/tokens/balances","timestamp":"2025-04-21T18:32:34.872Z"} -{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:34.873Z"} -{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-21T18:32:35.303Z"} -{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-21T18:32:35.621Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:35.759Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:32:35.762Z"} -{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-21T18:32:35.777Z"} -{"level":"info","message":"GET /api/chat/history?offset=16&limit=30","timestamp":"2025-04-21T18:32:35.802Z"} -{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-21T18:32:36.203Z"} -{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-21T18:32:36.601Z"} -{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-21T18:32:36.602Z"} -{"level":"info","message":"GET /api/tokens/balances","timestamp":"2025-04-21T18:32:36.613Z"} -{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-21T18:32:36.614Z"} -{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-21T18:32:37.058Z"} -{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-21T18:32:37.343Z"} -{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-21T18:32:37.965Z"} -{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-21T18:32:38.394Z"} -{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-21T18:32:38.394Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:32:40.527Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:32:40.528Z"} -{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-21T18:32:43.799Z"} -{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-21T18:32:27.970Z","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-21T18:32:43.800Z","userId":null} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:43.803Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:43.822Z"} -{"cookie":{"expires":"2025-05-21T18:32:43.819Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"a8fe743682813d07aeeb2e31feb1c7a2","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:32:43.822Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:43.825Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:32:45.075Z"} -{"level":"info","message":"Generated verification code: PK3KZP","timestamp":"2025-04-21T18:32:45.076Z"} -{"level":"info","message":"Creating verification code for telegram:a8fe743682813d07aeeb2e31feb1c7a2, userId: null","timestamp":"2025-04-21T18:32:45.076Z"} -{"level":"info","message":"Verification code created successfully for telegram:a8fe743682813d07aeeb2e31feb1c7a2","timestamp":"2025-04-21T18:32:45.079Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: a8fe743682813d07aeeb2e31feb1c7a2","timestamp":"2025-04-21T18:32:45.079Z"} -{"cookie":{"expires":"2025-05-21T18:32:43.819Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"a8fe743682813d07aeeb2e31feb1c7a2","level":"info","message":"[telegram/init] Session object before save:","timestamp":"2025-04-21T18:32:45.080Z"} -{"cookie":{"expires":"2025-05-21T18:32:43.819Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"a8fe743682813d07aeeb2e31feb1c7a2","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:32:45.080Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:32:45.083Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:47.003Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:49.724Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:51.618Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:32:53.048Z"} -{"level":"info","message":"Using existing user 2 for Telegram account 1136899732","timestamp":"2025-04-21T18:32:53.049Z"} -{"level":"info","message":"[telegramBot] Attempting to update session for guestId: a8fe743682813d07aeeb2e31feb1c7a2","timestamp":"2025-04-21T18:32:53.050Z"} -{"level":"info","message":"Session updated successfully for guestId: a8fe743682813d07aeeb2e31feb1c7a2, userId: 2","timestamp":"2025-04-21T18:32:53.053Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:53.516Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:32:53.517Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:32:53.535Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:32:53.537Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:32:53.552Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:32:53.555Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:32:54.994Z"} -{"level":"info","message":"[IdentityService] Found 1 identities for user 2","timestamp":"2025-04-21T18:32:54.998Z"} -{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-21T18:32:55.017Z"} -{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-21T18:32:55.066Z"} -{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-21T18:33:04.351Z"} -{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-21T18:32:53.519Z","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":[],"telegramFirstName":"Alex","telegramId":null,"telegramUsername":"Alex_tg9","timestamp":"2025-04-21T18:33:04.352Z","userId":null} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:33:04.355Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:04.371Z"} -{"cookie":{"expires":"2025-05-21T18:33:04.369Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"3e115c2e723ea131197a7dadb77686b8","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:33:04.372Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:33:04.375Z"} -{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-21T18:33:18.296Z"} -{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-21T18:33:20.276Z"} -{"level":"info","message":"Generated verification code: 5YT10H","timestamp":"2025-04-21T18:33:20.276Z"} -{"level":"info","message":"Creating verification code for telegram:1745260397608-44sp81336, userId: null","timestamp":"2025-04-21T18:33:20.277Z"} -{"level":"info","message":"Verification code created successfully for telegram:1745260397608-44sp81336","timestamp":"2025-04-21T18:33:20.281Z"} -{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 1745260397608-44sp81336","timestamp":"2025-04-21T18:33:20.281Z"} -{"cookie":{"expires":"2025-05-21T18:33:04.369Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745260397608-44sp81336","level":"info","message":"[telegram/init] Session object before save:","timestamp":"2025-04-21T18:33:20.281Z"} -{"cookie":{"expires":"2025-05-21T18:33:04.369Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745260397608-44sp81336","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:33:20.282Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:33:20.285Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:22.215Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:24.583Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:26.473Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:28.360Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:30.242Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:32.131Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:34.019Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:35.915Z"} -{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-21T18:33:36.194Z"} -{"level":"info","message":"Using existing user 1 for Telegram account 5155951987","timestamp":"2025-04-21T18:33:36.196Z"} -{"level":"info","message":"[telegramBot] Attempting to update session for guestId: 1745260397608-44sp81336","timestamp":"2025-04-21T18:33:36.197Z"} -{"level":"info","message":"Session updated successfully for guestId: 1745260397608-44sp81336, userId: 1","timestamp":"2025-04-21T18:33:36.199Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:37.806Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:33:37.808Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:33:37.828Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:33:37.831Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:33:37.845Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:33:37.847Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:33:38.778Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:33:38.780Z"} -{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-21T18:33:38.790Z"} -{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-21T18:34:07.981Z"} -{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-21T18:34:07.998Z"} -{"level":"info","message":"GET /api/chat/history?offset=18&limit=30","timestamp":"2025-04-21T18:34:19.544Z"} -{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-21T18:34:29.892Z"} -{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-21T18:33:37.811Z","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":[],"telegramFirstName":"Alex","telegramId":null,"telegramUsername":"GPHB3A","timestamp":"2025-04-21T18:34:29.892Z","userId":null} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:34:29.896Z"} -{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-21T18:34:29.922Z"} -{"cookie":{"expires":"2025-05-21T18:34:29.920Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"9f0e88a63395ae45864422c865b72c02","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-21T18:34:29.929Z"} -{"level":"info","message":"Session saved successfully","timestamp":"2025-04-21T18:34:29.936Z"} +{"level":"info","message":"Migration 000_session_table.sql executed successfully","timestamp":"2025-04-22T14:16:17.814Z"} +{"level":"info","message":"Migration 001_initial_schema.sql executed successfully","timestamp":"2025-04-22T14:16:17.835Z"} +{"level":"info","message":"Migration 002_access_roles.sql executed successfully","timestamp":"2025-04-22T14:16:17.881Z"} +{"level":"info","message":"Migration 003_user_identities.sql executed successfully","timestamp":"2025-04-22T14:16:17.905Z"} +{"level":"info","message":"Migration 004_conversations.sql executed successfully","timestamp":"2025-04-22T14:16:17.923Z"} +{"level":"info","message":"Migration 005_messages.sql executed successfully","timestamp":"2025-04-22T14:16:17.954Z"} +{"level":"info","message":"Migration 006_guest_messages.sql executed successfully","timestamp":"2025-04-22T14:16:17.983Z"} +{"level":"info","message":"Migration 007_user_preferences.sql executed successfully","timestamp":"2025-04-22T14:16:18.008Z"} +{"level":"info","message":"Migration 008_update_messages_structure.sql executed successfully","timestamp":"2025-04-22T14:16:18.019Z"} +{"level":"info","message":"Migration 009_nonces_table.sql executed successfully","timestamp":"2025-04-22T14:16:18.036Z"} +{"level":"info","message":"Migration 010_cleanup_roles.sql executed successfully","timestamp":"2025-04-22T14:16:18.056Z"} +{"level":"info","message":"Migration 011_cleanup_guest_relations.sql executed successfully","timestamp":"2025-04-22T14:16:18.070Z"} +{"level":"info","message":"Migration 012_verification_codes.sql executed successfully","timestamp":"2025-04-22T14:16:18.090Z"} +{"level":"info","message":"Migration 013_update_verification_codes.sql executed successfully","timestamp":"2025-04-22T14:16:18.095Z"} +{"level":"info","message":"Migration 014_identity_system_refactor.sql executed successfully","timestamp":"2025-04-22T14:16:18.126Z"} +{"level":"info","message":"Migration 015_users_table_refactor.sql executed successfully","timestamp":"2025-04-22T14:16:18.137Z"} +{"level":"info","message":"Migration 016_fix_duplicate_identities.sql executed successfully","timestamp":"2025-04-22T14:16:18.156Z"} +{"level":"info","message":"Migration fix_duplicates_manual.sql executed successfully","timestamp":"2025-04-22T14:16:18.167Z"} +{"level":"info","message":"Function link_guest_messages.sql executed successfully","timestamp":"2025-04-22T14:16:18.172Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:17:35.867Z"} +{"cookie":{"expires":"2025-05-22T14:17:35.862Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"cce5937d3bc690769209f303b0eccb1d","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:17:35.873Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:17:35.879Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:17:35.897Z"} +{"cookie":{"expires":"2025-05-22T14:17:35.893Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"e79959d36d4a4f628f2dc9494d348efc","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:17:35.898Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:17:35.903Z"} +{"level":"info","message":"POST /api/chat/guest-message","timestamp":"2025-04-22T14:17:39.346Z"} +{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-22T14:17:41.947Z"} +{"level":"info","message":"Nonce af6e907ad2459f0781a7e9798d69c0fd сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-22T14:17:41.953Z"} +{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-22T14:17:45.941Z"} +{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-22T14:17:45.942Z"} +{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:17:46.056Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-22T14:17:48.151Z"} +{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-22T14:17:48.152Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-22T14:17:48.758Z"} +{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-22T14:17:48.759Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-22T14:17:48.761Z"} +{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-22T14:17:48.762Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-22T14:17:49.018Z"} +{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-22T14:17:49.018Z"} +{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["eth","bsc","arbitrum","polygon"],"timestamp":"2025-04-22T14:17:49.019Z"} +{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:17:49.020Z"} +{"level":"info","message":"New user 1 role check result: admin","timestamp":"2025-04-22T14:17:49.020Z"} +{"level":"info","message":"New user 1 with wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b automatically granted admin role","timestamp":"2025-04-22T14:17:49.024Z"} +{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:17:49.024Z"} +{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 1745331457617-6k00nzgjl","timestamp":"2025-04-22T14:17:49.025Z"} +{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:17:49.028Z"} +{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:17:49.029Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-22T14:17:49.617Z"} +{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-22T14:17:49.618Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-22T14:17:49.619Z"} +{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-22T14:17:49.620Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-22T14:17:49.647Z"} +{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-22T14:17:49.647Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-22T14:17:49.866Z"} +{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-22T14:17:49.866Z"} +{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["polygon","eth","arbitrum","bsc"],"timestamp":"2025-04-22T14:17:49.866Z"} +{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:17:49.867Z"} +{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-22T14:17:49.870Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:17:35.893Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745331457617-6k00nzgjl","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:17:49.879Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:17:49.881Z"} +{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=1745331457617-6k00nzgjl, previousGuestId=undefined","timestamp":"2025-04-22T14:17:49.881Z"} +{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=1745331457617-6k00nzgjl","timestamp":"2025-04-22T14:17:49.885Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:17:35.893Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"1745331457617-6k00nzgjl","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745331457617-6k00nzgjl"],"timestamp":"2025-04-22T14:18:42.821Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:18:42.826Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:18:42.841Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:42.845Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:18:43.142Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:18:43.145Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:43.173Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:43.177Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:18:43.196Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:43.198Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:43.213Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:43.216Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:43.230Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:43.233Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:43.247Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:43.249Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:18:43.779Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:43.781Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:18:43.792Z"} +{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-22T14:18:43.814Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:18:44.161Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:18:44.994Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:18:45.906Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:18:47.228Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:18:47.229Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:18:47.236Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:18:47.237Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:18:47.658Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:18:47.983Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:18:48.592Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:18:48.985Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:18:48.985Z"} +{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-22T14:18:54.732Z"} +{"level":"info","message":"[initTelegramAuth] Linked guestId bb91327c498aaebc3b17ac0ba4f94306 to authenticated user 1","timestamp":"2025-04-22T14:18:54.736Z"} +{"level":"info","message":"Generated verification code: 7PO9XS","timestamp":"2025-04-22T14:18:54.737Z"} +{"level":"info","message":"Creating verification code for telegram:bb91327c498aaebc3b17ac0ba4f94306, userId: 1","timestamp":"2025-04-22T14:18:54.737Z"} +{"level":"info","message":"Verification code created successfully for telegram:bb91327c498aaebc3b17ac0ba4f94306","timestamp":"2025-04-22T14:18:54.742Z"} +{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: bb91327c498aaebc3b17ac0ba4f94306, userId: 1","timestamp":"2025-04-22T14:18:54.742Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:17:35.893Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":null,"isAdmin":true,"level":"info","message":"[telegram/init] Session object before save:","processedGuestIds":["1745331457617-6k00nzgjl"],"timestamp":"2025-04-22T14:18:54.743Z","userId":1} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:17:35.893Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":null,"isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["1745331457617-6k00nzgjl"],"timestamp":"2025-04-22T14:18:54.743Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:18:54.745Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:18:56.835Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:56.836Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:56.853Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:56.856Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:56.869Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:56.873Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:18:58.665Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:58.667Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:58.680Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:58.681Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:18:58.695Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:18:58.697Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:00.493Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:19:00.495Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:00.510Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:19:00.513Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:00.530Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:19:00.532Z"} +{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-22T14:19:01.141Z"} +{"level":"info","message":"Linked Telegram account 1136899732 to pre-authenticated user 1","timestamp":"2025-04-22T14:19:01.146Z"} +{"level":"info","message":"[TelegramBot] Checking linked wallet for determined userId: 1 (Type: number)","timestamp":"2025-04-22T14:19:01.146Z"} +{"level":"info","message":"[getLinkedWallet] Called with userId: 1 (Type: number)","timestamp":"2025-04-22T14:19:01.147Z"} +{"0":{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b"},"level":"info","message":"[getLinkedWallet] DB query result for userId 1:","timestamp":"2025-04-22T14:19:01.149Z"} +{"level":"info","message":"[getLinkedWallet] Returning address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b for userId 1","timestamp":"2025-04-22T14:19:01.149Z"} +{"level":"info","message":"[TelegramBot] Found linked wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b for user 1. Checking role...","timestamp":"2025-04-22T14:19:01.149Z"} +{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:01.150Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-22T14:19:02.050Z"} +{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-22T14:19:02.051Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-22T14:19:02.059Z"} +{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-22T14:19:02.059Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-22T14:19:02.110Z"} +{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-22T14:19:02.111Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-22T14:19:02.211Z"} +{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-22T14:19:02.211Z"} +{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["eth","bsc","polygon","arbitrum"],"timestamp":"2025-04-22T14:19:02.211Z"} +{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:02.212Z"} +{"level":"info","message":"[TelegramBot] Role for user 1 determined as: admin","timestamp":"2025-04-22T14:19:02.212Z"} +{"level":"info","message":"[telegramBot] Attempting to update session for userId: 1","timestamp":"2025-04-22T14:19:02.214Z"} +{"level":"info","message":"[telegramBot] Found active session ID br6bOJQbyLkOkr5npW-Ok4Y4ARy7D3VL for user 1","timestamp":"2025-04-22T14:19:02.219Z"} +{"level":"info","message":"[telegramBot] Session br6bOJQbyLkOkr5npW-Ok4Y4ARy7D3VL updated successfully with Telegram data for user 1","timestamp":"2025-04-22T14:19:02.225Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:02.330Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:02.332Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:02.343Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:02.345Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:02.358Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:02.359Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:02.373Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:02.375Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:02.398Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:02.401Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:02.416Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:02.418Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:03.804Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:03.807Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:03.874Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:03.919Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:03.951Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:03.952Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:03.974Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:03.976Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:03.989Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:03.992Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:04.006Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:04.008Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:07.044Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:07.377Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:07.654Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:07.656Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:07.669Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:07.680Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:07.970Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:08.394Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:08.395Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:08.403Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:08.404Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:08.504Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:08.506Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:08.519Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:08.521Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:08.531Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:08.533Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:09.220Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:09.462Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:09.464Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:09.479Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:09.484Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:09.493Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:10.078Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:10.336Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:10.339Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:10.355Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:10.357Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:10.371Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:10.374Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:10.616Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:10.617Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:10.626Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:10.627Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:11.474Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:11.490Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:11.492Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:11.505Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:11.519Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:11.770Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:12.350Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:12.413Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:12.414Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:12.424Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:12.426Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:12.438Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:12.440Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:12.771Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:12.771Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:12.781Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:12.782Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:13.179Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:13.455Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:14.053Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:14.252Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:14.255Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:14.266Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:14.268Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:14.285Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:14.291Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:14.305Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:14.308Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:14.314Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:14.332Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:14.335Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:14.344Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:14.596Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:14.596Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:14.604Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:14.605Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:15.024Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:15.297Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:15.874Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:16.074Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:16.076Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:16.092Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:16.094Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:16.107Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:16.109Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:16.289Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:16.289Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:16.297Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:16.298Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:16.684Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:16.970Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:17.569Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:17.922Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:17.925Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:17.939Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:17.942Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:17.947Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:17.966Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:17.970Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:17.974Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:17.995Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:18.000Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:18.006Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:18.007Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:18.023Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:18.024Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:18.443Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:18.718Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:19.322Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:19.728Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:19.729Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:19.741Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:19.742Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:19.743Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:19.744Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:19.755Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:19.759Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:19.764Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:19.776Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:19.778Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:19.788Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:19.800Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:19.805Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:20.157Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:20.502Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:20.742Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:20.744Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:20.754Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:20.766Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:21.126Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:21.343Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:21.345Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:21.355Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:21.357Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:21.367Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:21.369Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:21.593Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:21.594Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:21.602Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:21.603Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:22.305Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:22.307Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:22.316Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:22.328Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:23.160Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:23.176Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:23.178Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:23.201Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:23.203Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:23.224Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:23.225Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:23.432Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:23.996Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:24.162Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:24.163Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:24.173Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:24.183Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:24.422Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:24.422Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:24.430Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:24.431Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:24.842Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:25.009Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:25.010Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:25.021Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:25.023Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:25.032Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:25.033Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:25.111Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:25.961Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:25.963Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:25.975Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:25.987Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:26.045Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:26.586Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:26.587Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:26.594Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:26.595Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:26.995Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:27.078Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:27.080Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:27.092Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:27.094Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:27.111Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:27.114Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:27.353Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:27.990Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:28.412Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:28.412Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:28.420Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:28.421Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:28.821Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:28.906Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:28.908Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:28.920Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:28.922Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:28.929Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:28.941Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:28.943Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:28.951Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:28.961Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:28.964Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:29.262Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:29.888Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:30.179Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:30.181Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:30.195Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:30.211Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:30.322Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:30.322Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:30.331Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:30.332Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:30.749Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:30.751Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:30.768Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:30.770Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:30.787Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:30.789Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:30.809Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:31.097Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:31.798Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:32.261Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:32.262Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:32.294Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:32.295Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:32.572Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:32.574Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:32.583Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:32.587Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:32.590Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:32.605Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:32.607Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:32.609Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:32.619Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:32.622Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:32.677Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:33.318Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:34.046Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:34.412Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:34.414Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:34.425Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:34.428Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:34.430Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:34.442Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:34.444Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:34.447Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:34.451Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:34.451Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:34.462Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:34.465Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:34.483Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:34.484Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:34.862Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:35.164Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:35.796Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:36.203Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:36.203Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:36.213Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:36.214Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:36.245Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:36.248Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:36.259Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:36.261Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:36.263Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:36.281Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:36.284Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:36.287Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:36.301Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:36.305Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:36.629Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:39.577Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:40.169Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:40.570Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:40.570Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:40.580Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:40.582Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:40.798Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:40.799Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:40.808Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:40.810Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:40.812Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:40.830Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:40.834Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:40.836Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:40.850Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:40.853Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:40.989Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:41.279Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:41.858Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:42.276Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:42.276Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:42.285Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:42.286Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:42.625Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:42.627Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:42.636Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:42.638Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:42.639Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:42.655Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:42.657Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:42.663Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:42.671Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:42.674Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:42.702Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:42.972Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:43.654Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:44.054Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:44.054Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:44.062Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:44.062Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:44.466Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:44.468Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:44.470Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:44.471Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:44.478Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:44.489Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:44.493Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:44.503Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:44.513Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:44.517Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:44.521Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:44.531Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:44.534Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:45.244Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:45.894Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:46.289Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:46.291Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:46.298Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:46.298Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:46.306Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:46.309Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:46.310Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:46.315Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:46.316Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:46.324Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:46.326Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:46.333Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:46.343Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:46.345Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:46.715Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:47.061Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:47.699Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:48.124Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:48.125Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:48.134Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:48.136Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:48.138Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:48.150Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:48.153Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:48.157Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:48.166Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:48.170Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:48.452Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:48.453Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:48.461Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:48.462Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:48.999Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:49.639Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:49.957Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:49.959Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:49.967Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:49.969Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:49.972Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:49.986Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:49.989Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:49.993Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:50.004Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:50.007Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:50.241Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:50.664Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:50.664Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:50.672Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:50.673Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:51.088Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:51.364Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:51.793Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:51.795Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:51.805Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:51.808Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:51.809Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:51.822Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:51.824Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:51.826Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:51.836Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:51.838Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:52.001Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:52.747Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:52.747Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:52.755Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:52.756Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:53.216Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:53.518Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:53.631Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:53.633Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:53.653Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:53.655Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:53.656Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:53.688Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:53.690Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:53.692Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:53.706Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:53.708Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:54.082Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:54.522Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:54.523Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:54.531Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:54.532Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:55.014Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:55.390Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:55.464Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:55.465Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:55.475Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:55.477Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:55.478Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:55.490Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:55.495Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:55.498Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:55.509Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:55.513Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:55.521Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:55.522Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:56.010Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:56.121Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:56.630Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:56.631Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:56.639Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:56.640Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:56.678Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:57.056Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:57.250Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:57.299Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:57.300Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:57.312Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:57.314Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:57.320Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:57.332Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:57.338Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:57.346Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:57.352Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:57.360Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:57.365Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:57.860Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:57.860Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:57.901Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:19:58.306Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:19:58.306Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:58.314Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:58.314Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:58.706Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:19:58.973Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:59.129Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:59.131Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:19:59.146Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:59.148Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:19:59.151Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:59.171Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:19:59.173Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:59.176Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:59.191Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:19:59.192Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:19:59.204Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:19:59.206Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:19:59.665Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:19:59.666Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:00.139Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:00.140Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:00.140Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:00.150Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:00.151Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:00.586Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:00.737Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:00.850Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:00.961Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:00.962Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:00.971Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:00.974Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:00.975Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:00.988Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:00.992Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:00.995Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:01.006Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:01.008Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:01.030Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:01.030Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:01.597Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:01.598Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:02.164Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:02.167Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:02.398Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:02.398Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:02.429Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:02.559Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:02.559Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:02.568Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:02.569Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:02.793Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:02.793Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:02.796Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:02.797Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:02.809Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:02.811Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:02.815Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:02.827Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:02.829Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:02.834Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:02.844Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:02.846Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:03.040Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:03.040Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:03.064Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:03.354Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:03.354Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:03.461Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:03.462Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:03.687Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:03.688Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:03.688Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:03.688Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:03.700Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:03.700Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:04.110Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:04.377Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:04.620Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:04.622Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:04.632Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:04.634Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:04.636Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:04.648Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:04.652Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:04.657Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:04.664Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:04.669Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:04.971Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:05.390Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:05.390Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:05.397Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:05.398Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:05.881Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:06.187Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:06.466Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:06.468Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:06.486Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:06.488Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:06.492Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:06.507Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:06.509Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:06.510Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:06.526Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:06.532Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:06.798Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:06.799Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:06.862Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:07.252Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:07.305Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:07.305Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:07.314Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:07.315Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:07.533Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:07.729Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:08.004Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:08.100Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:08.295Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:08.296Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:08.307Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:08.311Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:08.313Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:08.328Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:08.331Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:08.338Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:08.349Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:08.351Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:08.439Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:08.606Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:08.606Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:08.843Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:08.843Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:08.851Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:08.852Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:09.429Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:12.403Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:12.846Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:12.847Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:12.858Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:12.860Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:12.861Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:12.873Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:12.878Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:12.881Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:12.891Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:12.894Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:12.897Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:12.901Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:13.006Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:13.390Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:13.444Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:13.444Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:13.453Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:13.454Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:13.668Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:13.870Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:14.182Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:14.320Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:14.680Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:14.682Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:14.685Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:14.686Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:14.696Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:14.704Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:14.706Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:14.712Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:14.728Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:14.729Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:14.731Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:14.744Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:14.749Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:14.761Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:14.761Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:14.966Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:14.966Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:14.976Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:14.977Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:15.387Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:15.658Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:16.337Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:16.508Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:16.509Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:16.518Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:16.523Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:16.525Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:16.540Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:16.542Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:16.543Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:16.556Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:16.558Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:16.568Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:16.569Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:16.865Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:16.865Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:16.872Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:16.873Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:17.052Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:17.281Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:17.552Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:17.713Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:18.146Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:18.146Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:18.351Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:18.352Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:18.365Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:18.369Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:18.370Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:18.386Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:18.389Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:18.391Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:18.405Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:18.407Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:18.558Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:18.558Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:18.558Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:18.558Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:18.568Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:18.569Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:18.976Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:19.247Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:19.372Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:19.372Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:19.792Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:19.827Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:20.067Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:20.177Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:20.179Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:20.188Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:20.191Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:20.192Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:20.206Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:20.210Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:20.212Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:20.227Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:20.228Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:20.250Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:20.250Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:20.258Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:20.259Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:20.260Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:20.261Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:20.649Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:20.712Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:20.713Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:21.030Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:21.031Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:21.073Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:21.074Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:21.669Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:21.670Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:22.008Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:22.009Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:22.019Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:22.023Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:22.024Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:22.038Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:22.041Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:22.042Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:22.055Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:22.059Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:22.341Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:22.341Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:22.341Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:22.342Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:22.351Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:22.352Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:22.782Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:23.110Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:23.684Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:23.847Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:23.849Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:23.858Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:23.860Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:23.862Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:23.878Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:23.880Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:23.881Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:23.895Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:23.897Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:23.910Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:23.911Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:24.096Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:24.096Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:24.104Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:24.105Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:24.309Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:24.309Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:24.595Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:24.595Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:24.755Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:24.756Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:24.840Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:24.842Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:24.853Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:24.866Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:25.151Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:25.169Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:25.170Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:25.419Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:25.438Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:25.439Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:25.450Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:25.451Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:25.460Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:25.462Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:25.604Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:25.604Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:25.604Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:25.605Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:25.615Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:25.616Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:26.015Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:26.054Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:26.366Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:26.419Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:26.419Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:26.456Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:26.457Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:26.598Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:26.600Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:26.611Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:26.624Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:26.829Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:26.912Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:27.109Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:27.322Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:27.323Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:27.330Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:27.331Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:27.509Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:27.511Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:27.529Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:27.531Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:27.546Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:27.548Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:27.714Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:27.753Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:28.075Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:28.138Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:28.139Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:28.367Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:28.368Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:28.641Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:28.763Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:29.040Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:29.082Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:29.083Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:29.091Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:29.092Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:29.346Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:29.348Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:29.359Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:29.360Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:29.361Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:29.376Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:29.377Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:29.379Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:29.390Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:29.392Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:29.491Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:29.595Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:29.757Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:29.907Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:29.908Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:30.002Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:30.002Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:30.286Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:30.333Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:30.557Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:30.747Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:30.747Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:30.755Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:30.756Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:31.154Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:31.157Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:31.171Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:31.173Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:31.185Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:31.188Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:31.190Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:31.212Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:31.214Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:31.215Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:31.230Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:31.232Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:31.456Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:31.595Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:31.596Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:32.035Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:32.450Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:32.450Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:32.460Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:32.461Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:32.870Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:33.015Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:33.017Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:33.027Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:33.029Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:33.031Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:33.045Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:33.048Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:33.054Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:33.066Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:33.068Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:33.113Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:33.114Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:33.154Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:33.324Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:33.325Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:33.506Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:33.699Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:33.740Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:33.774Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:33.925Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:34.139Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:34.139Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:34.147Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:34.147Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:34.352Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:34.353Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:34.548Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:34.793Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:34.794Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:34.794Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:34.794Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:34.825Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:34.847Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:34.849Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:34.860Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:34.862Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:34.864Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:34.879Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:34.881Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:34.883Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:34.898Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:34.899Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:35.416Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:35.866Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:35.867Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:35.880Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:35.881Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:36.273Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:36.543Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:36.684Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:36.686Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:36.698Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:36.700Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:36.706Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:36.719Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:36.723Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:36.727Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:36.738Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:36.740Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:36.906Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:36.907Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:36.908Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:36.909Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:37.198Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:37.332Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:37.332Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:37.623Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:37.623Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:37.638Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:37.638Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:37.646Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:37.646Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:38.022Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:38.207Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:38.207Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:38.307Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:38.512Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:38.513Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:38.522Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:38.523Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:38.529Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:38.537Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:38.539Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:38.545Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:38.553Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:38.556Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:38.626Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:38.627Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:38.627Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:38.627Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:38.873Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:39.270Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:39.271Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:39.279Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:39.279Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:39.708Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:39.969Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:40.350Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:40.351Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:40.361Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:40.363Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:40.364Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:40.378Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:40.379Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:40.381Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:40.392Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:40.393Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:40.535Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:40.686Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:40.687Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:40.688Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:40.689Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:40.938Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:40.938Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:40.944Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:40.945Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:41.092Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:41.092Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:41.287Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:41.380Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:41.380Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:41.517Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:41.998Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:41.998Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:41.998Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:42.226Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:42.228Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:42.229Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:44.929Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:44.939Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:44.941Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:44.946Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:44.957Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:44.960Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:44.966Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:44.974Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:44.976Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:45.203Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:45.203Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:45.204Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:45.204Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:45.205Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:45.205Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:45.233Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:45.233Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:45.667Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:45.948Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:46.551Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:46.697Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:46.698Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:46.758Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:46.761Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:46.773Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:46.775Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:46.776Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:46.788Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:46.790Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:46.794Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:46.804Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:46.806Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:47.115Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:47.116Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:47.125Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:47.125Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:47.198Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:47.423Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:47.488Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:47.627Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:48.076Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:48.077Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:48.417Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:48.417Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:48.471Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:48.471Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:48.471Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:48.471Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:48.482Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:48.483Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:48.593Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:48.595Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:48.608Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:48.610Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:48.612Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:48.637Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:48.639Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:48.644Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:48.657Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:48.659Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:48.827Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:48.827Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:49.129Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:49.129Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:49.994Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:49.994Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:50.400Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:50.400Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:50.400Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:50.401Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:50.410Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:50.410Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:50.415Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:50.416Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:50.426Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:50.428Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:50.429Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:50.445Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:50.447Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:50.448Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:50.460Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:50.462Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:50.954Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:51.245Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:51.837Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:51.838Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:51.848Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:52.250Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:52.252Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:52.255Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:52.264Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:52.266Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:52.270Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:52.281Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:52.283Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:52.290Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:52.290Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:52.295Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:52.303Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:52.304Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:52.310Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:52.313Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:52.533Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:52.838Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:53.127Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:53.214Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:53.502Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:53.543Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:53.544Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:53.625Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:53.625Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:53.824Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:53.824Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:53.831Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:53.831Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:53.942Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:54.085Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:54.087Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:54.103Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:54.105Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:54.119Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:54.127Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:54.130Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:54.143Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:54.149Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:54.154Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:54.229Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:54.246Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:54.525Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:54.819Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:55.115Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:55.227Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:55.227Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:55.232Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:55.233Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:55.429Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:55.429Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:55.435Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:55.436Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:55.618Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:55.841Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:55.910Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:55.923Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:55.924Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:55.936Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:55.940Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:55.950Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:55.951Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:56.087Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:56.514Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:56.514Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:56.947Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:56.948Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:56.948Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:56.948Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:56.957Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:56.957Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:57.349Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:57.634Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:57.754Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:57.756Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:57.767Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:57.769Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:57.780Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:57.791Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:57.793Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:57.804Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:57.811Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:57.813Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:57.823Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:57.824Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:58.335Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:58.349Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:58.652Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:58.728Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:58.729Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:58.757Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:58.757Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:58.765Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:20:58.765Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:59.118Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:20:59.118Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:59.249Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:59.395Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:20:59.396Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:59.580Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:59.582Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:20:59.590Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:59.592Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:20:59.599Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:59.607Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:59.609Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:20:59.617Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:20:59.623Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:20:59.625Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:20:59.657Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:20:59.657Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:20:59.999Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:00.000Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:00.371Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:00.372Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:00.412Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:00.412Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:00.412Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:00.412Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:00.422Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:00.422Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:00.759Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:00.760Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:01.025Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:01.025Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:01.424Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:01.426Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:01.435Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:01.439Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:01.441Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:01.462Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:01.464Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:01.466Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:01.477Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:01.480Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:01.621Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:01.621Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:02.024Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:02.025Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:02.028Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:02.029Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:02.029Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:02.029Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:02.039Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:02.039Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:02.422Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:02.423Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:02.769Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:02.769Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:03.248Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:03.249Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:03.258Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:03.259Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:03.260Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:03.273Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:03.275Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:03.278Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:03.289Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:03.290Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:03.574Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:03.575Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:03.706Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:03.706Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:03.959Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:04.123Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:04.123Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:04.124Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:04.124Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:04.132Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:04.133Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:04.245Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:04.528Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:04.822Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:04.824Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:05.088Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:05.090Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:05.099Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:05.100Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:05.102Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:05.113Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:05.115Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:05.117Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:05.121Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:05.129Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:05.130Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:05.261Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:05.261Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:05.467Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:05.467Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:05.471Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:05.471Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:05.475Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:05.475Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:05.895Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:05.895Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:06.178Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:06.179Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:06.803Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:06.803Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:06.928Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:06.930Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:06.941Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:06.947Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:06.949Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:06.964Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:06.966Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:06.967Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:06.979Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:06.981Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:06.995Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:06.996Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:07.231Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:07.231Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:07.231Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:07.231Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:07.241Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:07.241Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:07.496Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:07.702Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:07.756Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:07.899Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:08.422Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:08.422Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:08.750Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:08.751Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:08.759Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:08.760Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:08.762Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:08.774Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:08.776Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:08.780Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:08.790Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:08.792Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:08.875Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:08.876Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:08.876Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:08.876Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:08.883Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:08.884Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:09.286Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:09.576Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:10.162Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:10.586Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:10.587Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:10.594Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:10.596Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:10.600Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:10.609Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:10.612Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:10.613Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:10.615Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:10.619Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:10.630Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:10.633Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:10.649Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:10.649Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:11.039Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:11.320Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:11.893Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:12.170Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:12.171Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:12.306Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:12.306Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:12.314Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:12.314Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:12.425Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:12.426Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:12.431Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:12.433Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:12.443Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:12.445Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:12.450Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:12.459Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:12.461Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:12.466Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:12.472Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:12.476Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:12.509Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:12.510Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:12.670Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:12.670Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:12.986Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:13.109Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:13.109Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:13.237Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:13.694Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:13.694Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:13.695Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:13.782Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:13.783Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:14.114Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:14.114Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:14.114Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:14.114Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:14.114Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:14.115Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:14.124Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:14.125Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:14.168Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:14.255Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:14.256Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:14.265Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:14.267Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:14.269Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:14.281Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:14.283Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:14.284Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:14.295Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:14.297Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:14.358Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:14.453Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:14.594Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:17.748Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:17.748Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:18.180Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:18.180Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:18.180Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:18.180Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:18.191Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:18.191Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:18.647Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:18.819Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:18.821Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:18.833Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:18.836Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:18.843Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:18.858Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:18.860Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:18.868Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:18.879Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:18.882Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:18.920Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:19.499Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:19.909Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:19.909Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:19.917Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:19.917Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:20.306Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:20.577Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:20.640Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:20.641Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:20.651Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:20.652Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:20.653Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:20.666Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:20.667Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:20.669Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:20.682Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:20.684Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:20.737Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:20.738Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:21.118Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:21.194Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:21.473Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:21.492Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:21.492Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:21.717Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:21.717Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:21.725Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:21.726Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:21.896Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:22.079Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:22.101Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:22.178Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:22.324Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:22.477Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:22.478Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:22.486Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:22.488Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:22.494Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:22.501Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:22.503Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:22.510Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:22.515Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:22.515Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:22.522Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:22.527Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:22.809Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:22.809Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:23.117Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:23.117Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:23.252Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:23.252Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:23.252Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:23.253Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:23.263Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:23.263Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:23.518Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:23.519Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:23.817Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:23.818Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:24.315Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:24.317Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:24.328Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:24.329Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:24.331Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:24.343Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:24.346Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:24.349Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:24.361Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:24.363Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:24.399Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:24.400Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:24.876Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:24.876Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:24.876Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:24.876Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:24.884Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:24.884Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:25.300Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:25.601Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:26.148Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:26.149Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:26.159Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:26.169Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:26.202Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:26.205Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:26.205Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:26.546Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:26.547Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:26.646Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:26.646Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:26.650Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:26.654Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:26.655Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:26.855Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:26.911Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:27.054Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:27.055Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:27.223Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:27.505Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:27.506Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:27.806Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:27.957Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:27.957Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:27.958Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:27.958Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:28.170Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:28.170Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:28.179Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:28.179Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:28.738Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:29.014Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:29.588Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:29.957Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:29.958Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:29.959Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:29.959Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:30.048Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:30.048Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:30.056Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:30.057Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:30.357Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:30.357Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:30.357Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:30.642Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:30.642Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:30.642Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:31.201Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:31.202Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:31.202Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:31.632Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:31.632Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:31.632Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:31.632Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:31.633Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:31.633Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:31.642Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:31.642Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:32.123Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:32.410Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:33.004Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:33.425Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:33.425Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:33.434Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:33.434Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:33.868Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:34.171Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:34.760Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:35.180Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:35.180Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:35.187Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:35.188Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:35.190Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:35.190Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:35.358Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:35.358Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:35.663Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:35.663Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:35.664Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:35.937Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:35.937Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:35.937Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:36.500Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:36.500Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:36.501Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:36.933Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:36.934Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:36.934Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:36.934Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:36.934Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:36.934Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:36.943Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:36.944Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:37.379Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:37.648Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:38.244Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:38.266Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:38.267Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:38.677Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:38.684Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:38.685Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:38.692Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:38.693Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:38.962Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:39.084Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:39.351Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:39.546Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:39.850Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:39.961Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:39.961Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:40.064Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:40.064Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:40.186Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:40.187Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:40.196Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:40.197Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:40.515Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:40.515Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:40.839Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:40.839Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:41.435Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:41.435Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:41.608Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:41.609Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:41.875Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:41.876Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:41.876Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:41.876Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:41.885Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:41.886Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:42.014Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:42.221Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:42.286Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:42.442Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:42.896Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:42.896Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:43.232Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:43.232Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:43.304Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:43.304Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:43.305Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:43.305Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:43.314Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:43.314Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:43.635Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:43.635Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:43.912Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:43.912Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:44.514Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:44.515Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:44.950Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:44.950Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:44.950Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:44.950Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:44.959Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:44.959Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:45.398Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:45.691Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:46.263Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:46.520Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:46.520Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:46.673Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:46.673Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:46.681Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:46.681Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:46.925Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:46.926Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:47.230Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:47.230Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:50.526Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:50.526Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:50.939Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:50.939Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:50.939Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:50.940Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:50.951Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:50.952Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:51.360Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:51.666Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:52.297Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:52.719Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:52.720Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:52.727Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:52.727Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:53.147Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:53.426Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:54.017Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:54.435Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:54.435Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:54.444Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:54.444Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:54.528Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:54.530Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:54.540Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:54.542Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:54.559Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:54.562Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:21:54.576Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:54.577Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:54.854Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:55.155Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:55.773Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:56.199Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:56.199Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:56.207Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:56.207Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:21:56.364Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:21:56.365Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:21:56.376Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:21:56.388Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:56.640Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:56.918Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:57.541Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:57.949Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:57.949Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:57.956Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:57.956Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:21:58.374Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:21:58.658Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:21:59.257Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:21:59.697Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:21:59.697Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:59.706Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:21:59.706Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:22:00.113Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:22:00.401Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:22:00.981Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:22:01.413Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:22:01.413Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:01.422Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:01.423Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:22:01.822Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:22:02.117Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:22:02.703Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:22:03.206Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:22:03.207Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:03.215Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:03.215Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:22:03.602Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:22:03.950Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:22:04.573Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:22:04.979Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:22:04.979Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:04.987Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:04.987Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:22:05.398Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:22:05.709Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:22:06.298Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:22:06.718Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:22:06.718Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:06.727Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:06.727Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:22:07.139Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:22:07.470Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:22:08.034Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:22:08.444Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:22:08.444Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:22:52.298Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:22:52.302Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:22:52.309Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:22:52.312Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:22:52.322Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:22:52.324Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:22:52.336Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:22:52.337Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:22:56.834Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:22:56.835Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:22:56.846Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:22:56.859Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:56.869Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:22:56.870Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:22:57.971Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:22:58.806Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:22:59.775Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:23:00.734Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:23:00.734Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:00.743Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:00.743Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:23:01.139Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:23:01.381Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:23:01.960Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:23:02.371Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:23:02.372Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:43.577Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:43.578Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:23:44.512Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:23:45.311Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:23:46.280Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:23:47.174Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:23:47.174Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:23:52.730Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:23:52.734Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:23:52.757Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:23:52.761Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:23:52.772Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:23:52.774Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:23:52.789Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:23:52.791Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:23:54.563Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:23:54.564Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:23:54.575Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:23:54.589Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:54.601Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:54.602Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:23:55.565Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:23:56.329Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:23:57.264Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:23:58.349Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:23:58.349Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:58.360Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:23:58.361Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:01.521Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:01.788Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:02.371Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:02.786Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:02.786Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:08.281Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:08.282Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:09.144Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:10.040Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:11.047Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:12.013Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:12.013Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:12.022Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:12.023Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:12.402Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:12.662Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:13.325Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:13.759Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:13.759Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:14.701Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:14.702Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:15.082Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:15.348Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:15.926Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:16.342Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:16.342Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:18.681Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:18.681Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:19.075Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:19.351Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:19.921Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:20.334Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:20.334Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:20.344Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:20.346Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:20.744Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:21.038Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:21.615Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:22.026Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:22.026Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:22.037Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:22.038Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:22.438Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:22.734Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:23.330Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:23.759Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:23.760Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:26.620Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:26.622Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:27.042Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:27.321Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:27.901Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:28.323Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:28.324Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:34.848Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:34.848Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:35.735Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:36.690Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:37.602Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:38.542Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:38.542Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:38.550Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:38.550Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:38.972Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:39.246Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:39.860Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:40.331Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:40.331Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:40.339Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:40.340Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:40.760Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:41.034Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:41.660Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:42.121Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:42.121Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:42.172Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:42.173Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:42.583Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:42.875Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:43.471Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:43.900Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:43.900Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:44.008Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:44.008Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:44.434Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:44.725Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:45.362Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:45.804Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:45.804Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:48.586Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:48.587Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:49.014Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:49.292Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:49.909Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:50.324Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:50.325Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:50.423Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:50.423Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:50.844Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:51.134Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:51.706Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:52.126Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:52.126Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:24:53.182Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:53.189Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:53.214Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:53.219Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:53.229Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:53.231Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:53.246Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:53.248Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:54.088Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:54.089Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:54.489Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:54.764Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:24:55.001Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:55.002Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:24:55.015Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:24:55.031Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:55.412Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:55.825Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:55.826Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:55.833Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:55.834Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:56.224Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:56.509Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:57.155Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:57.576Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:57.576Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:57.586Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:57.586Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:24:58.011Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:58.013Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.014Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:58.031Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.033Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:58.048Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.050Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:24:58.285Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:24:58.436Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.437Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:58.447Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.449Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:24:58.461Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.462Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:24:58.935Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:24:58.979Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:24:58.980Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:24:58.989Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:24:58.999Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:24:59.362Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:24:59.362Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:59.369Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:24:59.370Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:24:59.774Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:25:00.036Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:00.267Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:00.269Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:00.277Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:00.278Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:00.286Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:00.288Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:25:00.616Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:25:01.055Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:25:01.056Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:25:01.061Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:25:01.062Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:01.223Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:01.224Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:25:01.234Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:25:01.244Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:25:01.494Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:25:01.773Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:02.099Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:02.101Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:02.111Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:02.113Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:02.121Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:02.123Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:25:02.543Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:25:02.985Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:25:02.985Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:25:02.992Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:25:02.992Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:03.050Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:03.051Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:25:03.060Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:25:03.070Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:25:03.409Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:25:03.702Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:03.980Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:03.981Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:03.994Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:03.995Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:04.007Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:04.008Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:25:07.042Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:25:07.484Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:25:07.485Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:25:07.492Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:25:07.493Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:07.634Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:07.635Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:25:07.647Z"} +{"level":"info","message":"GET /api/chat/history?offset=2&limit=30","timestamp":"2025-04-22T14:25:07.667Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:25:07.887Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:08.121Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.123Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:08.137Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.138Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:25:08.154Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.155Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.157Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.176Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.178Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:08.202Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.205Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:08.216Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.219Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.222Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.226Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.234Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.236Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.245Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.247Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.256Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.258Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.267Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.268Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:08.278Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:08.279Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:25:08.767Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:25:09.096Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:09.098Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:25:09.107Z"} +{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-22T14:25:09.120Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:25:09.198Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:25:09.199Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:36.259Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:36.263Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:25:36.270Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:25:36.273Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:26:06.404Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:26:06.406Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:26:06.412Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:26:06.414Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:26:36.703Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:26:36.706Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:26:36.715Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:26:36.717Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:27:06.913Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:27:06.916Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:27:06.923Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:27:06.925Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:27:37.151Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:27:37.153Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:27:37.161Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:27:37.163Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:28:38.509Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:28:38.512Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:28:38.519Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:28:38.520Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:29:39.904Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:29:39.908Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:29:39.915Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:29:39.916Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:30:30.650Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:30:30.653Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:30:30.665Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:30:30.667Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:30:38.500Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:30:38.502Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:30:38.510Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:30:38.513Z"} +{"level":"info","message":"POST /api/auth/logout","timestamp":"2025-04-22T14:30:44.822Z"} +{"address":null,"authType":null,"authenticated":false,"cookie":{"expires":"2025-05-22T14:17:35.893Z","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":[],"role":"admin","telegramFirstName":"Alex","telegramId":null,"telegramUsername":"Alex_tg9","timestamp":"2025-04-22T14:30:44.823Z","userId":null} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:30:44.827Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:30:54.012Z"} +{"cookie":{"expires":"2025-05-22T14:30:54.010Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"7e578873c53baeee78e578445f627c2c","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:30:54.013Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:30:54.016Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:30:54.024Z"} +{"cookie":{"expires":"2025-05-22T14:30:54.022Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"e6bc3987579bf5e15a3b206f48a6f5cb","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:30:54.024Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:30:54.028Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:30:54.038Z"} +{"cookie":{"expires":"2025-05-22T14:30:54.034Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"a70a913d3b783fdddd99cbf64c821802","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:30:54.041Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:30:54.045Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:31:31.359Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:31:31.372Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:31:31.382Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:33:23.025Z"} +{"level":"info","message":"Migration 000_session_table.sql executed successfully","timestamp":"2025-04-22T14:37:32.363Z"} +{"level":"info","message":"Migration 001_initial_schema.sql executed successfully","timestamp":"2025-04-22T14:37:32.380Z"} +{"level":"info","message":"Migration 002_access_roles.sql executed successfully","timestamp":"2025-04-22T14:37:32.414Z"} +{"level":"info","message":"Migration 003_user_identities.sql executed successfully","timestamp":"2025-04-22T14:37:32.436Z"} +{"level":"info","message":"Migration 004_conversations.sql executed successfully","timestamp":"2025-04-22T14:37:32.450Z"} +{"level":"info","message":"Migration 005_messages.sql executed successfully","timestamp":"2025-04-22T14:37:32.473Z"} +{"level":"info","message":"Migration 006_guest_messages.sql executed successfully","timestamp":"2025-04-22T14:37:32.498Z"} +{"level":"info","message":"Migration 007_user_preferences.sql executed successfully","timestamp":"2025-04-22T14:37:32.519Z"} +{"level":"info","message":"Migration 008_update_messages_structure.sql executed successfully","timestamp":"2025-04-22T14:37:32.530Z"} +{"level":"info","message":"Migration 009_nonces_table.sql executed successfully","timestamp":"2025-04-22T14:37:32.546Z"} +{"level":"info","message":"Migration 010_cleanup_roles.sql executed successfully","timestamp":"2025-04-22T14:37:32.565Z"} +{"level":"info","message":"Migration 011_cleanup_guest_relations.sql executed successfully","timestamp":"2025-04-22T14:37:32.577Z"} +{"level":"info","message":"Migration 012_verification_codes.sql executed successfully","timestamp":"2025-04-22T14:37:32.596Z"} +{"level":"info","message":"Migration 013_update_verification_codes.sql executed successfully","timestamp":"2025-04-22T14:37:32.604Z"} +{"level":"info","message":"Migration 014_identity_system_refactor.sql executed successfully","timestamp":"2025-04-22T14:37:32.631Z"} +{"level":"info","message":"Migration 015_users_table_refactor.sql executed successfully","timestamp":"2025-04-22T14:37:32.641Z"} +{"level":"info","message":"Migration 016_fix_duplicate_identities.sql executed successfully","timestamp":"2025-04-22T14:37:32.659Z"} +{"level":"info","message":"Migration fix_duplicates_manual.sql executed successfully","timestamp":"2025-04-22T14:37:32.669Z"} +{"level":"info","message":"Function link_guest_messages.sql executed successfully","timestamp":"2025-04-22T14:37:32.673Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:38:47.966Z"} +{"cookie":{"expires":"2025-05-22T14:38:47.961Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"c54ed0295d1b74dad70cf98b3eb3b4b4","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:38:47.970Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:38:47.975Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:38:47.987Z"} +{"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"8aef6cc434b4d52fa30e91c796fa778d","level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:38:47.988Z"} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:38:47.990Z"} +{"level":"info","message":"GET /api/auth/nonce?address=0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-22T14:38:49.599Z"} +{"level":"info","message":"Nonce 84302490d7b09d650921e76c96c52eb0 сохранен для адреса 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-22T14:38:49.611Z"} +{"level":"info","message":"POST /api/auth/verify","timestamp":"2025-04-22T14:38:51.714Z"} +{"level":"info","message":"[verify] Verifying signature for address: 0xF45aa4917b3775bA37f48Aeb3dc1a943561e9e0B","timestamp":"2025-04-22T14:38:51.716Z"} +{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:51.835Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-22T14:38:53.476Z"} +{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-22T14:38:53.476Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-22T14:38:53.526Z"} +{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-22T14:38:53.527Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-22T14:38:53.598Z"} +{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-22T14:38:53.598Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-22T14:38:53.822Z"} +{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-22T14:38:53.822Z"} +{"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-22T14:38:53.823Z"} +{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:53.824Z"} +{"level":"info","message":"New user 1 role check result: admin","timestamp":"2025-04-22T14:38:53.824Z"} +{"level":"info","message":"New user 1 with wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b automatically granted admin role","timestamp":"2025-04-22T14:38:53.828Z"} +{"level":"info","message":"[verify] Found or created user 1 for wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:53.828Z"} +{"level":"info","message":"[IdentityService] Converting guest identity for user 1 to guest_user_mapping: 8aef6cc434b4d52fa30e91c796fa778d","timestamp":"2025-04-22T14:38:53.829Z"} +{"level":"info","message":"Checking admin tokens for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:53.832Z"} +{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:53.832Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-22T14:38:54.226Z"} +{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-22T14:38:54.226Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-22T14:38:54.309Z"} +{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-22T14:38:54.309Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-22T14:38:54.332Z"} +{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-22T14:38:54.332Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-22T14:38:54.532Z"} +{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-22T14:38:54.533Z"} +{"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-22T14:38:54.533Z"} +{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:54.533Z"} +{"level":"info","message":"Updated user 1 role to admin based on token holdings","timestamp":"2025-04-22T14:38:54.537Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"8aef6cc434b4d52fa30e91c796fa778d","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","timestamp":"2025-04-22T14:38:54.539Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:38:54.541Z"} +{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=8aef6cc434b4d52fa30e91c796fa778d, previousGuestId=undefined","timestamp":"2025-04-22T14:38:54.541Z"} +{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=8aef6cc434b4d52fa30e91c796fa778d","timestamp":"2025-04-22T14:38:54.544Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":"8aef6cc434b4d52fa30e91c796fa778d","isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["8aef6cc434b4d52fa30e91c796fa778d"],"timestamp":"2025-04-22T14:38:54.551Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:38:54.554Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:38:54.562Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:54.564Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:38:54.580Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:54.584Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:38:54.598Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:54.599Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:54.603Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:54.605Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:38:54.614Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:54.616Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:38:54.626Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:54.628Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:38:54.637Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:54.639Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:38:54.987Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:38:55.359Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:38:55.511Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:38:55.513Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:38:55.527Z"} +{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-22T14:38:55.549Z"} +{"level":"info","message":"POST /api/auth/telegram/init","timestamp":"2025-04-22T14:38:55.819Z"} +{"level":"info","message":"[initTelegramAuth] Linked guestId 9fdd1f3af376e15da828951a1f8e7cc2 to authenticated user 1","timestamp":"2025-04-22T14:38:55.824Z"} +{"level":"info","message":"Generated verification code: QIW6XV","timestamp":"2025-04-22T14:38:55.824Z"} +{"level":"info","message":"Creating verification code for telegram:9fdd1f3af376e15da828951a1f8e7cc2, userId: 1","timestamp":"2025-04-22T14:38:55.824Z"} +{"level":"info","message":"Verification code created successfully for telegram:9fdd1f3af376e15da828951a1f8e7cc2","timestamp":"2025-04-22T14:38:55.827Z"} +{"level":"info","message":"[initTelegramAuth] Created verification code for guestId: 9fdd1f3af376e15da828951a1f8e7cc2, userId: 1","timestamp":"2025-04-22T14:38:55.828Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":null,"isAdmin":true,"level":"info","message":"[telegram/init] Session object before save:","processedGuestIds":["8aef6cc434b4d52fa30e91c796fa778d"],"timestamp":"2025-04-22T14:38:55.828Z","userId":1} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"wallet","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":null,"isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["8aef6cc434b4d52fa30e91c796fa778d"],"timestamp":"2025-04-22T14:38:55.828Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:38:55.831Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:38:55.944Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:38:56.451Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:38:56.452Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:56.460Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:38:56.461Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:39:00.846Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:39:01.150Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:01.822Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:01.825Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:01.841Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:01.843Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:01.855Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:01.858Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:39:01.899Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:39:02.386Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:39:02.386Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:04.056Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:04.058Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:04.073Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:04.075Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:04.087Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:04.090Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:06.210Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:06.212Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:06.223Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:06.225Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:06.238Z"} +{"level":"info","message":"[IdentityService] Found 1 identities for user 1","timestamp":"2025-04-22T14:39:06.240Z"} +{"level":"info","message":"Starting Telegram auth process for code:","timestamp":"2025-04-22T14:39:07.203Z"} +{"level":"info","message":"Linked Telegram account 1136899732 to pre-authenticated user 1","timestamp":"2025-04-22T14:39:07.208Z"} +{"level":"info","message":"[TelegramBot] Checking linked wallet for determined userId: 1 (Type: number)","timestamp":"2025-04-22T14:39:07.208Z"} +{"level":"info","message":"[getLinkedWallet] Called with userId: 1 (Type: number)","timestamp":"2025-04-22T14:39:07.209Z"} +{"0":{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b"},"level":"info","message":"[getLinkedWallet] DB query result for userId 1:","timestamp":"2025-04-22T14:39:07.210Z"} +{"level":"info","message":"[getLinkedWallet] Returning address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b for userId 1","timestamp":"2025-04-22T14:39:07.211Z"} +{"level":"info","message":"[TelegramBot] Found linked wallet 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b for user 1. Checking role...","timestamp":"2025-04-22T14:39:07.211Z"} +{"level":"info","message":"Checking admin role for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:07.211Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","hasTokens":true,"level":"info","message":"Token balance on polygon:","timestamp":"2025-04-22T14:39:07.691Z"} +{"level":"info","message":"Found admin tokens on polygon","timestamp":"2025-04-22T14:39:07.691Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","hasTokens":true,"level":"info","message":"Token balance on bsc:","timestamp":"2025-04-22T14:39:08.160Z"} +{"level":"info","message":"Found admin tokens on bsc","timestamp":"2025-04-22T14:39:08.160Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","hasTokens":true,"level":"info","message":"Token balance on arbitrum:","timestamp":"2025-04-22T14:39:08.240Z"} +{"level":"info","message":"Found admin tokens on arbitrum","timestamp":"2025-04-22T14:39:08.240Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","hasTokens":true,"level":"info","message":"Token balance on eth:","timestamp":"2025-04-22T14:39:08.292Z"} +{"level":"info","message":"Found admin tokens on eth","timestamp":"2025-04-22T14:39:08.293Z"} +{"balances":{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","polygon":"454852.0"},"level":"info","message":"Admin role summary for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","networks":["polygon","bsc","arbitrum","eth"],"timestamp":"2025-04-22T14:39:08.294Z"} +{"level":"info","message":"Admin role granted for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:08.294Z"} +{"level":"info","message":"[TelegramBot] Role for user 1 determined as: admin","timestamp":"2025-04-22T14:39:08.295Z"} +{"level":"info","message":"[telegramBot] Attempting to update session for userId: 1","timestamp":"2025-04-22T14:39:08.296Z"} +{"level":"info","message":"[telegramBot] Found active session ID fyQKiilEKLK-xF-vOQEeQGC5mUVDpyL9 for user 1","timestamp":"2025-04-22T14:39:08.299Z"} +{"level":"info","message":"[telegramBot] Session fyQKiilEKLK-xF-vOQEeQGC5mUVDpyL9 updated successfully with Telegram data for user 1","timestamp":"2025-04-22T14:39:08.303Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:08.373Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:08.375Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:08.386Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:08.388Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:08.399Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:08.401Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:08.415Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:08.418Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:08.432Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:08.434Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:08.447Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:08.449Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:08.466Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:08.466Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:39:08.933Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:39:09.214Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:39:09.880Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:39:10.364Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:39:10.365Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:10.390Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:10.392Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:39:10.856Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:39:11.180Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:39:11.870Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:39:12.331Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:39:12.332Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:28.906Z"} +{"level":"info","message":"[IdentityService] Found 2 identities for user 1","timestamp":"2025-04-22T14:39:28.910Z"} +{"level":"info","message":"POST /api/auth/email/init","timestamp":"2025-04-22T14:39:32.021Z"} +{"level":"info","message":"[initEmailAuth] Using existing authenticated user 1 for email 0x5.anonymous@gmail.com","timestamp":"2025-04-22T14:39:32.025Z"} +{"level":"info","message":"Generated verification code: 0IRZSU","timestamp":"2025-04-22T14:39:32.026Z"} +{"level":"info","message":"Creating verification code for email:0x5.anonymous@gmail.com, userId: 1","timestamp":"2025-04-22T14:39:32.026Z"} +{"level":"info","message":"Verification code created successfully for email:0x5.anonymous@gmail.com","timestamp":"2025-04-22T14:39:32.030Z"} +{"level":"info","message":"Verification code sent to 0x5.anonymous@gmail.com","timestamp":"2025-04-22T14:39:33.157Z"} +{"level":"info","message":"Generated verification code for Email auth for 0x5.anonymous@gmail.com and sent to user's email","timestamp":"2025-04-22T14:39:33.158Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"telegram","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"guestId":null,"isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","pendingEmail":"0x5.anonymous@gmail.com","processedGuestIds":["8aef6cc434b4d52fa30e91c796fa778d"],"role":"admin","telegramFirstName":"Alex","telegramId":"1136899732","telegramUsername":"Alex_tg9","timestamp":"2025-04-22T14:39:33.158Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:39:33.160Z"} +{"level":"info","message":"POST /api/auth/email/verify-code","timestamp":"2025-04-22T14:39:48.311Z"} +{"level":"info","message":"Verifying code for email:0x5.anonymous@gmail.com","timestamp":"2025-04-22T14:39:48.312Z"} +{"level":"info","message":"Normalized code: 0IRZSU","timestamp":"2025-04-22T14:39:48.313Z"} +{"level":"info","message":"Found codes for email:0x5.anonymous@gmail.com: [\"0IRZSU\"]","timestamp":"2025-04-22T14:39:48.315Z"} +{"level":"info","message":"Code verified successfully for email:0x5.anonymous@gmail.com","timestamp":"2025-04-22T14:39:48.319Z"} +{"level":"info","message":"[handleEmailVerification] Using authenticated user 1","timestamp":"2025-04-22T14:39:48.319Z"} +{"level":"info","message":"[IdentityService] Saving identity for user 1: email:0x5.anonymous@gmail.com","timestamp":"2025-04-22T14:39:48.319Z"} +{"level":"info","message":"[IdentityService] Created new identity email:0x5.anonymous@gmail.com for user 1","timestamp":"2025-04-22T14:39:48.326Z"} +{"level":"info","message":"[handleEmailVerification] Ensured email identity 0x5.anonymous@gmail.com for user 1","timestamp":"2025-04-22T14:39:48.326Z"} +{"level":"info","message":"[getLinkedWallet] Called with userId: 1 (Type: number)","timestamp":"2025-04-22T14:39:48.326Z"} +{"0":{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b"},"level":"info","message":"[getLinkedWallet] DB query result for userId 1:","timestamp":"2025-04-22T14:39:48.328Z"} +{"level":"info","message":"[getLinkedWallet] Returning address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b for userId 1","timestamp":"2025-04-22T14:39:48.328Z"} +{"level":"info","message":"[handleEmailVerification] No linked wallet found. Role remains 'user'.","timestamp":"2025-04-22T14:39:48.328Z"} +{"code":"42703","file":"parse_relation.c","hint":"Perhaps you meant to reference the column \"user_identities.created_at\".","length":183,"level":"error","line":"3729","message":"[IdentityService] Error finding wallet identity for user 1: column \"updated_at\" does not exist","name":"error","position":"43","routine":"errorMissingColumn","severity":"ERROR","stack":"error: column \"updated_at\" 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 IdentityService.findIdentity (/app/services/identity-service.js:258:22)\n at async /app/routes/auth.js:368:32","timestamp":"2025-04-22T14:39:48.332Z"} +{"level":"info","message":"[email/verify-code] No linked wallet found for user 1. Using role from authResult: admin","timestamp":"2025-04-22T14:39:48.332Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"email","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":"0x5.anonymous@gmail.com","guestId":null,"isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["8aef6cc434b4d52fa30e91c796fa778d"],"role":"admin","telegramFirstName":"Alex","telegramId":"1136899732","telegramUsername":"Alex_tg9","timestamp":"2025-04-22T14:39:48.333Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:39:48.346Z"} +{"level":"info","message":"[linkGuestMessages] Starting for user 1 with guestId=null, previousGuestId=undefined","timestamp":"2025-04-22T14:39:48.347Z"} +{"level":"info","message":"[processGuestMessagesWrapper] Processing messages: userId=1, guestId=9fdd1f3af376e15da828951a1f8e7cc2","timestamp":"2025-04-22T14:39:48.349Z"} +{"address":"0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","authType":"email","authenticated":true,"cookie":{"expires":"2025-05-22T14:38:47.985Z","httpOnly":true,"originalMaxAge":2592000000,"path":"/","sameSite":"lax","secure":false},"email":"0x5.anonymous@gmail.com","guestId":null,"isAdmin":true,"level":"info","message":"[SessionService] Saving session data:","processedGuestIds":["8aef6cc434b4d52fa30e91c796fa778d","9fdd1f3af376e15da828951a1f8e7cc2"],"role":"admin","telegramFirstName":"Alex","telegramId":"1136899732","telegramUsername":"Alex_tg9","timestamp":"2025-04-22T14:39:48.356Z","userId":1} +{"level":"info","message":"Session saved successfully","timestamp":"2025-04-22T14:39:48.359Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:48.368Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:48.371Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:48.381Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:48.384Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:48.397Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:48.399Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:48.410Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:48.412Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:48.422Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:48.424Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:48.433Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:48.435Z"} +{"level":"info","message":"GET /api/auth/check","timestamp":"2025-04-22T14:39:49.450Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:49.451Z"} +{"level":"info","message":"GET /api/chat/history?count_only=true","timestamp":"2025-04-22T14:39:49.462Z"} +{"level":"info","message":"GET /api/chat/history?offset=0&limit=30","timestamp":"2025-04-22T14:39:49.477Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:49.492Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:49.493Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:39:50.380Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:39:51.177Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:39:52.131Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:39:53.213Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:39:53.213Z"} +{"level":"info","message":"GET /api/tokens/balances?address=0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:53.225Z"} +{"level":"info","message":"Fetching token balances for address: 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b","timestamp":"2025-04-22T14:39:53.226Z"} +{"balance":"1500000.0","contract":"0xd95a45fc46a7300e6022885afec3d618d7d3f27c","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on eth:","timestamp":"2025-04-22T14:39:53.651Z"} +{"balance":"500000.0","contract":"0x4B294265720B09ca39BFBA18c7E368413c0f68eB","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on bsc:","timestamp":"2025-04-22T14:39:53.926Z"} +{"balance":"499999.9","contract":"0xdce769b847a0a697239777d0b1c7dd33b6012ba0","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on arbitrum:","timestamp":"2025-04-22T14:39:54.476Z"} +{"balance":"454852.0","contract":"0x351f59de4fedbdf7601f5592b93db3b9330c1c1d","level":"info","message":"Token balance for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b on polygon:","timestamp":"2025-04-22T14:39:54.864Z"} +{"arbitrum":"499999.9","bsc":"500000.0","eth":"1500000.0","level":"info","message":"Token balances fetched for 0xf45aa4917b3775ba37f48aeb3dc1a943561e9e0b:","polygon":"454852.0","timestamp":"2025-04-22T14:39:54.864Z"} +{"level":"info","message":"POST /api/chat/message","timestamp":"2025-04-22T14:39:57.793Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:39:57.928Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:39:57.931Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:40:28.489Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:40:28.493Z"} +{"level":"info","message":"GET /api/auth/identities","timestamp":"2025-04-22T14:40:55.368Z"} +{"level":"info","message":"[IdentityService] Found 3 identities for user 1","timestamp":"2025-04-22T14:40:55.372Z"} diff --git a/backend/logs/error.log b/backend/logs/error.log index e69de29..e11ab80 100644 --- a/backend/logs/error.log +++ b/backend/logs/error.log @@ -0,0 +1 @@ +{"code":"42703","file":"parse_relation.c","hint":"Perhaps you meant to reference the column \"user_identities.created_at\".","length":183,"level":"error","line":"3729","message":"[IdentityService] Error finding wallet identity for user 1: column \"updated_at\" does not exist","name":"error","position":"43","routine":"errorMissingColumn","severity":"ERROR","stack":"error: column \"updated_at\" 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 IdentityService.findIdentity (/app/services/identity-service.js:258:22)\n at async /app/routes/auth.js:368:32","timestamp":"2025-04-22T14:39:48.332Z"} diff --git a/backend/routes/auth.js b/backend/routes/auth.js index a4f7ceb..ea1a21a 100644 --- a/backend/routes/auth.js +++ b/backend/routes/auth.js @@ -194,6 +194,38 @@ router.post('/telegram/verify', async (req, res) => { }); } + // ---> ШАГ 4 И 5: ПОИСК ПРИВЯЗАННОГО КОШЕЛЬКА И ПРОВЕРКА БАЛАНСА <--- + let linkedWalletAddress = null; + let finalIsAdmin = false; // Роль по умолчанию + + try { + const walletIdentity = await identityService.findIdentity(verificationResult.userId, 'wallet'); + if (walletIdentity) { + linkedWalletAddress = walletIdentity.provider_id; + logger.info(`[telegram/verify] Found linked wallet ${linkedWalletAddress} for user ${verificationResult.userId}`); + + // Проверяем баланс токенов для определения роли + finalIsAdmin = await authService.checkAdminTokens(linkedWalletAddress); + logger.info(`[telegram/verify] Admin status based on token balance for ${linkedWalletAddress}: ${finalIsAdmin}`); + + // Обновляем роль в БД, если она отличается от той, что была получена из verifyTelegramAuth + const currentRoleInDb = verificationResult.role === 'admin'; + if (finalIsAdmin !== currentRoleInDb) { + await db.query('UPDATE users SET role = $1 WHERE id = $2', [finalIsAdmin ? 'admin' : 'user', verificationResult.userId]); + logger.info(`[telegram/verify] User role updated in DB for user ${verificationResult.userId} to ${finalIsAdmin ? 'admin' : 'user'}`); + } + } else { + logger.info(`[telegram/verify] No linked wallet found for user ${verificationResult.userId}. Role remains '${verificationResult.role}'`); + // Если кошелек не найден, используем роль из verificationResult (скорее всего 'user') + finalIsAdmin = verificationResult.role === 'admin'; + } + } catch (error) { + logger.error(`[telegram/verify] Error finding linked wallet or checking tokens for user ${verificationResult.userId}:`, error); + // В случае ошибки, используем роль из verificationResult + finalIsAdmin = verificationResult.role === 'admin'; + } + // ---> КОНЕЦ ШАГОВ 4 И 5 <--- + // Создаем новую сессию для этого telegramId req.session.regenerate(async (err) => { if (err) { @@ -209,7 +241,13 @@ router.post('/telegram/verify', async (req, res) => { req.session.telegramId = telegramId; req.session.authType = 'telegram'; req.session.authenticated = true; - req.session.role = verificationResult.role; + req.session.isAdmin = finalIsAdmin; // <-- УСТАНАВЛИВАЕМ РОЛЬ ПОСЛЕ ПРОВЕРКИ БАЛАНСА + + // ---> ДОБАВЛЯЕМ АДРЕС КОШЕЛЬКА В СЕССИЮ (ЕСЛИ НАЙДЕН) <--- + if (linkedWalletAddress) { + req.session.address = linkedWalletAddress; + } + // ---> КОНЕЦ ДОБАВЛЕНИЯ АДРЕСА <--- // Восстанавливаем гостевой ID, если он был if (guestId) { @@ -227,9 +265,10 @@ router.post('/telegram/verify', async (req, res) => { return res.json({ success: true, userId: verificationResult.userId, - role: verificationResult.role, + isAdmin: finalIsAdmin, // <-- ВОЗВРАЩАЕМ АКТУАЛЬНУЮ РОЛЬ telegramId, isNewUser: verificationResult.isNewUser, + address: linkedWalletAddress || null // <-- ВОЗВРАЩАЕМ АДРЕС КОШЕЛЬКА }); }); } catch (error) { @@ -285,11 +324,12 @@ router.post('/email/verify-code', async (req, res) => { }); } - // Если email передан в запросе, сохраняем его в сессии + // Если email передан в запросе, сохраняем его в сессии для проверки кода if (email && !req.session.pendingEmail) { req.session.pendingEmail = email.toLowerCase(); } + // Нужен email в сессии для проверки кода if (!req.session.pendingEmail) { return res.status(400).json({ success: false, @@ -297,135 +337,115 @@ router.post('/email/verify-code', async (req, res) => { }); } - // Сохраняем гостевой ID до проверки + // Сохраняем гостевые ID до обработки const guestId = req.session.guestId; const previousGuestId = req.session.previousGuestId; - // Проверяем код через сервис верификации - const verificationResult = await verificationService.verifyCode( + // 1. Проверяем сам код верификации + const codeVerificationResult = await verificationService.verifyCode( code, 'email', req.session.pendingEmail ); - if (!verificationResult.success) { + if (!codeVerificationResult.success) { return res.status(400).json({ success: false, - error: verificationResult.error || 'Неверный код подтверждения', + error: codeVerificationResult.error || 'Неверный код подтверждения', }); } - // Получаем или создаем пользователя - let userId; - let isNewAuth = false; + // 2. Обрабатываем аутентификацию/привязку и проверяем роль через AuthService + const authResult = await authService.handleEmailVerification( + req.session.pendingEmail, // Передаем email из сессии + req.session // Передаем всю сессию + ); - // Проверяем, авторизован ли пользователь - if (req.session.authenticated && req.session.userId) { - // Связываем email с существующим пользователем - userId = req.session.userId; - logger.info( - `[email/verify-code] Linking email ${req.session.pendingEmail} to existing authenticated user ${userId}` - ); + // ---> ДОБАВЛЯЕМ ПОЛУЧЕНИЕ И СОХРАНЕНИЕ АДРЕСА КОШЕЛЬКА В СЕССИЮ <--- + let linkedWalletAddress = null; + if (authResult.userId) { + try { + const walletIdentity = await identityService.findIdentity(authResult.userId, 'wallet'); + if (walletIdentity) { + linkedWalletAddress = walletIdentity.provider_id; + } + } catch (walletError) { + logger.warn(`[email/verify-code] Could not fetch linked wallet for user ${authResult.userId}:`, walletError); + } + } + // ---> КОНЕЦ ДОБАВЛЕНИЯ <--- - // Связываем email с текущим аккаунтом - const linkResult = await authService.linkIdentity(userId, 'email', req.session.pendingEmail); + // ---> ОПРЕДЕЛЯЕМ РОЛЬ НА ОСНОВЕ БАЛАНСА ПРИВЯЗАННОГО КОШЕЛЬКА <--- + let finalIsAdmin = false; // Роль по умолчанию + if (linkedWalletAddress) { + try { + finalIsAdmin = await authService.checkAdminTokens(linkedWalletAddress); + logger.info(`[email/verify-code] Admin status based on token balance for ${linkedWalletAddress}: ${finalIsAdmin}`); - // Сохраняем email в сессии - req.session.email = req.session.pendingEmail; - - // Удаляем временные данные - delete req.session.pendingEmail; - - // Сохраняем сессию - await sessionService.saveSession(req.session); - - return res.json({ - success: true, - userId, - email: req.session.email, - authenticated: true, - linked: true, - }); + // Обновляем роль в БД, если она отличается от текущей + const currentRole = authResult.role === 'admin'; + if (finalIsAdmin !== currentRole) { + await db.query('UPDATE users SET role = $1 WHERE id = $2', [finalIsAdmin ? 'admin' : 'user', authResult.userId]); + logger.info(`[email/verify-code] User role updated in DB for user ${authResult.userId} to ${finalIsAdmin ? 'admin' : 'user'}`); + } + } catch (tokenCheckError) { + logger.error(`[email/verify-code] Error checking admin tokens for ${linkedWalletAddress}:`, tokenCheckError); + // В случае ошибки проверки токенов, используем роль из authResult + finalIsAdmin = authResult.role === 'admin'; + } } else { - // Если пользователь не авторизован, ищем существующего пользователя или создаем нового - - // Ищем существующего пользователя по email - const existingUser = await identityService.findUserByIdentity( - 'email', - req.session.pendingEmail - ); - - if (existingUser) { - // Используем существующего пользователя - userId = existingUser.id; - logger.info( - `[email/verify-code] Using existing user ${userId} with email ${req.session.pendingEmail}` - ); - } else if (req.session.userId) { - // Используем текущего пользователя - userId = req.session.userId; - logger.info( - `[email/verify-code] Using current user ${userId} for email ${req.session.pendingEmail}` - ); - } else if (req.session.tempUserId) { - // Используем временного пользователя - userId = req.session.tempUserId; - logger.info( - `[email/verify-code] Using temporary user ${userId} for email ${req.session.pendingEmail}` - ); - } else { - // Создаем нового пользователя - const newUser = await db.query('INSERT INTO users (role) VALUES ($1) RETURNING id', [ - 'user', - ]); - userId = newUser.rows[0].id; - isNewAuth = true; - logger.info( - `[email/verify-code] Created new user ${userId} for email ${req.session.pendingEmail}` - ); - } - - // Сохраняем email как идентификатор - await identityService.saveIdentity(userId, 'email', req.session.pendingEmail, true); - - // Сохраняем гостевые идентификаторы - if (guestId) { - await identityService.saveIdentity(userId, 'guest', guestId, true); - } - - if (previousGuestId && previousGuestId !== guestId) { - await identityService.saveIdentity(userId, 'guest', previousGuestId, true); - } - - // Устанавливаем сессию - req.session.userId = userId; - req.session.authenticated = true; - req.session.authType = 'email'; - req.session.email = req.session.pendingEmail; - - // Удаляем временные данные - delete req.session.tempUserId; - delete req.session.pendingEmail; - - // Сохраняем сессию - await sessionService.saveSession(req.session); - - // Связываем гостевые сообщения - await sessionService.linkGuestMessages(req.session, userId); - - return res.json({ - success: true, - userId, - email: req.session.email, - authenticated: true, - isNewAuth, - }); + // Если кошелек не привязан, используем роль из authResult (вероятно, 'user') + finalIsAdmin = authResult.role === 'admin'; + logger.info(`[email/verify-code] No linked wallet found for user ${authResult.userId}. Using role from authResult: ${authResult.role}`); } + // ---> КОНЕЦ ОПРЕДЕЛЕНИЯ РОЛИ <--- + + // 3. Устанавливаем сессию на основе результата + req.session.userId = authResult.userId; + req.session.authenticated = true; + req.session.authType = 'email'; + req.session.email = authResult.email; + req.session.isAdmin = finalIsAdmin; // <-- УСТАНАВЛИВАЕМ РОЛЬ ПОСЛЕ ПРОВЕРКИ БАЛАНСА + // ---> ДОБАВЛЯЕМ АДРЕС КОШЕЛЬКА В СЕССИЮ <--- + if (linkedWalletAddress) { + req.session.address = linkedWalletAddress; + } + // ---> КОНЕЦ ДОБАВЛЕНИЯ <--- + + // Восстанавливаем/обновляем гостевые ID в сессии, если они были + if (guestId) req.session.guestId = guestId; + if (previousGuestId) req.session.previousGuestId = previousGuestId; + + // Очищаем временные данные (authService уже должен был это сделать, но на всякий случай) + delete req.session.tempUserId; + delete req.session.pendingEmail; + + // Сохраняем обновленную сессию + await sessionService.saveSession(req.session); + + // Связываем гостевые сообщения + await sessionService.linkGuestMessages(req.session, authResult.userId); + + // 4. Отправляем ответ + return res.json({ + success: true, + userId: authResult.userId, + email: authResult.email, + isAdmin: finalIsAdmin, // <-- ВОЗВРАЩАЕМ АКТУАЛЬНУЮ РОЛЬ + authenticated: true, + isNewAuth: authResult.isNewUser, + address: linkedWalletAddress || null // <-- ВОЗВРАЩАЕМ АДРЕС КОШЕЛЬКА + }); + } catch (error) { logger.error('[email/verify-code] Error:', error); + // Проверяем, является ли ошибка созданной нами в authService + const errorMessage = error.message === 'Ошибка обработки верификации Email' + ? error.message + : 'Ошибка сервера'; return res.status(500).json({ success: false, - error: 'Ошибка сервера', + error: errorMessage, }); } }); diff --git a/backend/services/auth-service.js b/backend/services/auth-service.js index 00c4d4e..9eb2ea5 100644 --- a/backend/services/auth-service.js +++ b/backend/services/auth-service.js @@ -4,6 +4,7 @@ const { ethers } = require('ethers'); const crypto = require('crypto'); const { processMessage } = require('./ai-assistant'); // Используем AI Assistant const verificationService = require('./verification-service'); // Используем сервис верификации +const identityService = require('./identity-service'); // <-- ДОБАВЛЕН ИМПОРТ const ADMIN_CONTRACTS = [ { address: '0xd95a45fc46a7300e6022885afec3d618d7d3f27c', network: 'eth' }, @@ -385,13 +386,22 @@ class AuthService { // Получение связанного кошелька async getLinkedWallet(userId) { - const result = await db.query( - `SELECT provider_id as address - FROM user_identities - WHERE user_id = $1 AND provider = 'wallet'`, - [userId] - ); - return result.rows[0]?.address; + logger.info(`[getLinkedWallet] Called with userId: ${userId} (Type: ${typeof userId})`); + try { + const result = await db.query( + `SELECT provider_id as address + FROM user_identities + WHERE user_id = $1 AND provider = 'wallet'`, + [userId] + ); + logger.info(`[getLinkedWallet] DB query result for userId ${userId}:`, result.rows); + const address = result.rows[0]?.address; + logger.info(`[getLinkedWallet] Returning address: ${address} for userId ${userId}`); + return address; + } catch (error) { + logger.error(`[getLinkedWallet] Error fetching linked wallet for userId ${userId}:`, error); + return undefined; + } } /** @@ -774,6 +784,110 @@ class AuthService { throw error; } } + + /** + * Обрабатывает успешную верификацию Email. + * Находит или создает пользователя, связывает email, проверяет роль админа. + * @param {string} email - Верифицированный email. + * @param {object} session - Объект сессии запроса. + * @returns {Promise<{userId: number, email: string, role: string, isNewUser: boolean}>} + */ + async handleEmailVerification(email, session) { + const normalizedEmail = email.toLowerCase(); + let userId; + let isNewUser = false; + let userRole = 'user'; // Роль по умолчанию + + try { + // 1. Определить пользователя (существующий по email/сессии или новый) + if (session.authenticated && session.userId) { + // Используем уже аутентифицированного пользователя + userId = session.userId; + logger.info(`[handleEmailVerification] Using authenticated user ${userId}`); + } else { + // Ищем существующего пользователя по email + const existingUser = await identityService.findUserByIdentity('email', normalizedEmail); + if (existingUser) { + userId = existingUser.id; + logger.info(`[handleEmailVerification] Found existing user ${userId} by email ${normalizedEmail}`); + } else if (session.tempUserId) { + // Используем временного пользователя, если есть + userId = session.tempUserId; + logger.info(`[handleEmailVerification] Using temporary user ${userId}`); + } else { + // Создаем нового пользователя + const newUserResult = await db.query('INSERT INTO users (role) VALUES ($1) RETURNING id', [ + 'user', + ]); + userId = newUserResult.rows[0].id; + isNewUser = true; + logger.info(`[handleEmailVerification] Created new user ${userId}`); + } + } + + // 2. Связать email с пользователем (если еще не связан) + await identityService.saveIdentity(userId, 'email', normalizedEmail, true); + logger.info(`[handleEmailVerification] Ensured email identity ${normalizedEmail} for user ${userId}`); + + // 3. Связать гостевые ID (если есть) + if (session.guestId) { + await identityService.saveIdentity(userId, 'guest', session.guestId, true); + } + if (session.previousGuestId && session.previousGuestId !== session.guestId) { + await identityService.saveIdentity(userId, 'guest', session.previousGuestId, true); + } + + // 4. Проверить роль на основе привязанного кошелька + try { + const linkedWallet = await this.getLinkedWallet(userId); + if (linkedWallet && linkedWallet.provider_id) { + logger.info(`[handleEmailVerification] Found linked wallet ${linkedWallet.provider_id}. Checking role...`); + const isAdmin = await this.checkAdminRole(linkedWallet.provider_id); + userRole = isAdmin ? 'admin' : 'user'; + logger.info(`[handleEmailVerification] Role determined as: ${userRole}`); + + // Опционально: Обновить роль в таблице users + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [userId]); + if (currentUser.rows.length > 0 && currentUser.rows[0].role !== userRole) { + await db.query('UPDATE users SET role = $1 WHERE id = $2', [userRole, userId]); + logger.info(`[handleEmailVerification] Updated user role in DB to ${userRole}`); + } + } else { + logger.info(`[handleEmailVerification] No linked wallet found. Role remains 'user'.`); + // Если кошелька нет, проверяем текущую роль из базы (на случай, если она была admin ранее) + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [userId]); + if (currentUser.rows.length > 0) { + userRole = currentUser.rows[0].role; + } + } + } catch (roleCheckError) { + logger.error(`[handleEmailVerification] Error checking admin role:`, roleCheckError); + // В случае ошибки берем текущую роль из базы или оставляем 'user' + try { + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [userId]); + if (currentUser.rows.length > 0) { + userRole = currentUser.rows[0].role; + } + } catch (dbError) { + logger.error('Error fetching current user role after role check error:', dbError); + } + } + + // Очистка временных данных из сессии + delete session.tempUserId; + delete session.pendingEmail; + + return { + userId, + email: normalizedEmail, + role: userRole, + isNewUser, + }; + } catch (error) { + logger.error('Error in handleEmailVerification:', error); + throw new Error('Ошибка обработки верификации Email'); + } + } } // Создаем и экспортируем единственный экземпляр diff --git a/backend/services/emailAuth.js b/backend/services/emailAuth.js index 96e2eb2..63f57f4 100644 --- a/backend/services/emailAuth.js +++ b/backend/services/emailAuth.js @@ -161,6 +161,31 @@ class EmailAuth { await authService.identityService.saveIdentity(finalUserId, 'email', email, true); logger.info(`[checkEmailVerification] Added email identity ${email} for user ${finalUserId}`); + // ----> НАЧАЛО: Проверка роли на основе привязанного кошелька + let userRole = 'user'; // Роль по умолчанию + try { + const linkedWallet = await authService.getLinkedWallet(finalUserId); + if (linkedWallet) { + logger.info(`[checkEmailVerification] Found linked wallet ${linkedWallet} for user ${finalUserId}. Checking admin role...`); + const isAdmin = await authService.checkAdminRole(linkedWallet); + userRole = isAdmin ? 'admin' : 'user'; + logger.info(`[checkEmailVerification] Role for user ${finalUserId} determined as: ${userRole}`); + + // Опционально: Обновить роль в таблице users, если она отличается + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [finalUserId]); + if (currentUser.rows.length > 0 && currentUser.rows[0].role !== userRole) { + await db.query('UPDATE users SET role = $1 WHERE id = $2', [userRole, finalUserId]); + logger.info(`[checkEmailVerification] Updated user role in DB to ${userRole}`); + } + } else { + logger.info(`[checkEmailVerification] No linked wallet found for user ${finalUserId}. Role remains 'user'.`); + } + } catch (roleCheckError) { + logger.error(`[checkEmailVerification] Error checking admin role for user ${finalUserId}:`, roleCheckError); + // В случае ошибки оставляем роль 'user' + } + // ----> КОНЕЦ: Проверка роли + // Если есть гостевой ID, добавляем его тоже if (session.guestId) { await authService.identityService.saveIdentity(finalUserId, 'guest', session.guestId, true); @@ -179,6 +204,7 @@ class EmailAuth { verified: true, userId: finalUserId, email: email, + role: userRole, }; } catch (error) { logger.error('Error checking email verification:', error); diff --git a/backend/services/identity-service.js b/backend/services/identity-service.js index 6691aa5..75fe11f 100644 --- a/backend/services/identity-service.js +++ b/backend/services/identity-service.js @@ -238,6 +238,49 @@ class IdentityService { } } + /** + * Находит конкретный идентификатор пользователя по его типу. + * Возвращает первую найденную запись. + * @param {number} userId - ID пользователя + * @param {string} provider - Тип идентификатора (например, 'wallet', 'email') + * @returns {Promise} - Объект идентификатора (содержит provider_id) или null + */ + async findIdentity(userId, provider) { + try { + if (!userId || !provider) { + logger.warn(`[IdentityService] Missing parameters for findIdentity: userId=${userId}, provider=${provider}`); + return null; + } + + // Нормализуем провайдера + const normalizedProvider = provider.toLowerCase(); + + const result = await db.query( + `SELECT provider, provider_id, created_at, updated_at + FROM user_identities + WHERE user_id = $1 AND provider = $2 + LIMIT 1`, + [userId, normalizedProvider] + ); + + if (result.rows.length === 0) { + logger.info(`[IdentityService] No ${normalizedProvider} identity found for user ${userId}`); + return null; + } + + logger.info( + `[IdentityService] Found ${normalizedProvider} identity for user ${userId}: ${result.rows[0].provider_id}` + ); + return result.rows[0]; // Возвращаем всю строку (включая provider_id) + } catch (error) { + logger.error( + `[IdentityService] Error finding ${provider} identity for user ${userId}:`, + error + ); + return null; + } + } + /** * Сохраняет идентификаторы из сессии для пользователя * @param {object} session - Объект сессии diff --git a/backend/services/telegramBot.js b/backend/services/telegramBot.js index a06250a..dce7506 100644 --- a/backend/services/telegramBot.js +++ b/backend/services/telegramBot.js @@ -41,6 +41,7 @@ async function getBot() { const providerId = verification.provider_id; const linkedUserId = verification.user_id; // Получаем связанный userId если он есть let userId; + let userRole = 'user'; // Роль по умолчанию // Отмечаем код как использованный await db.query('UPDATE verification_codes SET used = true WHERE id = $1', [ @@ -134,35 +135,95 @@ async function getBot() { } } - // Логируем guestId перед обновлением сессии - logger.info(`[telegramBot] Attempting to update session for guestId: ${providerId}`); + // ----> НАЧАЛО: Проверка роли на основе привязанного кошелька <---- + if (userId) { // Убедимся, что userId определен + logger.info(`[TelegramBot] Checking linked wallet for determined userId: ${userId} (Type: ${typeof userId})`); + try { + const linkedWallet = await authService.getLinkedWallet(userId); + if (linkedWallet) { + logger.info(`[TelegramBot] Found linked wallet ${linkedWallet} for user ${userId}. Checking role...`); + const isAdmin = await authService.checkAdminRole(linkedWallet); + userRole = isAdmin ? 'admin' : 'user'; + logger.info(`[TelegramBot] Role for user ${userId} determined as: ${userRole}`); - // Обновляем сессию в базе данных - const updateResult = await db.query( - `UPDATE session - SET sess = (sess::jsonb || $1::jsonb)::json - WHERE sess::jsonb @> $2::jsonb`, - [ - JSON.stringify({ - userId: userId.toString(), - authenticated: true, - authType: 'telegram', - telegramId: ctx.from.id.toString(), - // Добавляем имя и юзернейм из Telegram - telegramUsername: ctx.from.username, - telegramFirstName: ctx.from.first_name, - }), - JSON.stringify({ guestId: providerId }), - ] - ); - - // Логируем результат обновления сессии - if (updateResult.rowCount > 0) { - logger.info(`Session updated successfully for guestId: ${providerId}, userId: ${userId}`); + // Опционально: Обновить роль в таблице users + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [userId]); + if (currentUser.rows.length > 0 && currentUser.rows[0].role !== userRole) { + await db.query('UPDATE users SET role = $1 WHERE id = $2', [userRole, userId]); + logger.info(`[TelegramBot] Updated user role in DB to ${userRole}`); + } + } else { + logger.info(`[TelegramBot] No linked wallet found for user ${userId}. Checking current DB role.`); + // Если кошелька нет, берем текущую роль из базы + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [userId]); + if (currentUser.rows.length > 0) { + userRole = currentUser.rows[0].role; + } + } + } catch (roleCheckError) { + logger.error(`[TelegramBot] Error checking admin role for user ${userId}:`, roleCheckError); + // В случае ошибки берем роль из базы или оставляем 'user' + try { + const currentUser = await db.query('SELECT role FROM users WHERE id = $1', [userId]); + if (currentUser.rows.length > 0) { userRole = currentUser.rows[0].role; } + } catch (dbError) { /* ignore */ } + } } else { - logger.warn( - `Session update failed: No session found or updated for guestId: ${providerId}. User ${userId} authenticated via Telegram, but web session might not reflect it.` + logger.error('[TelegramBot] Cannot check role because userId is undefined!'); + } + // ----> КОНЕЦ: Проверка роли <---- + + // Логируем userId перед обновлением сессии + logger.info(`[telegramBot] Attempting to update session for userId: ${userId}`); + + // Находим последнюю активную сессию для данного userId + let activeSessionId = null; + try { + // Ищем сессию, где есть userId и она не истекла (проверка expires_at) + // Сортируем по expires_at DESC чтобы взять самую "свежую", если их несколько + const sessionResult = await db.query( + `SELECT sid FROM session + WHERE sess ->> 'userId' = $1 + AND expire > NOW() + ORDER BY expire DESC + LIMIT 1`, + [userId?.toString()] // Используем optional chaining и преобразуем в строку ); + + if (sessionResult.rows.length > 0) { + activeSessionId = sessionResult.rows[0].sid; + logger.info(`[telegramBot] Found active session ID ${activeSessionId} for user ${userId}`); + + // Обновляем найденную сессию в базе данных, добавляя/перезаписывая данные Telegram + const updateResult = await db.query( + `UPDATE session + SET sess = (sess::jsonb || $1::jsonb)::json + WHERE sid = $2`, + [ + JSON.stringify({ + // authenticated: true, // Не перезаписываем, т.к. сессия уже должна быть аутентифицирована + authType: 'telegram', // Обновляем тип аутентификации + telegramId: ctx.from.id.toString(), + telegramUsername: ctx.from.username, + telegramFirstName: ctx.from.first_name, + role: userRole, // Записываем определенную роль + // userId: userId?.toString() // userId уже должен быть в сессии + }), + activeSessionId // Обновляем по найденному session ID + ] + ); + + if (updateResult.rowCount > 0) { + logger.info(`[telegramBot] Session ${activeSessionId} updated successfully with Telegram data for user ${userId}`); + } else { + logger.warn(`[telegramBot] Session update query executed but did not update rows for sid: ${activeSessionId}. This might indicate a concurrency issue or incorrect sid.`); + } + + } else { + logger.warn(`[telegramBot] No active web session found for userId: ${userId}. Telegram is linked, but the user might need to refresh their browser session.`); + } + } catch(sessionError) { + logger.error(`[telegramBot] Error finding or updating session for userId ${userId}:`, sessionError); } // Отправляем сообщение об успешной аутентификации diff --git a/frontend/src/assets/styles/home.css b/frontend/src/assets/styles/home.css index ef95002..51f4c2a 100644 --- a/frontend/src/assets/styles/home.css +++ b/frontend/src/assets/styles/home.css @@ -300,7 +300,6 @@ input, textarea { display: flex; flex-direction: column; margin: var(--spacing-lg) 0 35px 0; - height: calc(100vh - 195px); min-height: 500px; position: relative; } @@ -308,10 +307,8 @@ input, textarea { .chat-messages { display: flex; flex-direction: column; - flex: 1; overflow-y: auto; padding: var(--spacing-lg); - margin-bottom: var(--spacing-lg); background: var(--color-white); border-radius: var(--radius-lg); border: 1px solid var(--color-grey-light); @@ -319,19 +316,21 @@ input, textarea { top: 0; left: 0; right: 0; - bottom: 135px; + bottom: 205px; transition: bottom var(--transition-normal); } /* Адаптация позиции при активации фокуса */ .chat-container:has(.chat-input.focused) .chat-messages { - bottom: 235px; + bottom: 305px; } /* Реализуем программное изменение позиции через JS для браузеров без поддержки :has */ @media (max-width: 100vw) { + /* Примечание: Этот блок @media может потребовать обновления в JS коде, */ + /* если он используется для имитации :has. Сейчас изменяем только CSS. */ .chat-input.focused ~ .messages-container { - bottom: 235px; + bottom: 305px; } } @@ -435,7 +434,6 @@ input, textarea { min-height: var(--chat-input-min-height); max-height: var(--chat-input-max-height); transition: min-height var(--transition-normal), padding var(--transition-normal); - margin-bottom: var(--spacing-md); z-index: 10; box-shadow: none; } diff --git a/frontend/src/composables/useAuth.js b/frontend/src/composables/useAuth.js index 899fafd..57028e2 100644 --- a/frontend/src/composables/useAuth.js +++ b/frontend/src/composables/useAuth.js @@ -32,8 +32,22 @@ export function useAuth() { return acc; }, []); + // Сравниваем новый отфильтрованный список с текущим значением + const currentProviders = identities.value.map(id => id.provider).sort(); + const newProviders = filteredIdentities.map(id => id.provider).sort(); + + const identitiesChanged = JSON.stringify(currentProviders) !== JSON.stringify(newProviders); + + // Обновляем реактивное значение identities.value = filteredIdentities; console.log('User identities updated:', identities.value); + + // Если список идентификаторов изменился, принудительно проверяем аутентификацию, + // чтобы обновить authType и другие связанные данные (например, telegramId) + if (identitiesChanged) { + console.log('Identities changed, forcing auth check.'); + await checkAuth(); // Вызываем checkAuth для обновления полного состояния + } } } catch (error) { console.error('Error fetching user identities:', error); diff --git a/frontend/src/services/tokens.js b/frontend/src/services/tokens.js index 2b7344d..72d32e6 100644 --- a/frontend/src/services/tokens.js +++ b/frontend/src/services/tokens.js @@ -25,9 +25,16 @@ export const TOKEN_CONTRACTS = { }; // Получение балансов токенов -export const fetchTokenBalances = async () => { +export const fetchTokenBalances = async (address = null) => { try { - const response = await api.get('/api/tokens/balances'); + let url = '/api/tokens/balances'; + if (address) { + url += `?address=${encodeURIComponent(address)}`; + console.log(`Fetching token balances for specific address: ${address}`); + } else { + console.log('Fetching token balances for session user'); + } + const response = await api.get(url); return response.data; } catch (error) { console.error('Error fetching token balances:', error); diff --git a/frontend/src/views/HomeView.vue b/frontend/src/views/HomeView.vue index 074dbe8..353122c 100644 --- a/frontend/src/views/HomeView.vue +++ b/frontend/src/views/HomeView.vue @@ -207,18 +207,24 @@ -
-
-
- - +
+ +
+
+
+ + +
+ - - - -
- + - + - +
Код верификации: - {{ - telegramAuth.verificationCode - }} + {{ telegramAuth.verificationCode }} Скопировано!
- Открыть бота Telegram + Открыть бота Telegram
+ +
-
+

Баланс токенов:

ETH: @@ -1110,49 +1105,57 @@ // Создаем интервал для проверки состояния авторизации telegramAuth.value.checkInterval = setInterval(async () => { try { + // ВАЖНО: Используем auth.checkAuth() из useAuth для получения актуального состояния + // Не нужно делать отдельный axios запрос здесь const checkResponse = await auth.checkAuth(); - // Получаем Telegram ID из проверки аутентификации - const telegramId = checkResponse.telegramId; + // Получаем Telegram ID из состояния auth (которое обновилось через checkAuth) + const telegramId = auth.telegramId.value; // Используем реактивное значение if (auth.isAuthenticated.value && telegramId) { + console.log('[handleTelegramAuth] Telegram successfully linked/verified. Clearing interval and hiding form.'); + clearTelegramInterval(); // <--- ДОБАВЛЕНО: Останавливаем интервал + telegramAuth.value.showVerification = false; // <--- ДОБАВЛЕНО: Скрываем форму верификации + telegramAuth.value.verificationCode = ''; // Очищаем код на всякий случай + telegramAuth.value.error = ''; // Очищаем ошибки + + // ... остальная логика обработки успешной привязки ... + let roleUpdated = false; // Флаг для отслеживания обновления роли + // Сравниваем текущий authType с 'telegram' if (auth.authType.value !== 'telegram') { // Если пользователь авторизован не через Telegram, связываем идентификаторы - console.log('Связывание Telegram с существующим аккаунтом:', telegramId); - const linkResult = await auth.linkIdentity('telegram', telegramId); - - if (linkResult.success) { - notifications.value.successMessage = - 'Telegram успешно подключен к вашему аккаунту!'; - notifications.value.showSuccess = true; - - setTimeout(() => { - notifications.value.showSuccess = false; - }, 3000); - } else { - notifications.value.errorMessage = - linkResult.error || 'Не удалось подключить Telegram'; - notifications.value.showError = true; - - setTimeout(() => { - notifications.value.showError = false; - }, 3000); - } + // Эта логика может быть избыточной, если checkAuth уже обновил authType + // Возможно, достаточно просто проверить authType после checkAuth + console.log('Связывание Telegram с существующим аккаунтом (проверка authType):', telegramId, auth.authType.value); + // Уведомление об успехе + notifications.value.successMessage = 'Telegram успешно подключен к вашему аккаунту!'; + notifications.value.showSuccess = true; + setTimeout(() => { notifications.value.showSuccess = false; }, 3000); } else { - // Если новая аутентификация через Telegram - console.log('Telegram аутентификация успешна'); - - // Загружаем сообщения после аутентификации - await loadMessages({ authType: 'telegram' }); + // Если новая аутентификация через Telegram или authType уже telegram + console.log('Telegram аутентификация/привязка успешна (authType="telegram")'); + // await loadMessages({ authType: 'telegram' }); // Загрузка сообщений уже обрабатывается watch(isAuthenticated) + roleUpdated = true; // Роль могла обновиться при этой аутентификации } - // Очищаем интервал и скрываем окно верификации - clearTelegramInterval(); - telegramAuth.value.showVerification = false; - telegramAuth.value.verificationCode = ''; + // Проверяем роль еще раз после возможной привязки/аутентификации + // await auth.checkAuth(); // Дополнительный checkAuth, возможно, не нужен, т.к. он вызывается в начале интервала + + if (hasIdentityType('wallet')) { + console.log('[handleTelegramAuth] Wallet linked, updating balances...'); + await updateBalances(); // Вызываем обновление баланса + startBalanceUpdates(); // Запускаем интервал обновления, если еще не запущен + } + // Нет необходимости продолжать интервал после успеха + return; // Выходим из колбека setInterval + } else { + console.log('[handleTelegramAuth] Still waiting for Telegram verification...'); } } catch (error) { - console.error('Ошибка при проверке аутентификации:', error); + console.error('Ошибка при проверке аутентификации в интервале:', error); + // Очищать ли интервал при ошибке? Возможно, да, чтобы не спамить ошибками. + // clearTelegramInterval(); + // telegramAuth.value.error = 'Ошибка проверки статуса Telegram.'; } }, 2000); // Проверяем каждые 2 секунды } else { @@ -1290,6 +1293,7 @@ // Получаем текущее состояние аутентификации const authResponse = await auth.checkAuth(); + let roleUpdated = false; // Флаг для отслеживания обновления роли if (auth.isAuthenticated.value && emailAuth.value.verificationEmail) { // Если пользователь уже авторизован, связываем email @@ -1304,45 +1308,40 @@ // Показываем сообщение об успехе notifications.value.successMessage = `Email ${emailAuth.value.verificationEmail} успешно подключен к вашему аккаунту!`; notifications.value.showSuccess = true; - - // Скрываем сообщение через 3 секунды - setTimeout(() => { - notifications.value.showSuccess = false; - }, 3000); + setTimeout(() => { notifications.value.showSuccess = false; }, 3000); } else { notifications.value.errorMessage = linkResult.error || 'Не удалось подключить Email'; notifications.value.showError = true; - - setTimeout(() => { - notifications.value.showError = false; - }, 3000); + setTimeout(() => { notifications.value.showError = false; }, 3000); } } else { - // Показываем сообщение об успехе + // Показываем сообщение об успехе, если просто подтвердили email notifications.value.successMessage = `Email ${emailAuth.value.verificationEmail} успешно подтвержден!`; notifications.value.showSuccess = true; + setTimeout(() => { notifications.value.showSuccess = false; }, 3000); - // Скрываем сообщение через 3 секунды - setTimeout(() => { - notifications.value.showSuccess = false; - }, 3000); - - // Загружаем сообщения после аутентификации await loadMessages({ authType: 'email' }); + roleUpdated = true; // Роль могла обновиться } } else { // Если пользователь не был авторизован до этого - // Показываем сообщение об успехе notifications.value.successMessage = `Email ${emailAuth.value.verificationEmail} успешно подтвержден!`; notifications.value.showSuccess = true; + setTimeout(() => { notifications.value.showSuccess = false; }, 3000); - // Скрываем сообщение через 3 секунды - setTimeout(() => { - notifications.value.showSuccess = false; - }, 3000); - - // Загружаем сообщения после аутентификации await loadMessages({ authType: 'email' }); + roleUpdated = true; // Роль могла обновиться при новой аутентификации + } + + // Проверяем роль еще раз после возможной привязки/аутентификации + if (!roleUpdated) { + await auth.checkAuth(); // Перепроверяем auth состояние, чтобы получить актуальную роль + } + + if (hasIdentityType('wallet')) { + console.log('[verifyEmailCode] Wallet linked, updating balances...'); + await updateBalances(); // Вызываем обновление баланса + startBalanceUpdates(); // Запускаем интервал обновления, если еще не запущен } } else { emailAuth.value.error = response.data.message || 'Неверный код верификации'; @@ -1542,26 +1541,41 @@ * Обновляет балансы токенов */ const updateBalances = async () => { - if (auth.isAuthenticated.value && auth.address?.value) { - try { - console.log('Запрос балансов для адреса:', auth.address.value); - const balances = await fetchTokenBalances(); - console.log('Полученные балансы:', balances); + if (auth.isAuthenticated.value) { + // Пытаемся получить адрес сначала из прямого значения, потом из идентификаторов + const walletAddress = auth.address?.value || getIdentityValue('wallet'); - // Обновляем каждый баланс отдельно для реактивности - tokenBalances.value = { - eth: balances.eth || '0', - bsc: balances.bsc || '0', - arbitrum: balances.arbitrum || '0', - polygon: balances.polygon || '0', - }; + if (walletAddress) { + try { + console.log('Запрос балансов для адреса:', walletAddress); + // Важно: Убедитесь, что fetchTokenBalances использует переданный адрес + // Если fetchTokenBalances неявно использует auth.address.value, + // его нужно будет модифицировать или передавать адрес явно. + // ПРЕДПОЛАГАЕМ, что fetchTokenBalances работает корректно или будет исправлен. + const balances = await fetchTokenBalances(walletAddress); // Передаем адрес явно, если нужно + console.log('Полученные балансы:', balances); - console.log('Обновленные балансы в интерфейсе:', tokenBalances.value); - } catch (error) { - console.error('Ошибка при обновлении балансов:', error); + // Обновляем каждый баланс отдельно для реактивности + tokenBalances.value = { + eth: balances.eth || '0', + bsc: balances.bsc || '0', + arbitrum: balances.arbitrum || '0', + polygon: balances.polygon || '0', + }; + + console.log('Обновленные балансы в интерфейсе:', tokenBalances.value); + } catch (error) { + console.error('Ошибка при обновлении балансов:', error); + } + } else { + console.log('Не найден адрес кошелька для запроса балансов.'); + // Можно обнулить балансы, если адрес не найден + tokenBalances.value = { eth: '0', bsc: '0', arbitrum: '0', polygon: '0' }; } } else { - console.log('Пользователь не аутентифицирован или адрес не доступен'); + console.log('Пользователь не аутентифицирован.'); + // Также обнуляем балансы, если не аутентифицирован + tokenBalances.value = { eth: '0', bsc: '0', arbitrum: '0', polygon: '0' }; } };