try to fix invalid digit in follow_move();

better logging
This commit is contained in:
Dobromir Popov 2024-10-21 10:35:04 +03:00
parent 37bc6bb086
commit fdd3a66644
5 changed files with 1381 additions and 568 deletions

View File

@ -1,16 +1,19 @@
SOLANA_WS_URL="wss://api.mainnet-beta.solana.com"
SOLANA_WS_URL2="wss://mainnet.rpcpool.com"
SOLANA_HTTP_URL="https://api.mainnet-beta.solana.com"
DEVELOPER_CHAT_ID="777826553"
TELEGRAM_BOT_TOKEN="6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw"
DISPLAY_CURRENCY=USD
# Niki's to Sync: [PROD]
FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV"
# Sync to main [DEV]
# FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV"
# YOUR_WALLET="65nzyZXTLC81MthTo52a2gRJjqryTizWVqpK2fDKLye5"
SOLANA_WS_URL="wss://api.mainnet-beta.solana.com"
SOLANA_WS_URL2="wss://mainnet.rpcpool.com"
SOLANA_HTTP_URL="https://api.mainnet-beta.solana.com"
DEVELOPER_CHAT_ID="777826553"
TELEGRAM_BOT_TOKEN="6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw"
DISPLAY_CURRENCY=USD
# Niki's to Sync: [PROD]
FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH"
YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV"
PK=3FxXjNrtEqwAKYj4BpkuLAJPzuKRWykkvjeBYQEVuFqRFWRm9eVcWrrYKbns2M31ESMoASG2WV39w9Dpx532sPUH
# Sync to main [DEV]
#FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV"
#YOUR_WALLET="65nzyZXTLC81MthTo52a2gRJjqryTizWVqpK2fDKLye5"
#PK=5ccrMf3BFFE1HMsXt17btK1tMSNay7aBoY27saPHrqg2JEjxKBmBbxUABD9Jh7Gisf1bhM51oGzWdyLUgHdrUJPw

View File

