feat: add support for multiple bots

This commit is contained in:
smypmsa
2025-04-24 20:32:47 +00:00
parent 2aac2f8f64
commit 40e4a4b130
14 changed files with 875 additions and 460 deletions
+21 -16
View File
@@ -1,37 +1,42 @@
from cleanup.manager import AccountCleanupManager
from config import CLEANUP_MODE, CLEANUP_WITH_PRIORITY_FEE
from utils.logger import get_logger
logger = get_logger(__name__)
def should_cleanup_after_failure() -> bool:
return CLEANUP_MODE == "on_fail"
def should_cleanup_after_failure(cleanup_mode) -> bool:
return cleanup_mode == "on_fail"
def should_cleanup_after_sell() -> bool:
return CLEANUP_MODE == "after_sell"
def should_cleanup_after_sell(cleanup_mode) -> bool:
return cleanup_mode == "after_sell"
def should_cleanup_post_session() -> bool:
return CLEANUP_MODE == "post_session"
def should_cleanup_post_session(cleanup_mode) -> bool:
return cleanup_mode == "post_session"
async def handle_cleanup_after_failure(client, wallet, mint, priority_fee_manager):
if should_cleanup_after_failure():
async def handle_cleanup_after_failure(
client, wallet, mint, priority_fee_manager, cleanup_mode, cleanup_with_prior_fee, force_burn
):
if should_cleanup_after_failure(cleanup_mode):
logger.info("[Cleanup] Triggered by failed buy transaction.")
manager = AccountCleanupManager(client, wallet, priority_fee_manager, CLEANUP_WITH_PRIORITY_FEE)
manager = AccountCleanupManager(client, wallet, priority_fee_manager, cleanup_with_prior_fee, force_burn)
await manager.cleanup_ata(mint)
async def handle_cleanup_after_sell(client, wallet, mint, priority_fee_manager):
if should_cleanup_after_sell():
async def handle_cleanup_after_sell(
client, wallet, mint, priority_fee_manager, cleanup_mode, cleanup_with_prior_fee, force_burn
):
if should_cleanup_after_sell(cleanup_mode):
logger.info("[Cleanup] Triggered after token sell.")
manager = AccountCleanupManager(client, wallet, priority_fee_manager, CLEANUP_WITH_PRIORITY_FEE)
manager = AccountCleanupManager(client, wallet, priority_fee_manager, cleanup_with_prior_fee, force_burn)
await manager.cleanup_ata(mint)
async def handle_cleanup_post_session(client, wallet, mints, priority_fee_manager):
if should_cleanup_post_session():
async def handle_cleanup_post_session(
client, wallet, mints, priority_fee_manager, cleanup_mode, cleanup_with_prior_fee, force_burn
):
if should_cleanup_post_session(cleanup_mode):
logger.info("[Cleanup] Triggered post trading session.")
manager = AccountCleanupManager(client, wallet, priority_fee_manager, CLEANUP_WITH_PRIORITY_FEE)
manager = AccountCleanupManager(client, wallet, priority_fee_manager, cleanup_with_prior_fee, force_burn)
for mint in mints:
await manager.cleanup_ata(mint)