From e43c98997b0de6a8da989f68d97f1d4f7fb7bb6f Mon Sep 17 00:00:00 2001 From: kboz Date: Fri, 24 Apr 2026 00:55:26 +0200 Subject: feat(core): implement wallet trade tracking and sqlite market caching - Transitioned primary ESI networking and dataset initialization to `asyncio` and `aiohttp` for non-blocking I/O. - Introduced `aiosqlite` utilizing an in-memory database to significantly speed up arbitrage querying. - Implemented character wallet tracking (added `esi-wallet.read_character_wallet.v1` scope) to automatically deduct filled market volumes internally instead of waiting for full region polling. - Exposed `/settings` endpoint allowing dynamic tweaking of threshold variables (cargo size, limits, tax rate, ship speeds) directly from the React UI. - Decoupled auto-waypoint submission during route planning; users now push routes selectively via a new "Set in Game" frontend action and `/set_waypoints` backend logic. - Optimized order evaluations and triplet generation limits through `LegMetrics` to lower CPU footprint drastically on large dataset passes. - Migrated React frontend completely to Server-Sent Events (SSE), cleanly ditching HTTP polling. --- scripts/setup_auth.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'scripts/setup_auth.py') diff --git a/scripts/setup_auth.py b/scripts/setup_auth.py index d675ddd..c4f60c5 100644 --- a/scripts/setup_auth.py +++ b/scripts/setup_auth.py @@ -24,6 +24,7 @@ SCOPES = [ "esi-assets.read_assets.v1", "esi-location.read_location.v1", "esi-location.read_online.v1", + "esi-wallet.read_character_wallet.v1", "esi-ui.open_window.v1", "esi-ui.write_waypoint.v1", ] @@ -80,6 +81,7 @@ def main() -> int: secret_key = os.getenv("SECRET_KEY") or prompt_for_value("SECRET_KEY", secret=True) print("Open this URL in your browser and complete the EVE SSO flow:\n") + print("If you authenticated earlier without wallet access, reauthorization is required for transaction-backed route confirmation.\n") print(build_auth_url(client_id)) print("\nAfter the redirect, copy the 'code' query parameter and paste it below.") code = input("Authorization code: ").strip() -- cgit v1.3