@ -54,6 +54,7 @@ TELEGRAM_BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
SOLANA_WS_URL = os.getenv("SOLANA_WS_URL")
SOLANA_HTTP_URL = os.getenv("SOLANA_HTTP_URL")
DISPLAY_CURRENCY = os.getenv('DISPLAY_CURRENCY', 'USD')
FOLLOW_AMOUNT = os.getenv('FOLLOW_AMOUNT', 'percentage')
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)
@ -70,9 +71,48 @@ error_logger = logging.getLogger('error_logger')
error_logger.setLevel(logging.ERROR)
error_logger.addHandler(error_file_handler)
# Set up success logger for accounting CSV
class CSVFormatter(logging.Formatter):
def __init__(self):
super().__init__()
self.output = None
def format(self, record):
if self.output is None:
self.output = csv.writer(record.stream)
self.output.writerow(['Timestamp', 'Token In', 'Token Out', 'Amount In', 'Amount Out', 'USD Value In', 'USD Value Out', 'Transaction Hash', 'Wallet Address'])
self.output.writerow([
self.formatTime(record, self.datefmt),
record.token_in,
record.token_out,
record.amount_in,
record.amount_out,
record.usd_value_in,
record.usd_value_out,
record.tx_hash,
record.wallet_address
])
return ''
def log_successful_swap(token_in, token_out, amount_in, amount_out, usd_value_in, usd_value_out, tx_hash, wallet_address):
success_logger_accounting_csv.info('', extra={
'token_in': token_in,
'token_out': token_out,
'amount_in': amount_in,
'amount_out': amount_out,
'usd_value_in': usd_value_in,
'usd_value_out': usd_value_out,
'tx_hash': tx_hash,
'wallet_address': wallet_address
})
success_log_file = os.path.join(log_dir, 'successful_swaps.csv')
success_file_handler = RotatingFileHandler(success_log_file, maxBytes=10*1024*1024, backupCount=5)
success_file_handler.setFormatter(CSVFormatter())
success_logger_accounting_csv = logging.getLogger('success_logger_accounting_csv')
success_logger_accounting_csv.setLevel(logging.INFO)
success_logger_accounting_csv.addHandler(success_file_handler)
# Function to find the latest log file
@ -954,8 +994,9 @@ async def process_log(log_result):
try:
# Detect swap operations in logs
PROCESSING_LOG = True
swap_operations = ['Program log: Instruction: Swap', 'Program log: Instruction: Swap2', 'Program log: Instruction: SwapExactAmountIn']
swap_operations = ['Program log: Instruction: Swap', 'Program log: Instruction: Swap2', 'Program log: Instruction: SwapExactAmountIn', 'Program log: Instruction: SwapV2']
if any(op in logs for op in swap_operations):
# Save the log to a file
await save_log(log_result)
@ -1034,10 +1075,8 @@ async def process_log(log_result):
message_text = (
f"<b>Swap detected: </b>\n"
f"Token In: {tr_details['symbol_in']} ({tr_details['token_in']})\n"
f"Token Out: {tr_details['symbol_out']} ({tr_details['token_out']})\n"
f"Amount In USD: {tr_details['amount_in_USD']:.2f}\n"
f"Percentage Swapped: {tr_details['percentage_swapped']:.2f}%"
f"{tr_details['amount_in_USD']:.2f} worth of {tr_details['symbol_in']} ({tr_details['percentage_swapped']:.2f}% ) swapped for " # ({tr_details['token_in']}) ({tr_details['token_out']})
f"{tr_details['symbol_out']} \n"
)
await send_telegram_message(message_text)
await follow_move(tr_details)
@ -1046,8 +1085,6 @@ async def process_log(log_result):
except Exception as e:
logging.error(f"Error aquiring log details and following: {e}")
await send_telegram_message(f"Not followed! Error following move.")
except Exception as e:
logging.error(f"Error processing log: {e}")
@ -1096,6 +1133,7 @@ def _get_pre_balance(transaction_details: Dict[str, Any], token: str) -> float:
async def follow_move(move):
tx_details = None
your_balances = await get_wallet_balances(YOUR_WALLET, doGetTokenName=False)
your_balance_info = next((balance for balance in your_balances.values() if balance['address'] == move['token_in']), None)
if your_balance_info is not None:
@ -1119,18 +1157,26 @@ async def follow_move(move):
await send_telegram_message(msg)
return
# move["percentage_swapped"] = (move["amount_out"] / move["amount_in"]) * 100
# Calculate the amount to swap based on the same percentage as the followed move
amount_to_swap = your_balance * (move['percentage_swapped'] / 100)
if FOLLOW_AMOUNT == 'percentage':
# Calculate the amount to swap based on the same percentage as the followed move
amount_to_swap = your_balance * (move['percentage_swapped'] / 100)
elif FOLLOW_AMOUNT == 'exact':
amount_to_swap = move['amount_in']
else:
try:
fixed_amount = float(FOLLOW_AMOUNT)
amount_to_swap = min(fixed_amount, your_balance)
except ValueError:
msg = f"<b>Move not followed:</b>\nInvalid FOLLOW_AMOUNT '{FOLLOW_AMOUNT}'. Must be 'percentage' or a number."
logging.warning(msg)
await send_telegram_message(msg)
return
amount_to_swap = min(amount_to_swap, your_balance) # should not happen
amount_to_swap = min(amount_to_swap, your_balance) # Ensure we're not trying to swap more than we have
amount = int(amount)
logging.debug(f"Calculated amount in lamports: {amount}")
if token_name_in == 'USDC': # max 300
amount_to_swap = min(amount_to_swap, 300)
# # always get 99% of the amount to swap
# amount_to_swap = amount_to_swap * 0.95
decimals = token_info.get('decimals')
# Convert to lamports
# if decimals is 6, then amount = amount * 1e6; if 9, then amount = amount * 1e9
@ -1192,7 +1238,7 @@ async def follow_move(move):
logging.warning(f"Failed to get transaction details for {transaction_id}. Probably transaction failed. Retrying again...")
await asyncio.sleep(3)
except Exception as e:
error_message = f"<b>Move Failed:</b>\n{str(e)}"
error_message = f"<b>Move Failed:</b>\n{str(e)}</b>\n{transaction_data}</b>\n{move}"
logging.error(error_message)
# log the errors to /logs/errors.log
error_logger.error(error_message)
@ -1210,6 +1256,7 @@ async def follow_move(move):
f"Swapped {amount_to_swap:.6f} {token_name_in} ({move['token_in']}) "
f"(same {move['percentage_swapped']:.2f}% as followed wallet)\n"
f"\n\n<b>Transaction:</b> <a href='https://solscan.io/tx/{transaction_id}'>{transaction_id}</a>"
# log_successful_swap ()
)
else:
@ -1329,7 +1376,7 @@ async def wallet_watch_loop():
logger.error(f"An unexpected error occurred: {e}")
await unsubscribe(websocket, subscription_id)
await send_telegram_message("reconnecting...")
# await send_telegram_message("reconnecting...")
logger.info(f"Attempting to reconnect in {reconnect_delay} seconds...")
websocket.close()
except Exception as e:
@ -1364,7 +1411,7 @@ async def subscribe(websocket):
return None
except websockets.exceptions.ConnectionClosedError as e:
logger.error(f"Connection closed unexpectedly: {e}")
await send_telegram_message("Connection to Solana network was closed. Not listening for transactions right now. Attempting to reconnect...")
# await send_telegram_message("Connection to Solana network was closed. Not listening for transactions right now. Attempting to reconnect...")
await websocket.close()
return None
except Exception as e:

