wip (broken)
This commit is contained in:
@ -84,7 +84,6 @@ class SolanaWS:
|
||||
self.subscription_id = None
|
||||
self.message_queue = asyncio.Queue()
|
||||
self.on_message = on_message
|
||||
self.websocket = None
|
||||
self.last_msg_responded = False
|
||||
|
||||
async def save_log(log):
|
||||
@ -100,8 +99,6 @@ class SolanaWS:
|
||||
|
||||
async def connect(self):
|
||||
while True:
|
||||
if self.websocket is None or self.websocket.closed:
|
||||
await self.connect()
|
||||
try:
|
||||
current_url = random.choice(SOLANA_ENDPOINTS)
|
||||
self.websocket = await websockets.connect(current_url, ping_interval=30, ping_timeout=10)
|
||||
@ -178,8 +175,10 @@ class SolanaWS:
|
||||
response_data = json.loads(response)
|
||||
self.last_msg_responded = True
|
||||
|
||||
if 'result' in response_data:
|
||||
if 'params' in response_data and 'result' in response_data["params"]:
|
||||
await self.message_queue.put(response_data['result'])
|
||||
else:
|
||||
logger.warning(f"Unexpected response: {response_data}")
|
||||
if one:
|
||||
break
|
||||
except websockets.exceptions.ConnectionClosedError:
|
||||
@ -285,15 +284,16 @@ class SolanaAPI:
|
||||
await solana_ws.connect()
|
||||
await solana_ws.subscribe()
|
||||
|
||||
receive_task = asyncio.create_task(solana_ws.receive_messages())
|
||||
process_task = asyncio.create_task(solana_ws.process_messages())
|
||||
|
||||
|
||||
if first_subscription:
|
||||
first_subscription = False
|
||||
await async_safe_call(self.on_initial_subscription, solana_ws.subscription_id)
|
||||
|
||||
await async_safe_call(self.on_bot_message,f"Solana mainnet connected ({solana_ws.subscription_id})...")
|
||||
|
||||
receive_task = asyncio.create_task(solana_ws.receive_messages())
|
||||
process_task = asyncio.create_task(solana_ws.process_messages())
|
||||
|
||||
try:
|
||||
await asyncio.gather(receive_task, process_task)
|
||||
except asyncio.CancelledError:
|
||||
@ -1211,7 +1211,7 @@ class SolanaDEX:
|
||||
if mint in self.TOKENS_INFO:
|
||||
token_name = self.TOKENS_INFO[mint].get('symbol')
|
||||
elif doGetTokenName:
|
||||
token_name = await self.get_token_metadata_symbol(mint) or 'N/A'
|
||||
token_name = await SAPI.get_token_metadata_symbol(mint) or 'N/A'
|
||||
self.TOKENS_INFO[mint] = {'symbol': token_name}
|
||||
await asyncio.sleep(2)
|
||||
|
||||
|
Reference in New Issue
Block a user