View File

@ -541,3 +541,200 @@ Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 98, in _parse_raw
raise RPCException(parsed)
solana.rpc.core.RPCException: SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: SharedAccountsRoute", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1383021 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20979 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21279), return_data: None, inner_instructions: None }) }
2024-10-20 21:57:29 [ERROR] <b>Move Failed:</b>
The read operation timed out
2024-10-20 21:57:29 [ERROR] The read operation timed out
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 72, in map_httpcore_exceptions
yield
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 236, in handle_request
resp = self._pool.handle_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 216, in handle_request
raise exc from None
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection_pool.py", line 196, in handle_request
response = connection.handle_request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/connection.py", line 101, in handle_request
return self._connection.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 143, in handle_request
raise exc
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 113, in handle_request
) = self._receive_response_headers(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 186, in _receive_response_headers
event = self._receive_event(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_sync/http11.py", line 224, in _receive_event
data = self._network_stream.read(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_backends/sync.py", line 124, in read
with map_exceptions(exc_map):
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/usr/local/lib/python3.12/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ReadTimeout: The read operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/app.py", line 1166, in follow_move
async_client = AsyncClient(SOLANA_WS_URL)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 679, in swap
quoteResponse = await self.quote(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 627, in quote
quote_response = httpx.get(url=quote_url).json()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_api.py", line 210, in get
return request(
^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_api.py", line 118, in request
return client.request(
^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 837, in request
return self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 926, in send
response = self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 954, in _send_handling_auth
response = self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 991, in _send_handling_redirects
response = self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1027, in _send_single_request
response = transport.handle_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 235, in handle_request
with map_httpcore_exceptions():
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/contextlib.py", line 158, in __exit__
self.gen.throw(value)
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 89, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ReadTimeout: The read operation timed out
2024-10-20 21:57:30 [ERROR] <b>Move Failed:</b>
Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
2024-10-20 21:57:30 [ERROR] Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 629, in quote
quote_response['routePlan']
~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'routePlan'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/app.py", line 1166, in follow_move
async_client = AsyncClient(SOLANA_WS_URL)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 679, in swap
quoteResponse = await self.quote(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 632, in quote
raise Exception(quote_response['error'])
Exception: Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
2024-10-20 21:57:33 [ERROR] <b>Move Failed:</b>
Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
2024-10-20 21:57:33 [ERROR] Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 629, in quote
quote_response['routePlan']
~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'routePlan'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/app.py", line 1166, in follow_move
async_client = AsyncClient(SOLANA_WS_URL)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 679, in swap
quoteResponse = await self.quote(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 632, in quote
raise Exception(quote_response['error'])
Exception: Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
2024-10-20 21:57:33 [ERROR] <b>Swap Follow Error:</b>
cannot access local variable 'response' where it is not associated with a value
2024-10-20 21:57:33 [ERROR] cannot access local variable 'response' where it is not associated with a value
Traceback (most recent call last):
File "/app/app.py", line 1204, in follow_move
amount = amount * 0.75
File "/app/app.py", line 599, in get_wallet_balances
logging.error(f"Error getting wallet balances: {str(e)}")
^^^^^^^^
UnboundLocalError: cannot access local variable 'response' where it is not associated with a value
2024-10-21 07:26:41 [ERROR] <b>Move Failed:</b>
SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: custom program error: 0x1771", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, Custom(6001))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: SharedAccountsRoute", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1382793 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 7413317027569", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1333603 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1325901 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 52246 of 1370756 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1316195 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A16OGBUAAAAAAAAAAAAAAAABAAAAAAAAABtgGxUAAAAAcFGzMhIGAABUUQ3EYwgAAGccOg8AAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1289657 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1282031 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30451 of 1306892 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1274067 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 673018345630", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1225740 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1218087 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt consumed 56495 of 1266396 compute units", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1207586 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program log: AnchorError thrown in programs/jupiter/src/lib.rs:585. Error Code: SlippageToleranceExceeded. Error Number: 6001. Error Message: Slippage tolerance exceeded.", "Program log: Left: 43339729", "Program log: Right: 43362050", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 199316 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1771"]), accounts: None, units_consumed: Some(199616), return_data: None, inner_instructions: None }) }</b>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAFEF8ss0Ijtep7x/QSQpelS9R/BLJJV8nYbkzHEgl6DWzmOFd2n25tuM+O/1eD2ihdf9x3I0z28Sq/iT8zbzEp8G1IH3U7ixqCaqbGoeydkTdTUUCkOQYTvNcEdWHVAFRzK0lvQkeFrHOnH/VIZV2eHsP0MRaqDX7AAqfqmHnGeMCOZn/LU4VSNrEZJg9hJjEvfwMjmNLCvJDpEyG0zH7Y1yRxM32R3yvnX/HBzojB9fApPOfuRWL27j4EX6B/qtMR3ZZQr5cDjeIUDo36Z8fIYs5w5bQtIw7N8HaurmKKk51Dsq78ybAhS/z3pI+NLtAmg7awmWSpft2HqsztqRU8ax3Mj/r/oP5ATGc5hI7qeU5QuiWjtLinKPbfRqPX7fjmctCBOG4edSvPLw1jCYM6gSsw50WSxwTyJCwZwPgQ5L2823zDUsxqG5ijrqPCB6f2lyFhze9/3f+5F5Y5m+Bc+cwDBkZv5SEXMv/srbpyw5vnvIzlu8X3EmssQ5s6QAAAAAR51VvyMcBu7nTFbs5oFQf9sbLeo/SOUQKxzaJWvBOPmoAL/0yHNoiWwg/BQHPr8ctao3X+gf5NvcgrpN+3XniyIKaZBLbu2IoL6YkUKYD80agehUczMoMmMcu2LhFij7Q/+if11/ZKdMCbHylYed5LCas238ndUUsyGqezjOXoEd8rjajwoFmY8jrhaBvsDL5Zahs5Z/FF0O6SMfd1QaoDCwAFAsBcFQALAAkDBBcBAAAAAAAMNxsNAAcBBAIOIQwMDwwcGw0YARYJGhkXCCIeGxMdExUUExMTExMTExMJBQ0gGw0QBREEEgYDCh8uwSCbM0HWnIECAwAAABEBZAABB2QBAhEBZAID2h5mBwAAAADyVZwCAAAAAGQAAAPvQyb1eS9sOzNqJRRfI95OXS0XoerHLNQS97NH9b7hxQMShg8GDUUEDBQRUjCdc1ZN5rgbYDY4PCgOqwZ3z8ZhitSJO/hZ8YdkSRwDn56cAQSklxFTCCj5aaUf2LjhOBzA/gejCiAKOXuMbjkdddnfkAUDAgABhAGF</b>
{'order_id': None, 'token_in': 'CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump', 'token_out': 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', 'amount_in': 3000.0, 'amount_out': 1055.732395, 'amount_in_USD': 1045.452, 'amount_out_USD': 1055.732395, 'percentage_swapped': 28.03275520023629, 'symbol_in': 'GOAT', 'symbol_out': 'USDC', 'before_source_balance': 10701.766482}
2024-10-21 07:26:41 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: custom program error: 0x1771", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, Custom(6001))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: SharedAccountsRoute", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1382793 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 7413317027569", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1333603 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1325901 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 52246 of 1370756 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1316195 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A16OGBUAAAAAAAAAAAAAAAABAAAAAAAAABtgGxUAAAAAcFGzMhIGAABUUQ3EYwgAAGccOg8AAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1289657 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1282031 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30451 of 1306892 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1274067 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 673018345630", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1225740 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1218087 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt consumed 56495 of 1266396 compute units", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1207586 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program log: AnchorError thrown in programs/jupiter/src/lib.rs:585. Error Code: SlippageToleranceExceeded. Error Number: 6001. Error Message: Slippage tolerance exceeded.", "Program log: Left: 43339729", "Program log: Right: 43362050", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 199316 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1771"]), accounts: None, units_consumed: Some(199616), return_data: None, inner_instructions: None }) }
Traceback (most recent call last):
File "/app/app.py", line 1222, in follow_move
result = await async_client.send_raw_transaction(txn=bytes(signed_txn), opts=opts)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/solana/rpc/async_api.py", line 1002, in send_raw_transaction
resp = await self._provider.make_request(body, SendTransactionResp)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/solana/exceptions.py", line 60, in argument_decorator
return await func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/async_http.py", line 60, in make_request
return _parse_raw(raw, parser=parser)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 98, in _parse_raw
raise RPCException(parsed)
solana.rpc.core.RPCException: SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: custom program error: 0x1771", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, Custom(6001))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: SharedAccountsRoute", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1382793 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 7413317027569", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1333603 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1325901 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 52246 of 1370756 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1316195 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A16OGBUAAAAAAAAAAAAAAAABAAAAAAAAABtgGxUAAAAAcFGzMhIGAABUUQ3EYwgAAGccOg8AAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1289657 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1282031 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30451 of 1306892 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1274067 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 673018345630", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1225740 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1218087 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt consumed 56495 of 1266396 compute units", "Program H8W3ctz92svYg6mkn1UtGfu2aQr2fnUFHM1RhScEtQDt success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1207586 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program log: AnchorError thrown in programs/jupiter/src/lib.rs:585. Error Code: SlippageToleranceExceeded. Error Number: 6001. Error Message: Slippage tolerance exceeded.", "Program log: Left: 43339729", "Program log: Right: 43362050", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 199316 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1771"]), accounts: None, units_consumed: Some(199616), return_data: None, inner_instructions: None }) }
2024-10-21 07:26:43 [ERROR] <b>Move Failed:</b>
Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }</b>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAFEF8ss0Ijtep7x/QSQpelS9R/BLJJV8nYbkzHEgl6DWzmOFd2n25tuM+O/1eD2ihdf9x3I0z28Sq/iT8zbzEp8G1IH3U7ixqCaqbGoeydkTdTUUCkOQYTvNcEdWHVAFRzK0lvQkeFrHOnH/VIZV2eHsP0MRaqDX7AAqfqmHnGeMCOZn/LU4VSNrEZJg9hJjEvfwMjmNLCvJDpEyG0zH7Y1yRxM32R3yvnX/HBzojB9fApPOfuRWL27j4EX6B/qtMR3ZZQr5cDjeIUDo36Z8fIYs5w5bQtIw7N8HaurmKKk51Dsq78ybAhS/z3pI+NLtAmg7awmWSpft2HqsztqRU8ax3Mj/r/oP5ATGc5hI7qeU5QuiWjtLinKPbfRqPX7fjmctCBOG4edSvPLw1jCYM6gSsw50WSxwTyJCwZwPgQ5L2823zDUsxqG5ijrqPCB6f2lyFhze9/3f+5F5Y5m+Bc+cwDBkZv5SEXMv/srbpyw5vnvIzlu8X3EmssQ5s6QAAAAAR51VvyMcBu7nTFbs5oFQf9sbLeo/SOUQKxzaJWvBOPmoAL/0yHNoiWwg/BQHPr8ctao3X+gf5NvcgrpN+3XniyIKaZBLbu2IoL6YkUKYD80agehUczMoMmMcu2LhFij7Q/+if11/ZKdMCbHylYed5LCas238ndUUsyGqezjOXoEd8rjajwoFmY8jrhaBvsDL5Zahs5Z/FF0O6SMfd1QaoDCwAFAsBcFQALAAkDBBcBAAAAAAAMNxsNAAcBBAIOIQwMDwwcGw0YARYJGhkXCCIeGxMdExUUExMTExMTExMJBQ0gGw0QBREEEgYDCh8uwSCbM0HWnIECAwAAABEBZAABB2QBAhEBZAID2h5mBwAAAADyVZwCAAAAAGQAAAPvQyb1eS9sOzNqJRRfI95OXS0XoerHLNQS97NH9b7hxQMShg8GDUUEDBQRUjCdc1ZN5rgbYDY4PCgOqwZ3z8ZhitSJO/hZ8YdkSRwDn56cAQSklxFTCCj5aaUf2LjhOBzA/gejCiAKOXuMbjkdddnfkAUDAgABhAGF</b>
{'order_id': None, 'token_in': 'CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump', 'token_out': 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', 'amount_in': 3000.0, 'amount_out': 1055.732395, 'amount_in_USD': 1045.452, 'amount_out_USD': 1055.732395, 'percentage_swapped': 28.03275520023629, 'symbol_in': 'GOAT', 'symbol_out': 'USDC', 'before_source_balance': 10701.766482}
2024-10-21 07:26:43 [ERROR] Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 629, in quote
quote_response['routePlan']
~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'routePlan'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/app.py", line 1208, in follow_move
transaction_data = await jupiter.swap(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 679, in swap
quoteResponse = await self.quote(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 632, in quote
raise Exception(quote_response['error'])
Exception: Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
2024-10-21 07:26:44 [ERROR] <b>Move Failed:</b>
Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }</b>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAFEF8ss0Ijtep7x/QSQpelS9R/BLJJV8nYbkzHEgl6DWzmOFd2n25tuM+O/1eD2ihdf9x3I0z28Sq/iT8zbzEp8G1IH3U7ixqCaqbGoeydkTdTUUCkOQYTvNcEdWHVAFRzK0lvQkeFrHOnH/VIZV2eHsP0MRaqDX7AAqfqmHnGeMCOZn/LU4VSNrEZJg9hJjEvfwMjmNLCvJDpEyG0zH7Y1yRxM32R3yvnX/HBzojB9fApPOfuRWL27j4EX6B/qtMR3ZZQr5cDjeIUDo36Z8fIYs5w5bQtIw7N8HaurmKKk51Dsq78ybAhS/z3pI+NLtAmg7awmWSpft2HqsztqRU8ax3Mj/r/oP5ATGc5hI7qeU5QuiWjtLinKPbfRqPX7fjmctCBOG4edSvPLw1jCYM6gSsw50WSxwTyJCwZwPgQ5L2823zDUsxqG5ijrqPCB6f2lyFhze9/3f+5F5Y5m+Bc+cwDBkZv5SEXMv/srbpyw5vnvIzlu8X3EmssQ5s6QAAAAAR51VvyMcBu7nTFbs5oFQf9sbLeo/SOUQKxzaJWvBOPmoAL/0yHNoiWwg/BQHPr8ctao3X+gf5NvcgrpN+3XniyIKaZBLbu2IoL6YkUKYD80agehUczMoMmMcu2LhFij7Q/+if11/ZKdMCbHylYed5LCas238ndUUsyGqezjOXoEd8rjajwoFmY8jrhaBvsDL5Zahs5Z/FF0O6SMfd1QaoDCwAFAsBcFQALAAkDBBcBAAAAAAAMNxsNAAcBBAIOIQwMDwwcGw0YARYJGhkXCCIeGxMdExUUExMTExMTExMJBQ0gGw0QBREEEgYDCh8uwSCbM0HWnIECAwAAABEBZAABB2QBAhEBZAID2h5mBwAAAADyVZwCAAAAAGQAAAPvQyb1eS9sOzNqJRRfI95OXS0XoerHLNQS97NH9b7hxQMShg8GDUUEDBQRUjCdc1ZN5rgbYDY4PCgOqwZ3z8ZhitSJO/hZ8YdkSRwDn56cAQSklxFTCCj5aaUf2LjhOBzA/gejCiAKOXuMbjkdddnfkAUDAgABhAGF</b>
{'order_id': None, 'token_in': 'CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump', 'token_out': 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v', 'amount_in': 3000.0, 'amount_out': 1055.732395, 'amount_in_USD': 1045.452, 'amount_out_USD': 1055.732395, 'percentage_swapped': 28.03275520023629, 'symbol_in': 'GOAT', 'symbol_out': 'USDC', 'before_source_balance': 10701.766482}
2024-10-21 07:26:44 [ERROR] Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 629, in quote
quote_response['routePlan']
~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'routePlan'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/app/app.py", line 1208, in follow_move
transaction_data = await jupiter.swap(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 679, in swap
quoteResponse = await self.quote(
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 632, in quote
raise Exception(quote_response['error'])
Exception: Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit }

View File

@ -82,12 +82,12 @@
"price": 4.026e-06
},
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": {
"price": 1.001,
"price": 1.0,
"decimals": 6,
"name": "USD Coin",
"symbol": "USDC",
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"holdedAmount": 160.755238,
"holdedAmount": 11.528114,
"priice": 1.00073
},
"Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": {
@ -97,7 +97,7 @@
"address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j",
"holdedAmount": 511117.33566278,
"priice": 3.585e-06,
"price": 2.696e-06
"price": 0.000102038145
},
"BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump": {
"price": 0.001581,
@ -136,7 +136,8 @@
"name": "Fart Coin",
"symbol": "Fart",
"address": "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA",
"holdedAmount": 672875.569584
"holdedAmount": 672875.569584,
"price": 0.0
},
"r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb": {
"decimals": 6,
@ -188,12 +189,12 @@
"holdedAmount": 31264.506258
},
"DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB": {
"price": 0.535598,
"price": 0.5156,
"decimals": 9,
"name": "Skibidi Toilet",
"symbol": "SKBDI",
"address": "DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB",
"holdedAmount": 669.212843132,
"holdedAmount": 1e-09,
"priice": 0.3638
},
"dekNoN3D8mXa4JHLwTbVXz8aPAyJUkk443UjcSpJKi4": {
@ -220,7 +221,7 @@
"symbol": "SOL",
"address": "So11111111111111111111111111111111111111112",
"priice": 142.85,
"price": 138.13
"price": 170.71
},
"4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og": {
"symbol": null,
@ -228,7 +229,7 @@
},
"SOL": {
"symbol": null,
"price": 0.0
"price": 170.668067692
},
"UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z": {
"decimals": 6,
@ -291,8 +292,8 @@
"name": "Banana Tape Wall",
"symbol": "BTW",
"address": "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump",
"holdedAmount": 54542.700895,
"price": 0.002082
"holdedAmount": 0.996778,
"price": 0.00360963
},
"2JcXacFwt9mVAwBQ5nZkYwCyXQkRcdsYrDXn6hj22SbP": {
"decimals": 6,
@ -307,8 +308,8 @@
"name": "real fast",
"symbol": "speed",
"address": "5Wd2ALxQfnpgQKCyH4WL9giBiiuuLuJs84CJxfQccvmN",
"holdedAmount": 561240.789081,
"price": 0.002958
"holdedAmount": 1.000531,
"price": 0.002678
},
"BsTRFEVZhXbBuy5fhxbttuim8iwzXqMdRCfFftDAkkeu": {
"decimals": 6,
@ -341,5 +342,203 @@
"address": "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t",
"holdedAmount": 118734.201549,
"price": 0.01307
},
"Bde151hvHepcj3DnkbdrXVBrTSTdeWj8kUEGU464V3Gm": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "Bde151hvHepcj3DnkbdrXVBrTSTdeWj8kUEGU464V3Gm",
"holdedAmount": 1.0,
"price": 0.0
},
"67PDPxcgJo6tCrfb8oStAEfqdSNWh5RoCun3frYtg4my": {
"decimals": 9,
"holdedAmount": 2.062218393,
"symbol": null,
"price": 0.0
},
"CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump": {
"decimals": 6,
"name": "Goatseus Maximus",
"symbol": "GOAT",
"address": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump",
"holdedAmount": 442.814421,
"price": 0.348484
},
"HfmWWtL3a6ZQAvM74nirtTkXJyjedLRj7Ljp3YMdVVBK": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "HfmWWtL3a6ZQAvM74nirtTkXJyjedLRj7Ljp3YMdVVBK",
"holdedAmount": 1.0,
"price": 0.0
},
"F6E9Wpxgi5DjoqEMJQNTCgsXYUcuQfnsTJpqYZ1i71se": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "F6E9Wpxgi5DjoqEMJQNTCgsXYUcuQfnsTJpqYZ1i71se",
"holdedAmount": 1.0,
"price": 0.0
},
"6Fb84TUdMNAVgwRinLeTgLov8dJnk5yhNt41Xq2a6s4c": {
"decimals": 9,
"holdedAmount": 56106.968899379,
"name": "RIZZ",
"symbol": "RIZZ",
"address": "6Fb84TUdMNAVgwRinLeTgLov8dJnk5yhNt41Xq2a6s4c",
"price": 0.002393
},
"BSqMUYb6ePwKsby85zrXaDa4SNf6AgZ9YfA2c4mZpump": {
"decimals": 6,
"holdedAmount": 57821.753872,
"name": "Look bro...",
"symbol": "LOOK",
"address": "BSqMUYb6ePwKsby85zrXaDa4SNf6AgZ9YfA2c4mZpump",
"price": 0.00247115
},
"CemfE7uJXwtcYRPNeiYYA8Qb1zi9BcosKKGYpnUxJe2C": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "CemfE7uJXwtcYRPNeiYYA8Qb1zi9BcosKKGYpnUxJe2C",
"holdedAmount": 1.0,
"price": 0.0
},
"CFyaDC9yjmE71wYw633HavRN3VQ3aq37sYujARR1pump": {
"decimals": 6,
"name": "Cafe",
"symbol": "CAFE",
"address": "CFyaDC9yjmE71wYw633HavRN3VQ3aq37sYujARR1pump",
"holdedAmount": 30501.416679,
"price": 0.006098
},
"AMjzRn1TBQwQfNAjHFeBb7uGbbqbJB7FzXAnGgdFPk6K": {
"decimals": 6,
"name": "SolCex ",
"symbol": "SOLCEX",
"address": "AMjzRn1TBQwQfNAjHFeBb7uGbbqbJB7FzXAnGgdFPk6K",
"holdedAmount": 92.918643,
"price": 0.01439
},
"HyxPoEjAggia3ZjkZWNPhChaBUZxxLt61UDxfeqkfqVE": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "HyxPoEjAggia3ZjkZWNPhChaBUZxxLt61UDxfeqkfqVE",
"holdedAmount": 1.0,
"price": 0.0
},
"AtTUzJVrPkBTXwiMZivVRKvWmCnVpRfnKq3cc5fopump": {
"decimals": 6,
"name": "Flying Spaghetti Monster",
"symbol": "CFSM",
"address": "AtTUzJVrPkBTXwiMZivVRKvWmCnVpRfnKq3cc5fopump",
"holdedAmount": 985305.676094,
"price": 0.0005911
},
"GQxrVxTHRvJ85gW9VpQdxURvD1NbkWkAVqa93CEMJYrC": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "GQxrVxTHRvJ85gW9VpQdxURvD1NbkWkAVqa93CEMJYrC",
"holdedAmount": 1.0,
"price": 0.0
},
"J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U": {
"decimals": 6,
"name": "George Droyd",
"symbol": "FLOYDAI",
"address": "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U",
"holdedAmount": 126823.452121,
"price": 0.005168
},
"H7ed7UgcLp3ax4X1CQ5WuWDn6d1pprfMMYiv5ejwLWWU": {
"decimals": 6,
"name": "CHONKY",
"symbol": "CHONKY",
"address": "H7ed7UgcLp3ax4X1CQ5WuWDn6d1pprfMMYiv5ejwLWWU",
"holdedAmount": 4571249.855977,
"price": 3.409e-05
},
"4JZppS73qUrwaUfrgAjTvAxrBTNWECsZAoPQT6YysXV1": {
"decimals": 0,
"name": "Raydium Concentrated Liquidity",
"symbol": "RCL",
"address": "4JZppS73qUrwaUfrgAjTvAxrBTNWECsZAoPQT6YysXV1",
"holdedAmount": 1.0,
"price": 0.0
},
"7NQSHjuEGENZDWfSvPZz7oP2D6c5Jc3LjFC6uh179ufr": {
"decimals": 9,
"name": "\ud83d\uddff",
"symbol": "MOAI",
"address": "7NQSHjuEGENZDWfSvPZz7oP2D6c5Jc3LjFC6uh179ufr",
"holdedAmount": 1e-09,
"price": 0.1547
},
"ermX4zfUwUh5gcFbhWxpH4YSphZtaKHkxfX3GMRkoRu": {
"decimals": 9,
"name": "what the sigma?",
"symbol": "erm",
"address": "ermX4zfUwUh5gcFbhWxpH4YSphZtaKHkxfX3GMRkoRu",
"holdedAmount": 100.0,
"price": 0.0003534
},
"EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp": {
"decimals": 6,
"name": "Roaring Kitty",
"symbol": "KITTY",
"address": "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp",
"holdedAmount": 0.284553,
"price": 0.002791
},
"7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr": {
"decimals": 9,
"name": "POPCAT",
"symbol": "POPCAT",
"address": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr",
"holdedAmount": 0.000847952,
"price": 1.4
},
"ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN": {
"decimals": 9,
"name": "KODOG",
"symbol": "KODOG",
"address": "ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN",
"holdedAmount": 99.0,
"price": 0.00290011857
},
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": {
"decimals": 6,
"name": "USDT",
"symbol": "USDT",
"address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
"holdedAmount": 0.060209,
"price": 0.9996
},
"3XxvmED354933DwSPJuzB7SE9uiWpD1ErydDuhmbFRMk": {
"decimals": 6,
"name": "doginthpool",
"symbol": "DIP",
"address": "3XxvmED354933DwSPJuzB7SE9uiWpD1ErydDuhmbFRMk",
"holdedAmount": 754903.229049,
"price": 0.00323517
},
"ukHH6c7mMyiWCf1b9pnWe25TSpkDDt3H5pQZgZ74J82": {
"decimals": 6,
"name": "BOOK OF MEME",
"symbol": "BOME",
"address": "ukHH6c7mMyiWCf1b9pnWe25TSpkDDt3H5pQZgZ74J82",
"holdedAmount": 0.790596,
"price": 0.009356
},
"FkBF9u1upwEMUPxnXjcydxxVSxgr8f3k1YXbz7G7bmtA": {
"decimals": 6,
"holdedAmount": 331150.293776,
"name": "glorp",
"symbol": "glorp",
"address": "FkBF9u1upwEMUPxnXjcydxxVSxgr8f3k1YXbz7G7bmtA",
"price": 0.0101
}
}

File diff suppressed because it is too large Load Diff