From 5db7fcf6c7d84aeedbc56092cae8321072f1e1f9 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sat, 12 Oct 2024 22:41:55 +0300 Subject: [PATCH 01/28] envs --- crypto/sol/.env | 16 ++++++++++++---- crypto/sol/.env.example | 15 --------------- 2 files changed, 12 insertions(+), 19 deletions(-) delete mode 100644 crypto/sol/.env.example diff --git a/crypto/sol/.env b/crypto/sol/.env index ab435f5..4fbd146 100644 --- a/crypto/sol/.env +++ b/crypto/sol/.env @@ -3,14 +3,22 @@ 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" +# prod, @kevin_ai_robot: +BOT_NAME="Solower" +DEVELOPER_CHAT_ID="777826553" # https://api.telegram.org/bot{token}/getUpdates TELEGRAM_BOT_TOKEN="6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw" +# dev, @artitherobot: +BOT_NAME="DEV" +DEVELOPER_CHAT_ID="777826553" +TELEGRAM_BOT_TOKEN="6749075936:AAHUHiPTDEIu6JH7S2fQdibwsu6JVG3FNG0" + DISPLAY_CURRENCY=USD # Niki's to Sync: [PROD] - FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" +FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" +YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" # Sync to main [DEV] -# FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" -# YOUR_WALLET="65nzyZXTLC81MthTo52a2gRJjqryTizWVqpK2fDKLye5" \ No newline at end of file +FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" +YOUR_WALLET="65nzyZXTLC81MthTo52a2gRJjqryTizWVqpK2fDKLye5" \ No newline at end of file diff --git a/crypto/sol/.env.example b/crypto/sol/.env.example deleted file mode 100644 index e949837..0000000 --- a/crypto/sol/.env.example +++ /dev/null @@ -1,15 +0,0 @@ - -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" -# Niki's -# FOLLOWED_WALLET="9U7D916zuQ8qcL9kQZqkcroWhHGho5vD8VNekvztrutN" -# My test Brave sync wallet -FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" - -TELEGRAM_BOT_TOKEN="6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw" -DISPLAY_CURRENCY=USD - -YOUR_WALLET="65nzyZXTLC81MthTo52a2gRJjqryTizWVqpK2fDKLye5" -PK={} \ No newline at end of file From 3a89856b54e33ee646d6dfdd746961dc188c9cec Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sat, 12 Oct 2024 22:44:21 +0300 Subject: [PATCH 02/28] bot name in telegram messages --- crypto/sol/app.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 6ec719f..2c87c19 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -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') +BOT_NAME = os.getenv("BOT_NAME") logger = logging.getLogger(__name__) logging.basicConfig(level=logging.DEBUG) @@ -130,7 +131,7 @@ except Exception as e: # # # # # # # # # # TELEGRAM # # # # # # # # # # async def send_telegram_message(message): try: - await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=message, parse_mode=ParseMode.HTML) + await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) logging.info(f"Telegram message sent: {message}") # logging.info(f"Telegram message dummy sent: {message}") except Exception as e: From cfe04171c7db3ae7d0e4acbbbd4458f61015f924 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 00:08:05 +0300 Subject: [PATCH 03/28] init storage module --- crypto/sol/modules/storage.py | 214 ++++++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 crypto/sol/modules/storage.py diff --git a/crypto/sol/modules/storage.py b/crypto/sol/modules/storage.py new file mode 100644 index 0000000..2003934 --- /dev/null +++ b/crypto/sol/modules/storage.py @@ -0,0 +1,214 @@ +import aiosqlite +import json +from datetime import datetime + +DATABASE_FILE = "app_data.db" + +async def init_db(): + async with aiosqlite.connect(DATABASE_FILE) as db: + await db.executescript(""" + CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT UNIQUE NOT NULL, + password_hash TEXT NOT NULL, + email TEXT UNIQUE NOT NULL, + api_key TEXT UNIQUE, + plan TEXT DEFAULT 'free' + ); + + CREATE TABLE IF NOT EXISTS wallets ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER, + address TEXT NOT NULL, + name TEXT, + FOREIGN KEY (user_id) REFERENCES users(id) + ); + + CREATE TABLE IF NOT EXISTS transactions ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + wallet_id INTEGER, + timestamp TEXT, + type TEXT, + sell_currency TEXT, + sell_amount REAL, + sell_value REAL, + buy_currency TEXT, + buy_amount REAL, + buy_value REAL, + closed BOOLEAN DEFAULT 0, + details TEXT, + FOREIGN KEY (wallet_id) REFERENCES wallets(id) + ); + + CREATE TABLE IF NOT EXISTS holdings ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + wallet_id INTEGER, + currency TEXT, + amount REAL, + last_updated TEXT, + FOREIGN KEY (wallet_id) REFERENCES wallets(id) + ); + + CREATE TABLE IF NOT EXISTS price_alerts ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER, + currency TEXT, + target_price REAL, + alert_type TEXT, + FOREIGN KEY (user_id) REFERENCES users(id) + ); + + CREATE TABLE IF NOT EXISTS followed_accounts ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER, + address TEXT, + followed_address TEXT, + name TEXT, + FOREIGN KEY (address) REFERENCES wallets(address), + FOREIGN KEY (followed_address) REFERENCES wallets(address), + FOREIGN KEY (user_id) REFERENCES users(id) + ); + """) + await db.commit() + +async def store_transaction(wallet_id, transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, details=None): + async with aiosqlite.connect(DATABASE_FILE) as db: + await db.execute(""" + INSERT INTO transactions (wallet_id, timestamp, type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, details) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, (wallet_id, datetime.now().isoformat(), transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, json.dumps(details or {}))) + await db.commit() + +async def update_holdings(wallet_id, currency, amount_change): + async with aiosqlite.connect(DATABASE_FILE) as db: + cursor = await db.execute("SELECT amount FROM holdings WHERE wallet_id = ? AND currency = ?", (wallet_id, currency)) + result = await cursor.fetchone() + if result: + new_amount = result[0] + amount_change + await db.execute("UPDATE holdings SET amount = ?, last_updated = ? WHERE wallet_id = ? AND currency = ?", + (new_amount, datetime.now().isoformat(), wallet_id, currency)) + else: + await db.execute("INSERT INTO holdings (wallet_id, currency, amount, last_updated) VALUES (?, ?, ?, ?)", + (wallet_id, currency, amount_change, datetime.now().isoformat())) + await db.commit() + +async def get_wallet_holdings(wallet_id): + async with aiosqlite.connect(DATABASE_FILE) as db: + cursor = await db.execute("SELECT currency, amount FROM holdings WHERE wallet_id = ?", (wallet_id,)) + return await cursor.fetchall() + +async def get_transaction_history(wallet_id, start_date=None, end_date=None, include_closed=False): + async with aiosqlite.connect(DATABASE_FILE) as db: + query = "SELECT * FROM transactions WHERE wallet_id = ?" + params = [wallet_id] + if not include_closed: + query += " AND closed = 0" + if start_date: + query += " AND timestamp >= ?" + params.append(start_date) + if end_date: + query += " AND timestamp <= ?" + params.append(end_date) + query += " ORDER BY timestamp DESC" + cursor = await db.execute(query, params) + return await cursor.fetchall() + +# New utility functions + +async def close_transaction(transaction_id): + async with aiosqlite.connect(DATABASE_FILE) as db: + await db.execute("UPDATE transactions SET closed = 1 WHERE id = ?", (transaction_id,)) + await db.commit() + +async def get_open_transactions(wallet_id, currency): + async with aiosqlite.connect(DATABASE_FILE) as db: + cursor = await db.execute(""" + SELECT * FROM transactions + WHERE wallet_id = ? AND buy_currency = ? AND closed = 0 + ORDER BY timestamp ASC + """, (wallet_id, currency)) + return await cursor.fetchall() + +async def calculate_current_holdings(wallet_id): + async with aiosqlite.connect(DATABASE_FILE) as db: + cursor = await db.execute(""" + SELECT + buy_currency AS currency, + SUM(buy_amount) - COALESCE( + (SELECT SUM(sell_amount) + FROM transactions t2 + WHERE t2.wallet_id = t1.wallet_id + AND t2.sell_currency = t1.buy_currency + AND t2.closed = 0), + 0 + ) AS amount + FROM transactions t1 + WHERE wallet_id = ? AND closed = 0 + GROUP BY buy_currency + HAVING amount > 0 + """, (wallet_id,)) + return await cursor.fetchall() + +STABLECOINS = ['USDC', 'USDT', 'SOL'] + +async def is_transaction_closed(wallet_id, transaction_id): + async with aiosqlite.connect(DATABASE_FILE) as db: + cursor = await db.execute(""" + SELECT t1.buy_currency, t1.buy_amount, + (SELECT SUM(sell_amount) + FROM transactions t2 + WHERE t2.wallet_id = t1.wallet_id + AND t2.sell_currency = t1.buy_currency + AND t2.timestamp > t1.timestamp) AS sold_amount + FROM transactions t1 + WHERE t1.id = ? AND t1.wallet_id = ? + """, (transaction_id, wallet_id)) + result = await cursor.fetchone() + + if result: + buy_currency, buy_amount, sold_amount = result + return sold_amount is not None and sold_amount >= buy_amount + return False + +async def close_completed_transactions(wallet_id): + async with aiosqlite.connect(DATABASE_FILE) as db: + cursor = await db.execute(""" + SELECT id FROM transactions + WHERE wallet_id = ? AND closed = 0 AND buy_currency NOT IN (?) + """, (wallet_id, ','.join(STABLECOINS))) + transactions = await cursor.fetchall() + + for (transaction_id,) in transactions: + if await is_transaction_closed(wallet_id, transaction_id): + await close_transaction(transaction_id) + +async def get_profit_loss(wallet_id, currency, start_date=None, end_date=None): + async with aiosqlite.connect(DATABASE_FILE) as db: + query = """ + SELECT + SUM(CASE WHEN sell_currency = ? THEN sell_value ELSE -buy_value END) as profit_loss + FROM transactions + WHERE wallet_id = ? AND (sell_currency = ? OR buy_currency = ?) + """ + params = [currency, wallet_id, currency, currency] + + if start_date: + query += " AND timestamp >= ?" + params.append(start_date) + if end_date: + query += " AND timestamp <= ?" + params.append(end_date) + + cursor = await db.execute(query, params) + result = await cursor.fetchone() + return result[0] if result else 0 + +# Example usage +if __name__ == "__main__": + import asyncio + + async def main(): + await init_db() + # Add more test functions here + + asyncio.run(main()) \ No newline at end of file From d9ffbcfa13f320815b2d70393054e4e4c4717b5b Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 00:12:40 +0300 Subject: [PATCH 04/28] store sol tr signature --- crypto/sol/modules/storage.py | 63 ++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/crypto/sol/modules/storage.py b/crypto/sol/modules/storage.py index 2003934..ae4aaaf 100644 --- a/crypto/sol/modules/storage.py +++ b/crypto/sol/modules/storage.py @@ -37,6 +37,7 @@ async def init_db(): buy_value REAL, closed BOOLEAN DEFAULT 0, details TEXT, + solana_signature TEXT UNIQUE, FOREIGN KEY (wallet_id) REFERENCES wallets(id) ); @@ -71,14 +72,68 @@ async def init_db(): """) await db.commit() -async def store_transaction(wallet_id, transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, details=None): +async def store_transaction(wallet_id, transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, solana_signature, details=None): async with aiosqlite.connect(DATABASE_FILE) as db: await db.execute(""" - INSERT INTO transactions (wallet_id, timestamp, type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, details) - VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) - """, (wallet_id, datetime.now().isoformat(), transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, json.dumps(details or {}))) + INSERT INTO transactions (wallet_id, timestamp, type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, solana_signature, details) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + """, (wallet_id, datetime.now().isoformat(), transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, solana_signature, json.dumps(details or {}))) await db.commit() +# async def get_new_transactions(wallet_address, rpc_url): +# async with AsyncClient(rpc_url) as client: +# last_tx = await get_last_stored_transaction(wallet_address) + +# if last_tx: +# last_signature, last_timestamp = last_tx +# else: +# # If no transactions are stored, we'll fetch all transactions +# last_signature = None +# last_timestamp = None + +# new_transactions = [] + +# # Get the transaction history for the wallet +# tx_history = await client.get_signatures_for_address(wallet_address, before=last_signature) + +# for tx in tx_history.value: +# # Check if the transaction is newer than the last stored one +# if not last_timestamp or tx.block_time > datetime.fromisoformat(last_timestamp).timestamp(): +# # Fetch the full transaction details +# tx_details = await client.get_transaction(tx.signature, commitment=Confirmed) +# new_transactions.append(tx_details) + +# return new_transactions + +# async def process_new_transactions(wallet_id, wallet_address, rpc_url): +# new_transactions = await get_new_transactions(wallet_address, rpc_url) + +# for tx in new_transactions: +# # Process the transaction and extract relevant information +# # This is a placeholder - you'll need to implement the actual logic based on your requirements +# transaction_type = "swap" # Determine the type based on the transaction data +# sell_currency = "SOL" # Extract from transaction data +# sell_amount = 1.0 # Extract from transaction data +# sell_value = 100.0 # Extract from transaction data +# buy_currency = "USDC" # Extract from transaction data +# buy_amount = 100.0 # Extract from transaction data +# buy_value = 100.0 # Extract from transaction data +# solana_signature = tx.transaction.signatures[0] + +# # Store the transaction in the database +# await store_transaction( +# wallet_id, transaction_type, sell_currency, sell_amount, sell_value, +# buy_currency, buy_amount, buy_value, solana_signature +# ) + +# # Update holdings +# await update_holdings(wallet_id, sell_currency, -sell_amount) +# await update_holdings(wallet_id, buy_currency, buy_amount) + +# # After processing all new transactions, close completed transactions +# await close_completed_transactions(wallet_id) + + async def update_holdings(wallet_id, currency, amount_change): async with aiosqlite.connect(DATABASE_FILE) as db: cursor = await db.execute("SELECT amount FROM holdings WHERE wallet_id = ? AND currency = ?", (wallet_id, currency)) From b9410f29868d0a066d655d2b8b62ff4dc23af2bb Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 00:27:02 +0300 Subject: [PATCH 05/28] init flask and PWA - file structure --- crypto/sol/app.py | 4 ++ crypto/sol/modules/__init__.py | 0 crypto/sol/modules/webui.py | 58 +++++++++++++++++++++++++++++ crypto/sol/static/css/styles.css | 0 crypto/sol/static/images/logo.png | 0 crypto/sol/static/{ => js}/app.js | 0 crypto/sol/static/manifest.json | 0 crypto/sol/static/service-worker.js | 0 8 files changed, 62 insertions(+) create mode 100644 crypto/sol/modules/__init__.py create mode 100644 crypto/sol/modules/webui.py create mode 100644 crypto/sol/static/css/styles.css create mode 100644 crypto/sol/static/images/logo.png rename crypto/sol/static/{ => js}/app.js (100%) create mode 100644 crypto/sol/static/manifest.json create mode 100644 crypto/sol/static/service-worker.js diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 2c87c19..131d3b2 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -139,6 +139,10 @@ async def send_telegram_message(message): +# # # # # # # # # # DATABASE # # # # # # # # # # + + + # # # # # # # # # # CRYPTO PUBLIC # # # # # # # # # # async def get_token_prices(token_addresses: List[str]) -> Dict[str, float]: diff --git a/crypto/sol/modules/__init__.py b/crypto/sol/modules/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/crypto/sol/modules/webui.py b/crypto/sol/modules/webui.py new file mode 100644 index 0000000..09c4e28 --- /dev/null +++ b/crypto/sol/modules/webui.py @@ -0,0 +1,58 @@ +from flask import Flask, jsonify, request +from flask_login import LoginManager, UserMixin, login_user, login_required, current_user +import secrets +from modules import storage # Import your storage module + +app = Flask(__name__) +app.config['SECRET_KEY'] = 'your-secret-key' +login_manager = LoginManager(app) + +class User(UserMixin): + def __init__(self, id, username, email): + self.id = id + self.username = username + self.email = email + +@login_manager.user_loader +def load_user(user_id): + user_data = storage.get_user_by_id(user_id) + if user_data: + return User(id=user_data['id'], username=user_data['username'], email=user_data['email']) + return None + +@app.route('/login', methods=['POST']) +def login(): + data = request.json + username = data.get('username') + password = data.get('password') + + user = storage.authenticate_user(username, password) + if user: + login_user(User(id=user['id'], username=user['username'], email=user['email'])) + return jsonify({'message': 'Login successful'}), 200 + else: + return jsonify({'message': 'Invalid credentials'}), 401 + +@app.route('/generate_api_key', methods=['POST']) +@login_required +def generate_api_key(): + api_key = secrets.token_urlsafe(32) + storage.store_api_key(current_user.id, api_key) + return jsonify({'api_key': api_key}) + +@app.route('/wallet//transactions', methods=['GET']) +@login_required +def get_transactions(wallet_id): + transactions = storage.get_transactions(wallet_id) + return jsonify(transactions) + +@app.route('/wallet//holdings', methods=['GET']) +@login_required +def get_holdings(wallet_id): + holdings = storage.get_holdings(wallet_id) + return jsonify(holdings) + +# Implement other routes for reports, price alerts, following accounts, etc. + +def init_app(): + return app \ No newline at end of file diff --git a/crypto/sol/static/css/styles.css b/crypto/sol/static/css/styles.css new file mode 100644 index 0000000..e69de29 diff --git a/crypto/sol/static/images/logo.png b/crypto/sol/static/images/logo.png new file mode 100644 index 0000000..e69de29 diff --git a/crypto/sol/static/app.js b/crypto/sol/static/js/app.js similarity index 100% rename from crypto/sol/static/app.js rename to crypto/sol/static/js/app.js diff --git a/crypto/sol/static/manifest.json b/crypto/sol/static/manifest.json new file mode 100644 index 0000000..e69de29 diff --git a/crypto/sol/static/service-worker.js b/crypto/sol/static/service-worker.js new file mode 100644 index 0000000..e69de29 From 49384accf6bfa3f09e1a86622aa3103194ed3e66 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 00:39:46 +0300 Subject: [PATCH 06/28] flask web app (wip) --- crypto/sol/app.py | 6 ++++ crypto/sol/modules/webui.py | 47 ++++++++++++++++++++--------- crypto/sol/requirements.txt | 1 + crypto/sol/static/css/styles.css | 46 ++++++++++++++++++++++++++++ crypto/sol/static/js/app.js | 18 +++++++++++ crypto/sol/static/manifest.json | 20 ++++++++++++ crypto/sol/static/service-worker.js | 8 +++++ crypto/sol/templates/base.html | 36 ++++++++++++++++++++++ crypto/sol/templates/dashboard.html | 23 ++++++++++++++ crypto/sol/templates/index.html | 27 ++++------------- crypto/sol/templates/login.html | 17 +++++++++++ crypto/sol/templates/swap.html | 21 +++++++++++++ 12 files changed, 234 insertions(+), 36 deletions(-) create mode 100644 crypto/sol/templates/base.html create mode 100644 crypto/sol/templates/dashboard.html create mode 100644 crypto/sol/templates/login.html create mode 100644 crypto/sol/templates/swap.html diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 131d3b2..d8f4c78 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1463,7 +1463,13 @@ async def main(): logging.info("Restarting wallet_watch_loop") await send_telegram_message("Restarting wallet_watch_loop") + +from modules.webui import init_app + async def run_flask(): + # loop = asyncio.get_running_loop() + # await loop.run_in_executor(None, lambda: app.run(debug=False, port=3001, use_reloader=False)) + app = init_app() loop = asyncio.get_running_loop() await loop.run_in_executor(None, lambda: app.run(debug=False, port=3001, use_reloader=False)) diff --git a/crypto/sol/modules/webui.py b/crypto/sol/modules/webui.py index 09c4e28..4cae030 100644 --- a/crypto/sol/modules/webui.py +++ b/crypto/sol/modules/webui.py @@ -1,11 +1,12 @@ -from flask import Flask, jsonify, request -from flask_login import LoginManager, UserMixin, login_user, login_required, current_user +from flask import Flask, jsonify, request, render_template, redirect, url_for +from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user import secrets -from modules import storage # Import your storage module +from modules import storage -app = Flask(__name__) +app = Flask(__name__, template_folder='../templates', static_folder='../static') app.config['SECRET_KEY'] = 'your-secret-key' login_manager = LoginManager(app) +login_manager.login_view = 'login' class User(UserMixin): def __init__(self, id, username, email): @@ -20,18 +21,34 @@ def load_user(user_id): return User(id=user_data['id'], username=user_data['username'], email=user_data['email']) return None -@app.route('/login', methods=['POST']) +@app.route('/') +def index(): + return render_template('index.html') + +@app.route('/login', methods=['GET', 'POST']) def login(): - data = request.json - username = data.get('username') - password = data.get('password') - - user = storage.authenticate_user(username, password) - if user: - login_user(User(id=user['id'], username=user['username'], email=user['email'])) - return jsonify({'message': 'Login successful'}), 200 - else: - return jsonify({'message': 'Invalid credentials'}), 401 + if request.method == 'POST': + username = request.form.get('username') + password = request.form.get('password') + + user = storage.authenticate_user(username, password) + if user: + login_user(User(id=user['id'], username=user['username'], email=user['email'])) + return redirect(url_for('dashboard')) + else: + return render_template('login.html', error='Invalid credentials') + return render_template('login.html') + +@app.route('/logout') +@login_required +def logout(): + logout_user() + return redirect(url_for('index')) + +@app.route('/dashboard') +@login_required +def dashboard(): + return render_template('dashboard.html') @app.route('/generate_api_key', methods=['POST']) @login_required diff --git a/crypto/sol/requirements.txt b/crypto/sol/requirements.txt index afc1b11..9a75c66 100644 --- a/crypto/sol/requirements.txt +++ b/crypto/sol/requirements.txt @@ -2,6 +2,7 @@ aiohttp==3.10.9 base58==2.1.1 dexscreener==1.1 Flask==3.0.3 +flask-login jupiter_python_sdk==0.0.2.0 python-dotenv==1.0.1 python-telegram-bot==21.6 diff --git a/crypto/sol/static/css/styles.css b/crypto/sol/static/css/styles.css index e69de29..d2db183 100644 --- a/crypto/sol/static/css/styles.css +++ b/crypto/sol/static/css/styles.css @@ -0,0 +1,46 @@ +/* Add your custom styles here */ +body { + font-family: Arial, sans-serif; + line-height: 1.6; + margin: 0; + padding: 0; +} + +header { + background-color: #4A90E2; + color: white; + padding: 1rem; +} + +nav ul { + list-style-type: none; + padding: 0; +} + +nav ul li { + display: inline; + margin-right: 1rem; +} + +nav ul li a { + color: white; + text-decoration: none; +} + +main { + padding: 2rem; +} + +footer { + background-color: #333; + color: white; + text-align: center; + padding: 1rem; + position: fixed; + bottom: 0; + width: 100%; +} + +@media (max-width: 768px) { + /* Add responsive styles for mobile devices */ +} \ No newline at end of file diff --git a/crypto/sol/static/js/app.js b/crypto/sol/static/js/app.js index 32143e6..4f3195f 100644 --- a/crypto/sol/static/js/app.js +++ b/crypto/sol/static/js/app.js @@ -1,3 +1,4 @@ + document.getElementById('connectWallet').addEventListener('click', async () => { try { const { solana } is window; @@ -26,3 +27,20 @@ document.getElementById('swapToken').addEventListener('click', () => { .then(response => response.json()) .then(data => alert(data.message)); }); + + +// Add your custom JavaScript here +document.addEventListener('DOMContentLoaded', () => { + const generateApiKeyButton = document.getElementById('generate-api-key'); + const apiKeyDisplay = document.getElementById('api-key-display'); + + if (generateApiKeyButton) { + generateApiKeyButton.addEventListener('click', async () => { + const response = await fetch('/generate_api_key', { method: 'POST' }); + const data = await response.json(); + apiKeyDisplay.textContent = `Your API Key: ${data.api_key}`; + }); + } + + // Add more JavaScript for fetching and displaying wallet data, transactions, and holdings +}); \ No newline at end of file diff --git a/crypto/sol/static/manifest.json b/crypto/sol/static/manifest.json index e69de29..4ea8f8c 100644 --- a/crypto/sol/static/manifest.json +++ b/crypto/sol/static/manifest.json @@ -0,0 +1,20 @@ +{ + "name": "Crypto Portfolio Tracker", + "short_name": "CryptoTracker", + "start_url": "/", + "display": "standalone", + "background_color": "#ffffff", + "theme_color": "#4A90E2", + "icons": [ + { + "src": "/static/images/logo-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/static/images/logo-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] + } \ No newline at end of file diff --git a/crypto/sol/static/service-worker.js b/crypto/sol/static/service-worker.js index e69de29..0559efc 100644 --- a/crypto/sol/static/service-worker.js +++ b/crypto/sol/static/service-worker.js @@ -0,0 +1,8 @@ +// Add service worker code for offline functionality and caching +self.addEventListener('install', (event) => { + // Perform install steps + }); + + self.addEventListener('fetch', (event) => { + // Handle fetch events + }); \ No newline at end of file diff --git a/crypto/sol/templates/base.html b/crypto/sol/templates/base.html new file mode 100644 index 0000000..cdd2ba2 --- /dev/null +++ b/crypto/sol/templates/base.html @@ -0,0 +1,36 @@ + + + + + + {% block title %}Crypto Portfolio Tracker{% endblock %} + + + + + +
+ +
+ +
+ {% block content %}{% endblock %} +
+ +
+

© 2023 Crypto Portfolio Tracker

+
+ + + + \ No newline at end of file diff --git a/crypto/sol/templates/dashboard.html b/crypto/sol/templates/dashboard.html new file mode 100644 index 0000000..7733d1f --- /dev/null +++ b/crypto/sol/templates/dashboard.html @@ -0,0 +1,23 @@ +{% extends "base.html" %} + +{% block content %} +

Dashboard

+

Welcome, {{ current_user.username }}!

+ +

Your Wallets

+
+ +

Recent Transactions

+
+ +

Holdings

+
+ + +

+ + +{% endblock %} \ No newline at end of file diff --git a/crypto/sol/templates/index.html b/crypto/sol/templates/index.html index 0de89fe..5ebd64a 100644 --- a/crypto/sol/templates/index.html +++ b/crypto/sol/templates/index.html @@ -1,21 +1,6 @@ - - - - - - Token Swapper - - -

Token Swapper

-
- -
-
- - - -
- - - - +{% extends "base.html" %} + +{% block content %} +

Welcome to Crypto Portfolio Tracker

+

Track your cryptocurrency investments with ease.

+{% endblock %} \ No newline at end of file diff --git a/crypto/sol/templates/login.html b/crypto/sol/templates/login.html new file mode 100644 index 0000000..7bf3068 --- /dev/null +++ b/crypto/sol/templates/login.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block content %} +

Login

+
+ + + + + + + +
+{% if error %} +

{{ error }}

+{% endif %} +{% endblock %} \ No newline at end of file diff --git a/crypto/sol/templates/swap.html b/crypto/sol/templates/swap.html new file mode 100644 index 0000000..0de89fe --- /dev/null +++ b/crypto/sol/templates/swap.html @@ -0,0 +1,21 @@ + + + + + + Token Swapper + + +

Token Swapper

+
+ +
+
+ + + +
+ + + + From a655c5bd88a23923d072b046484e10e5a4cbf161 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 01:37:10 +0300 Subject: [PATCH 07/28] flask webui looking good --- app_data.db | Bin 0 -> 49152 bytes crypto/sol/app.py | 2 + crypto/sol/modules/storage.py | 167 +++++++++++++++++++++----------- crypto/sol/modules/webui.py | 151 ++++++++++++++++++----------- crypto/sol/requirements.in | 12 --- crypto/sol/requirements.txt | 2 + crypto/sol/static/js/app.js | 67 +++++++------ crypto/sol/templates/login.html | 21 ++-- 8 files changed, 257 insertions(+), 165 deletions(-) create mode 100644 app_data.db delete mode 100644 crypto/sol/requirements.in diff --git a/app_data.db b/app_data.db new file mode 100644 index 0000000000000000000000000000000000000000..1d388bb4120fc177e4e9fb87ae8cc67f6472afa7 GIT binary patch literal 49152 zcmeI)zi!(`9KdlhvPJn{RiP+2qye}Xv5+8cnxW`Wpo&WeLKHbsWT0M3oW!$Dg!&Vb zs_UVPV-)Dphv?EbX{SCyA0cZ{6d6jMBuBI&Ic|&$#FrM$f5+q9=YB`(ELcyU)VxSq z`@NteBI};^v8Ld@jRaL@yfz@BVOtg>$6r3?T+)=TJaxkW$_Q~qs`)9 z#ovlYYk#l)xm;fTweZsTJ>JcP00Iag@V^CKe7|Cto16O2&mz(C<$llidq>iBM7!M^ zbfa);$LdzYt~70{S-D@c+AYyRW)!w z@Y>Q5z6_#pa(yM$tdmDRT#L2`K_I*B;~5PSiQqs+jw)N+4wc$8xT=>E9rxd?d{5Lt!aHe z-Q!#t3D2K(7Y=*A=n5zF4!R;51jAlw?bfSLcJ1lB-Y3YuEac6H>$>K3UHN19+>eJQ zju=Eewe3tslXG`+Yw6^ZykTCyuD|$6Mdv7rM++krlcSwi7LJ#C#98&7rd8jqz2&a= zt`D(G-0vPQ=FMBT^gU%V;tb{UL413b=Qi^xqjLv0lCs^7&n%zVx?!58e(I?_)zeD- zx|TX$?YdIoGo4Y~&4KKTFg)r7u5&2DLv;g~lUR1*z#k?W2K1b?qVGA+h>9yTo!_FTMD$7QdJf zKmY**5I_I{1Q0*~0R#|0AaeqXxzdu`V*H=EhNVIXAbp|JiO|YKH&< z2q1s}0tg_000IagfIuR^_@6jH009ILKmY**5I_I{1Q0+V`vQ#rv){(l5CH@bKmY** O5I_I{1Q0*~f&Ty*Fv{lu literal 0 HcmV?d00001 diff --git a/crypto/sol/app.py b/crypto/sol/app.py index d8f4c78..8848e46 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1465,6 +1465,7 @@ async def main(): from modules.webui import init_app +from modules.storage import init_db async def run_flask(): # loop = asyncio.get_running_loop() @@ -1475,6 +1476,7 @@ async def run_flask(): async def run_all(): await asyncio.gather( + init_db(), main(), run_flask() ) diff --git a/crypto/sol/modules/storage.py b/crypto/sol/modules/storage.py index ae4aaaf..26ea7e2 100644 --- a/crypto/sol/modules/storage.py +++ b/crypto/sol/modules/storage.py @@ -1,8 +1,12 @@ +import sys +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + import aiosqlite import json from datetime import datetime -DATABASE_FILE = "app_data.db" +DATABASE_FILE = "./app_data.db" async def init_db(): async with aiosqlite.connect(DATABASE_FILE) as db: @@ -79,60 +83,7 @@ async def store_transaction(wallet_id, transaction_type, sell_currency, sell_amo VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """, (wallet_id, datetime.now().isoformat(), transaction_type, sell_currency, sell_amount, sell_value, buy_currency, buy_amount, buy_value, solana_signature, json.dumps(details or {}))) await db.commit() - -# async def get_new_transactions(wallet_address, rpc_url): -# async with AsyncClient(rpc_url) as client: -# last_tx = await get_last_stored_transaction(wallet_address) -# if last_tx: -# last_signature, last_timestamp = last_tx -# else: -# # If no transactions are stored, we'll fetch all transactions -# last_signature = None -# last_timestamp = None - -# new_transactions = [] - -# # Get the transaction history for the wallet -# tx_history = await client.get_signatures_for_address(wallet_address, before=last_signature) - -# for tx in tx_history.value: -# # Check if the transaction is newer than the last stored one -# if not last_timestamp or tx.block_time > datetime.fromisoformat(last_timestamp).timestamp(): -# # Fetch the full transaction details -# tx_details = await client.get_transaction(tx.signature, commitment=Confirmed) -# new_transactions.append(tx_details) - -# return new_transactions - -# async def process_new_transactions(wallet_id, wallet_address, rpc_url): -# new_transactions = await get_new_transactions(wallet_address, rpc_url) - -# for tx in new_transactions: -# # Process the transaction and extract relevant information -# # This is a placeholder - you'll need to implement the actual logic based on your requirements -# transaction_type = "swap" # Determine the type based on the transaction data -# sell_currency = "SOL" # Extract from transaction data -# sell_amount = 1.0 # Extract from transaction data -# sell_value = 100.0 # Extract from transaction data -# buy_currency = "USDC" # Extract from transaction data -# buy_amount = 100.0 # Extract from transaction data -# buy_value = 100.0 # Extract from transaction data -# solana_signature = tx.transaction.signatures[0] - -# # Store the transaction in the database -# await store_transaction( -# wallet_id, transaction_type, sell_currency, sell_amount, sell_value, -# buy_currency, buy_amount, buy_value, solana_signature -# ) - -# # Update holdings -# await update_holdings(wallet_id, sell_currency, -sell_amount) -# await update_holdings(wallet_id, buy_currency, buy_amount) - -# # After processing all new transactions, close completed transactions -# await close_completed_transactions(wallet_id) - async def update_holdings(wallet_id, currency, amount_change): async with aiosqlite.connect(DATABASE_FILE) as db: @@ -258,6 +209,114 @@ async def get_profit_loss(wallet_id, currency, start_date=None, end_date=None): result = await cursor.fetchone() return result[0] if result else 0 +# # # # # # USERS + +# For this example, we'll use a simple dictionary to store users +users = { + "db": {"id": 1, "username": "db", "email": "user1@example.com", "password": "db"}, + "popov": {"id": 2, "username": "popov", "email": "user2@example.com", "password": "popov"} +} + +def get_or_create_user(email, google_id): + user = next((u for u in users.values() if u['email'] == email), None) + if not user: + user_id = max(u['id'] for u in users.values()) + 1 + username = email.split('@')[0] # Use the part before @ as username + user = { + 'id': user_id, + 'username': username, + 'email': email, + 'google_id': google_id + } + users[username] = user + return user + +def authenticate_user(username, password): + """ + Authenticate a user based on username and password. + Returns user data if authentication is successful, None otherwise. + """ + user = users.get(username) + if user and user['password'] == password: + return {"id": user['id'], "username": user['username'], "email": user['email']} + return None + +def get_user_by_id(user_id): + """ + Retrieve a user by their ID. + """ + for user in users.values(): + if user['id'] == int(user_id): + return {"id": user['id'], "username": user['username'], "email": user['email']} + return None + +def store_api_key(user_id, api_key): + """ + Store the generated API key for a user. + """ + # In a real application, you would store this in a database + # For this example, we'll just print it + print(f"Storing API key {api_key} for user {user_id}") + + + + + +# async def get_new_transactions(wallet_address, rpc_url): +# async with AsyncClient(rpc_url) as client: +# last_tx = await get_last_stored_transaction(wallet_address) + +# if last_tx: +# last_signature, last_timestamp = last_tx +# else: +# # If no transactions are stored, we'll fetch all transactions +# last_signature = None +# last_timestamp = None + +# new_transactions = [] + +# # Get the transaction history for the wallet +# tx_history = await client.get_signatures_for_address(wallet_address, before=last_signature) + +# for tx in tx_history.value: +# # Check if the transaction is newer than the last stored one +# if not last_timestamp or tx.block_time > datetime.fromisoformat(last_timestamp).timestamp(): +# # Fetch the full transaction details +# tx_details = await client.get_transaction(tx.signature, commitment=Confirmed) +# new_transactions.append(tx_details) + +# return new_transactions + +# async def process_new_transactions(wallet_id, wallet_address, rpc_url): +# new_transactions = await get_new_transactions(wallet_address, rpc_url) + +# for tx in new_transactions: +# # Process the transaction and extract relevant information +# # This is a placeholder - you'll need to implement the actual logic based on your requirements +# transaction_type = "swap" # Determine the type based on the transaction data +# sell_currency = "SOL" # Extract from transaction data +# sell_amount = 1.0 # Extract from transaction data +# sell_value = 100.0 # Extract from transaction data +# buy_currency = "USDC" # Extract from transaction data +# buy_amount = 100.0 # Extract from transaction data +# buy_value = 100.0 # Extract from transaction data +# solana_signature = tx.transaction.signatures[0] + +# # Store the transaction in the database +# await store_transaction( +# wallet_id, transaction_type, sell_currency, sell_amount, sell_value, +# buy_currency, buy_amount, buy_value, solana_signature +# ) + +# # Update holdings +# await update_holdings(wallet_id, sell_currency, -sell_amount) +# await update_holdings(wallet_id, buy_currency, buy_amount) + +# # After processing all new transactions, close completed transactions +# await close_completed_transactions(wallet_id) + + + # Example usage if __name__ == "__main__": import asyncio diff --git a/crypto/sol/modules/webui.py b/crypto/sol/modules/webui.py index 4cae030..4dee698 100644 --- a/crypto/sol/modules/webui.py +++ b/crypto/sol/modules/webui.py @@ -1,75 +1,112 @@ from flask import Flask, jsonify, request, render_template, redirect, url_for +# from flask_oauthlib.client import OAuth from flask_login import LoginManager, UserMixin, login_user, login_required, logout_user, current_user import secrets from modules import storage +import os -app = Flask(__name__, template_folder='../templates', static_folder='../static') -app.config['SECRET_KEY'] = 'your-secret-key' -login_manager = LoginManager(app) -login_manager.login_view = 'login' +def init_app(): + app = Flask(__name__, template_folder='../templates', static_folder='../static') + app.config['SECRET_KEY'] = 'your-secret-key' + login_manager = LoginManager(app) + login_manager.login_view = 'login' -class User(UserMixin): - def __init__(self, id, username, email): - self.id = id - self.username = username - self.email = email + # oauth = OAuth(app) + # google = oauth.remote_app( + # 'google', + # consumer_key='YOUR_GOOGLE_CLIENT_ID', + # consumer_secret='YOUR_GOOGLE_CLIENT_SECRET', + # request_token_params={ + # 'scope': 'email' + # }, + # base_url='https://www.googleapis.com/oauth2/v1/', + # request_token_url=None, + # access_token_method='POST', + # access_token_url='https://accounts.google.com/o/oauth2/token', + # authorize_url='https://accounts.google.com/o/oauth2/auth', + # ) -@login_manager.user_loader -def load_user(user_id): - user_data = storage.get_user_by_id(user_id) - if user_data: - return User(id=user_data['id'], username=user_data['username'], email=user_data['email']) - return None -@app.route('/') -def index(): - return render_template('index.html') + login_manager = LoginManager() + login_manager.init_app(app) + + @app.route('/login/google/authorized') + def authorized(): + # resp = google.authorized_response() + # if resp is None or resp.get('access_token') is None: + # return 'Access denied: reason={} error={}'.format( + # request.args['error_reason'], + # request.args['error_description'] + # ) + # session['google_token'] = (resp['access_token'], '') + # user_info = google.get('userinfo') + # user = storage.get_or_create_user(user_info.data['email'], user_info.data['id']) + # login_user(user) + return redirect(url_for('index')) + + + class User(UserMixin): + def __init__(self, id, username, email): + self.id = id + self.username = username + self.email = email -@app.route('/login', methods=['GET', 'POST']) -def login(): - if request.method == 'POST': - username = request.form.get('username') - password = request.form.get('password') - - user = storage.authenticate_user(username, password) - if user: - login_user(User(id=user['id'], username=user['username'], email=user['email'])) - return redirect(url_for('dashboard')) - else: - return render_template('login.html', error='Invalid credentials') - return render_template('login.html') + @login_manager.user_loader + def load_user(user_id): + user_data = storage.get_user_by_id(user_id) + if user_data: + return User(id=user_data['id'], username=user_data['username'], email=user_data['email']) + return None -@app.route('/logout') -@login_required -def logout(): - logout_user() - return redirect(url_for('index')) + @app.route('/') + def index(): + return render_template('index.html') -@app.route('/dashboard') -@login_required -def dashboard(): - return render_template('dashboard.html') + @app.route('/login', methods=['GET', 'POST']) + def login(): + if request.method == 'POST': + username = request.form.get('username') + password = request.form.get('password') + user = storage.authenticate_user(username, password) + if user: + login_user(User(id=user['id'], username=user['username'], email=user['email'])) + return redirect(url_for('dashboard')) + else: + return render_template('login.html', error='Invalid credentials') + elif request.args.get('google'): + return google.authorize(callback=url_for('authorized', _external=True)) + return render_template('login.html') -@app.route('/generate_api_key', methods=['POST']) -@login_required -def generate_api_key(): - api_key = secrets.token_urlsafe(32) - storage.store_api_key(current_user.id, api_key) - return jsonify({'api_key': api_key}) + @app.route('/logout') + @login_required + def logout(): + logout_user() + return redirect(url_for('index')) -@app.route('/wallet//transactions', methods=['GET']) -@login_required -def get_transactions(wallet_id): - transactions = storage.get_transactions(wallet_id) - return jsonify(transactions) + @app.route('/dashboard') + @login_required + def dashboard(): + return render_template('dashboard.html') -@app.route('/wallet//holdings', methods=['GET']) -@login_required -def get_holdings(wallet_id): - holdings = storage.get_holdings(wallet_id) - return jsonify(holdings) + @app.route('/generate_api_key', methods=['POST']) + @login_required + def generate_api_key(): + api_key = secrets.token_urlsafe(32) + storage.store_api_key(current_user.id, api_key) + return jsonify({'api_key': api_key}) + + @app.route('/wallet//transactions', methods=['GET']) + @login_required + def get_transactions(wallet_id): + transactions = storage.get_transactions(wallet_id) + return jsonify(transactions) + + @app.route('/wallet//holdings', methods=['GET']) + @login_required + def get_holdings(wallet_id): + holdings = storage.get_holdings(wallet_id) + return jsonify(holdings) # Implement other routes for reports, price alerts, following accounts, etc. -def init_app(): return app \ No newline at end of file diff --git a/crypto/sol/requirements.in b/crypto/sol/requirements.in deleted file mode 100644 index 284d70d..0000000 --- a/crypto/sol/requirements.in +++ /dev/null @@ -1,12 +0,0 @@ -aiohttp==3.10.9 -aiohttp==3.10.5 -base58==2.1.1 -dexscreener==1.1 -Flask==3.0.3 -jupiter_python_sdk==0.0.2.0 -python-dotenv==1.0.1 -python-telegram-bot==21.6 -Requests==2.32.3 -solana==0.34.3 -solders==0.21.0 -websockets==10.4 diff --git a/crypto/sol/requirements.txt b/crypto/sol/requirements.txt index 9a75c66..7d2e9ed 100644 --- a/crypto/sol/requirements.txt +++ b/crypto/sol/requirements.txt @@ -1,8 +1,10 @@ aiohttp==3.10.9 +aiosqlite base58==2.1.1 dexscreener==1.1 Flask==3.0.3 flask-login +flask-oauthlib jupiter_python_sdk==0.0.2.0 python-dotenv==1.0.1 python-telegram-bot==21.6 diff --git a/crypto/sol/static/js/app.js b/crypto/sol/static/js/app.js index 4f3195f..80885c5 100644 --- a/crypto/sol/static/js/app.js +++ b/crypto/sol/static/js/app.js @@ -1,39 +1,42 @@ - -document.getElementById('connectWallet').addEventListener('click', async () => { - try { - const { solana } is window; - if (solana && solana.isPhantom) { - const response = await solana.connect({ onlyIfTrusted: true }); - console.log('Connected with Public Key:', response.publicKey.toString()); - } else { - alert('Phantom wallet not found. Please install it.'); - } - } catch (error) { - console.error(error); - alert('Connection to Phantom Wallet failed'); - } -}); - -document.getElementById('swapToken').addEventListener('click', () => { - const tokenName = document.getElementById('tokenName').value; - const amount = document.getElementById('amount').value; - fetch('/swap', { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify({token_name: tokenName, amount: amount}) - }) - .then(response => response.json()) - .then(data => alert(data.message)); -}); - - -// Add your custom JavaScript here document.addEventListener('DOMContentLoaded', () => { + const connectWalletButton = document.getElementById('connectWallet'); + const swapTokenButton = document.getElementById('swapToken'); const generateApiKeyButton = document.getElementById('generate-api-key'); const apiKeyDisplay = document.getElementById('api-key-display'); + if (connectWalletButton) { + connectWalletButton.addEventListener('click', async () => { + try { + const { solana } = window; + if (solana && solana.isPhantom) { + const response = await solana.connect({ onlyIfTrusted: true }); + console.log('Connected with Public Key:', response.publicKey.toString()); + } else { + alert('Phantom wallet not found. Please install it.'); + } + } catch (error) { + console.error(error); + alert('Connection to Phantom Wallet failed'); + } + }); + } + + if (swapTokenButton) { + swapTokenButton.addEventListener('click', () => { + const tokenName = document.getElementById('tokenName').value; + const amount = document.getElementById('amount').value; + fetch('/swap', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({token_name: tokenName, amount: amount}) + }) + .then(response => response.json()) + .then(data => alert(data.message)); + }); + } + if (generateApiKeyButton) { generateApiKeyButton.addEventListener('click', async () => { const response = await fetch('/generate_api_key', { method: 'POST' }); diff --git a/crypto/sol/templates/login.html b/crypto/sol/templates/login.html index 7bf3068..49d940c 100644 --- a/crypto/sol/templates/login.html +++ b/crypto/sol/templates/login.html @@ -2,16 +2,17 @@ {% block content %}

Login

-
- - - - - - - -
{% if error %} -

{{ error }}

+

{{ error }}

{% endif %} +
+ +

+ +

+ +
+
+Login with Google + {% endblock %} \ No newline at end of file From 2c2c4ee4df123599b17282243a51c759b7110015 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 23:23:33 +0300 Subject: [PATCH 08/28] starting to add moduls, solana rpc module --- crypto/sol/app.py | 142 +++++++------------ crypto/sol/config.py | 59 ++++++++ crypto/sol/modules/SolanaAPI.py | 239 ++++++++++++++++++++++++++++++++ crypto/sol/modules/utils.py | 27 ++++ 4 files changed, 377 insertions(+), 90 deletions(-) create mode 100644 crypto/sol/config.py create mode 100644 crypto/sol/modules/SolanaAPI.py create mode 100644 crypto/sol/modules/utils.py diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 8848e46..737bc4b 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -24,8 +24,7 @@ from solders.instruction import CompiledInstruction from solders import message from jupiter_python_sdk.jupiter import Jupiter, Jupiter_DCA from dexscreener import DexscreenerClient -from telegram import Bot -from telegram.constants import ParseMode + import datetime import logging from logging.handlers import RotatingFileHandler @@ -41,35 +40,52 @@ from typing import List, Dict, Any, Tuple import random +from modules.webui import init_app +from modules.storage import init_db, store_transaction + app = Flask(__name__) -# config = load_config() -load_dotenv() -load_dotenv('.env.secret') -# Configuration -DEVELOPER_CHAT_ID = os.getenv("DEVELOPER_CHAT_ID") -FOLLOWED_WALLET = os.getenv("FOLLOWED_WALLET") -YOUR_WALLET = os.getenv("YOUR_WALLET") -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') -BOT_NAME = os.getenv("BOT_NAME") +from config import ( + FOLLOWED_WALLET, + YOUR_WALLET, + SOLANA_WS_URL, + SOLANA_HTTP_URL, + DISPLAY_CURRENCY, + logger, + error_logger +) -logger = logging.getLogger(__name__) -logging.basicConfig(level=logging.DEBUG) -#logging.basicConfig(level=logging.INFO) +from modules.utils import (send_telegram_message, get_token_prices, get_sol_price, get_wallet_balances, convert_balances_to_currency, get_swap_transaction_details) -# Set up error logger -log_dir = './logs' -log_file = os.path.join(log_dir, 'error.log') -os.makedirs(log_dir, exist_ok=True) -error_file_handler = RotatingFileHandler( log_file, maxBytes=10*1024*1024, backupCount=5) -error_file_handler.setLevel(logging.ERROR) -error_file_handler.setFormatter(logging.Formatter('%(asctime)s [%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') ) -error_logger = logging.getLogger('error_logger') -error_logger.setLevel(logging.ERROR) -error_logger.addHandler(error_file_handler) +from modules.SolanaAPI import SolanaAPI, solana_jsonrpc + +# # config = load_config() +# load_dotenv() +# load_dotenv('.env.secret') +# # Configuration +# DEVELOPER_CHAT_ID = os.getenv("DEVELOPER_CHAT_ID") +# FOLLOWED_WALLET = os.getenv("FOLLOWED_WALLET") +# YOUR_WALLET = os.getenv("YOUR_WALLET") +# 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') +# BOT_NAME = os.getenv("BOT_NAME") + +# logger = logging.getLogger(__name__) +# logging.basicConfig(level=logging.DEBUG) +# #logging.basicConfig(level=logging.INFO) + +# # Set up error logger +# log_dir = './logs' +# log_file = os.path.join(log_dir, 'error.log') +# os.makedirs(log_dir, exist_ok=True) +# error_file_handler = RotatingFileHandler( log_file, maxBytes=10*1024*1024, backupCount=5) +# error_file_handler.setLevel(logging.ERROR) +# error_file_handler.setFormatter(logging.Formatter('%(asctime)s [%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') ) +# error_logger = logging.getLogger('error_logger') +# error_logger.setLevel(logging.ERROR) +# error_logger.addHandler(error_file_handler) # Function to find the latest log file @@ -114,12 +130,6 @@ async def retry_last_log(): # Create the bot with the custom connection pool bot = None -# Token addresses (initialize with some known tokens) -TOKEN_ADDRESSES = { - "SOL": "So11111111111111111111111111111111111111112", - "USDC": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "TARD": "4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og", -} TOKENS_INFO = {} try: @@ -129,13 +139,13 @@ except Exception as e: logging.error(f"Error loading token info: {str(e)}") # # # # # # # # # # TELEGRAM # # # # # # # # # # -async def send_telegram_message(message): - try: - await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) - logging.info(f"Telegram message sent: {message}") - # logging.info(f"Telegram message dummy sent: {message}") - except Exception as e: - logging.error(f"Error sending Telegram message: {str(e)}") +# async def send_telegram_message(message): +# try: +# await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) +# logging.info(f"Telegram message sent: {message}") +# # logging.info(f"Telegram message dummy sent: {message}") +# except Exception as e: +# logging.error(f"Error sending Telegram message: {str(e)}") @@ -437,6 +447,8 @@ async def get_token_metadata_symbol(mint_address): return None + + METADATA_STRUCT = CStruct( "update_authority" / String, "mint" / String, @@ -793,49 +805,6 @@ async def get_transaction_details_rpc(tx_signature, readfromDump=False): print("Error fetching transaction details:", e) -async def solana_jsonrpc(method, params = None, jsonParsed = True): - # target json example: - # data = { - # "jsonrpc": "2.0", - # "id": 1, - # "method": "getTransaction", - # "params": [ - # tx_signature, - # { - # "encoding": "jsonParsed", - # "maxSupportedTransactionVersion": 0 - # } - # ] - # } - # if param is not array, make it array - if not isinstance(params, list): - params = [params] - - data = { - "jsonrpc": "2.0", - "id": 1, - "method": method, - "params": params or [] - } - data["params"].append({"maxSupportedTransactionVersion": 0}) - if jsonParsed: - data["params"][1]["encoding"] = "jsonParsed" - - - try: - # url = 'https://solana.drpc.org' - response = requests.post(SOLANA_HTTP_URL, headers={"Content-Type": "application/json"}, data=json.dumps(data)) - response.raise_for_status() # Raises an error for bad responses - result = response.json() - if not 'result' in result or 'error' in result: - print("Error fetching data from Solana RPC:", result) - return None - return result['result'] - except Exception as e: - logging.error(f"Error fetching data from Solana RPC: {e}") - return None - - # # # # # # # # # # Functionality # # # # # # # # # # @@ -1429,12 +1398,7 @@ async def check_PK(): async def main(): global bot, PROCESSING_LOG - # Initialize Telegram Bot - # Create a custom connection pool - conn_pool = aiohttp.TCPConnector(limit=100) # Increase the connection limit - timeout = aiohttp.ClientTimeout(total=30) # Set a longer timeout - bot = Bot(TELEGRAM_BOT_TOKEN) # , request=aiohttp.ClientSession(connector=conn_pool, timeout=timeout).request) await send_telegram_message("Solana Agent Started. Connecting to mainnet...") await check_PK() @@ -1464,8 +1428,6 @@ async def main(): await send_telegram_message("Restarting wallet_watch_loop") -from modules.webui import init_app -from modules.storage import init_db async def run_flask(): # loop = asyncio.get_running_loop() diff --git a/crypto/sol/config.py b/crypto/sol/config.py new file mode 100644 index 0000000..e708df8 --- /dev/null +++ b/crypto/sol/config.py @@ -0,0 +1,59 @@ +# config.py + +import os +import logging +from dotenv import load_dotenv +from logging.handlers import RotatingFileHandler + +# Load environment variables +load_dotenv() +load_dotenv('.env.secret') + +# Configuration +DEVELOPER_CHAT_ID = os.getenv("DEVELOPER_CHAT_ID") +FOLLOWED_WALLET = os.getenv("FOLLOWED_WALLET") +YOUR_WALLET = os.getenv("YOUR_WALLET") +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') +BOT_NAME = os.getenv("BOT_NAME") + +# Token addresses (initialize with some known tokens) +TOKEN_ADDRESSES = { + "SOL": "So11111111111111111111111111111111111111112", + "USDC": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "TARD": "4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og", +} + +# Logging configuration +logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) + +# Set up error logger +log_dir = './logs' +log_file = os.path.join(log_dir, 'error.log') +os.makedirs(log_dir, exist_ok=True) +error_file_handler = RotatingFileHandler( + log_file, + maxBytes=10*1024*1024, + backupCount=5 +) +error_file_handler.setLevel(logging.ERROR) +error_file_handler.setFormatter(logging.Formatter('%(asctime)s [%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S')) +error_logger = logging.getLogger('error_logger') +error_logger.setLevel(logging.ERROR) +error_logger.addHandler(error_file_handler) + +# Function to get all configuration +def get_config(): + return { + "DEVELOPER_CHAT_ID": DEVELOPER_CHAT_ID, + "FOLLOWED_WALLET": FOLLOWED_WALLET, + "YOUR_WALLET": YOUR_WALLET, + "TELEGRAM_BOT_TOKEN": TELEGRAM_BOT_TOKEN, + "SOLANA_WS_URL": SOLANA_WS_URL, + "SOLANA_HTTP_URL": SOLANA_HTTP_URL, + "DISPLAY_CURRENCY": DISPLAY_CURRENCY, + "BOT_NAME": BOT_NAME, + } \ No newline at end of file diff --git a/crypto/sol/modules/SolanaAPI.py b/crypto/sol/modules/SolanaAPI.py new file mode 100644 index 0000000..ee4793b --- /dev/null +++ b/crypto/sol/modules/SolanaAPI.py @@ -0,0 +1,239 @@ +import sys +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import asyncio +import json +import logging +import random +import websockets +from typing import Optional +import requests +import datetime + +logger = logging.getLogger(__name__) + +SOLANA_ENDPOINTS = ["your_endpoint_1", "your_endpoint_2"] # Add your endpoints here +SUBSCRIBE_INTERVAL = 300 # 5 minutes in seconds + +from config import ( +FOLLOWED_WALLET, SOLANA_HTTP_URL +) + + +class SolanaAPI: + def __init__(self): + self.websocket: Optional[websockets.WebSocketClientProtocol] = None + self.subscription_id: Optional[int] = None + self.message_queue: asyncio.Queue = asyncio.Queue() + + async def connect(self): + while True: + try: + current_url = random.choice(SOLANA_ENDPOINTS) + self.websocket = await websockets.connect(current_url, ping_interval=30, ping_timeout=20) + logger.info(f"Connected to Solana websocket: {current_url}") + return + except Exception as e: + logger.error(f"Failed to connect to {current_url}: {e}") + await asyncio.sleep(5) + + async def subscribe(self): + request = { + "jsonrpc": "2.0", + "id": 1, + "method": "logsSubscribe", + "params": [ + {"mentions": [FOLLOWED_WALLET]}, + {"commitment": "confirmed"} + ] + } + await self.websocket.send(json.dumps(request)) + response = await self.websocket.recv() + response_data = json.loads(response) + + if 'result' in response_data: + self.subscription_id = response_data['result'] + logger.info(f"Subscription successful. Subscription id: {self.subscription_id}") + else: + logger.warning(f"Unexpected response: {response_data}") + + async def unsubscribe(self): + if self.subscription_id: + request = { + "jsonrpc": "2.0", + "id": 1, + "method": "logsUnsubscribe", + "params": [self.subscription_id] + } + await self.websocket.send(json.dumps(request)) + logger.info(f"Unsubscribed from subscription id: {self.subscription_id}") + self.subscription_id = None + + async def receive_messages(self): + while True: + try: + message = await self.websocket.recv() + await self.message_queue.put(message) + except websockets.exceptions.ConnectionClosedError: + logger.error("WebSocket connection closed") + break + except Exception as e: + logger.error(f"Error receiving message: {e}") + break + + async def process_messages(self): + while True: + message = await self.message_queue.get() + try: + response_data = json.loads(message) + if 'params' in response_data: + log = response_data['params']['result'] + await process_log(log) + else: + logger.warning(f"Unexpected response: {response_data}") + except json.JSONDecodeError as e: + logger.error(f"Failed to decode JSON: {e}") + except Exception as e: + logger.error(f"An unexpected error occurred while processing message: {e}") + finally: + self.message_queue.task_done() + + +async def solana_jsonrpc(method, params = None, jsonParsed = True): + # target json example: + # data = { + # "jsonrpc": "2.0", + # "id": 1, + # "method": "getTransaction", + # "params": [ + # tx_signature, + # { + # "encoding": "jsonParsed", + # "maxSupportedTransactionVersion": 0 + # } + # ] + # } + # if param is not array, make it array + if not isinstance(params, list): + params = [params] + + data = { + "jsonrpc": "2.0", + "id": 1, + "method": method, + "params": params or [] + } + data["params"].append({"maxSupportedTransactionVersion": 0}) + if jsonParsed: + data["params"][1]["encoding"] = "jsonParsed" + + + try: + # url = 'https://solana.drpc.org' + response = requests.post(SOLANA_HTTP_URL, headers={"Content-Type": "application/json"}, data=json.dumps(data)) + response.raise_for_status() # Raises an error for bad responses + result = response.json() + if not 'result' in result or 'error' in result: + print("Error fetching data from Solana RPC:", result) + return None + return result['result'] + except Exception as e: + logging.error(f"Error fetching data from Solana RPC: {e}") + return None + + +async def process_log(log): + # Implement your log processing logic here + pass + +async def send_telegram_message(message): + # Implement your Telegram message sending logic here + pass + +async def list_initial_wallet_states(): + # Implement your initial wallet state listing logic here + pass + +async def wallet_watch_loop(): + solana_ws = SolanaAPI() + first_subscription = True + + while True: + try: + await solana_ws.connect() + await solana_ws.subscribe() + + if first_subscription: + asyncio.create_task(list_initial_wallet_states()) + first_subscription = False + + await send_telegram_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: + pass + finally: + receive_task.cancel() + process_task.cancel() + + except Exception as e: + logger.error(f"An unexpected error occurred: {e}") + finally: + await solana_ws.unsubscribe() + if solana_ws.websocket: + await solana_ws.websocket.close() + await send_telegram_message("Reconnecting...") + await asyncio.sleep(5) + +# Example usage +# async def main(): +# account_address = "Vote111111111111111111111111111111111111111" + +async def get_last_transactions(account_address, check_interval=300, limit=1000): + last_check_time = None + last_signature = None + + while True: + current_time = datetime.now() + + if last_check_time is None or (current_time - last_check_time).total_seconds() >= check_interval: + params = [ + account_address, + { + "limit": limit + } + ] + + if last_signature: + params[1]["before"] = last_signature + + result = await solana_jsonrpc("getSignaturesForAddress", params) + + if result: + for signature in result: + if last_signature and signature['signature'] == last_signature: + break + + # Process the transaction + await process_transaction(signature) + + if result: + last_signature = result[0]['signature'] + + last_check_time = current_time + + await asyncio.sleep(1) # Sleep for 1 second before checking again + +async def process_transaction(signature): + # Implement your logic to process each transaction + print(f"Processing transaction: {signature['signature']}") + # You can add more processing logic here, such as storing in a database, + # triggering notifications, etc. + +if __name__ == "__main__": + asyncio.run(wallet_watch_loop()) \ No newline at end of file diff --git a/crypto/sol/modules/utils.py b/crypto/sol/modules/utils.py new file mode 100644 index 0000000..684e99d --- /dev/null +++ b/crypto/sol/modules/utils.py @@ -0,0 +1,27 @@ +# telegram_utils.py +import sys +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import aiohttp +import logging +from telegram import Bot +from telegram.constants import ParseMode +from config import TELEGRAM_BOT_TOKEN, DEVELOPER_CHAT_ID, BOT_NAME + +# Initialize Telegram Bot +# Create a custom connection pool +conn_pool = aiohttp.TCPConnector(limit=100) # Increase the connection limit +timeout = aiohttp.ClientTimeout(total=30) # Set a longer timeout + + # bot = Bot(TELEGRAM_BOT_TOKEN) # , request=aiohttp.ClientSession(connector=conn_pool, timeout=timeout).request) +bot = Bot(token=TELEGRAM_BOT_TOKEN) + +async def send_telegram_message(message): + try: + await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) + logging.info(f"Telegram message sent: {message}") + except Exception as e: + logging.error(f"Error sending Telegram message: {str(e)}") + +# You can add more Telegram-related functions here if needed \ No newline at end of file From 921386e7fb0d11074464dbba7b0eee6b8717d70b Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 13 Oct 2024 23:42:40 +0300 Subject: [PATCH 09/28] compiling after refactoring --- crypto/sol/app.py | 171 ++------------------------------ crypto/sol/modules/SolanaAPI.py | 75 +++++++++----- crypto/sol/modules/utils.py | 42 +++++--- 3 files changed, 89 insertions(+), 199 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 737bc4b..6c68b93 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -55,9 +55,10 @@ from config import ( error_logger ) -from modules.utils import (send_telegram_message, get_token_prices, get_sol_price, get_wallet_balances, convert_balances_to_currency, get_swap_transaction_details) +from modules.utils import (get_token_prices, get_sol_price, get_wallet_balances, convert_balances_to_currency, get_swap_transaction_details) -from modules.SolanaAPI import SolanaAPI, solana_jsonrpc +from modules.SolanaAPI import SolanaAPI, solana_jsonrpc, wallet_watch_loop +from modules.utils import telegram_utils, send_telegram_message # # config = load_config() # load_dotenv() @@ -139,6 +140,11 @@ except Exception as e: logging.error(f"Error loading token info: {str(e)}") # # # # # # # # # # TELEGRAM # # # # # # # # # # +if not telegram_utils.bot: + try: + asyncio.run(telegram_utils.initialize()) + except Exception as e: + logging.error(f"Error initializing Telegram bot: {str(e)}") # async def send_telegram_message(message): # try: # await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) @@ -1210,167 +1216,6 @@ async def follow_move(move): # Helper functions -SOLANA_ENDPOINTS = [ - "wss://api.mainnet-beta.solana.com", - # "wss://solana-api.projectserum.com", - # "wss://rpc.ankr.com/solana", - # "wss://mainnet.rpcpool.com", -] -PING_INTERVAL = 30 -SUBSCRIBE_INTERVAL = 1*60 # Resubscribe every 10 minutes - - -# async def heartbeat(websocket): -# while True: -# try: -# await websocket.ping() -# await asyncio.sleep(PING_INTERVAL) -# except websockets.exceptions.ConnectionClosed: -# break - -_first_subscription = True -_process_task = None -async def wallet_watch_loop(): - global _first_subscription, _process_task - reconnect_delay = 5 - max_reconnect_delay = 60 - - while True: - try: - try: - subscription_id = None - current_url = random.choice(SOLANA_ENDPOINTS) - async with websockets.connect(current_url, ping_interval=30, ping_timeout=20) as websocket: - logger.info(f"Connected to Solana websocket: {current_url}") - # heartbeat_task = asyncio.create_task(heartbeat(websocket)) - - while True: - if websocket.closed: - break - - subscription_id = await subscribe(websocket) - if subscription_id is not None: - await send_telegram_message(f"Solana mainnet connected ({subscription_id})...") - if _first_subscription: - asyncio.create_task( list_initial_wallet_states()) - _first_subscription = False - _process_task = asyncio.create_task(process_messages(websocket, subscription_id)) - while True: - try:# drop subscription now - await process_messages(websocket, subscription_id) - # await asyncio.run(_process_task) - # await asyncio.wait_for(_process_task, timeout=SUBSCRIBE_INTERVAL) - except asyncio.TimeoutError: - # Timeout occurred, time to resubscribe - if not PROCESSING_LOG: - _process_task.cancel() - try: - await _process_task - except asyncio.CancelledError: - pass - await unsubscribe(websocket, subscription_id) - new_sub_id = await subscribe(websocket) - if new_sub_id is None: break - if new_sub_id > 1: # we sometimes get True instead of integer, so we cje - subscription_id = new_sub_id - logger.info(f"New subscription created with ID: {subscription_id}") - elif new_sub_id is True: - # Already subscribed - logger.info("Already subscribed, continuing with existing subscription") - if subscription_id: - process_task = asyncio.create_task(process_messages(websocket, subscription_id)) - - else: - # process_messages completed (shouldn't happen unless there's an error) - break - else: - send_telegram_message("Failed to connect. Retrying...") - - # heartbeat_task.cancel() - - except websockets.exceptions.WebSocketException as e: - logger.error(f"WebSocket error: {e}") - except Exception as e: - logger.error(f"An unexpected error occurred: {e}") - - await unsubscribe(websocket, subscription_id) - await send_telegram_message("reconnecting...") - logger.info(f"Attempting to reconnect in {reconnect_delay} seconds...") - websocket.close() - except Exception as e: - logger.error(f"An unexpected error occurred - breaking watch loop: {e}") - - await asyncio.sleep(reconnect_delay) - reconnect_delay = min(reconnect_delay * 1.2, max_reconnect_delay) - -async def subscribe(websocket): - request = { - "jsonrpc": "2.0", - "id": 1, - "method": "logsSubscribe", - "params": [ - {"mentions": [FOLLOWED_WALLET]}, - {"commitment": "confirmed"} - ] - } - try: - await websocket.send(json.dumps(request)) - logger.info("Subscription request sent") - - response = await websocket.recv() - response_data = json.loads(response) - - if 'result' in response_data: - subscription_id = response_data['result'] - logger.info(f"Subscription successful. Subscription id: {subscription_id}") - return subscription_id - else: - logger.warning(f"Unexpected response: {response_data}") - 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 websocket.close() - return None - except Exception as e: - logger.error(f"An unexpected error occurred: {e}") - return None - -async def unsubscribe(websocket, subscription_id): - if subscription_id: - request = { - "jsonrpc": "2.0", - "id": 1, - "method": "logsUnsubscribe", - "params": [subscription_id] - } - await websocket.send(json.dumps(request)) - logger.info(f"Unsubscribed from subscription id: {subscription_id}") - subscription_id = None - -async def process_messages(websocket, subscription_id): - try: - while True: - response = await websocket.recv() - response_data = json.loads(response) - logger.debug(f"Received response: {response_data}") - - if 'params' in response_data: - log = response_data['params']['result'] - logger.debug(f"Received transaction log: {log}") - asyncio.create_task(process_log(log)) - else: - logger.warning(f"Unexpected response: {response_data}") - - 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...") - pass - except json.JSONDecodeError as e: - logger.error(f"Failed to decode JSON: {e}") - except Exception as e: - logger.error(f"An unexpected error occurred: {e}") - pk = os.getenv("PK") async def check_PK(): diff --git a/crypto/sol/modules/SolanaAPI.py b/crypto/sol/modules/SolanaAPI.py index ee4793b..661a86e 100644 --- a/crypto/sol/modules/SolanaAPI.py +++ b/crypto/sol/modules/SolanaAPI.py @@ -13,8 +13,14 @@ import datetime logger = logging.getLogger(__name__) -SOLANA_ENDPOINTS = ["your_endpoint_1", "your_endpoint_2"] # Add your endpoints here -SUBSCRIBE_INTERVAL = 300 # 5 minutes in seconds +SOLANA_ENDPOINTS = [ + "wss://api.mainnet-beta.solana.com", + # "wss://solana-api.projectserum.com", + # "wss://rpc.ankr.com/solana", + # "wss://mainnet.rpcpool.com", +] +PING_INTERVAL = 30 +SUBSCRIBE_INTERVAL = 1*60 # Resubscribe every 10 minutes from config import ( FOLLOWED_WALLET, SOLANA_HTTP_URL @@ -23,9 +29,9 @@ FOLLOWED_WALLET, SOLANA_HTTP_URL class SolanaAPI: def __init__(self): - self.websocket: Optional[websockets.WebSocketClientProtocol] = None - self.subscription_id: Optional[int] = None - self.message_queue: asyncio.Queue = asyncio.Queue() + self.websocket = None + self.subscription_id = None + self.message_queue = asyncio.Queue() async def connect(self): while True: @@ -38,37 +44,50 @@ class SolanaAPI: logger.error(f"Failed to connect to {current_url}: {e}") await asyncio.sleep(5) - async def subscribe(self): + async def ws_jsonrpc(self, method, params=None): + if not isinstance(params, list): + params = [params] if params is not None else [] + request = { "jsonrpc": "2.0", "id": 1, - "method": "logsSubscribe", - "params": [ - {"mentions": [FOLLOWED_WALLET]}, - {"commitment": "confirmed"} - ] + "method": method, + "params": params } + await self.websocket.send(json.dumps(request)) response = await self.websocket.recv() response_data = json.loads(response) - + if 'result' in response_data: - self.subscription_id = response_data['result'] - logger.info(f"Subscription successful. Subscription id: {self.subscription_id}") + return response_data['result'] + elif 'error' in response_data: + logger.error(f"Error in WebSocket RPC call: {response_data['error']}") + return None else: logger.warning(f"Unexpected response: {response_data}") + return None + + async def subscribe(self): + params = [ + {"mentions": [FOLLOWED_WALLET]}, + {"commitment": "confirmed"} + ] + result = await self.ws_jsonrpc("logsSubscribe", params) + if result is not None: + self.subscription_id = result + logger.info(f"Subscription successful. Subscription id: {self.subscription_id}") + else: + logger.error("Failed to subscribe") async def unsubscribe(self): if self.subscription_id: - request = { - "jsonrpc": "2.0", - "id": 1, - "method": "logsUnsubscribe", - "params": [self.subscription_id] - } - await self.websocket.send(json.dumps(request)) - logger.info(f"Unsubscribed from subscription id: {self.subscription_id}") - self.subscription_id = None + result = await self.ws_jsonrpc("logsUnsubscribe", [self.subscription_id]) + if result: + logger.info(f"Unsubscribed from subscription id: {self.subscription_id}") + self.subscription_id = None + else: + logger.error(f"Failed to unsubscribe from subscription id: {self.subscription_id}") async def receive_messages(self): while True: @@ -83,6 +102,16 @@ class SolanaAPI: break async def process_messages(self): + while True: + message = await self.message_queue.get() + # Process the message here + # You can add your message processing logic + logger.info(f"Received message: {message}") + + async def close(self): + if self.websocket: + await self.websocket.close() + logger.info("WebSocket connection closed") while True: message = await self.message_queue.get() try: diff --git a/crypto/sol/modules/utils.py b/crypto/sol/modules/utils.py index 684e99d..b70b567 100644 --- a/crypto/sol/modules/utils.py +++ b/crypto/sol/modules/utils.py @@ -9,19 +9,35 @@ from telegram import Bot from telegram.constants import ParseMode from config import TELEGRAM_BOT_TOKEN, DEVELOPER_CHAT_ID, BOT_NAME -# Initialize Telegram Bot -# Create a custom connection pool -conn_pool = aiohttp.TCPConnector(limit=100) # Increase the connection limit -timeout = aiohttp.ClientTimeout(total=30) # Set a longer timeout +class TelegramUtils: + def __init__(self): + self.bot = None + self.conn_pool = None + self.timeout = None - # bot = Bot(TELEGRAM_BOT_TOKEN) # , request=aiohttp.ClientSession(connector=conn_pool, timeout=timeout).request) -bot = Bot(token=TELEGRAM_BOT_TOKEN) + async def initialize(self): + # Create a custom connection pool + self.conn_pool = aiohttp.TCPConnector(limit=100) # Increase the connection limit + self.timeout = aiohttp.ClientTimeout(total=30) # Set a longer timeout -async def send_telegram_message(message): - try: - await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) - logging.info(f"Telegram message sent: {message}") - except Exception as e: - logging.error(f"Error sending Telegram message: {str(e)}") + # Initialize Telegram Bot + self.bot = Bot(token=TELEGRAM_BOT_TOKEN) -# You can add more Telegram-related functions here if needed \ No newline at end of file + async def send_telegram_message(self, message): + if not self.bot: + await self.initialize() + + try: + await self.bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) + logging.info(f"Telegram message sent: {message}") + except Exception as e: + logging.error(f"Error sending Telegram message: {str(e)}") + + async def close(self): + if self.conn_pool: + await self.conn_pool.close() + +# Create a global instance of TelegramUtils +telegram_utils = TelegramUtils() + +# You can add more Telegram-related methods to the TelegramUtils class if needed \ No newline at end of file From 6b6018cd85ddb80b2dc805906ace83845d276e21 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 14 Oct 2024 11:58:10 +0300 Subject: [PATCH 10/28] launch --- .vscode/launch.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8906574..b7e847f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -39,8 +39,8 @@ "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "env": { - "NODE_ENV": "demo" - "OPENAI_API_KEY": + "NODE_ENV": "demo", + "OPENAI_API_KEY":"" }, "skipFiles": [ "/**" @@ -69,7 +69,13 @@ "program": "${file}" }, { - "name": "Python Debugger: Python File with Conda", + "name": "py: Sol app.py", + "type": "debugpy", + "request": "launch", + "program": "${workspaceFolder}/crypto/sol/app.py", + }, + { + "name": "Python Debugger: Python File with Conda (py)", "type": "debugpy", "request": "launch", "program": "${file}", From 8d714a98013e72d96e89ea51659805206fd2f889 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 14 Oct 2024 17:34:18 +0300 Subject: [PATCH 11/28] solana API in module --- crypto/sol/modules/SolanaAPI.py | 168 ++++++++++++++++---------------- 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/crypto/sol/modules/SolanaAPI.py b/crypto/sol/modules/SolanaAPI.py index 661a86e..bc19389 100644 --- a/crypto/sol/modules/SolanaAPI.py +++ b/crypto/sol/modules/SolanaAPI.py @@ -26,12 +26,14 @@ from config import ( FOLLOWED_WALLET, SOLANA_HTTP_URL ) +from modules.utils import telegram_utils -class SolanaAPI: - def __init__(self): +class SolanaWS: + def __init__(self, on_message: Optional[callable] = None): self.websocket = None self.subscription_id = None self.message_queue = asyncio.Queue() + self.on_message = on_message async def connect(self): while True: @@ -104,8 +106,7 @@ class SolanaAPI: async def process_messages(self): while True: message = await self.message_queue.get() - # Process the message here - # You can add your message processing logic + await self.on_message(message) logger.info(f"Received message: {message}") async def close(self): @@ -171,98 +172,97 @@ async def solana_jsonrpc(method, params = None, jsonParsed = True): logging.error(f"Error fetching data from Solana RPC: {e}") return None - -async def process_log(log): - # Implement your log processing logic here - pass - -async def send_telegram_message(message): - # Implement your Telegram message sending logic here - pass - -async def list_initial_wallet_states(): - # Implement your initial wallet state listing logic here - pass - -async def wallet_watch_loop(): - solana_ws = SolanaAPI() - first_subscription = True - - while True: - try: - await solana_ws.connect() - await solana_ws.subscribe() - - if first_subscription: - asyncio.create_task(list_initial_wallet_states()) - first_subscription = False - - await send_telegram_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: - pass - finally: - receive_task.cancel() - process_task.cancel() - - except Exception as e: - logger.error(f"An unexpected error occurred: {e}") - finally: - await solana_ws.unsubscribe() - if solana_ws.websocket: - await solana_ws.websocket.close() - await send_telegram_message("Reconnecting...") - await asyncio.sleep(5) - -# Example usage -# async def main(): -# account_address = "Vote111111111111111111111111111111111111111" +class SolanaAPI: -async def get_last_transactions(account_address, check_interval=300, limit=1000): - last_check_time = None - last_signature = None + def __init__(self, process_log_callback, send_telegram_message_callback, list_initial_wallet_states_callback): + self.process_log = process_log_callback + self.list_initial_wallet_states = list_initial_wallet_states_callback - while True: - current_time = datetime.now() + async def process_messages(self, solana_ws): + while True: + message = await solana_ws.message_queue.get() + await self.process_log(message) + + async def wallet_watch_loop(): + solana_ws = SolanaWS(on_message=process_log) + first_subscription = True - if last_check_time is None or (current_time - last_check_time).total_seconds() >= check_interval: - params = [ - account_address, - { - "limit": limit - } - ] + while True: + try: + await solana_ws.connect() + await solana_ws.subscribe() - if last_signature: - params[1]["before"] = last_signature + if first_subscription: + asyncio.create_task(self.list_initial_wallet_states()) + first_subscription = False - result = await solana_jsonrpc("getSignaturesForAddress", params) + await telegram_utils.send_telegram_message(f"Solana mainnet connected ({solana_ws.subscription_id})...") - if result: - for signature in result: - if last_signature and signature['signature'] == last_signature: - break + receive_task = asyncio.create_task(solana_ws.receive_messages()) + process_task = asyncio.create_task(solana_ws.process_messages()) - # Process the transaction - await process_transaction(signature) + try: + await asyncio.gather(receive_task, process_task) + except asyncio.CancelledError: + pass + finally: + receive_task.cancel() + process_task.cancel() + + except Exception as e: + logger.error(f"An unexpected error occurred: {e}") + finally: + await solana_ws.unsubscribe() + if solana_ws.websocket: + await solana_ws.websocket.close() + await telegram_utils.send_telegram_message("Reconnecting...") + await asyncio.sleep(5) + + async def process_transaction(signature): + # Implement your logic to process each transaction + print(f"Processing transaction: {signature['signature']}") + # You can add more processing logic here, such as storing in a database, + # triggering notifications, etc. + # Example usage + # async def main(): + # account_address = "Vote111111111111111111111111111111111111111" + + async def get_last_transactions(account_address, check_interval=300, limit=1000): + last_check_time = None + last_signature = None + + while True: + current_time = datetime.now() + + if last_check_time is None or (current_time - last_check_time).total_seconds() >= check_interval: + params = [ + account_address, + { + "limit": limit + } + ] + + if last_signature: + params[1]["before"] = last_signature + + result = await solana_jsonrpc("getSignaturesForAddress", params) if result: - last_signature = result[0]['signature'] + for signature in result: + if last_signature and signature['signature'] == last_signature: + break - last_check_time = current_time + # Process the transaction + await process_transaction(signature) + + if result: + last_signature = result[0]['signature'] + + last_check_time = current_time + + await asyncio.sleep(1) # Sleep for 1 second before checking again - await asyncio.sleep(1) # Sleep for 1 second before checking again -async def process_transaction(signature): - # Implement your logic to process each transaction - print(f"Processing transaction: {signature['signature']}") - # You can add more processing logic here, such as storing in a database, - # triggering notifications, etc. if __name__ == "__main__": asyncio.run(wallet_watch_loop()) \ No newline at end of file From 22d2fcbbd8263ca053c017cbded0f01a4a0480e8 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 14 Oct 2024 22:40:53 +0300 Subject: [PATCH 12/28] env --- crypto/sol/.env | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/sol/.env b/crypto/sol/.env index ab435f5..120b3de 100644 --- a/crypto/sol/.env +++ b/crypto/sol/.env @@ -9,7 +9,8 @@ TELEGRAM_BOT_TOKEN="6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw" DISPLAY_CURRENCY=USD # Niki's to Sync: [PROD] - FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" +FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" +YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" # Sync to main [DEV] # FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" From b779f9145f18790909a00ea8dcfca6b5664daa89 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 15 Oct 2024 08:50:36 +0300 Subject: [PATCH 13/28] increase slippage --- crypto/sol/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 6efbe72..88552ac 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1062,7 +1062,7 @@ async def follow_move(move): input_mint=move['token_in'], output_mint=move['token_out'], amount=amount, - slippage_bps=100, # Increased to 1% + slippage_bps=200, # Increased to 1% ) logging.info(f"Initiating move. Transaction data:\n {transaction_data}") error_logger.info(f"Initiating move. Transaction data:\n {transaction_data}") From 6bb3ec23176ca4bdf404ba2ffc39498191e58886 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 15 Oct 2024 08:58:23 +0300 Subject: [PATCH 14/28] slippage 3% --- crypto/sol/app.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 88552ac..74cc8f6 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1062,7 +1062,7 @@ async def follow_move(move): input_mint=move['token_in'], output_mint=move['token_out'], amount=amount, - slippage_bps=200, # Increased to 1% + slippage_bps=300, # Increased to 3% ) logging.info(f"Initiating move. Transaction data:\n {transaction_data}") error_logger.info(f"Initiating move. Transaction data:\n {transaction_data}") From c8fdbf3c613c24ad4941ae466a5ae8bb8f5d405e Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 15 Oct 2024 09:45:26 +0300 Subject: [PATCH 15/28] fix resubscribe timeout --- crypto/sol/app.py | 2 +- crypto/sol/logs/token_info.json | 136 +++++++++++++++++++++++++++++--- 2 files changed, 125 insertions(+), 13 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 74cc8f6..3ab76e2 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1140,7 +1140,7 @@ SOLANA_ENDPOINTS = [ # "wss://mainnet.rpcpool.com", ] PING_INTERVAL = 30 -SUBSCRIBE_INTERVAL = 1*60 # Resubscribe every 10 minutes +SUBSCRIBE_INTERVAL = 10*60 # Resubscribe every 10 minutes # async def heartbeat(websocket): diff --git a/crypto/sol/logs/token_info.json b/crypto/sol/logs/token_info.json index 792d788..f39e369 100644 --- a/crypto/sol/logs/token_info.json +++ b/crypto/sol/logs/token_info.json @@ -82,12 +82,12 @@ "price": 4.026e-06 }, "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { - "price": 1.001, + "price": 1.00028, "decimals": 6, "name": "USD Coin", "symbol": "USDC", "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "holdedAmount": 160.755238, + "holdedAmount": 51.117694, "priice": 1.00073 }, "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": { @@ -97,7 +97,7 @@ "address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j", "holdedAmount": 511117.33566278, "priice": 3.585e-06, - "price": 2.696e-06 + "price": 1.714e-09 }, "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump": { "price": 0.001581, @@ -146,12 +146,12 @@ "holdedAmount": 176920.153819 }, "8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5": { - "price": 0.06036, + "price": 0.0721, "decimals": 9, "name": "LOCK IN", "symbol": "LOCKIN", "address": "8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5", - "holdedAmount": 562.91513794 + "holdedAmount": 3666.718751598 }, "fESbUKjuMY6jzDH9VP8cy4p3pu2q5W2rK2XghVfNseP": { "price": 0.0004163, @@ -220,7 +220,7 @@ "symbol": "SOL", "address": "So11111111111111111111111111111111111111112", "priice": 142.85, - "price": 138.13 + "price": 154.21 }, "4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og": { "symbol": null, @@ -291,8 +291,8 @@ "name": "Banana Tape Wall", "symbol": "BTW", "address": "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump", - "holdedAmount": 54542.700895, - "price": 0.002082 + "holdedAmount": 53869.113034, + "price": 0.003814 }, "2JcXacFwt9mVAwBQ5nZkYwCyXQkRcdsYrDXn6hj22SbP": { "decimals": 6, @@ -307,8 +307,8 @@ "name": "real fast", "symbol": "speed", "address": "5Wd2ALxQfnpgQKCyH4WL9giBiiuuLuJs84CJxfQccvmN", - "holdedAmount": 561240.789081, - "price": 0.002958 + "holdedAmount": 59475.003778, + "price": 0.005088 }, "BsTRFEVZhXbBuy5fhxbttuim8iwzXqMdRCfFftDAkkeu": { "decimals": 6, @@ -331,8 +331,8 @@ "name": "Honk", "symbol": "HONK", "address": "3ag1Mj9AKz9FAkCQ6gAEhpLSX8B2pUbPdkb9iBsDLZNB", - "holdedAmount": 70780.323867533, - "price": 0.00369 + "holdedAmount": 51532.310973239, + "price": 0.005597 }, "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t": { "decimals": 6, @@ -341,5 +341,117 @@ "address": "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t", "holdedAmount": 118734.201549, "price": 0.01307 + }, + "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU": { + "decimals": 9, + "name": "Zoomer", + "symbol": "ZOOMER", + "address": "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU", + "holdedAmount": 14933.802262203, + "price": 0.01624 + }, + "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr": { + "decimals": 9, + "name": "POPCAT", + "symbol": "POPCAT", + "address": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr", + "holdedAmount": 0.000847952, + "price": 1.35 + }, + "ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN": { + "decimals": 9, + "name": "KODOG", + "symbol": "KODOG", + "address": "ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN", + "holdedAmount": 99.0, + "price": 0.0 + }, + "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G": { + "decimals": 6, + "name": "KITTY AI", + "symbol": "KITTY", + "address": "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G", + "holdedAmount": 129276.709668, + "price": 0.0009348 + }, + "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP": { + "decimals": 9, + "name": "HARAMBE", + "symbol": "HARAMBE", + "address": "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP", + "holdedAmount": 64709.32823393, + "price": 0.04215 + }, + "5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump": { + "decimals": 6, + "holdedAmount": 96454.077139, + "name": "Dollar", + "symbol": "DOLLAR", + "address": "5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump", + "price": 0.001738 + }, + "6n7Janary9fqzxKaJVrhL9TG2F61VbAtwUMu1YZscaQS": { + "decimals": 6, + "holdedAmount": 165800.081237, + "name": "Ansem's Cat", + "symbol": "Hobbes", + "address": "6n7Janary9fqzxKaJVrhL9TG2F61VbAtwUMu1YZscaQS", + "price": 0.001806 + }, + "9jaZhJM6nMHTo4hY9DGabQ1HNuUWhJtm7js1fmKMVpkN": { + "decimals": 9, + "name": "AMC", + "symbol": "AMC", + "address": "9jaZhJM6nMHTo4hY9DGabQ1HNuUWhJtm7js1fmKMVpkN", + "holdedAmount": 151990.888522526, + "price": 0.001647 + }, + "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": { + "decimals": 6, + "name": "USDT", + "symbol": "USDT", + "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", + "holdedAmount": 0.060209, + "price": 0.9998 + }, + "8vCAUbxejdtaxn6jnX5uaQTyTZLmXALg9u1bvFCAjtx7": { + "decimals": 6, + "name": "ZACK MORRIS", + "symbol": "ZACK", + "address": "8vCAUbxejdtaxn6jnX5uaQTyTZLmXALg9u1bvFCAjtx7", + "holdedAmount": 7313.78243, + "price": 0.02023 + }, + "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp": { + "decimals": 6, + "name": "Roaring Kitty", + "symbol": "KITTY", + "address": "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp", + "holdedAmount": 228658.544423, + "price": 0.003091 + }, + "FtHCi9cxJSSizrzMzsPjAfTfJi32V1CGRDM5Skqn4QBF": { + "decimals": 6, + "name": "pixi", + "symbol": "pixi", + "address": "FtHCi9cxJSSizrzMzsPjAfTfJi32V1CGRDM5Skqn4QBF", + "holdedAmount": 211191.26677, + "price": 0.001234 + }, + "BuxH23osRyFFLbWG3czrTsfBQYbxzVZ8f7QV4cjTHN5x": { + "decimals": 6, + "name": "John", + "symbol": "JOHN", + "address": "BuxH23osRyFFLbWG3czrTsfBQYbxzVZ8f7QV4cjTHN5x", + "holdedAmount": 69195.568536, + "price": 0.004173 + }, + "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U": { + "decimals": 6, + "name": "George Droyd", + "symbol": "FLOYDAI", + "address": "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U", + "holdedAmount": 22523.013616, + "price": 0.007335 } } \ No newline at end of file From 6ab6e301ec6495f0dbb7b1c9b4088da24292ca64 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 15 Oct 2024 11:01:53 +0300 Subject: [PATCH 16/28] fix multiple recv() hooks on the same WS --- crypto/sol/app.py | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 3ab76e2..c14bde0 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1176,7 +1176,7 @@ async def wallet_watch_loop(): if first_subscription: asyncio.create_task( list_initial_wallet_states()) first_subscription = False - process_task = asyncio.create_task(process_messages(websocket, subscription_id)) + process_task = asyncio.create_task(process_messages(websocket)) while True: try: await asyncio.wait_for(process_task, timeout=SUBSCRIBE_INTERVAL) @@ -1198,7 +1198,7 @@ async def wallet_watch_loop(): # Already subscribed logger.info("Already subscribed, continuing with existing subscription") if subscription_id: - process_task = asyncio.create_task(process_messages(websocket, subscription_id)) + process_task = asyncio.create_task(process_messages(websocket)) else: # process_messages completed (shouldn't happen unless there's an error) @@ -1236,22 +1236,7 @@ async def subscribe(websocket): try: await websocket.send(json.dumps(request)) logger.info("Subscription request sent") - - response = await websocket.recv() - response_data = json.loads(response) - - if 'result' in response_data: - subscription_id = response_data['result'] - logger.info(f"Subscription successful. Subscription id: {subscription_id}") - return subscription_id - else: - logger.warning(f"Unexpected response: {response_data}") - 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 websocket.close() - return None + return process_messages(websocket) except Exception as e: logger.error(f"An unexpected error occurred: {e}") return None @@ -1268,14 +1253,18 @@ async def unsubscribe(websocket, subscription_id): logger.info(f"Unsubscribed from subscription id: {subscription_id}") subscription_id = None -async def process_messages(websocket, subscription_id): +async def process_messages(websocket): try: while True: response = await websocket.recv() response_data = json.loads(response) logger.debug(f"Received response: {response_data}") - if 'params' in response_data: + if 'result' in response_data: + subscription_id = response_data['result'] + logger.info(f"Subscription successful. Subscription id: {subscription_id}") + return subscription_id + elif 'params' in response_data: log = response_data['params']['result'] logger.debug(f"Received transaction log: {log}") asyncio.create_task(process_log(log)) From 1ee8c6cb0b1587bb6101895da904a8f27656b362 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 15 Oct 2024 22:53:29 +0300 Subject: [PATCH 17/28] fix tr size, await tg messages --- crypto/sol/app.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index c14bde0..9b79402 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -816,7 +816,8 @@ async def get_transaction_details_with_retry(transaction_id, retry_delay = 8, ma break except Exception as e: logging.error(f"Error fetching transaction details: {e}") - logging.info(f"({_} of {max_retries}) Waiting for transaction details for {transaction_id}") + retry_delay = retry_delay * 1.2 + logging.info(f"({_} of {max_retries}) Waiting for transaction details for {transaction_id}. retry in {retry_delay} s.") await asyncio.sleep(retry_delay) return tx_details @@ -886,7 +887,7 @@ async def process_log(log_result): i += 1 - # calculatte percentage swapped by digging before_source_balance, source_token_change and after_source_balance + # calculate percentage swapped by digging before_source_balance, source_token_change and after_source_balance # "Program log: before_source_balance: 19471871, before_destination_balance: 0, amount_in: 19471871, expect_amount_out: 770877527, min_return: 763168752", # "Program log: after_source_balance: 0, after_destination_balance: 770570049", @@ -1023,7 +1024,7 @@ async def follow_move(move): # Calculate the amount to swap based on the same percentage as the followed move amount_to_swap = your_balance * (move['percentage_swapped'] / 100) - amount_to_swap = min( min(amount_to_swap, your_balance), 300) + # amount_to_swap = min( min(amount_to_swap, your_balance), 300) # # always get 99% of the amount to swap # amount_to_swap = amount_to_swap * 0.95 @@ -1236,7 +1237,7 @@ async def subscribe(websocket): try: await websocket.send(json.dumps(request)) logger.info("Subscription request sent") - return process_messages(websocket) + return await process_messages(websocket) except Exception as e: logger.error(f"An unexpected error occurred: {e}") return None @@ -1261,8 +1262,13 @@ async def process_messages(websocket): logger.debug(f"Received response: {response_data}") if 'result' in response_data: - subscription_id = response_data['result'] - logger.info(f"Subscription successful. Subscription id: {subscription_id}") + new_sub_id = response_data['result'] + if int(new_sub_id) > 1: + subscription_id = new_sub_id + logger.info(f"Subscription successful. New id: {subscription_id}") + elif new_sub_id: + logger.info(f"Existing subscription confirmed: {subscription_id}") + else: return None return subscription_id elif 'params' in response_data: log = response_data['params']['result'] From d63d3d41bc4d34fafadf5beb214a74c06e74f389 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Tue, 15 Oct 2024 23:19:30 +0300 Subject: [PATCH 18/28] big refactoring --- crypto/sol/app.py | 609 +++-------------------------- crypto/sol/modules/SolanaAPI.py | 656 +++++++++++++++++++++++++++----- crypto/sol/modules/utils.py | 2 +- 3 files changed, 612 insertions(+), 655 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 6c68b93..56821b1 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -5,7 +5,6 @@ from flask import Flask, render_template, request, jsonify from solana.rpc.async_api import AsyncClient from solana.transaction import Signature from solana.rpc.websocket_api import connect -from solana.rpc.types import TokenAccountOpts, TxOpts from solana.rpc.commitment import Confirmed, Processed from solana.transaction import Transaction from spl.token.client import Token @@ -24,6 +23,7 @@ from solders.instruction import CompiledInstruction from solders import message from jupiter_python_sdk.jupiter import Jupiter, Jupiter_DCA from dexscreener import DexscreenerClient +from solana.rpc.types import TokenAccountOpts, TxOpts import datetime import logging @@ -55,38 +55,9 @@ from config import ( error_logger ) -from modules.utils import (get_token_prices, get_sol_price, get_wallet_balances, convert_balances_to_currency, get_swap_transaction_details) -from modules.SolanaAPI import SolanaAPI, solana_jsonrpc, wallet_watch_loop -from modules.utils import telegram_utils, send_telegram_message - -# # config = load_config() -# load_dotenv() -# load_dotenv('.env.secret') -# # Configuration -# DEVELOPER_CHAT_ID = os.getenv("DEVELOPER_CHAT_ID") -# FOLLOWED_WALLET = os.getenv("FOLLOWED_WALLET") -# YOUR_WALLET = os.getenv("YOUR_WALLET") -# 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') -# BOT_NAME = os.getenv("BOT_NAME") - -# logger = logging.getLogger(__name__) -# logging.basicConfig(level=logging.DEBUG) -# #logging.basicConfig(level=logging.INFO) - -# # Set up error logger -# log_dir = './logs' -# log_file = os.path.join(log_dir, 'error.log') -# os.makedirs(log_dir, exist_ok=True) -# error_file_handler = RotatingFileHandler( log_file, maxBytes=10*1024*1024, backupCount=5) -# error_file_handler.setLevel(logging.ERROR) -# error_file_handler.setFormatter(logging.Formatter('%(asctime)s [%(levelname)s] %(message)s', datefmt='%Y-%m-%d %H:%M:%S') ) -# error_logger = logging.getLogger('error_logger') -# error_logger.setLevel(logging.ERROR) -# error_logger.addHandler(error_file_handler) +from modules.SolanaAPI import SolanaAPI, SolanaDEX +from modules.utils import telegram_utils # Function to find the latest log file @@ -145,7 +116,7 @@ if not telegram_utils.bot: asyncio.run(telegram_utils.initialize()) except Exception as e: logging.error(f"Error initializing Telegram bot: {str(e)}") -# async def send_telegram_message(message): +# async def telegram_utils.send_telegram_message(message): # try: # await bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) # logging.info(f"Telegram message sent: {message}") @@ -161,196 +132,6 @@ if not telegram_utils.bot: # # # # # # # # # # CRYPTO PUBLIC # # # # # # # # # # -async def get_token_prices(token_addresses: List[str]) -> Dict[str, float]: - global TOKENS_INFO - - # Skip for USD - prices = {addr: 1.0 for addr in token_addresses if addr == "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"} - remaining_tokens = [addr for addr in token_addresses if addr not in prices] - - # Try CoinGecko - coingecko_prices = await get_prices_from_coingecko(remaining_tokens) - prices.update(coingecko_prices) - - - # For remaining missing tokens, try Jupiter - missing_tokens = set(remaining_tokens) - set(prices.keys()) - if missing_tokens: - jupiter_prices = await get_prices_from_jupiter(list(missing_tokens)) - prices.update(jupiter_prices) - - - # For tokens not found in CoinGecko, use DexScreener - missing_tokens = set(remaining_tokens) - set(coingecko_prices.keys()) - if missing_tokens: - dexscreener_prices = await get_prices_from_dexscreener(list(missing_tokens)) - prices.update(dexscreener_prices) - - # For remaining missing tokens, try Raydium - missing_tokens = set(remaining_tokens) - set(prices.keys()) - if missing_tokens: - raydium_prices = await get_prices_from_raydium(list(missing_tokens)) - prices.update(raydium_prices) - - # For remaining missing tokens, try Orca - missing_tokens = set(remaining_tokens) - set(prices.keys()) - if missing_tokens: - orca_prices = await get_prices_from_orca(list(missing_tokens)) - prices.update(orca_prices) - - # If any tokens are still missing, set their prices to 0 - for token in set(token_addresses) - set(prices.keys()): - prices[token] = 0.0 - logging.warning(f"Price not found for token {token}. Setting to 0.") - - for token, price in prices.items(): - token_info = TOKENS_INFO.setdefault(token, {}) - if 'symbol' not in token_info: - token_info['symbol'] = await get_token_metadata_symbol(token) - token_info['price'] = price - - return prices - - -async def get_prices_from_coingecko(token_addresses: List[str]) -> Dict[str, float]: - base_url = "https://api.coingecko.com/api/v3/simple/token_price/solana" - prices = {} - - async def fetch_single_price(session, address): - params = { - "contract_addresses": address, - "vs_currencies": DISPLAY_CURRENCY.lower() - } - try: - async with session.get(base_url, params=params) as response: - if response.status == 200: - data = await response.json() - if address in data and DISPLAY_CURRENCY.lower() in data[address]: - return address, data[address][DISPLAY_CURRENCY.lower()] - else: - logging.warning(f"Failed to get price for {address} from CoinGecko. Status: {response.status}") - except Exception as e: - logging.error(f"Error fetching price for {address} from CoinGecko: {str(e)}") - return address, None - - async with aiohttp.ClientSession() as session: - tasks = [fetch_single_price(session, address) for address in token_addresses] - results = await asyncio.gather(*tasks) - - for address, price in results: - if price is not None: - prices[address] = price - - return prices - -async def get_prices_from_dexscreener(token_addresses: List[str]) -> Dict[str, float]: - base_url = "https://api.dexscreener.com/latest/dex/tokens/" - prices = {} - - try: - async with aiohttp.ClientSession() as session: - tasks = [fetch_token_data(session, f"{base_url}{address}") for address in token_addresses] - results = await asyncio.gather(*tasks) - - for address, result in zip(token_addresses, results): - if result and 'pairs' in result and result['pairs']: - pair = result['pairs'][0] # Use the first pair (usually the most liquid) - prices[address] = float(pair['priceUsd']) - else: - logging.warning(f"No price data found on DexScreener for token {address}") - except Exception as e: - logging.error(f"Error fetching token prices from DexScreener: {str(e)}") - - return prices - -async def get_prices_from_jupiter(token_addresses: List[str]) -> Dict[str, float]: - url = "https://price.jup.ag/v4/price" - params = { - "ids": ",".join(token_addresses) - } - prices = {} - - try: - async with aiohttp.ClientSession() as session: - async with session.get(url, params=params) as response: - if response.status == 200: - data = await response.json() - for address, price_info in data.get('data', {}).items(): - if 'price' in price_info: - prices[address] = float(price_info['price']) - else: - logging.error(f"Failed to get token prices from Jupiter. Status: {response.status}") - except Exception as e: - logging.error(f"Error fetching token prices from Jupiter: {str(e)}") - return prices - -# New function for Raydium -async def get_prices_from_raydium(token_addresses: List[str]) -> Dict[str, float]: - url = "https://api.raydium.io/v2/main/price" - prices = {} - - try: - async with aiohttp.ClientSession() as session: - async with session.get(url) as response: - if response.status == 200: - data = await response.json() - for address in token_addresses: - if address in data: - prices[address] = float(data[address]) - else: - logging.error(f"Failed to get token prices from Raydium. Status: {response.status}") - except Exception as e: - logging.error(f"Error fetching token prices from Raydium: {str(e)}") - return prices - -# New function for Orca -async def get_prices_from_orca(token_addresses: List[str]) -> Dict[str, float]: - url = "https://api.orca.so/allTokens" - prices = {} - - try: - async with aiohttp.ClientSession() as session: - async with session.get(url) as response: - if response.status == 200: - data = await response.json() - for token_info in data: - if token_info['mint'] in token_addresses: - prices[token_info['mint']] = float(token_info['price']) - else: - logging.error(f"Failed to get token prices from Orca. Status: {response.status}") - except Exception as e: - logging.error(f"Error fetching token prices from Orca: {str(e)}") - return prices - - -async def fetch_token_data(session, url): - try: - async with session.get(url) as response: - if response.status == 200: - return await response.json() - else: - logging.error(f"Failed to fetch data from {url}. Status: {response.status}") - return None - except Exception as e: - logging.error(f"Error fetching data from {url}: {str(e)}") - return None - -async def get_sol_price() -> float: - url = f"https://api.coingecko.com/api/v3/simple/price?ids=solana&vs_currencies={DISPLAY_CURRENCY.lower()}" - async with aiohttp.ClientSession() as session: - async with session.get(url) as response: - if response.status == 200: - data = await response.json() - return data['solana'][DISPLAY_CURRENCY.lower()] - else: - logging.error(f"Failed to get SOL price from CoinGecko. Status: {response.status}") - return await get_sol_price_from_dexscreener() - -async def get_sol_price_from_dexscreener() -> float: - sol_address = "So11111111111111111111111111111111111111112" # Solana's wrapped SOL address - prices = await get_prices_from_dexscreener([sol_address]) - return prices.get(sol_address, 0.0) - # # # # # # # # # # SOLANA BLOCKCHAIN # # # # # # # # # # @@ -415,43 +196,6 @@ from spl.token.async_client import AsyncToken from spl.token.constants import TOKEN_PROGRAM_ID from borsh_construct import String, CStruct -async def get_token_metadata_symbol(mint_address): - global TOKENS_INFO - - if mint_address in TOKENS_INFO and 'symbol' in TOKENS_INFO[mint_address]: - return TOKENS_INFO[mint_address].get('symbol') - - try: - account_data_result = await solana_jsonrpc("getAccountInfo", mint_address) - if 'value' in account_data_result and 'data' in account_data_result['value']: - account_data_data = account_data_result['value']['data'] - if 'parsed' in account_data_data and 'info' in account_data_data['parsed']: - account_data_info = account_data_data['parsed']['info'] - if 'decimals' in account_data_info: - if mint_address in TOKENS_INFO: - TOKENS_INFO[mint_address]['decimals'] = account_data_info['decimals'] - else: - TOKENS_INFO[mint_address] = {'decimals': account_data_info['decimals']} - if 'tokenName' in account_data_info: - if mint_address in TOKENS_INFO: - TOKENS_INFO[mint_address]['name'] = account_data_info['tokenName'] - else: - TOKENS_INFO[mint_address] = {'name': account_data_info['tokenName']} - - metadata = await get_token_metadata(mint_address) - if metadata: - if mint_address in TOKENS_INFO: - TOKENS_INFO[mint_address].update(metadata) - else: - TOKENS_INFO[mint_address] = metadata - await save_token_info() - # TOKENS_INFO[mint_address] = metadata - # return metadata.get('symbol') or metadata.get('name') - return TOKENS_INFO[mint_address].get('symbol') - except Exception as e: - logging.error(f"Error fetching token name for {mint_address}: {str(e)}") - return None - @@ -557,80 +301,6 @@ async def get_token_metadata(mint_address): return None -async def get_wallet_balances(wallet_address, doGetTokenName=True): - balances = {} - logging.info(f"Getting balances for wallet: {wallet_address}") - global TOKENS_INFO - try: - response = await solana_client.get_token_accounts_by_owner_json_parsed( - Pubkey.from_string(wallet_address), - opts=TokenAccountOpts( - program_id=Pubkey.from_string("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA") - ), - commitment=Confirmed - ) - - if response.value: - for account in response.value: - try: - parsed_data = account.account.data.parsed - if isinstance(parsed_data, dict) and 'info' in parsed_data: - info = parsed_data['info'] - if isinstance(info, dict) and 'mint' in info and 'tokenAmount' in info: - mint = info['mint'] - decimals = info['tokenAmount']['decimals'] - amount = float(info['tokenAmount']['amount'])/10**decimals - if amount > 0: - if mint in TOKENS_INFO: - token_name = TOKENS_INFO[mint].get('symbol') - elif doGetTokenName: - token_name = await get_token_metadata_symbol(mint) or 'N/A' - # sleep for 1 second to avoid rate limiting - await asyncio.sleep(2) - - TOKENS_INFO[mint]['holdedAmount'] = round(amount,decimals) - TOKENS_INFO[mint]['decimals'] = decimals - balances[mint] = { - 'name': token_name or 'N/A', - 'address': mint, - 'amount': amount, - 'decimals': decimals - } - # sleep for 1 second to avoid rate limiting - logging.debug(f"Account balance for {token_name} ({mint}): {amount}") - else: - logging.warning(f"Unexpected data format for account: {account}") - except Exception as e: - logging.error(f"Error parsing account data: {str(e)}") - - sol_balance = await solana_client.get_balance(Pubkey.from_string(wallet_address)) - if sol_balance.value is not None: - balances['SOL'] = { - 'name': 'SOL', - 'address': 'SOL', - 'amount': sol_balance.value / 1e9 - } - else: - logging.warning(f"SOL balance response missing for wallet: {wallet_address}") - - except Exception as e: - logging.error(f"Error getting wallet balances: {str(e)}") - logging.info(f"Found {len(response.value)} ({len(balances)} non zero) token accounts for wallet: {wallet_address}") - return balances - -async def convert_balances_to_currency(balances , sol_price): - converted_balances = {} - for address, info in balances.items(): - converted_balance = info.copy() # Create a copy of the original info - if info['name'] == 'SOL': - converted_balance['value'] = info['amount'] * sol_price - elif address in TOKEN_PRICES: - converted_balance['value'] = info['amount'] * TOKEN_PRICES[address] - else: - converted_balance['value'] = None # Price not available - logging.warning(f"Price not available for token {info['name']} ({address})") - converted_balances[address] = converted_balance - return converted_balances async def get_swap_transaction_details(tx_signature_str): @@ -675,201 +345,10 @@ async def get_swap_transaction_details(tx_signature_str): return None - -# # # RAW Solana API RPC # # # - -#this is the meat of the application -async def get_transaction_details_rpc(tx_signature, readfromDump=False): - global FOLLOWED_WALLET_VALUE, YOUR_WALLET_VALUE, TOKEN_PRICES, TOKENS_INFO - try: - if readfromDump and os.path.exists('./logs/transation_details.json'): - with open('./logs/transation_details.json', 'r') as f: # trump_swap_tr_details - transaction_details = json.load(f) - return transaction_details - else: - transaction_details = await solana_jsonrpc("getTransaction", tx_signature) - with open('./logs/transation_details.json', 'w') as f: - json.dump(transaction_details, f, indent=2) - - if transaction_details is None: - logging.error(f"Error fetching transaction details for {tx_signature}") - return None - - # Initialize default result structure - parsed_result = { - "order_id": None, - "token_in": None, - "token_out": None, - "amount_in": 0, - "amount_out": 0, - "amount_in_USD": 0, - "amount_out_USD": 0, - "percentage_swapped": 0 - } - - # Extract order_id from logs - log_messages = transaction_details.get("meta", {}).get("logMessages", []) - for log in log_messages: - if "order_id" in log: - parsed_result["order_id"] = log.split(":")[2].strip() - break - - # Extract token transfers from innerInstructions - inner_instructions = transaction_details.get('meta', {}).get('innerInstructions', []) - for instruction_set in inner_instructions: - for instruction in instruction_set.get('instructions', []): - if instruction.get('program') == 'spl-token' and instruction.get('parsed', {}).get('type') == 'transferChecked': - info = instruction['parsed']['info'] - mint = info['mint'] - amount = float(info['tokenAmount']['amount']) / 10 ** info['tokenAmount']['decimals'] # Adjust for decimals - - # Determine which token is being swapped in and out based on zero balances - if parsed_result["token_in"] is None and amount > 0: - parsed_result["token_in"] = mint - parsed_result["amount_in"] = amount - - - if parsed_result["token_in"] is None or parsed_result["token_out"] is None: - # if we've failed to extract token_in and token_out from the transaction details, try a second method - inner_instructions = transaction_details.get('meta', {}).get('innerInstructions', []) - transfers = [] - - for instruction_set in inner_instructions: - for instruction in instruction_set.get('instructions', []): - if instruction.get('program') == 'spl-token' and instruction.get('parsed', {}).get('type') in ['transfer', 'transferChecked']: - info = instruction['parsed']['info'] - amount = float(info['amount']) if 'amount' in info else float(info['tokenAmount']['amount']) - decimals = info['tokenAmount']['decimals'] if 'tokenAmount' in info else 0 - adjusted_amount = amount / (10 ** decimals) - # adjusted_amount = float(info["amount"]) / (10 ** (info["tokenAmount"]["decimals"] if 'tokenAmount' in info else 0)) - transfers.append({ - 'mint': info.get('mint'), - 'amount': adjusted_amount, - 'source': info['source'], - 'destination': info['destination'] - }) - - # Identify token_in and token_out - if len(transfers) >= 2: - parsed_result["token_in"] = transfers[0]['mint'] - parsed_result["amount_in"] = transfers[0]['amount'] - parsed_result["token_out"] = transfers[-1]['mint'] - parsed_result["amount_out"] = transfers[-1]['amount'] - - # If mint is not provided, query the Solana network for the account data - if parsed_result["token_in"] is None or parsed_result["token_out"] is None: - #for transfer in transfers: - # do only first and last transfer - for transfer in [transfers[0], transfers[-1]]: - if transfer['mint'] is None: - # Query the Solana network for the account data - account_data_result = await solana_jsonrpc("getAccountInfo", transfer['source']) - - if 'value' in account_data_result and 'data' in account_data_result['value']: - account_data_value = account_data_result['value'] - account_data_data = account_data_value['data'] - if 'parsed' in account_data_data and 'info' in account_data_data['parsed']: - account_data_info = account_data_data['parsed']['info'] - if 'mint' in account_data_info: - transfer['mint'] = account_data_info['mint'] - if transfer['mint'] in TOKENS_INFO or 'decimals' not in TOKENS_INFO[transfer['mint']]: - await get_token_metadata_symbol(transfer['mint']) - # get actual prices - current_price = await get_token_prices([transfer['mint']]) - - if parsed_result["token_in"] is None: - parsed_result["token_in"] = transfer['mint'] - parsed_result["symbol_in"] = TOKENS_INFO[transfer['mint']]['symbol'] - parsed_result["amount_in"] = transfer['amount']/10**TOKENS_INFO[transfer['mint']]['decimals'] - parsed_result["amount_in_USD"] = parsed_result["amount_in"] * TOKENS_INFO[transfer['mint']].get('price', current_price[transfer['mint']]) - elif parsed_result["token_out"] is None: - parsed_result["token_out"] = transfer['mint'] - parsed_result["symbol_out"] = TOKENS_INFO[transfer['mint']]['symbol'] - parsed_result["amount_out"] = transfer['amount']/10**TOKENS_INFO[transfer['mint']]['decimals'] - parsed_result["amount_out_USD"] = parsed_result["amount_out"] * TOKENS_INFO[transfer['mint']]['price'] - - pre_balalnces = transaction_details.get('meta', {}).get('preTokenBalances', []) - for balance in pre_balalnces: - if balance['mint'] == parsed_result["token_in"] and balance['owner'] == FOLLOWED_WALLET: - parsed_result["before_source_balance"] = float(balance['uiTokenAmount']['amount']) / 10 ** balance['uiTokenAmount']['decimals'] - break - - - # Calculate percentage swapped - try: - if parsed_result["amount_in"] > 0 and 'before_source_balance' in parsed_result and parsed_result["before_source_balance"] > 0: - parsed_result["percentage_swapped"] = (parsed_result["amount_in"] / parsed_result["before_source_balance"]) * 100 - else: - # calculate based on total wallet value: FOLLOWED_WALLET_VALUE - parsed_result["percentage_swapped"] = (parsed_result["amount_in_USD"] / FOLLOWED_WALLET_VALUE) * 100 - except Exception as e: - logging.error(f"Error calculating percentage swapped: {e}") - - return parsed_result - - except requests.exceptions.RequestException as e: - print("Error fetching transaction details:", e) - - # # # # # # # # # # Functionality # # # # # # # # # # -async def list_initial_wallet_states(): - global TOKEN_ADDRESSES, FOLLOWED_WALLET_VALUE, YOUR_WALLET_VALUE, TOKEN_PRICES - global TOKENS_INFO # new - - followed_wallet_balances = await get_wallet_balances(FOLLOWED_WALLET) - your_wallet_balances = await get_wallet_balances(YOUR_WALLET) - - all_token_addresses = list(set(followed_wallet_balances.keys()) | - set(your_wallet_balances.keys()) | - set(TOKEN_ADDRESSES.values())) - - TOKEN_PRICES = await get_token_prices(all_token_addresses) - sol_price = await get_sol_price() - - followed_converted_balances = await convert_balances_to_currency(followed_wallet_balances, sol_price) - your_converted_balances = await convert_balances_to_currency(your_wallet_balances, sol_price) - - - TOKEN_ADDRESSES = { - address: info for address, - info in {**followed_converted_balances, **your_converted_balances}.items() if info['value'] is not None and info['value'] > 0 - } - logging.info(f"Monitoring balances for tokens: {[info['name'] for info in TOKEN_ADDRESSES.values()]}") - - followed_wallet_state = [] - FOLLOWED_WALLET_VALUE = 0 - for address, info in followed_converted_balances.items(): - if info['value'] is not None and info['value'] > 0: - followed_wallet_state.append(f"{info['name']}: {info['value']:.2f} {DISPLAY_CURRENCY} ({info['address']})") - FOLLOWED_WALLET_VALUE += info['value'] - - your_wallet_state = [] - YOUR_WALLET_VALUE = 0 - for address, info in your_converted_balances.items(): - if info['value'] is not None and info['value'] > 0: - your_wallet_state.append(f"{info['name']}: {info['value']:.2f} {DISPLAY_CURRENCY}") - YOUR_WALLET_VALUE += info['value'] - - message = ( - f"Initial Wallet States (All balances in {DISPLAY_CURRENCY}):\n\n" - f"Followed Wallet ({FOLLOWED_WALLET}):\n" - f"{chr(10).join(followed_wallet_state)}\n" - f"Total Value: {FOLLOWED_WALLET_VALUE:.2f} {DISPLAY_CURRENCY}\n\n" - f"Your Wallet ({YOUR_WALLET}):\n" - f"{chr(10).join(your_wallet_state)}\n" - f"Total Value: {YOUR_WALLET_VALUE:.2f} {DISPLAY_CURRENCY}\n\n" - f"Monitored Tokens:\n" - f"{', '.join([safe_get_property(info, 'name') for info in TOKEN_ADDRESSES.values()])}" - ) - - logging.info(message) - await send_telegram_message(message) - - # save token info to file - await save_token_info() def safe_get_property(info, property_name, default='Unknown'): if not isinstance(info, dict): @@ -887,7 +366,7 @@ async def get_transaction_details_with_retry(transaction_id, retry_delay = 8, ma # qwery every 5 seconds for the transaction details untill not None or 30 seconds for _ in range(max_retries): try: - tx_details = await get_transaction_details_rpc(transaction_id) + tx_details = await solanaAPI.get_transaction_details_rpc(transaction_id) if tx_details is not None: break except Exception as e: @@ -1015,13 +494,13 @@ async def process_log(log_result): f"Amount In USD: {tr_details['amount_in_USD']:.2f}\n" f"Percentage Swapped: {tr_details['percentage_swapped']:.2f}%" ) - await send_telegram_message(message_text) + await telegram_utils.send_telegram_message(message_text) await follow_move(tr_details) await save_token_info() except Exception as e: logging.error(f"Error aquiring log details and following: {e}") - await send_telegram_message(f"Not followed! Error following move.") + await telegram_utils.send_telegram_message(f"Not followed! Error following move.") @@ -1072,14 +551,14 @@ def _get_pre_balance(transaction_details: Dict[str, Any], token: str) -> float: async def follow_move(move): - your_balances = await get_wallet_balances(YOUR_WALLET, doGetTokenName=False) + your_balances = await solanaAPI.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: # Use the balance print(f"Your balance: {your_balance_info['amount']} {move['symbol_in']}") else: print("No ballance found for {move['symbol_in']}. Skipping move.") - await send_telegram_message(f"No ballance found for {move['symbol_in']}. Skipping move.") + await telegram_utils.send_telegram_message(f"No ballance found for {move['symbol_in']}. Skipping move.") return your_balance = your_balance_info['amount'] @@ -1087,12 +566,12 @@ async def follow_move(move): token_info = TOKENS_INFO.get(move['token_in']) token_name_in = token_info.get('symbol') or await get_token_metadata(move['token_in']) - token_name_out = TOKENS_INFO[move['token_out']].get('symbol') or await get_token_metadata_symbol(move['token_out']) + token_name_out = TOKENS_INFO[move['token_out']].get('symbol') or await solanaAPI.get_token_metadata_symbol(move['token_out']) if not your_balance: msg = f"Move not followed:\nNo balance found for token {move['symbol_in']}. Cannot follow move." logging.warning(msg) - await send_telegram_message(msg) + await telegram_utils.send_telegram_message(msg) return # move["percentage_swapped"] = (move["amount_out"] / move["amount_in"]) * 100 @@ -1119,7 +598,7 @@ async def follow_move(move): f"Insufficient balance: {your_balance:.6f} {token_name_in}. We want to swap {amount_to_swap:.6f}\n({move['symbol_in']}, decimals {token_info.get('decimals')} amount {amount}).\n This will probably fail. But we will try anyway." ) logging.warning(msg) - await send_telegram_message(msg) + await telegram_utils.send_telegram_message(msg) try: try: @@ -1129,7 +608,7 @@ async def follow_move(move): ) # logging.info(notification) # error_logger.info(notification) - # await send_telegram_message(notification) + # await telegram_utils.send_telegram_message(notification) except Exception as e: logging.error(f"Error sending notification: {e}") @@ -1159,7 +638,7 @@ async def follow_move(move): # append to notification notification += f"\n\nTransaction: {transaction_id}" - await send_telegram_message(f"Follow Transaction Sent: {transaction_id}") + await telegram_utils.send_telegram_message(f"Follow Transaction Sent: {transaction_id}") tx_details = await get_transaction_details_with_retry(transaction_id) if tx_details is not None: @@ -1173,7 +652,7 @@ async def follow_move(move): # log the errors to /logs/errors.log error_logger.error(error_message) error_logger.exception(e) - await send_telegram_message(error_message) + await telegram_utils.send_telegram_message(error_message) amount = amount * 0.75 await get_wallet_balances(YOUR_WALLET, doGetTokenName=False) @@ -1198,7 +677,7 @@ async def follow_move(move): f"\n\nTransaction: {transaction_id}" ) logging.info(notification) - await send_telegram_message(notification) + await telegram_utils.send_telegram_message(notification) except Exception as e: logging.error(f"Error sending notification: {e}") @@ -1210,9 +689,9 @@ async def follow_move(move): error_logger.exception(e) \ # if error_message contains 'Program log: Error: insufficient funds' if 'insufficient funds' in error_message: - await send_telegram_message("Insufficient funds. Cannot follow move. Please check your balance.") + await telegram_utils.send_telegram_message("Insufficient funds. Cannot follow move. Please check your balance.") else: - await send_telegram_message(error_message) + await telegram_utils.send_telegram_message(error_message) # Helper functions @@ -1236,41 +715,45 @@ async def check_PK(): if not pk: logging.error("Private key not found in environment variables. Will not be able to sign transactions.") # send TG warning message - await send_telegram_message("Warning: Private key not found in environment variables. Will not be able to sign transactions.") + await telegram_utils.send_telegram_message("Warning: Private key not found in environment variables. Will not be able to sign transactions.") +solanaAPI = SolanaAPI(process_transaction_callback=process_log) + async def main(): - global bot, PROCESSING_LOG + global solanaAPI, bot, PROCESSING_LOG - await send_telegram_message("Solana Agent Started. Connecting to mainnet...") + await telegram_utils.send_telegram_message("Solana Agent Started. Connecting to mainnet...") await check_PK() # new: restart wallet_watch_loop every hour - while True: - wallet_watch_task = asyncio.create_task(wallet_watch_loop()) + await solanaAPI.wallet_watch_loop() + + # while True: + # wallet_watch_task = asyncio.create_task(solanaAPI.wallet_watch_loop()) - try: - # Wait for an hour or until the task completes, whichever comes first - await asyncio.wait_for(wallet_watch_task, timeout=3600) - except asyncio.TimeoutError: - # If an hour has passed, cancel the task if not PROCESSING - if PROCESSING_LOG: - logging.info("wallet_watch_loop is processing logs. Will not restart.") - await send_telegram_message("wallet_watch_loop is processing logs. Will not restart.") - else: - wallet_watch_task.cancel() - try: - await wallet_watch_task - except asyncio.CancelledError: - logging.info("wallet_watch_loop was cancelled after running for an hour") - except Exception as e: - logging.error(f"Error in wallet_watch_loop: {str(e)}") - await send_telegram_message(f"Error in wallet_watch_loop: {str(e)}") + # try: + # # Wait for an hour or until the task completes, whichever comes first + # await asyncio.wait_for(wallet_watch_task, timeout=3600) + # except asyncio.TimeoutError: + # # If an hour has passed, cancel the task if not PROCESSING + # if PROCESSING_LOG: + # logging.info("wallet_watch_loop is processing logs. Will not restart.") + # await telegram_utils.send_telegram_message("wallet_watch_loop is processing logs. Will not restart.") + # else: + # wallet_watch_task.cancel() + # try: + # await wallet_watch_task + # except asyncio.CancelledError: + # logging.info("wallet_watch_loop was cancelled after running for an hour") + # except Exception as e: + # logging.error(f"Error in wallet_watch_loop: {str(e)}") + # await telegram_utils.send_telegram_message(f"Error in wallet_watch_loop: {str(e)}") - logging.info("Restarting wallet_watch_loop") - await send_telegram_message("Restarting wallet_watch_loop") + # logging.info("Restarting wallet_watch_loop") + # await telegram_utils.send_telegram_message("Restarting wallet_watch_loop") diff --git a/crypto/sol/modules/SolanaAPI.py b/crypto/sol/modules/SolanaAPI.py index bc19389..e0fa5cb 100644 --- a/crypto/sol/modules/SolanaAPI.py +++ b/crypto/sol/modules/SolanaAPI.py @@ -1,5 +1,7 @@ import sys import os + +import aiohttp sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) import asyncio @@ -7,23 +9,21 @@ import json import logging import random import websockets -from typing import Optional +from typing import Dict, List, Optional import requests -import datetime +from datetime import datetime +from solana.rpc.types import TokenAccountOpts, TxOpts logger = logging.getLogger(__name__) SOLANA_ENDPOINTS = [ "wss://api.mainnet-beta.solana.com", - # "wss://solana-api.projectserum.com", - # "wss://rpc.ankr.com/solana", - # "wss://mainnet.rpcpool.com", ] PING_INTERVAL = 30 -SUBSCRIBE_INTERVAL = 1*60 # Resubscribe every 10 minutes +SUBSCRIBE_INTERVAL = 1*60 # Resubscribe every 1 minute from config import ( -FOLLOWED_WALLET, SOLANA_HTTP_URL + FOLLOWED_WALLET, SOLANA_HTTP_URL, DISPLAY_CURRENCY ) from modules.utils import telegram_utils @@ -106,85 +106,60 @@ class SolanaWS: async def process_messages(self): while True: message = await self.message_queue.get() - await self.on_message(message) + if self.on_message: + await self.on_message(message) logger.info(f"Received message: {message}") async def close(self): if self.websocket: await self.websocket.close() logger.info("WebSocket connection closed") - while True: - message = await self.message_queue.get() - try: - response_data = json.loads(message) - if 'params' in response_data: - log = response_data['params']['result'] - await process_log(log) - else: - logger.warning(f"Unexpected response: {response_data}") - except json.JSONDecodeError as e: - logger.error(f"Failed to decode JSON: {e}") - except Exception as e: - logger.error(f"An unexpected error occurred while processing message: {e}") - finally: - self.message_queue.task_done() + async def solana_jsonrpc(method, params=None, jsonParsed=True): + if not isinstance(params, list): + params = [params] if params is not None else [] -async def solana_jsonrpc(method, params = None, jsonParsed = True): - # target json example: - # data = { - # "jsonrpc": "2.0", - # "id": 1, - # "method": "getTransaction", - # "params": [ - # tx_signature, - # { - # "encoding": "jsonParsed", - # "maxSupportedTransactionVersion": 0 - # } - # ] - # } - # if param is not array, make it array - if not isinstance(params, list): - params = [params] + data = { + "jsonrpc": "2.0", + "id": 1, + "method": method, + "params": params + } + + if jsonParsed: + data["params"].append({"encoding": "jsonParsed", "maxSupportedTransactionVersion": 0}) + else: + data["params"].append({"maxSupportedTransactionVersion": 0}) - data = { - "jsonrpc": "2.0", - "id": 1, - "method": method, - "params": params or [] - } - data["params"].append({"maxSupportedTransactionVersion": 0}) - if jsonParsed: - data["params"][1]["encoding"] = "jsonParsed" - - - try: - # url = 'https://solana.drpc.org' - response = requests.post(SOLANA_HTTP_URL, headers={"Content-Type": "application/json"}, data=json.dumps(data)) - response.raise_for_status() # Raises an error for bad responses - result = response.json() - if not 'result' in result or 'error' in result: - print("Error fetching data from Solana RPC:", result) + try: + response = requests.post(SOLANA_HTTP_URL, headers={"Content-Type": "application/json"}, data=json.dumps(data)) + response.raise_for_status() + result = response.json() + if 'result' not in result or 'error' in result: + logger.error("Error fetching data from Solana RPC:", result) + return None + return result['result'] + except Exception as e: + logger.error(f"Error fetching data from Solana RPC: {e}") return None - return result['result'] - except Exception as e: - logging.error(f"Error fetching data from Solana RPC: {e}") - return None - -class SolanaAPI: - - def __init__(self, process_log_callback, send_telegram_message_callback, list_initial_wallet_states_callback): - self.process_log = process_log_callback - self.list_initial_wallet_states = list_initial_wallet_states_callback + +class SolanaAPI: + def __init__(self, process_transaction_callback, on_initial_subscription_callback = None, on_bot_message=None): + self.process_transaction = process_transaction_callback + self.on_initial_subscription = on_initial_subscription_callback + self.on_bot_message = on_bot_message, + + self.dex = SolanaDEX(DISPLAY_CURRENCY) + self.solana_ws = SolanaWS(on_message=self.process_transaction) async def process_messages(self, solana_ws): while True: message = await solana_ws.message_queue.get() - await self.process_log(message) - - async def wallet_watch_loop(): - solana_ws = SolanaWS(on_message=process_log) + await self.process_transaction(message) + + async def wallet_watch_loop(self): + + solana_ws = SolanaWS(on_message=self.process_transaction) first_subscription = True while True: @@ -193,10 +168,10 @@ class SolanaAPI: await solana_ws.subscribe() if first_subscription: - asyncio.create_task(self.list_initial_wallet_states()) + asyncio.create_task(self.on_initial_subscription()) first_subscription = False - await telegram_utils.send_telegram_message(f"Solana mainnet connected ({solana_ws.subscription_id})...") + await self.send_telegram_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()) @@ -214,20 +189,15 @@ class SolanaAPI: finally: await solana_ws.unsubscribe() if solana_ws.websocket: - await solana_ws.websocket.close() - await telegram_utils.send_telegram_message("Reconnecting...") + await solana_ws.close() + await self.send_telegram_message("Reconnecting...") await asyncio.sleep(5) - - async def process_transaction(signature): - # Implement your logic to process each transaction + + async def process_transaction(self, signature): print(f"Processing transaction: {signature['signature']}") - # You can add more processing logic here, such as storing in a database, - # triggering notifications, etc. - # Example usage - # async def main(): - # account_address = "Vote111111111111111111111111111111111111111" - - async def get_last_transactions(account_address, check_interval=300, limit=1000): + # Add your transaction processing logic here + + async def get_last_transactions(self, account_address, check_interval=300, limit=1000): last_check_time = None last_signature = None @@ -252,17 +222,521 @@ class SolanaAPI: if last_signature and signature['signature'] == last_signature: break - # Process the transaction - await process_transaction(signature) + await self.process_transaction(signature) if result: last_signature = result[0]['signature'] last_check_time = current_time - await asyncio.sleep(1) # Sleep for 1 second before checking again + await asyncio.sleep(1) + + async def get_token_metadata_symbol(mint_address): + global TOKENS_INFO + + if mint_address in TOKENS_INFO and 'symbol' in TOKENS_INFO[mint_address]: + return TOKENS_INFO[mint_address].get('symbol') + + try: + account_data_result = await self.solana_ws.solana_jsonrpc("getAccountInfo", mint_address) + if 'value' in account_data_result and 'data' in account_data_result['value']: + account_data_data = account_data_result['value']['data'] + if 'parsed' in account_data_data and 'info' in account_data_data['parsed']: + account_data_info = account_data_data['parsed']['info'] + if 'decimals' in account_data_info: + if mint_address in TOKENS_INFO: + TOKENS_INFO[mint_address]['decimals'] = account_data_info['decimals'] + else: + TOKENS_INFO[mint_address] = {'decimals': account_data_info['decimals']} + if 'tokenName' in account_data_info: + if mint_address in TOKENS_INFO: + TOKENS_INFO[mint_address]['name'] = account_data_info['tokenName'] + else: + TOKENS_INFO[mint_address] = {'name': account_data_info['tokenName']} + + metadata = await get_token_metadata(mint_address) + if metadata: + if mint_address in TOKENS_INFO: + TOKENS_INFO[mint_address].update(metadata) + else: + TOKENS_INFO[mint_address] = metadata + await save_token_info() + # TOKENS_INFO[mint_address] = metadata + # return metadata.get('symbol') or metadata.get('name') + return TOKENS_INFO[mint_address].get('symbol') + except Exception as e: + logging.error(f"Error fetching token name for {mint_address}: {str(e)}") + return None + + async def get_transaction_details_rpc(tx_signature, readfromDump=False): + global FOLLOWED_WALLET_VALUE, YOUR_WALLET_VALUE, TOKEN_PRICES, TOKENS_INFO + try: + if readfromDump and os.path.exists('./logs/transation_details.json'): + with open('./logs/transation_details.json', 'r') as f: # trump_swap_tr_details + transaction_details = json.load(f) + return transaction_details + else: + transaction_details = await solana_jsonrpc("getTransaction", tx_signature) + with open('./logs/transation_details.json', 'w') as f: + json.dump(transaction_details, f, indent=2) + + if transaction_details is None: + logging.error(f"Error fetching transaction details for {tx_signature}") + return None + + # Initialize default result structure + parsed_result = { + "order_id": None, + "token_in": None, + "token_out": None, + "amount_in": 0, + "amount_out": 0, + "amount_in_USD": 0, + "amount_out_USD": 0, + "percentage_swapped": 0 + } + + # Extract order_id from logs + log_messages = transaction_details.get("meta", {}).get("logMessages", []) + for log in log_messages: + if "order_id" in log: + parsed_result["order_id"] = log.split(":")[2].strip() + break + + # Extract token transfers from innerInstructions + inner_instructions = transaction_details.get('meta', {}).get('innerInstructions', []) + for instruction_set in inner_instructions: + for instruction in instruction_set.get('instructions', []): + if instruction.get('program') == 'spl-token' and instruction.get('parsed', {}).get('type') == 'transferChecked': + info = instruction['parsed']['info'] + mint = info['mint'] + amount = float(info['tokenAmount']['amount']) / 10 ** info['tokenAmount']['decimals'] # Adjust for decimals + + # Determine which token is being swapped in and out based on zero balances + if parsed_result["token_in"] is None and amount > 0: + parsed_result["token_in"] = mint + parsed_result["amount_in"] = amount + + + if parsed_result["token_in"] is None or parsed_result["token_out"] is None: + # if we've failed to extract token_in and token_out from the transaction details, try a second method + inner_instructions = transaction_details.get('meta', {}).get('innerInstructions', []) + transfers = [] + + for instruction_set in inner_instructions: + for instruction in instruction_set.get('instructions', []): + if instruction.get('program') == 'spl-token' and instruction.get('parsed', {}).get('type') in ['transfer', 'transferChecked']: + info = instruction['parsed']['info'] + amount = float(info['amount']) if 'amount' in info else float(info['tokenAmount']['amount']) + decimals = info['tokenAmount']['decimals'] if 'tokenAmount' in info else 0 + adjusted_amount = amount / (10 ** decimals) + # adjusted_amount = float(info["amount"]) / (10 ** (info["tokenAmount"]["decimals"] if 'tokenAmount' in info else 0)) + transfers.append({ + 'mint': info.get('mint'), + 'amount': adjusted_amount, + 'source': info['source'], + 'destination': info['destination'] + }) + + # Identify token_in and token_out + if len(transfers) >= 2: + parsed_result["token_in"] = transfers[0]['mint'] + parsed_result["amount_in"] = transfers[0]['amount'] + parsed_result["token_out"] = transfers[-1]['mint'] + parsed_result["amount_out"] = transfers[-1]['amount'] + + # If mint is not provided, query the Solana network for the account data + if parsed_result["token_in"] is None or parsed_result["token_out"] is None: + #for transfer in transfers: + # do only first and last transfer + for transfer in [transfers[0], transfers[-1]]: + if transfer['mint'] is None: + # Query the Solana network for the account data + account_data_result = await solana_jsonrpc("getAccountInfo", transfer['source']) + + if 'value' in account_data_result and 'data' in account_data_result['value']: + account_data_value = account_data_result['value'] + account_data_data = account_data_value['data'] + if 'parsed' in account_data_data and 'info' in account_data_data['parsed']: + account_data_info = account_data_data['parsed']['info'] + if 'mint' in account_data_info: + transfer['mint'] = account_data_info['mint'] + if transfer['mint'] in TOKENS_INFO or 'decimals' not in TOKENS_INFO[transfer['mint']]: + await get_token_metadata_symbol(transfer['mint']) + # get actual prices + current_price = await get_token_prices([transfer['mint']]) + + if parsed_result["token_in"] is None: + parsed_result["token_in"] = transfer['mint'] + parsed_result["symbol_in"] = TOKENS_INFO[transfer['mint']]['symbol'] + parsed_result["amount_in"] = transfer['amount']/10**TOKENS_INFO[transfer['mint']]['decimals'] + parsed_result["amount_in_USD"] = parsed_result["amount_in"] * TOKENS_INFO[transfer['mint']].get('price', current_price[transfer['mint']]) + elif parsed_result["token_out"] is None: + parsed_result["token_out"] = transfer['mint'] + parsed_result["symbol_out"] = TOKENS_INFO[transfer['mint']]['symbol'] + parsed_result["amount_out"] = transfer['amount']/10**TOKENS_INFO[transfer['mint']]['decimals'] + parsed_result["amount_out_USD"] = parsed_result["amount_out"] * TOKENS_INFO[transfer['mint']]['price'] + + pre_balalnces = transaction_details.get('meta', {}).get('preTokenBalances', []) + for balance in pre_balalnces: + if balance['mint'] == parsed_result["token_in"] and balance['owner'] == FOLLOWED_WALLET: + parsed_result["before_source_balance"] = float(balance['uiTokenAmount']['amount']) / 10 ** balance['uiTokenAmount']['decimals'] + break + + + # Calculate percentage swapped + try: + if parsed_result["amount_in"] > 0 and 'before_source_balance' in parsed_result and parsed_result["before_source_balance"] > 0: + parsed_result["percentage_swapped"] = (parsed_result["amount_in"] / parsed_result["before_source_balance"]) * 100 + else: + # calculate based on total wallet value: FOLLOWED_WALLET_VALUE + parsed_result["percentage_swapped"] = (parsed_result["amount_in_USD"] / FOLLOWED_WALLET_VALUE) * 100 + except Exception as e: + logging.error(f"Error calculating percentage swapped: {e}") + + return parsed_result + + except requests.exceptions.RequestException as e: + print("Error fetching transaction details:", e) + -if __name__ == "__main__": - asyncio.run(wallet_watch_loop()) \ No newline at end of file + +class SolanaDEX: + def __init__(self, DISPLAY_CURRENCY): + self.DISPLAY_CURRENCY = DISPLAY_CURRENCY + pass + + async def get_token_prices(token_addresses: List[str]) -> Dict[str, float]: + global TOKENS_INFO + + # Skip for USD + prices = {addr: 1.0 for addr in token_addresses if addr == "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"} + remaining_tokens = [addr for addr in token_addresses if addr not in prices] + + # Try CoinGecko + coingecko_prices = await get_prices_from_coingecko(remaining_tokens) + prices.update(coingecko_prices) + + + # For remaining missing tokens, try Jupiter + missing_tokens = set(remaining_tokens) - set(prices.keys()) + if missing_tokens: + jupiter_prices = await get_prices_from_jupiter(list(missing_tokens)) + prices.update(jupiter_prices) + + + # For tokens not found in CoinGecko, use DexScreener + missing_tokens = set(remaining_tokens) - set(coingecko_prices.keys()) + if missing_tokens: + dexscreener_prices = await get_prices_from_dexscreener(list(missing_tokens)) + prices.update(dexscreener_prices) + + # For remaining missing tokens, try Raydium + missing_tokens = set(remaining_tokens) - set(prices.keys()) + if missing_tokens: + raydium_prices = await get_prices_from_raydium(list(missing_tokens)) + prices.update(raydium_prices) + + # For remaining missing tokens, try Orca + missing_tokens = set(remaining_tokens) - set(prices.keys()) + if missing_tokens: + orca_prices = await get_prices_from_orca(list(missing_tokens)) + prices.update(orca_prices) + + # If any tokens are still missing, set their prices to 0 + for token in set(token_addresses) - set(prices.keys()): + prices[token] = 0.0 + logging.warning(f"Price not found for token {token}. Setting to 0.") + + for token, price in prices.items(): + token_info = TOKENS_INFO.setdefault(token, {}) + if 'symbol' not in token_info: + token_info['symbol'] = await get_token_metadata_symbol(token) + token_info['price'] = price + + return prices + + async def get_prices_from_coingecko(token_addresses: List[str]) -> Dict[str, float]: + base_url = "https://api.coingecko.com/api/v3/simple/token_price/solana" + prices = {} + + async def fetch_single_price(session, address): + params = { + "contract_addresses": address, + "vs_currencies": DISPLAY_CURRENCY.lower() + } + try: + async with session.get(base_url, params=params) as response: + if response.status == 200: + data = await response.json() + if address in data and DISPLAY_CURRENCY.lower() in data[address]: + return address, data[address][DISPLAY_CURRENCY.lower()] + else: + logging.warning(f"Failed to get price for {address} from CoinGecko. Status: {response.status}") + except Exception as e: + logging.error(f"Error fetching price for {address} from CoinGecko: {str(e)}") + return address, None + + async with aiohttp.ClientSession() as session: + tasks = [fetch_single_price(session, address) for address in token_addresses] + results = await asyncio.gather(*tasks) + + for address, price in results: + if price is not None: + prices[address] = price + + return prices + + async def get_prices_from_dexscreener(token_addresses: List[str]) -> Dict[str, float]: + base_url = "https://api.dexscreener.com/latest/dex/tokens/" + prices = {} + + try: + async with aiohttp.ClientSession() as session: + tasks = [fetch_token_data(session, f"{base_url}{address}") for address in token_addresses] + results = await asyncio.gather(*tasks) + + for address, result in zip(token_addresses, results): + if result and 'pairs' in result and result['pairs']: + pair = result['pairs'][0] # Use the first pair (usually the most liquid) + prices[address] = float(pair['priceUsd']) + else: + logging.warning(f"No price data found on DexScreener for token {address}") + except Exception as e: + logging.error(f"Error fetching token prices from DexScreener: {str(e)}") + + return prices + + async def get_prices_from_jupiter(token_addresses: List[str]) -> Dict[str, float]: + url = "https://price.jup.ag/v4/price" + params = { + "ids": ",".join(token_addresses) + } + prices = {} + + try: + async with aiohttp.ClientSession() as session: + async with session.get(url, params=params) as response: + if response.status == 200: + data = await response.json() + for address, price_info in data.get('data', {}).items(): + if 'price' in price_info: + prices[address] = float(price_info['price']) + else: + logging.error(f"Failed to get token prices from Jupiter. Status: {response.status}") + except Exception as e: + logging.error(f"Error fetching token prices from Jupiter: {str(e)}") + return prices + + # New function for Raydium + async def get_prices_from_raydium(token_addresses: List[str]) -> Dict[str, float]: + url = "https://api.raydium.io/v2/main/price" + prices = {} + + try: + async with aiohttp.ClientSession() as session: + async with session.get(url) as response: + if response.status == 200: + data = await response.json() + for address in token_addresses: + if address in data: + prices[address] = float(data[address]) + else: + logging.error(f"Failed to get token prices from Raydium. Status: {response.status}") + except Exception as e: + logging.error(f"Error fetching token prices from Raydium: {str(e)}") + return prices + + # New function for Orca + async def get_prices_from_orca(token_addresses: List[str]) -> Dict[str, float]: + url = "https://api.orca.so/allTokens" + prices = {} + + try: + async with aiohttp.ClientSession() as session: + async with session.get(url) as response: + if response.status == 200: + data = await response.json() + for token_info in data: + if token_info['mint'] in token_addresses: + prices[token_info['mint']] = float(token_info['price']) + else: + logging.error(f"Failed to get token prices from Orca. Status: {response.status}") + except Exception as e: + logging.error(f"Error fetching token prices from Orca: {str(e)}") + return prices + + async def fetch_token_data(session, url): + try: + async with session.get(url) as response: + if response.status == 200: + return await response.json() + else: + logging.error(f"Failed to fetch data from {url}. Status: {response.status}") + return None + except Exception as e: + logging.error(f"Error fetching data from {url}: {str(e)}") + return None + + async def get_sol_price() -> float: + sol_address = "So11111111111111111111111111111111111111112" # Solana's wrapped SOL address + return await get_token_prices([sol_address]).get(sol_address, 0.0) + + async def get_wallet_balances(wallet_address, doGetTokenName=True): + balances = {} + logging.info(f"Getting balances for wallet: {wallet_address}") + global TOKENS_INFO + try: + response = await solana_client.get_token_accounts_by_owner_json_parsed( + Pubkey.from_string(wallet_address), + opts=TokenAccountOpts( + program_id=Pubkey.from_string("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA") + ), + commitment=Confirmed + ) + + if response.value: + for account in response.value: + try: + parsed_data = account.account.data.parsed + if isinstance(parsed_data, dict) and 'info' in parsed_data: + info = parsed_data['info'] + if isinstance(info, dict) and 'mint' in info and 'tokenAmount' in info: + mint = info['mint'] + decimals = info['tokenAmount']['decimals'] + amount = float(info['tokenAmount']['amount'])/10**decimals + if amount > 0: + if mint in TOKENS_INFO: + token_name = TOKENS_INFO[mint].get('symbol') + elif doGetTokenName: + token_name = await get_token_metadata_symbol(mint) or 'N/A' + # sleep for 1 second to avoid rate limiting + await asyncio.sleep(2) + + TOKENS_INFO[mint]['holdedAmount'] = round(amount,decimals) + TOKENS_INFO[mint]['decimals'] = decimals + balances[mint] = { + 'name': token_name or 'N/A', + 'address': mint, + 'amount': amount, + 'decimals': decimals + } + # sleep for 1 second to avoid rate limiting + logging.debug(f"Account balance for {token_name} ({mint}): {amount}") + else: + logging.warning(f"Unexpected data format for account: {account}") + except Exception as e: + logging.error(f"Error parsing account data: {str(e)}") + + sol_balance = await solana_client.get_balance(Pubkey.from_string(wallet_address)) + if sol_balance.value is not None: + balances['SOL'] = { + 'name': 'SOL', + 'address': 'SOL', + 'amount': sol_balance.value / 1e9 + } + else: + logging.warning(f"SOL balance response missing for wallet: {wallet_address}") + + except Exception as e: + logging.error(f"Error getting wallet balances: {str(e)}") + logging.info(f"Found {len(response.value)} ({len(balances)} non zero) token accounts for wallet: {wallet_address}") + return balances + + async def convert_balances_to_currency(balances , sol_price): + converted_balances = {} + for address, info in balances.items(): + converted_balance = info.copy() # Create a copy of the original info + if info['name'] == 'SOL': + converted_balance['value'] = info['amount'] * sol_price + elif address in TOKEN_PRICES: + converted_balance['value'] = info['amount'] * TOKEN_PRICES[address] + else: + converted_balance['value'] = None # Price not available + logging.warning(f"Price not available for token {info['name']} ({address})") + converted_balances[address] = converted_balance + return converted_balances + + + async def list_initial_wallet_states(): + global TOKEN_ADDRESSES, FOLLOWED_WALLET_VALUE, YOUR_WALLET_VALUE, TOKEN_PRICES + global TOKENS_INFO # new + + followed_wallet_balances = await get_wallet_balances(FOLLOWED_WALLET) + your_wallet_balances = await get_wallet_balances(YOUR_WALLET) + + all_token_addresses = list(set(followed_wallet_balances.keys()) | + set(your_wallet_balances.keys()) | + set(TOKEN_ADDRESSES.values())) + + TOKEN_PRICES = await get_token_prices(all_token_addresses) + sol_price = await get_sol_price() + + followed_converted_balances = await convert_balances_to_currency(followed_wallet_balances, sol_price) + your_converted_balances = await convert_balances_to_currency(your_wallet_balances, sol_price) + + + TOKEN_ADDRESSES = { + address: info for address, + info in {**followed_converted_balances, **your_converted_balances}.items() if info['value'] is not None and info['value'] > 0 + } + logging.info(f"Monitoring balances for tokens: {[info['name'] for info in TOKEN_ADDRESSES.values()]}") + + followed_wallet_state = [] + FOLLOWED_WALLET_VALUE = 0 + for address, info in followed_converted_balances.items(): + if info['value'] is not None and info['value'] > 0: + followed_wallet_state.append(f"{info['name']}: {info['value']:.2f} {DISPLAY_CURRENCY} ({info['address']})") + FOLLOWED_WALLET_VALUE += info['value'] + + your_wallet_state = [] + YOUR_WALLET_VALUE = 0 + for address, info in your_converted_balances.items(): + if info['value'] is not None and info['value'] > 0: + your_wallet_state.append(f"{info['name']}: {info['value']:.2f} {DISPLAY_CURRENCY}") + YOUR_WALLET_VALUE += info['value'] + + message = ( + f"Initial Wallet States (All balances in {DISPLAY_CURRENCY}):\n\n" + f"Followed Wallet ({FOLLOWED_WALLET}):\n" + f"{chr(10).join(followed_wallet_state)}\n" + f"Total Value: {FOLLOWED_WALLET_VALUE:.2f} {DISPLAY_CURRENCY}\n\n" + f"Your Wallet ({YOUR_WALLET}):\n" + f"{chr(10).join(your_wallet_state)}\n" + f"Total Value: {YOUR_WALLET_VALUE:.2f} {DISPLAY_CURRENCY}\n\n" + f"Monitored Tokens:\n" + f"{', '.join([safe_get_property(info, 'name') for info in TOKEN_ADDRESSES.values()])}" + ) + + logging.info(message) + await telegram_utils.send_telegram_message(message) + + # save token info to file + await save_token_info() + + + +#example +# async def main(): +# await telegram_utils.initialize() + +# async def process_log(log): +# print(f"Processing log: {log}") + +# async def list_initial_wallet_states(): +# print("Listing initial wallet states") + + +# wallet_watch_task = asyncio.create_task(solana_api.wallet_watch_loop()) + +# try: +# await asyncio.gather(wallet_watch_task) +# except asyncio.CancelledError: +# pass +# finally: +# await telegram_utils.close() + +# if __name__ == "__main__": +# asyncio.run(main()) \ No newline at end of file diff --git a/crypto/sol/modules/utils.py b/crypto/sol/modules/utils.py index b70b567..6ed7ab7 100644 --- a/crypto/sol/modules/utils.py +++ b/crypto/sol/modules/utils.py @@ -28,7 +28,7 @@ class TelegramUtils: await self.initialize() try: - await self.bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) + # await self.bot.send_message(chat_id=DEVELOPER_CHAT_ID, text=f"[{BOT_NAME}] {message}", parse_mode=ParseMode.HTML) logging.info(f"Telegram message sent: {message}") except Exception as e: logging.error(f"Error sending Telegram message: {str(e)}") From e5d3a8025956c51138e2e0d504be182f73cfee10 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Wed, 16 Oct 2024 11:50:08 +0300 Subject: [PATCH 19/28] sync launch ad stability --- .vscode/launch.json | 12 +++++++++--- crypto/sol/app.py | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 8906574..b7e847f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -39,8 +39,8 @@ "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "env": { - "NODE_ENV": "demo" - "OPENAI_API_KEY": + "NODE_ENV": "demo", + "OPENAI_API_KEY":"" }, "skipFiles": [ "/**" @@ -69,7 +69,13 @@ "program": "${file}" }, { - "name": "Python Debugger: Python File with Conda", + "name": "py: Sol app.py", + "type": "debugpy", + "request": "launch", + "program": "${workspaceFolder}/crypto/sol/app.py", + }, + { + "name": "Python Debugger: Python File with Conda (py)", "type": "debugpy", "request": "launch", "program": "${file}", diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 9b79402..a3040a6 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1217,7 +1217,7 @@ async def wallet_watch_loop(): await unsubscribe(websocket, subscription_id) await send_telegram_message("reconnecting...") logger.info(f"Attempting to reconnect in {reconnect_delay} seconds...") - websocket.close() + await websocket.close() except Exception as e: logger.error(f"An unexpected error occurred - breaking watch loop: {e}") From 296c4dcf8163c64d283a96dc3c1b13a00b96039d Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Wed, 16 Oct 2024 11:50:59 +0300 Subject: [PATCH 20/28] wip --- crypto/sol/modules/SolanaAPI.py | 35 +++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/crypto/sol/modules/SolanaAPI.py b/crypto/sol/modules/SolanaAPI.py index e0fa5cb..7f5cda2 100644 --- a/crypto/sol/modules/SolanaAPI.py +++ b/crypto/sol/modules/SolanaAPI.py @@ -34,6 +34,7 @@ class SolanaWS: self.subscription_id = None self.message_queue = asyncio.Queue() self.on_message = on_message + self.websocket = None async def connect(self): while True: @@ -46,7 +47,7 @@ class SolanaWS: logger.error(f"Failed to connect to {current_url}: {e}") await asyncio.sleep(5) - async def ws_jsonrpc(self, method, params=None): + async def ws_jsonrpc(self, ws, method, params=None, doProcessResponse = True): if not isinstance(params, list): params = [params] if params is not None else [] @@ -57,25 +58,29 @@ class SolanaWS: "params": params } - await self.websocket.send(json.dumps(request)) - response = await self.websocket.recv() - response_data = json.loads(response) - - if 'result' in response_data: - return response_data['result'] - elif 'error' in response_data: - logger.error(f"Error in WebSocket RPC call: {response_data['error']}") + await ws.send(json.dumps(request)) + if not doProcessResponse: return None else: - logger.warning(f"Unexpected response: {response_data}") - return None + response = await self.websocket.recv() + response_data = json.loads(response) + + if 'result' in response_data: + return response_data['result'] + elif 'error' in response_data: + logger.error(f"Error in WebSocket RPC call: {response_data['error']}") + return None + else: + logger.warning(f"Unexpected response: {response_data}") + return None async def subscribe(self): params = [ {"mentions": [FOLLOWED_WALLET]}, {"commitment": "confirmed"} ] - result = await self.ws_jsonrpc("logsSubscribe", params) + result = await self.ws_jsonrpc("logsSubscribe", params, doProcessResponse=False) + response = process_messages(self.websocket) if result is not None: self.subscription_id = result logger.info(f"Subscription successful. Subscription id: {self.subscription_id}") @@ -171,7 +176,7 @@ class SolanaAPI: asyncio.create_task(self.on_initial_subscription()) first_subscription = False - await self.send_telegram_message(f"Solana mainnet connected ({solana_ws.subscription_id})...") + await 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()) @@ -190,7 +195,7 @@ class SolanaAPI: await solana_ws.unsubscribe() if solana_ws.websocket: await solana_ws.close() - await self.send_telegram_message("Reconnecting...") + await self.on_bot_message("Reconnecting...") await asyncio.sleep(5) async def process_transaction(self, signature): @@ -416,7 +421,7 @@ class SolanaDEX: remaining_tokens = [addr for addr in token_addresses if addr not in prices] # Try CoinGecko - coingecko_prices = await get_prices_from_coingecko(remaining_tokens) + coingecko_prices = await self.get_prices_from_coingecko(remaining_tokens) prices.update(coingecko_prices) From 82c426069df64c064839fb06e418449b0662e013 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Wed, 16 Oct 2024 12:15:40 +0300 Subject: [PATCH 21/28] fix env as CRLF --- crypto/sol/.env | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/sol/.env b/crypto/sol/.env index ab435f5..120b3de 100644 --- a/crypto/sol/.env +++ b/crypto/sol/.env @@ -9,7 +9,8 @@ TELEGRAM_BOT_TOKEN="6805059978:AAHNJKuOeazMSJHc3-BXRCsFfEVyFHeFnjw" DISPLAY_CURRENCY=USD # Niki's to Sync: [PROD] - FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" +FOLLOWED_WALLET="7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH" +YOUR_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" # Sync to main [DEV] # FOLLOWED_WALLET="7QXGLRjvyFAmxdRaP9Wk18KwWTMfspF4Na2sr3o3PzxV" From 6088379ff755779a7cf811df6ac0140f9b95a1b7 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sat, 19 Oct 2024 23:39:02 +0300 Subject: [PATCH 22/28] using prod server --- crypto/sol/app.py | 94 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 68 insertions(+), 26 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index a3040a6..aa5a77c 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1,4 +1,6 @@ import asyncio +import uvicorn +from asgiref.wsgi import WsgiToAsgi import websockets import json from flask import Flask, render_template, request, jsonify @@ -35,10 +37,10 @@ from dotenv import load_dotenv,set_key import aiohttp from typing import List, Dict import requests -import threading import re from typing import List, Dict, Any, Tuple import random +from threading import Thread app = Flask(__name__) @@ -77,6 +79,7 @@ def get_latest_log_file(): return None # Flask route to retry processing the last log +@app.route('/retry', methods=['GET']) @app.route('/retry-last-log', methods=['GET']) async def retry_last_log(): latest_log_file = get_latest_log_file() @@ -100,7 +103,23 @@ async def retry_last_log(): logging.error(f"Error processing log dump: {e}") return jsonify({"error": "Failed to process log"}), 500 - +#const webhookPath = `/tr/${followedWallet.toBase58()}/${logs.signature}`; +@app.route('/tr//', methods=['GET', 'POST']) +async def transaction_notified(wallet, tx_signature): + try: + logger.info(f"Processing transaction notification for wallet: {wallet}, tx: {tx_signature}") + # Process the transaction + # tr = await get_swap_transaction_details(tx_signature) + tr = await get_transaction_details_info(tx_signature, []) + get_token_metadata_symbol(tr) + # ToDo - probably optimize + await follow_move(tr['token_in']) + await follow_move(tr['token_out']) + await save_token_info() + return jsonify(tr), 200 + except Exception as e: + logging.error(f"Error processing transaction: {e}") + return jsonify({"error": "Failed to process transaction"}), 500 # Configuration @@ -469,7 +488,7 @@ async def get_wallet_balances(wallet_address, doGetTokenName=True): # sleep for 1 second to avoid rate limiting await asyncio.sleep(2) - TOKENS_INFO[mint]['holdedAmount'] = round(amount,decimals) + TOKENS_INFO[mint]['holdedAmount'] = round(amount, decimals) TOKENS_INFO[mint]['decimals'] = decimals balances[mint] = { 'name': token_name or 'N/A', @@ -837,6 +856,17 @@ async def save_log(log): PROCESSING_LOG = False async def process_log(log_result): global PROCESSING_LOG + + tr_details = { + "order_id": None, + "token_in": None, + "token_out": None, + "amount_in": 0, + "amount_out": 0, + "amount_in_USD": 0, + "amount_out_USD": 0, + "percentage_swapped": 0 + } if log_result['value']['err']: return @@ -854,17 +884,7 @@ async def process_log(log_result): before_source_balance = 0 source_token_change = 0 - - tr_details = { - "order_id": None, - "token_in": None, - "token_out": None, - "amount_in": 0, - "amount_out": 0, - "amount_in_USD": 0, - "amount_out_USD": 0, - "percentage_swapped": 0 - } + i = 0 while i < len(logs): log_entry = logs[i] @@ -956,6 +976,7 @@ async def process_log(log_result): PROCESSING_LOG = False return tr_details + # "Program log: Instruction: Swap2", # "Program log: order_id: 13985890735038016", # "Program log: AbrMJWfDVRZ2EWCQ1xSCpoVeVgZNpq1U2AoYG98oRXfn", source @@ -1003,7 +1024,7 @@ async def follow_move(move): # Use the balance print(f"Your balance: {your_balance_info['amount']} {move['symbol_in']}") else: - print("No ballance found for {move['symbol_in']}. Skipping move.") + print(f"No ballance found for {move['symbol_in']}. Skipping move.") await send_telegram_message(f"No ballance found for {move['symbol_in']}. Skipping move.") return @@ -1173,7 +1194,7 @@ async def wallet_watch_loop(): subscription_id = await subscribe(websocket) if subscription_id is not None: - await send_telegram_message(f"Solana mainnet connected ({subscription_id})...") + # await send_telegram_message(f"Solana mainnet connected ({subscription_id})...") if first_subscription: asyncio.create_task( list_initial_wallet_states()) first_subscription = False @@ -1279,7 +1300,7 @@ async def process_messages(websocket): 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...") pass except json.JSONDecodeError as e: logger.error(f"Failed to decode JSON: {e}") @@ -1309,22 +1330,43 @@ async def check_PK(): await send_telegram_message("Warning: Private key not found in environment variables. Will not be able to sign transactions.") - +# Convert Flask app to ASGI +asgi_app = WsgiToAsgi(app) async def main(): await send_telegram_message("Solana Agent Started. Connecting to mainnet...") await check_PK() await wallet_watch_loop() -async def run_flask(): - loop = asyncio.get_running_loop() - await loop.run_in_executor(None, lambda: app.run(debug=False, port=3001, use_reloader=False)) +def run_asyncio_loop(loop): + asyncio.set_event_loop(loop) + loop.run_forever() async def run_all(): - await asyncio.gather( - main(), - run_flask() - ) + main_task = asyncio.create_task(main()) + await main_task if __name__ == '__main__': - asyncio.run(run_all()) \ No newline at end of file + # Create a new event loop + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + + # Start the asyncio loop in a separate thread + thread = Thread(target=run_asyncio_loop, args=(loop,)) + thread.start() + + # Schedule the run_all coroutine in the event loop + asyncio.run_coroutine_threadsafe(run_all(), loop) + + # Run Uvicorn in the main thread + uvicorn.run( + "app:asgi_app", # Replace 'app' with the actual name of this Python file if different + host="127.0.0.1", + port=3001, + log_level="debug", + reload=True + ) + + # When Uvicorn exits, stop the asyncio loop + loop.call_soon_threadsafe(loop.stop) + thread.join() \ No newline at end of file From 27bd6e81cf87adab219368767865cb99d41dd73f Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sat, 19 Oct 2024 23:43:58 +0300 Subject: [PATCH 23/28] logs --- .gitignore | 5 +- crypto/sol/.env | 32 +- crypto/sol/logs/error.log | 1081 +++++++++++----------- crypto/sol/logs/token_info.json | 830 ++++++++--------- crypto/sol/logs/token_info.json.bak | 179 ---- crypto/sol/logs/transation_details.json | 1106 ++++++++++++----------- crypto/sol/requirements.in | 12 - 7 files changed, 1580 insertions(+), 1665 deletions(-) delete mode 100644 crypto/sol/logs/token_info.json.bak delete mode 100644 crypto/sol/requirements.in diff --git a/.gitignore b/.gitignore index b1db323..625d168 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,7 @@ crypto/sol/secret.pk crypto/sol/logs/* logs/* crypto/sol/cache/* -cache/* \ No newline at end of file +cache/* +crypto/sol/logs/error.log +crypto/sol/logs/token_info.json +crypto/sol/logs/transation_details.json diff --git a/crypto/sol/.env b/crypto/sol/.env index 120b3de..151cfc4 100644 --- a/crypto/sol/.env +++ b/crypto/sol/.env @@ -1,17 +1,17 @@ - -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" + +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" \ No newline at end of file diff --git a/crypto/sol/logs/error.log b/crypto/sol/logs/error.log index a61ca9b..3913141 100644 --- a/crypto/sol/logs/error.log +++ b/crypto/sol/logs/error.log @@ -1,543 +1,580 @@ -2024-10-09 07:59:16 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 07:59:16 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1014, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 08:02:14 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 08:02:14 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1014, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 08:48:26 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 08:48:26 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1021, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:08:18 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:08:18 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:15:19 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:15:19 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:17:10 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:17:10 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:23:01 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:23:01 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:38:53 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:38:53 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 10:40:35 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 10:40:35 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - logging.error(f"Error sending notification: {e}") - ^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 10:46:28 [ERROR] Swap Follow Error: - -2024-10-09 10:46:28 [ERROR] +2024-10-17 08:31:37 [ERROR] Move Failed: +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 1383208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A+ySq1UHAAAAAAAAAAAAAAABAAAAAAAAAOySq1UHAAAAfDmkU08CAADG/m1QpxQAAPyPLtEAAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1352239 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1344613 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30510 of 1369533 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1336649 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A/yPLtEAAAAAAAAAAAAAAAABAAAAAAAAALnCTyUBAAAApC4X8TjqAAA0AfazcoAAADTUeXwBAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1310032 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1302315 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30530 of 1327346 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1294442 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb invoke [2]", "Program log: Instruction: PlaceTakeOrder", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wEAAWjLEGcAAAAAXXUAAAAAAAAFGOuv4VblkYw5LvnbHk0eGNrJuOup7P9CrNOb202m9gAAAAAAAAAAAAAAAAAAAAA5yhBnAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAE0dAAAAAAAAjOoAAAAAAAA=", "Program data: xPmUIajkSQaq21CHaVTWoCllyIUWT6CrliKVuOsC1OHJddOa7MhfqQ8AAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wAAAAAAAAAAAAAAAAAAAACM6gAAAAAAAIDf42UBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6yMzXAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wEAAWjLEGcAAAAAXXUAAAAAAAAt3uuLteGA72BbJznvCJpd1vcW9HJwxJBYIoHWlBDL1L4UAAAAAAAAAAAAAAAAAABKgBBnAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAEwdAAAAAAAAggAAAAAAAAA=", "Program data: xPmUIajkSQZfvvtqIyED81o58+fuLizafx4l15XV5GFuPCpRpi/WBwMAAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44/QBAAAAAAAAkKQ0AAAAAAAAAAAAAAAAAMDzXgEAAAAA8H4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAXLZrBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wECAWjLEGcAAAAAXXUAAAAAAAAt3uuLteGA72BbJznvCJpd1vcW9HJwxJBYIoHWlBDL1FQbAAAAAAAAAAAAAAAAAAAyvA5nAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAPQaAAAAAAAA9AEAAAAAAAA=", "Program data: xPmUIajkSQZfvvtqIyED81o58+fuLizafx4l15XV5GFuPCpRpi/WBwMAAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDkWQQAAAAA8H4OAAAAAAAAAAAAAAAAAAAAAAAAAAAA7FqgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: COswOq5MnGkBOriQP7c1yrHGfFmvSFft9hsK+DKlCnxZ4yGRng7IqbygbXl8AQAAAJv5GxsAAAAAAAAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1233258 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1225727 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb consumed 62892 of 1281961 compute units", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1216611 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: 454818203", "Program log: Right: 519266981", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 190525 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1771"]), accounts: None, units_consumed: Some(190825), return_data: None, inner_instructions: None }) } +2024-10-17 08:31:37 [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 1383208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A+ySq1UHAAAAAAAAAAAAAAABAAAAAAAAAOySq1UHAAAAfDmkU08CAADG/m1QpxQAAPyPLtEAAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1352239 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1344613 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30510 of 1369533 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1336649 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A/yPLtEAAAAAAAAAAAAAAAABAAAAAAAAALnCTyUBAAAApC4X8TjqAAA0AfazcoAAADTUeXwBAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1310032 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1302315 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30530 of 1327346 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1294442 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb invoke [2]", "Program log: Instruction: PlaceTakeOrder", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wEAAWjLEGcAAAAAXXUAAAAAAAAFGOuv4VblkYw5LvnbHk0eGNrJuOup7P9CrNOb202m9gAAAAAAAAAAAAAAAAAAAAA5yhBnAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAE0dAAAAAAAAjOoAAAAAAAA=", "Program data: xPmUIajkSQaq21CHaVTWoCllyIUWT6CrliKVuOsC1OHJddOa7MhfqQ8AAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wAAAAAAAAAAAAAAAAAAAACM6gAAAAAAAIDf42UBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6yMzXAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wEAAWjLEGcAAAAAXXUAAAAAAAAt3uuLteGA72BbJznvCJpd1vcW9HJwxJBYIoHWlBDL1L4UAAAAAAAAAAAAAAAAAABKgBBnAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAEwdAAAAAAAAggAAAAAAAAA=", "Program data: xPmUIajkSQZfvvtqIyED81o58+fuLizafx4l15XV5GFuPCpRpi/WBwMAAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44/QBAAAAAAAAkKQ0AAAAAAAAAAAAAAAAAMDzXgEAAAAA8H4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAXLZrBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wECAWjLEGcAAAAAXXUAAAAAAAAt3uuLteGA72BbJznvCJpd1vcW9HJwxJBYIoHWlBDL1FQbAAAAAAAAAAAAAAAAAAAyvA5nAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAPQaAAAAAAAA9AEAAAAAAAA=", "Program data: xPmUIajkSQZfvvtqIyED81o58+fuLizafx4l15XV5GFuPCpRpi/WBwMAAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDkWQQAAAAA8H4OAAAAAAAAAAAAAAAAAAAAAAAAAAAA7FqgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: COswOq5MnGkBOriQP7c1yrHGfFmvSFft9hsK+DKlCnxZ4yGRng7IqbygbXl8AQAAAJv5GxsAAAAAAAAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1233258 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1225727 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb consumed 62892 of 1281961 compute units", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1216611 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: 454818203", "Program log: Right: 519266981", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 190525 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1771"]), accounts: None, units_consumed: Some(190825), return_data: None, inner_instructions: None }) } Traceback (most recent call last): + File "/app/app.py", line 1076, 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 59, in make_request - raw = await self.make_request_unparsed(body) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/async_http.py", line 66, in make_request_unparsed - return _after_request_unparsed(raw_response) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 137, in _after_request_unparsed - raw_response.raise_for_status() - File "/usr/local/lib/python3.12/site-packages/httpx/_models.py", line 763, in raise_for_status - raise HTTPStatusError(message, request=request, response=self) -httpx.HTTPStatusError: Client error '429 Too Many Requests' for url 'wss://api.mainnet-beta.solana.com' -For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + 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 1383208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A+ySq1UHAAAAAAAAAAAAAAABAAAAAAAAAOySq1UHAAAAfDmkU08CAADG/m1QpxQAAPyPLtEAAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1352239 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1344613 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30510 of 1369533 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1336649 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", "Program log: ray_log: A/yPLtEAAAAAAAAAAAAAAAABAAAAAAAAALnCTyUBAAAApC4X8TjqAAA0AfazcoAAADTUeXwBAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 1310032 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1302315 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30530 of 1327346 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1294442 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb invoke [2]", "Program log: Instruction: PlaceTakeOrder", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wEAAWjLEGcAAAAAXXUAAAAAAAAFGOuv4VblkYw5LvnbHk0eGNrJuOup7P9CrNOb202m9gAAAAAAAAAAAAAAAAAAAAA5yhBnAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAE0dAAAAAAAAjOoAAAAAAAA=", "Program data: xPmUIajkSQaq21CHaVTWoCllyIUWT6CrliKVuOsC1OHJddOa7MhfqQ8AAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wAAAAAAAAAAAAAAAAAAAACM6gAAAAAAAIDf42UBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6yMzXAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wEAAWjLEGcAAAAAXXUAAAAAAAAt3uuLteGA72BbJznvCJpd1vcW9HJwxJBYIoHWlBDL1L4UAAAAAAAAAAAAAAAAAABKgBBnAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAEwdAAAAAAAAggAAAAAAAAA=", "Program data: xPmUIajkSQZfvvtqIyED81o58+fuLizafx4l15XV5GFuPCpRpi/WBwMAAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44/QBAAAAAAAAkKQ0AAAAAAAAAAAAAAAAAMDzXgEAAAAA8H4OAAAAAAAAAAAAAAAAAAAAAAAAAAAAXLZrBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: lhcplJii10Dn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wECAWjLEGcAAAAAXXUAAAAAAAAt3uuLteGA72BbJznvCJpd1vcW9HJwxJBYIoHWlBDL1FQbAAAAAAAAAAAAAAAAAAAyvA5nAAAAADq4kD+3NcqxxnxZr0hX7fYbCvgypQp8WeMhkZ4OyKm8AAAAAAAAAAAAAAAAAAAAAPQaAAAAAAAA9AEAAAAAAAA=", "Program data: xPmUIajkSQZfvvtqIyED81o58+fuLizafx4l15XV5GFuPCpRpi/WBwMAAADn8nW6jGDGIRiefoRrsaEzc5YHmS5da8kESrlpQKn44wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDkWQQAAAAA8H4OAAAAAAAAAAAAAAAAAAAAAAAAAAAA7FqgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", "Program data: COswOq5MnGkBOriQP7c1yrHGfFmvSFft9hsK+DKlCnxZ4yGRng7IqbygbXl8AQAAAJv5GxsAAAAAAAAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1233258 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 1225727 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb consumed 62892 of 1281961 compute units", "Program opnb2LAfJYbRMAHHvqjCwQxanZn7ReEHp1k81EohpZb success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 1216611 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: 454818203", "Program log: Right: 519266981", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 190525 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1771"]), accounts: None, units_consumed: Some(190825), return_data: None, inner_instructions: None }) } +2024-10-17 08:31:37 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-17 08:31:37 [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 1062, 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-17 08:31:38 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-17 08:31:38 [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 1062, 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-18 02:48:33 [ERROR] Move Failed: +The read operation timed out +2024-10-18 02:48:33 [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 1026, 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 62, in argument_decorator - raise internal_exception_cls(exc, func, *args, **kwargs) from exc -solana.exceptions.SolanaRpcException -2024-10-09 11:03:02 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1362911 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20744 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41389), return_data: None, inner_instructions: None }) } -2024-10-09 11:03:02 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1362911 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20744 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41389), return_data: None, inner_instructions: None }) } + File "/app/app.py", line 1062, 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 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-18 02:48:34 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 02:48:34 [ERROR] Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } Traceback (most recent call last): - File "/app/app.py", line 1026, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1362911 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20744 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41389), return_data: None, inner_instructions: None }) } -2024-10-09 11:03:58 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358884 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(45416), return_data: None, inner_instructions: None }) } -2024-10-09 11:03:58 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358884 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(45416), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1026, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358884 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(45416), return_data: None, inner_instructions: None }) } -2024-10-09 11:08:15 [ERROR] Swap Follow Error: -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 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1391445 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384858 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1380976 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23345 of 1399850 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: Route", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 815311374053", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1326322 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 42021 of 1364043 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 54483 of 1376505 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(77978), return_data: None, inner_instructions: None }) } -2024-10-09 11:08:15 [ERROR] 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 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1391445 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384858 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1380976 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23345 of 1399850 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: Route", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 815311374053", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1326322 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 42021 of 1364043 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 54483 of 1376505 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(77978), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1026, 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: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1391445 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384858 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1380976 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23345 of 1399850 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: Route", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 815311374053", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1326322 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 42021 of 1364043 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 54483 of 1376505 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(77978), return_data: None, inner_instructions: None }) } -2024-10-09 13:46:47 [ERROR] Swap Follow Error: -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 1383977 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20023 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(20323), return_data: None, inner_instructions: None }) } -2024-10-09 13:46:47 [ERROR] 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 1383977 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20023 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(20323), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, 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: 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 1383977 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20023 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(20323), return_data: None, inner_instructions: None }) } -2024-10-09 13:57:11 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1366470 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(37830), return_data: None, inner_instructions: None }) } -2024-10-09 13:57:11 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1366470 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(37830), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1366470 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(37830), return_data: None, inner_instructions: None }) } -2024-10-09 15:03:06 [ERROR] Swap Follow Error: -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 1386815 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17485), return_data: None, inner_instructions: None }) } -2024-10-09 15:03:06 [ERROR] 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 1386815 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17485), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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: 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 1386815 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17485), return_data: None, inner_instructions: None }) } -2024-10-09 15:08:30 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 13251 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(13551), return_data: None, inner_instructions: None }) } -2024-10-09 15:08:30 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 13251 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(13551), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 13251 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(13551), return_data: None, inner_instructions: None }) } -2024-10-09 15:14:20 [ERROR] Swap Follow Error: -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 1382246 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21754 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22054), return_data: None, inner_instructions: None }) } -2024-10-09 15:14:20 [ERROR] 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 1382246 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21754 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22054), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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: 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 1382246 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21754 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22054), return_data: None, inner_instructions: None }) } -2024-10-09 15:16:20 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361725 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20430 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42575), return_data: None, inner_instructions: None }) } -2024-10-09 15:16:20 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361725 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20430 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42575), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361725 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20430 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42575), return_data: None, inner_instructions: None }) } -2024-10-09 15:19:07 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1357384 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46916), return_data: None, inner_instructions: None }) } -2024-10-09 15:19:07 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1357384 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46916), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1357384 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46916), return_data: None, inner_instructions: None }) } -2024-10-09 15:20:44 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1363114 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17489 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41186), return_data: None, inner_instructions: None }) } -2024-10-09 15:20:44 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1363114 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17489 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41186), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1363114 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17489 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41186), return_data: None, inner_instructions: None }) } -2024-10-09 15:22:24 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358283 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 22320 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46017), return_data: None, inner_instructions: None }) } -2024-10-09 15:22:24 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358283 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 22320 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46017), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358283 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 22320 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46017), return_data: None, inner_instructions: None }) } -2024-10-09 16:13:48 [ERROR] Swap Follow Error: -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 1379229 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(25071), return_data: None, inner_instructions: None }) } -2024-10-09 16:13:48 [ERROR] 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 1379229 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(25071), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1061, 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: 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 1379229 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(25071), return_data: None, inner_instructions: None }) } -2024-10-09 16:37:40 [ERROR] Swap Follow Error: -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 1386729 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17271 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17571), return_data: None, inner_instructions: None }) } -2024-10-09 16:37:40 [ERROR] 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 1386729 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17271 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17571), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1061, 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: 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 1386729 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17271 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17571), return_data: None, inner_instructions: None }) } -2024-10-10 12:17:44 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 16186 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16486), return_data: None, inner_instructions: None }) } -2024-10-10 12:17:44 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 16186 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16486), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1064, 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: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 16186 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16486), return_data: None, inner_instructions: None }) } -2024-10-10 12:38:57 [ERROR] Swap Follow Error: -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 1382010 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21990 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22290), return_data: None, inner_instructions: None }) } -2024-10-10 12:38:57 [ERROR] 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 1382010 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21990 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22290), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1064, 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: 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 1382010 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21990 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22290), return_data: None, inner_instructions: None }) } -2024-10-10 12:41:59 [ERROR] Swap Follow Error: -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 1382864 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21136 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21436), return_data: None, inner_instructions: None }) } -2024-10-10 12:41:59 [ERROR] 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 1382864 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21136 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21436), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1064, 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: 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 1382864 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21136 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21436), return_data: None, inner_instructions: None }) } -2024-10-10 13:01:13 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361916 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21739 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42384), return_data: None, inner_instructions: None }) } -2024-10-10 13:01:13 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361916 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21739 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42384), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1065, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361916 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21739 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42384), return_data: None, inner_instructions: None }) } -2024-10-10 13:01:16 [ERROR] Swap Follow Error: + 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: -2024-10-10 13:01:16 [ERROR] Traceback (most recent call last): + File "/app/app.py", line 1062, 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-18 02:48:34 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 02:48:34 [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 1062, 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-18 06:44:11 [ERROR] Move Failed: +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 1384999 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 19001 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(19301), return_data: None, inner_instructions: None }) } +2024-10-18 06:44:11 [ERROR] 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 1384999 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 19001 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(19301), return_data: None, inner_instructions: None }) } +Traceback (most recent call last): + File "/app/app.py", line 1076, 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 59, in make_request - raw = await self.make_request_unparsed(body) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/async_http.py", line 66, in make_request_unparsed - return _after_request_unparsed(raw_response) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 137, in _after_request_unparsed - raw_response.raise_for_status() - File "/usr/local/lib/python3.12/site-packages/httpx/_models.py", line 763, in raise_for_status - raise HTTPStatusError(message, request=request, response=self) -httpx.HTTPStatusError: Client error '429 Too Many Requests' for url 'wss://api.mainnet-beta.solana.com' -For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 + 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: 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 1384999 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 19001 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(19301), return_data: None, inner_instructions: None }) } +2024-10-18 06:44:11 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 06:44:11 [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 1062, 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-18 11:45:08 [ERROR] Move Failed: +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 1385850 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 18150 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(18450), return_data: None, inner_instructions: None }) } +2024-10-18 11:45:08 [ERROR] 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 1385850 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 18150 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(18450), return_data: None, inner_instructions: None }) } +Traceback (most recent call last): + File "/app/app.py", line 1076, 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: 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 1385850 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 18150 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(18450), return_data: None, inner_instructions: None }) } +2024-10-18 11:45:09 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 11:45:09 [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 1062, 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-18 14:28:52 [ERROR] Move Failed: +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 1384443 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 19557 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(19857), return_data: None, inner_instructions: None }) } +2024-10-18 14:28:52 [ERROR] 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 1384443 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 19557 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(19857), return_data: None, inner_instructions: None }) } +Traceback (most recent call last): + File "/app/app.py", line 1076, 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: 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 1384443 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 19557 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(19857), return_data: None, inner_instructions: None }) } +2024-10-18 14:28:52 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 14:28:52 [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 1062, 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-18 16:03:09 [ERROR] Move Failed: +Could not find any route +2024-10-18 16:03:09 [ERROR] Could not find any route +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 1062, 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: Could not find any route +2024-10-18 16:03:09 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 16:03:09 [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 1062, 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-18 16:03:09 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 16:03:09 [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 1062, 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-18 20:14:12 [ERROR] Move Failed: +The read operation timed out +2024-10-18 20:14:12 [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 1065, 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 62, in argument_decorator - raise internal_exception_cls(exc, func, *args, **kwargs) from exc -solana.exceptions.SolanaRpcException -2024-10-10 13:17:33 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 15768 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16068), return_data: None, inner_instructions: None }) } -2024-10-10 13:17:33 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 15768 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16068), return_data: None, inner_instructions: None }) } + File "/app/app.py", line 1062, in follow_move + transaction_data = await jupiter.swap( + ^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.12/site-packages/jupiter_python_sdk/jupiter.py", line 695, in swap + transaction_data = httpx.post(url=self.ENDPOINT_APIS_URL['SWAP'], json=transaction_parameters).json() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/local/lib/python3.12/site-packages/httpx/_api.py", line 331, in post + 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-18 20:14:12 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-18 20:14:12 [ERROR] Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } Traceback (most recent call last): - File "/app/app.py", line 1065, 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: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 15768 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16068), return_data: None, inner_instructions: None }) } -2024-10-10 13:25:04 [ERROR] Swap Follow Error: -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-10 13:25:04 [ERROR] 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 }) } + 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 1065, 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 "/app/app.py", line 1062, 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-19 11:53:23 [ERROR] Move Failed: +The read operation timed out +2024-10-19 11:53:23 [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/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 }) } + 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 1062, 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 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-19 11:53:24 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-19 11:53:24 [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 1062, 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-19 11:53:24 [ERROR] Move Failed: +Query parameter amount cannot be parsed: ParseIntError { kind: InvalidDigit } +2024-10-19 11:53:24 [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 1062, 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 } diff --git a/crypto/sol/logs/token_info.json b/crypto/sol/logs/token_info.json index f39e369..2cf9161 100644 --- a/crypto/sol/logs/token_info.json +++ b/crypto/sol/logs/token_info.json @@ -1,362 +1,75 @@ { - "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB": { - "price": 0.007885, - "decimals": 9, - "name": "Kamala Horris", - "symbol": "KAMA", - "address": "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB", - "holdedAmount": 33500.0, - "priice": 0.007923 - }, - "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU": { - "price": 0.004041, - "decimals": 9, - "name": "BONGO CAT", - "symbol": "BONGO", - "address": "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU" - }, - "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK": { - "decimals": 6, - "name": "FATGF", - "symbol": "FATGF", - "address": "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK", - "holdedAmount": 30000.0, - "priice": 0.001662, - "price": 0.001539 - }, - "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam": { - "price": 0.005201, - "decimals": 6, - "name": "GOOFY", - "symbol": "GOOFY", - "address": "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam", - "holdedAmount": 4500.0, - "priice": 0.004851 - }, - "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o": { - "price": 0.008097, - "decimals": 9, - "name": "jeo boden", - "symbol": "boden", - "address": "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o", - "holdedAmount": 6400.0 - }, - "8NNXWrWVctNw1UFeaBypffimTdcLCcD8XJzHvYsmgwpF": { - "price": 0.02584, - "decimals": 6, - "name": "Brainlet", - "symbol": "BRAINLET", - "address": "8NNXWrWVctNw1UFeaBypffimTdcLCcD8XJzHvYsmgwpF", - "holdedAmount": 7380.54934 - }, - "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui": { - "price": 0.02995, - "decimals": 6, - "name": "Shark Cat", - "symbol": "SC", - "address": "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui", - "holdedAmount": 5000.0 - }, - "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw": { - "price": 0.002301, - "decimals": 8, - "name": "LandWolf", - "symbol": "WOLF", - "address": "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw", - "holdedAmount": 108000.0 - }, - "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6": { - "decimals": 6, - "name": "Biao Coin", - "symbol": "$BIAO", - "address": "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6", - "holdedAmount": 1650000.0 - }, - "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT": { - "decimals": 9, - "name": "Dallino", - "symbol": "Dall", - "address": "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT", - "holdedAmount": 708677.532051592, - "priice": 4.026e-06, - "price": 4.026e-06 - }, - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { - "price": 1.00028, - "decimals": 6, - "name": "USD Coin", - "symbol": "USDC", - "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "holdedAmount": 51.117694, - "priice": 1.00073 - }, - "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": { - "decimals": 9, - "name": "Ceiling Cat", - "symbol": "CEILINGCAT", - "address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j", - "holdedAmount": 511117.33566278, - "priice": 3.585e-06, - "price": 1.714e-09 - }, - "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump": { - "price": 0.001581, - "decimals": 6, - "name": "autism", - "symbol": "autism", - "address": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "holdedAmount": 71123.480231 - }, - "6cvrZWgEUkr82yKAmxp5cQu7wgYYBPULf16EUBp4pump": { - "price": 0.01385, - "decimals": 6, - "name": "Manifest", - "symbol": "MANIFEST", - "address": "6cvrZWgEUkr82yKAmxp5cQu7wgYYBPULf16EUBp4pump", - "holdedAmount": 12940.81255 - }, - "D8r8XTuCrUhLheWeGXSwC3G92RhASficV3YA7B2XWcLv": { - "price": 0.002363, - "holdedAmount": 66511.860358533, - "decimals": 9, - "name": "catwifbag", - "symbol": "BAG", - "address": "D8r8XTuCrUhLheWeGXSwC3G92RhASficV3YA7B2XWcLv" - }, - "2GPJhV9jNrj7TaLYMRgWkcy6sTKLcwntv7nZ7qDyMRGM": { - "price": 0.006397, - "decimals": 6, - "name": "Believe In Something", - "symbol": "bis", - "address": "2GPJhV9jNrj7TaLYMRgWkcy6sTKLcwntv7nZ7qDyMRGM", - "holdedAmount": 21000.0 - }, - "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA": { - "decimals": 6, - "name": "Fart Coin", - "symbol": "Fart", - "address": "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA", - "holdedAmount": 672875.569584 - }, - "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb": { - "decimals": 6, - "name": "Retardigrade", - "symbol": "TARD", - "address": "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb", - "holdedAmount": 176920.153819 - }, - "8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5": { - "price": 0.0721, - "decimals": 9, - "name": "LOCK IN", - "symbol": "LOCKIN", - "address": "8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5", - "holdedAmount": 3666.718751598 - }, - "fESbUKjuMY6jzDH9VP8cy4p3pu2q5W2rK2XghVfNseP": { - "price": 0.0004163, - "decimals": 6, - "name": "CatFrogDogShark", - "symbol": "SOLANA", - "address": "fESbUKjuMY6jzDH9VP8cy4p3pu2q5W2rK2XghVfNseP", - "holdedAmount": 211284.151827, - "priice": 0.0005751 - }, - "Av6qVigkb7USQyPXJkUvAEm4f599WTRvd75PUWBA9eNm": { - "price": 0.0107, - "decimals": 9, - "name": "Costco Hot Dog", - "symbol": "COST", - "address": "Av6qVigkb7USQyPXJkUvAEm4f599WTRvd75PUWBA9eNm", - "holdedAmount": 22669.168723884, - "priice": 0.008802 - }, - "69kdRLyP5DTRkpHraaSZAQbWmAwzF9guKjZfzMXzcbAs": { - "price": 2.147e-06, - "decimals": 6, - "name": "American Coin", - "symbol": "USA", - "address": "69kdRLyP5DTRkpHraaSZAQbWmAwzF9guKjZfzMXzcbAs", - "holdedAmount": 936370585.712574 - }, - "DEJiPKx5GActUtB6qUssreUxkhXtL4hTQAAJZ7Ccw8se": { - "price": 0.01023, - "decimals": 6, - "name": "Rawr", - "symbol": "XD", - "address": "DEJiPKx5GActUtB6qUssreUxkhXtL4hTQAAJZ7Ccw8se", - "holdedAmount": 31264.506258 - }, - "DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB": { - "price": 0.535598, - "decimals": 9, - "name": "Skibidi Toilet", - "symbol": "SKBDI", - "address": "DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB", - "holdedAmount": 669.212843132, - "priice": 0.3638 - }, - "dekNoN3D8mXa4JHLwTbVXz8aPAyJUkk443UjcSpJKi4": { - "price": 0.004308, - "decimals": 6, - "name": "peanie", - "symbol": "peanie", - "address": "dekNoN3D8mXa4JHLwTbVXz8aPAyJUkk443UjcSpJKi4", - "holdedAmount": 29097.22112, - "priice": 0.004563 - }, - "PzuaVAUH2tfxGZcbBR6kMxeJsBngnsPLFotGJNCtcsd": { - "price": 0.04829, - "decimals": 8, - "name": "ZynCoin (Wormhole)", - "symbol": "ZYN", - "address": "PzuaVAUH2tfxGZcbBR6kMxeJsBngnsPLFotGJNCtcsd", - "holdedAmount": 2424.00722783, - "priice": 0.0591 - }, - "So11111111111111111111111111111111111111112": { - "decimals": 9, - "name": "Wrapped SOL", - "symbol": "SOL", - "address": "So11111111111111111111111111111111111111112", - "priice": 142.85, - "price": 154.21 - }, - "4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og": { - "symbol": null, - "price": 0.0 - }, - "SOL": { - "symbol": null, - "price": 0.0 - }, - "UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z": { - "decimals": 6, - "name": "Unicorn", - "symbol": "UWU", - "address": "UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z", - "holdedAmount": 238181.964433, - "price": 0.001013 - }, - "GtDZKAqvMZMnti46ZewMiXCa4oXF4bZxwQPoKzXPFxZn": { - "decimals": 9, - "name": "nubcat", - "symbol": "nub", - "address": "GtDZKAqvMZMnti46ZewMiXCa4oXF4bZxwQPoKzXPFxZn", - "holdedAmount": 62626.296625781, - "price": 0.03326 - }, - "DtR4D9FtVoTX2569gaL837ZgrB6wNjj6tkmnX9Rdk9B2": { - "decimals": 6, - "name": "aura", - "symbol": "aura", - "address": "DtR4D9FtVoTX2569gaL837ZgrB6wNjj6tkmnX9Rdk9B2", - "holdedAmount": 9919.76735, - "price": 0.02653 - }, - "24gG4br5xFBRmxdqpgirtxgcr7BaWoErQfc2uyDp2Qhh": { - "decimals": 6, - "name": "NOSTALGIA", - "symbol": "NOS", - "address": "24gG4br5xFBRmxdqpgirtxgcr7BaWoErQfc2uyDp2Qhh", - "holdedAmount": 24367.98915, - "price": 0.00271846 - }, - "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm": { - "decimals": 6, - "name": "dogwifhat", - "symbol": "$WIF", - "address": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", - "holdedAmount": 0.00935, - "price": 2.39 - }, - "26KMQVgDUoB6rEfnJ51yAABWWJND8uMtpnQgsHQ64Udr": { - "decimals": 6, - "name": "SAD HAMSTER", - "symbol": "HAMMY", - "address": "26KMQVgDUoB6rEfnJ51yAABWWJND8uMtpnQgsHQ64Udr", - "holdedAmount": 1610.696945, - "price": 0.02781 - }, - "6yjNqPzTSanBWSa6dxVEgTjePXBrZ2FoHLDQwYwEsyM6": { - "decimals": 6, - "name": "Chudjak", - "symbol": "Chud", - "address": "6yjNqPzTSanBWSa6dxVEgTjePXBrZ2FoHLDQwYwEsyM6", - "holdedAmount": 4124.745134, - "price": 0.02795 - }, - "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump": { - "decimals": 6, - "name": "Banana Tape Wall", - "symbol": "BTW", - "address": "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump", - "holdedAmount": 53869.113034, - "price": 0.003814 - }, - "2JcXacFwt9mVAwBQ5nZkYwCyXQkRcdsYrDXn6hj22SbP": { - "decimals": 6, - "name": "mini", - "symbol": "mini", - "address": "2JcXacFwt9mVAwBQ5nZkYwCyXQkRcdsYrDXn6hj22SbP", - "holdedAmount": 3633.845994, - "price": 0.06975 - }, - "5Wd2ALxQfnpgQKCyH4WL9giBiiuuLuJs84CJxfQccvmN": { - "decimals": 6, - "name": "real fast", - "symbol": "speed", - "address": "5Wd2ALxQfnpgQKCyH4WL9giBiiuuLuJs84CJxfQccvmN", - "holdedAmount": 59475.003778, - "price": 0.005088 - }, - "BsTRFEVZhXbBuy5fhxbttuim8iwzXqMdRCfFftDAkkeu": { - "decimals": 6, - "name": "mao", - "symbol": "mao", - "address": "BsTRFEVZhXbBuy5fhxbttuim8iwzXqMdRCfFftDAkkeu", - "holdedAmount": 1313337.849751, - "price": 0.001587 - }, - "7EYnhQoR9YM3N7UoaKRoA44Uy8JeaZV3qyouov87awMs": { - "decimals": 9, - "name": "Silly Dragon", - "symbol": "SILLY", - "address": "7EYnhQoR9YM3N7UoaKRoA44Uy8JeaZV3qyouov87awMs", - "holdedAmount": 125575.793823971, - "price": 0.01472 - }, - "3ag1Mj9AKz9FAkCQ6gAEhpLSX8B2pUbPdkb9iBsDLZNB": { - "decimals": 9, - "name": "Honk", - "symbol": "HONK", - "address": "3ag1Mj9AKz9FAkCQ6gAEhpLSX8B2pUbPdkb9iBsDLZNB", - "holdedAmount": 51532.310973239, - "price": 0.005597 - }, - "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t": { - "decimals": 6, - "name": "reddit dog", - "symbol": "r/snoofi", - "address": "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t", - "holdedAmount": 118734.201549, - "price": 0.01307 - }, - "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU": { - "decimals": 9, - "name": "Zoomer", - "symbol": "ZOOMER", - "address": "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU", - "holdedAmount": 14933.802262203, - "price": 0.01624 - }, "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr": { "decimals": 9, "name": "POPCAT", "symbol": "POPCAT", "address": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr", "holdedAmount": 0.000847952, - "price": 1.35 + "price": 1.28 + }, + "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": { + "decimals": 6, + "name": "USDT", + "symbol": "USDT", + "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", + "holdedAmount": 0.060209, + "price": 0.9999 + }, + "AtTUzJVrPkBTXwiMZivVRKvWmCnVpRfnKq3cc5fopump": { + "decimals": 6, + "name": "Flying Spaghetti Monster", + "symbol": "CFSM", + "address": "AtTUzJVrPkBTXwiMZivVRKvWmCnVpRfnKq3cc5fopump", + "holdedAmount": 985305.676094, + "price": 0.0003888 + }, + "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump": { + "decimals": 6, + "name": "Banana Tape Wall", + "symbol": "BTW", + "address": "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump", + "holdedAmount": 108852.815531, + "price": 0.003109 + }, + "AMjzRn1TBQwQfNAjHFeBb7uGbbqbJB7FzXAnGgdFPk6K": { + "decimals": 6, + "name": "SolCex ", + "symbol": "SOLCEX", + "address": "AMjzRn1TBQwQfNAjHFeBb7uGbbqbJB7FzXAnGgdFPk6K", + "holdedAmount": 15750.954367, + "price": 0.01624444 + }, + "ukHH6c7mMyiWCf1b9pnWe25TSpkDDt3H5pQZgZ74J82": { + "decimals": 6, + "holdedAmount": 0.790596, + "name": "BOOK OF MEME", + "symbol": "BOME", + "address": "ukHH6c7mMyiWCf1b9pnWe25TSpkDDt3H5pQZgZ74J82", + "price": 0.009509 + }, + "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump": { + "decimals": 6, + "holdedAmount": 31502.0787, + "name": "autism", + "symbol": "autism", + "address": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", + "price": 0.01772 + }, + "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G": { + "decimals": 6, + "name": "KITTY AI", + "symbol": "KITTY", + "address": "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G", + "holdedAmount": 122472.468262, + "price": 0.00124522 + }, + "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP": { + "decimals": 9, + "name": "HARAMBE", + "symbol": "HARAMBE", + "address": "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP", + "holdedAmount": 8134.844656563, + "price": 0.03889 }, "ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN": { "decimals": 9, @@ -366,92 +79,353 @@ "holdedAmount": 99.0, "price": 0.0 }, - "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G": { + "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { "decimals": 6, - "name": "KITTY AI", - "symbol": "KITTY", - "address": "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G", - "holdedAmount": 129276.709668, - "price": 0.0009348 + "name": "USD Coin", + "symbol": "USDC", + "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "holdedAmount": 4294.469022, + "price": 0.999803 }, - "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP": { - "decimals": 9, - "name": "HARAMBE", - "symbol": "HARAMBE", - "address": "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP", - "holdedAmount": 64709.32823393, - "price": 0.04215 - }, - "5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump": { + "8sWKTMrh9bWUrvykK4H3jzEzGbEqvJNpS2f7joYKpump": { "decimals": 6, - "holdedAmount": 96454.077139, - "name": "Dollar", - "symbol": "DOLLAR", - "address": "5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump", - "price": 0.001738 + "name": "schizo", + "symbol": "schizo", + "address": "8sWKTMrh9bWUrvykK4H3jzEzGbEqvJNpS2f7joYKpump", + "holdedAmount": 65650.601969, + "price": 0.001543 }, - "6n7Janary9fqzxKaJVrhL9TG2F61VbAtwUMu1YZscaQS": { + "Bde151hvHepcj3DnkbdrXVBrTSTdeWj8kUEGU464V3Gm": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "Bde151hvHepcj3DnkbdrXVBrTSTdeWj8kUEGU464V3Gm", + "holdedAmount": 1.0, + "price": 0.0 + }, + "CemfE7uJXwtcYRPNeiYYA8Qb1zi9BcosKKGYpnUxJe2C": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "CemfE7uJXwtcYRPNeiYYA8Qb1zi9BcosKKGYpnUxJe2C", + "holdedAmount": 1.0, + "price": 0.0 + }, + "GWkoRofH6dT8evS9AUK9i2i5BDsJ38GR3PpS5nuYXxmH": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "GWkoRofH6dT8evS9AUK9i2i5BDsJ38GR3PpS5nuYXxmH", + "holdedAmount": 1.0, + "price": 0.0 + }, + "HtCqD3o5aF1RXcyGi6AW11PoB3bZmFdA8kvVyhJrpump": { "decimals": 6, - "holdedAmount": 165800.081237, - "name": "Ansem's Cat", - "symbol": "Hobbes", - "address": "6n7Janary9fqzxKaJVrhL9TG2F61VbAtwUMu1YZscaQS", - "price": 0.001806 - }, - "9jaZhJM6nMHTo4hY9DGabQ1HNuUWhJtm7js1fmKMVpkN": { - "decimals": 9, - "name": "AMC", - "symbol": "AMC", - "address": "9jaZhJM6nMHTo4hY9DGabQ1HNuUWhJtm7js1fmKMVpkN", - "holdedAmount": 151990.888522526, - "price": 0.001647 - }, - "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": { - "decimals": 6, - "name": "USDT", - "symbol": "USDT", - "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", - "holdedAmount": 0.060209, - "price": 0.9998 - }, - "8vCAUbxejdtaxn6jnX5uaQTyTZLmXALg9u1bvFCAjtx7": { - "decimals": 6, - "name": "ZACK MORRIS", - "symbol": "ZACK", - "address": "8vCAUbxejdtaxn6jnX5uaQTyTZLmXALg9u1bvFCAjtx7", - "holdedAmount": 7313.78243, - "price": 0.02023 - }, - "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp": { - "decimals": 6, - "name": "Roaring Kitty", - "symbol": "KITTY", - "address": "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp", - "holdedAmount": 228658.544423, - "price": 0.003091 - }, - "FtHCi9cxJSSizrzMzsPjAfTfJi32V1CGRDM5Skqn4QBF": { - "decimals": 6, - "name": "pixi", - "symbol": "pixi", - "address": "FtHCi9cxJSSizrzMzsPjAfTfJi32V1CGRDM5Skqn4QBF", - "holdedAmount": 211191.26677, - "price": 0.001234 - }, - "BuxH23osRyFFLbWG3czrTsfBQYbxzVZ8f7QV4cjTHN5x": { - "decimals": 6, - "name": "John", - "symbol": "JOHN", - "address": "BuxH23osRyFFLbWG3czrTsfBQYbxzVZ8f7QV4cjTHN5x", - "holdedAmount": 69195.568536, - "price": 0.004173 + "name": "GMika", + "symbol": "GMika", + "address": "HtCqD3o5aF1RXcyGi6AW11PoB3bZmFdA8kvVyhJrpump", + "holdedAmount": 23324.158022, + "price": 0.0008359 }, "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U": { "decimals": 6, "name": "George Droyd", "symbol": "FLOYDAI", "address": "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U", - "holdedAmount": 22523.013616, - "price": 0.007335 + "holdedAmount": 141822.576092, + "price": 0.003579 + }, + "4Jkgps86LveyVdAnMf6GTmPFS3hmVtmY2ukF3pbTuB5y": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "4Jkgps86LveyVdAnMf6GTmPFS3hmVtmY2ukF3pbTuB5y", + "holdedAmount": 1.0, + "price": 0.0 + }, + "CBt1xKt5wcfANwwAfy9h3fbScmSaiHjogbH1jWExhdrp": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "CBt1xKt5wcfANwwAfy9h3fbScmSaiHjogbH1jWExhdrp", + "holdedAmount": 1.0, + "price": 0.0 + }, + "5RyKJn7kU2fxQuUy5qj8ZH4RCZweVZY2GtuCgghbaXa5": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "5RyKJn7kU2fxQuUy5qj8ZH4RCZweVZY2GtuCgghbaXa5", + "holdedAmount": 1.0, + "price": 0.0 + }, + "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT": { + "decimals": 9, + "name": "Dallino", + "symbol": "Dall", + "address": "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT", + "holdedAmount": 708677.532051592, + "price": 4.026e-06 + }, + "F6E9Wpxgi5DjoqEMJQNTCgsXYUcuQfnsTJpqYZ1i71se": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "F6E9Wpxgi5DjoqEMJQNTCgsXYUcuQfnsTJpqYZ1i71se", + "holdedAmount": 1.0, + "price": 0.0 + }, + "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": { + "decimals": 9, + "name": "Ceiling Cat", + "symbol": "CEILINGCAT", + "address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j", + "holdedAmount": 511117.33566278, + "price": 0.0 + }, + "4JZppS73qUrwaUfrgAjTvAxrBTNWECsZAoPQT6YysXV1": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "4JZppS73qUrwaUfrgAjTvAxrBTNWECsZAoPQT6YysXV1", + "holdedAmount": 1.0, + "price": 0.0 + }, + "HHUa8DNs56B5BM5g18PDu58SxP4qMGSy9yimqDunAhfs": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "HHUa8DNs56B5BM5g18PDu58SxP4qMGSy9yimqDunAhfs", + "holdedAmount": 1.0, + "price": 0.0 + }, + "5URyE4xmxSF9KHB8Bm5S9VTJmXRgzH79Sp3ShM2iw6To": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "5URyE4xmxSF9KHB8Bm5S9VTJmXRgzH79Sp3ShM2iw6To", + "holdedAmount": 1.0, + "price": 0.0 + }, + "So11111111111111111111111111111111111111112": { + "decimals": 9, + "name": "Wrapped SOL", + "symbol": "SOL", + "address": "So11111111111111111111111111111111111111112", + "price": 156.64 + }, + "4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og": { + "symbol": null, + "price": 0.0 + }, + "SOL": { + "symbol": null, + "price": 0.0 + }, + "3eMtc3qcr7BEjyzdvY5sGNaibXKanZpm24EowXcex1yp": { + "decimals": 9, + "name": "Pee Pee", + "symbol": "PEEPEE", + "address": "3eMtc3qcr7BEjyzdvY5sGNaibXKanZpm24EowXcex1yp", + "holdedAmount": 15775.547496402, + "price": 0.003082 + }, + "9bxaVJmUwSc71j8Z2pvUL3UAr1s5fCnwUpvYhqV9jtmw": { + "decimals": 6, + "name": "Mewing Coin", + "symbol": "MEWING", + "address": "9bxaVJmUwSc71j8Z2pvUL3UAr1s5fCnwUpvYhqV9jtmw", + "holdedAmount": 1227917.446224, + "price": 0.002223 + }, + "AiQcnL5gPjEXVH1E1FGUdN1WhPz4qXAZfQJxpGrJpump": { + "decimals": 6, + "name": "khaokheowzoo", + "symbol": "kheowzoo", + "address": "AiQcnL5gPjEXVH1E1FGUdN1WhPz4qXAZfQJxpGrJpump", + "holdedAmount": 7000.0, + "price": 0.0175 + }, + "BEgBsVSKJSxreiCE1XmWWq8arnwit7xDqQXSWYgay9xP": { + "decimals": 6, + "name": "WOMAN YELLING AT CAT", + "symbol": "WYAC", + "address": "BEgBsVSKJSxreiCE1XmWWq8arnwit7xDqQXSWYgay9xP", + "holdedAmount": 9682.354772, + "price": 0.0316 + }, + "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump": { + "decimals": 6, + "name": "jerry", + "symbol": "jerry", + "address": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "holdedAmount": 135687.438948, + "price": 0.02321 + }, + "FkBF9u1upwEMUPxnXjcydxxVSxgr8f3k1YXbz7G7bmtA": { + "decimals": 6, + "name": "glorp", + "symbol": "glorp", + "address": "FkBF9u1upwEMUPxnXjcydxxVSxgr8f3k1YXbz7G7bmtA", + "holdedAmount": 331150.293776, + "price": 0.008747 + }, + "DnbPPxcziDpQsjXEAdBq6zJC54tqtXhmhbSYc6Qy7uvp": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "DnbPPxcziDpQsjXEAdBq6zJC54tqtXhmhbSYc6Qy7uvp", + "holdedAmount": 1.0, + "price": 0.0 + }, + "6ZrYhkwvoYE4QqzpdzJ7htEHwT2u2546EkTNJ7qepump": { + "decimals": 6, + "name": "nomnom", + "symbol": "nomnom", + "address": "6ZrYhkwvoYE4QqzpdzJ7htEHwT2u2546EkTNJ7qepump", + "holdedAmount": 5667.348477, + "price": 0.00801233 + }, + "67PDPxcgJo6tCrfb8oStAEfqdSNWh5RoCun3frYtg4my": { + "decimals": 9, + "holdedAmount": 2.062218393, + "symbol": null, + "price": 0.0 + }, + "33rVymHHPxfMvg4EHKBRF3h8a37cG7Et3eQWZzAkpump": { + "decimals": 6, + "name": "bro the cat", + "symbol": "bro", + "address": "33rVymHHPxfMvg4EHKBRF3h8a37cG7Et3eQWZzAkpump", + "holdedAmount": 6610.236137, + "price": 0.00586148 + }, + "2fUFhZyd47Mapv9wcfXh5gnQwFXtqcYu9xAN4THBpump": { + "decimals": 6, + "name": "REAL NIGGER TATE", + "symbol": "RNT", + "address": "2fUFhZyd47Mapv9wcfXh5gnQwFXtqcYu9xAN4THBpump", + "holdedAmount": 8409.701547, + "price": 0.02116558 + }, + "4YK1njyeCkBuXG6phNtidJWKCbBhB659iwGkUJx98P5Z": { + "decimals": 6, + "name": "Dolan Duck", + "symbol": "DOLAN", + "address": "4YK1njyeCkBuXG6phNtidJWKCbBhB659iwGkUJx98P5Z", + "holdedAmount": 98.404155, + "price": 0.8485 + }, + "8Nd3TZJfxt9yYKiPiPmYp6S5DhLftG3bwSqdW3KJwArb": { + "decimals": 6, + "name": "Spodermen", + "symbol": "Spoody", + "address": "8Nd3TZJfxt9yYKiPiPmYp6S5DhLftG3bwSqdW3KJwArb", + "holdedAmount": 146781.935831, + "price": 0.00166927 + }, + "3XxvmED354933DwSPJuzB7SE9uiWpD1ErydDuhmbFRMk": { + "decimals": 6, + "name": "doginthpool", + "symbol": "DIP", + "address": "3XxvmED354933DwSPJuzB7SE9uiWpD1ErydDuhmbFRMk", + "holdedAmount": 754903.229049, + "price": 0.004462 + }, + "G9b9Lt78x5JXhFLeDY4ZAfMkWWugnbsfKBR2qipJWXaT": { + "decimals": 9, + "name": "Gooby", + "symbol": "Gooby", + "address": "G9b9Lt78x5JXhFLeDY4ZAfMkWWugnbsfKBR2qipJWXaT", + "holdedAmount": 89226.093650384, + "price": 0.003219 + }, + "5yHXiLKyAQUWg8hUHUt69Wsh1VpACgyuP45R2FoK6psx": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "5yHXiLKyAQUWg8hUHUt69Wsh1VpACgyuP45R2FoK6psx", + "holdedAmount": 1.0, + "price": 0.0 + }, + "6Fb84TUdMNAVgwRinLeTgLov8dJnk5yhNt41Xq2a6s4c": { + "decimals": 9, + "name": "RIZZ", + "symbol": "RIZZ", + "address": "6Fb84TUdMNAVgwRinLeTgLov8dJnk5yhNt41Xq2a6s4c", + "holdedAmount": 56106.968899379, + "price": 0.002977 + }, + "4h8LjZWUfUQVgbEZ29UzTuGXNW6rwrJis78ZU66ekkPV": { + "decimals": 9, + "name": "Donald Trump", + "symbol": "TRUMP", + "address": "4h8LjZWUfUQVgbEZ29UzTuGXNW6rwrJis78ZU66ekkPV", + "holdedAmount": 64929.596410942, + "price": 0.006575 + }, + "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump": { + "decimals": 6, + "name": "Goatseus Maximus", + "symbol": "GOAT", + "address": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "holdedAmount": 764.443989, + "price": 0.415118 + }, + "H7ed7UgcLp3ax4X1CQ5WuWDn6d1pprfMMYiv5ejwLWWU": { + "decimals": 6, + "name": "CHONKY", + "symbol": "CHONKY", + "address": "H7ed7UgcLp3ax4X1CQ5WuWDn6d1pprfMMYiv5ejwLWWU", + "holdedAmount": 4574249.855977, + "price": 3.419e-05 + }, + "2kATD4v94ahnHyB8rHywAdLUwWAWAiDq9heMqmVEpump": { + "decimals": 6, + "name": "BOPPY", + "symbol": "BOPPY", + "address": "2kATD4v94ahnHyB8rHywAdLUwWAWAiDq9heMqmVEpump", + "holdedAmount": 2212115.910334, + "price": 0.001455 + }, + "GQxrVxTHRvJ85gW9VpQdxURvD1NbkWkAVqa93CEMJYrC": { + "decimals": 0, + "name": "Raydium Concentrated Liquidity", + "symbol": "RCL", + "address": "GQxrVxTHRvJ85gW9VpQdxURvD1NbkWkAVqa93CEMJYrC", + "holdedAmount": 1.0, + "price": 0.0 + }, + "CFyaDC9yjmE71wYw633HavRN3VQ3aq37sYujARR1pump": { + "decimals": 6, + "name": "Cafe", + "symbol": "CAFE", + "address": "CFyaDC9yjmE71wYw633HavRN3VQ3aq37sYujARR1pump", + "holdedAmount": 27892.002331, + "price": 0.007016 + }, + "BvSyXBvy76mUgzLSbvvT4NQw5rSM4P5zAsdnvqUJpump": { + "decimals": 6, + "name": "DOGE on Solana", + "symbol": "SDOGE", + "address": "BvSyXBvy76mUgzLSbvvT4NQw5rSM4P5zAsdnvqUJpump", + "holdedAmount": 8723.283246, + "price": 0.00517582 + }, + "7G5DM7Jy7TMWKgH313tA3vF6AqHpbHP4TWZzpTVLWv9c": { + "decimals": 6, + "name": "Restore The Republic", + "symbol": "RTR", + "address": "7G5DM7Jy7TMWKgH313tA3vF6AqHpbHP4TWZzpTVLWv9c", + "holdedAmount": 310088.820713, + "price": 0.01066 + }, + "6DSqVXg9WLTWgz6LACqxN757QdHe1sCqkUfojWmxWtok": { + "decimals": 7, + "name": "Solanacorn", + "symbol": "CORN", + "address": "6DSqVXg9WLTWgz6LACqxN757QdHe1sCqkUfojWmxWtok", + "holdedAmount": 57888969.2777705, + "price": 6.136e-06 } } \ No newline at end of file diff --git a/crypto/sol/logs/token_info.json.bak b/crypto/sol/logs/token_info.json.bak deleted file mode 100644 index 5a9d110..0000000 --- a/crypto/sol/logs/token_info.json.bak +++ /dev/null @@ -1,179 +0,0 @@ -{ - "9jca8QgA8b95FTSSANzp54LPmsSoqPijnhMsqgghAQTP": { - "decimals": 6, - "name": "Throne PePe", - "symbol": "TEPE", - "address": "9jca8QgA8b95FTSSANzp54LPmsSoqPijnhMsqgghAQTP", - "holdedAmount": 2000.0 - }, - "TyHkZNXAvRCLfNrXp83zMYTSe4V3fkX2ZE1jNX2sjV1": { - "decimals": 9, - "name": "ICECAT", - "symbol": "ICECAT", - "address": "TyHkZNXAvRCLfNrXp83zMYTSe4V3fkX2ZE1jNX2sjV1", - "holdedAmount": 555.0 - }, - "GoRnxWR5h4HMYAbCWhfPxsTF6N27jTRkBDFpAsvLpump": { - "decimals": 6, - "name": "KING SUGAR GLIDER", - "symbol": "KSG", - "address": "GoRnxWR5h4HMYAbCWhfPxsTF6N27jTRkBDFpAsvLpump", - "holdedAmount": 2000.0 - }, - "AcV2T3mwLUqMiiqcsafVm35zwPQkmLrfRtaW3716Fzvi": { - "decimals": 6, - "name": "rexwifhat", - "symbol": "REXHAT", - "address": "AcV2T3mwLUqMiiqcsafVm35zwPQkmLrfRtaW3716Fzvi", - "holdedAmount": 1000.0 - }, - "jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL": { - "decimals": 9, - "name": "JITO", - "symbol": "JTO", - "address": "jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL", - "holdedAmount": 0.002967742 - }, - "BuNthH8oEupwa3HUHNiTgfvvdSMgk3uAHyJMmMuGUAEK": { - "decimals": 6, - "holdedAmount": 85000.0 - }, - "DTEqTxxGFn3SZ4C8tNP35X8iegCCgCBrX974WFSuYVZh": { - "decimals": 9, - "holdedAmount": 136.0 - }, - "5qd7F8VLHiLWwx13UbxU5v5hPKCSSXYEE5pSjkYr7ytp": { - "decimals": 9, - "name": "KEVO", - "symbol": "KEVO", - "address": "5qd7F8VLHiLWwx13UbxU5v5hPKCSSXYEE5pSjkYr7ytp", - "holdedAmount": 297.0 - }, - "BrMXXZ5PkyAQpyWNT8AGjK8s3EVUQkGjS5rsCAXQQHVj": { - "decimals": 9, - "name": "BONANO", - "symbol": "BONANO", - "address": "BrMXXZ5PkyAQpyWNT8AGjK8s3EVUQkGjS5rsCAXQQHVj", - "holdedAmount": 333.0 - }, - "C2DbRWaoDJKMgegEKQuYCnViM9VdhrVR6FptPLm6stY7": { - "decimals": 9, - "name": "Trump PePe", - "symbol": "TRUPE", - "address": "C2DbRWaoDJKMgegEKQuYCnViM9VdhrVR6FptPLm6stY7", - "holdedAmount": 32000.0 - }, - "9HvM3nS2eDKWxNvi8vSFXRhHA1xhDW33rt4ZA1bE1DbV": { - "decimals": 9, - "name": "Relend", - "symbol": "REL", - "address": "9HvM3nS2eDKWxNvi8vSFXRhHA1xhDW33rt4ZA1bE1DbV", - "holdedAmount": 100.0 - }, - "3UfknvCm4No13GHBPwNvXqJt9kroZcPv3psWswqpzixt": { - "decimals": 6, - "name": "Turtle Pepe", - "symbol": "TUPE", - "address": "3UfknvCm4No13GHBPwNvXqJt9kroZcPv3psWswqpzixt", - "holdedAmount": 2000.0 - }, - "217onbknQpFVEpyTCknieq3KVE8a9o4R7WhQGN4opQck": { - "decimals": 9, - "name": "MOCHO", - "symbol": "MOCHO", - "address": "217onbknQpFVEpyTCknieq3KVE8a9o4R7WhQGN4opQck", - "holdedAmount": 198.0 - }, - "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o": { - "decimals": 9, - "name": "jeo boden", - "symbol": "boden", - "address": "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o", - "holdedAmount": 1000.0 - }, - "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6": { - "decimals": 6, - "name": "Biao Coin", - "symbol": "$BIAO", - "address": "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6", - "holdedAmount": 1061644.458127 - }, - "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw": { - "decimals": 8, - "name": "LandWolf", - "symbol": "WOLF", - "address": "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw", - "holdedAmount": 5000.0 - }, - "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT": { - "decimals": 9, - "name": "Dallino", - "symbol": "Dall", - "address": "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT", - "holdedAmount": 708677.532051592 - }, - "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui": { - "decimals": 6, - "name": "Shark Cat", - "symbol": "SC", - "address": "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui", - "holdedAmount": 5000.0 - }, - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { - "price": 1.00058, - "decimals": 6, - "name": "USD Coin", - "symbol": "USDC", - "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "holdedAmount": 21.023377 - }, - "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam": { - "decimals": 6, - "name": "GOOFY", - "symbol": "GOOFY", - "address": "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam", - "holdedAmount": 1936.132216 - }, - "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK": { - "decimals": 6, - "name": "FATGF", - "symbol": "FATGF", - "address": "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK", - "holdedAmount": 138268.428197 - }, - "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": { - "decimals": 9, - "name": "Ceiling Cat", - "symbol": "CEILINGCAT", - "address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j", - "holdedAmount": 398526.085798546 - }, - "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB": { - "decimals": 9, - "name": "Kamala Horris", - "symbol": "KAMA", - "address": "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB", - "holdedAmount": 33733.684394767 - }, - "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb": { - "decimals": 6, - "name": "Retardigrade", - "symbol": "TARD", - "address": "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb", - "holdedAmount": 176920.153819 - }, - "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA": { - "decimals": 6, - "name": "Fart Coin", - "symbol": "Fart", - "address": "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA", - "holdedAmount": 672875.569584 - }, - "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU": { - "price": 0.003448, - "decimals": 9, - "name": "BONGO CAT", - "symbol": "BONGO", - "address": "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU" - } -} \ No newline at end of file diff --git a/crypto/sol/logs/transation_details.json b/crypto/sol/logs/transation_details.json index e81438e..6d362dd 100644 --- a/crypto/sol/logs/transation_details.json +++ b/crypto/sol/logs/transation_details.json @@ -1,9 +1,9 @@ { - "blockTime": 1728503778, + "blockTime": 1729370256, "meta": { - "computeUnitsConsumed": 199814, + "computeUnitsConsumed": 229282, "err": null, - "fee": 50768, + "fee": 272438, "innerInstructions": [ { "index": 2, @@ -11,10 +11,10 @@ { "parsed": { "info": { - "amount": "1472797965", + "amount": "135687438948", "authority": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "destination": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "source": "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9" + "destination": "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", + "source": "5EgYLqzhdnnxC9N5jEibpz5KCxvNbFNrXmyXsBSQhdLu" }, "type": "transfer" }, @@ -22,153 +22,37 @@ "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "stackHeight": 2 }, - { - "accounts": [ - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "9iFER3bpjf1PTTCQCfTRu17EJgvsxo9pVyA9QWwEuX4x", - "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz", - "3MsJXVvievxAbsMsaT6TS4i6oMitD9jazucuq3X234tC", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "GEDtZyxPBSgD76c9W7gNjqxE5e9js5Nw15vxWNB6EmTR", - "DoPuiZfJu7sypqwR4eiU7C5TMcmmiFoU4HaF5SoD8mRy", - "9M7A2aPd5iyvH9s7xGweMZoVFK6m7euUf455CnAtUhrQ", - "2ZWDJrXcMi4C3HAH9GMNSUtpcQ1eZkR4ugzoYm58ucaq" - ], - "data": "wZRp7wZ3cztArCtxsmTB9qc3S228n2VY6Q5EtJnstmYP2ZpLvgE7nHur", - "programId": "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "736398982", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "source": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "5226870648", - "authority": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "destination": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "source": "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvi1xPm726vLbPnsuyPY5Jr6BfJygEDcWLKrWxu3qzgfNTG7HkS8xcYNcpMebZxzVcQiGc8rAcDCUqdSsP7uj3aESfxsaWPgbBXfy7VH8NSGpXTbD4dznrPRpV6n5warMGz52V1aVHWJK5srhUyT3FxnmvP", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, - { - "accounts": [ - "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR", - "B8a4RCvFaG9AFsatCZLpGLkbCPytyr9K6jSZWLQZDjg1", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" - ], - "data": "1AMTAauCh9UPEJKHSVJyEuoUGC9VRhQ927JyER2jXd7GgCDAnbNFyzRZx5XYNrfumnX8JCstqM", - "programId": "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "5227500000", - "authority": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "destination": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "source": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "736388349", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "source": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR" - ], - "data": "9brv5aHdgab37U3mfMib3rJ7npUjK7PGuzGpqp3G9c39Hx5oAAFqbG68eYa55mpkgG9vdRPJy6W8Zf4C9ZD2qdMbb8BYr3Nqj7NvBCU2YKNpJ76ABJXKwJ6wZEgWYVx73owSYS2miyCdrSmpXZaiAirG6MUBXttkMPKr8NFiJutQPMUgYQbAhx6PCYyrSc3Xt8WZbkBesD2B2P8qX8KtYqDE1j7AXgnDoQj2eXhkXxTZ2gSeJAm49wQtCkFvLrbQSgFAvdyU1M6jinr9cWM4B", - "programId": "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvByRXZbTme1qDxf1F3AKLUXRXgSbHSGSyxqbH3GFRxnJ6SVB39MxAtu4iRaTJwgcDLeiToZ2svgbbCzgANxJtg5aaEU8VibzkFtcXb1bWy1kKF2n66ppwknARAf6B6T1sQEG22VBn7UPzRXn5Ry8LZn9Q3", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, { "accounts": [ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ" + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH", + "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", + "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps" ], - "data": "66Ny9zLb8tU6fX1NnqGb3fV", + "data": "67rjNsNvLt3dEznWLnAkZ99", "programId": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", "stackHeight": 2 }, { "parsed": { "info": { - "amount": "10454370648", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "source": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX" + "amount": "135687438948", + "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "destination": "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", + "source": "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ" }, "type": "transfer" }, @@ -179,10 +63,10 @@ { "parsed": { "info": { - "amount": "918823431070", + "amount": "19699563499", "authority": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "destination": "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "source": "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP" + "destination": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "source": "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH" }, "type": "transfer" }, @@ -194,17 +78,154 @@ "accounts": [ "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" ], - "data": "QMqFu4fYGGeUEysFnenhAvR83g86EDDNxzUskfkWKYCBPWe1hqgD6jgKAXr6aYoEQaxoqYMTvWgPVk2AHWGHjdbNiNtoaPfZA4znu6cRUSWSeMTcRcyjtBXbLh5AWS6uv9zFRELsytGC4gsQqmqKt4hLowL1w8EsrqaZE8SJ4Csi82b", + "data": "QMqFu4fYGGeUEysFnenhAvR83g86EDDNxzUskfkWKYCBPWe1hqgD6jgKAXr6aYoEQdKxRyfvWPtKnX8gb8XNQ2rSYYhzbKZMeCJSqTLaNUW8nLHX3u1Y1zYg8YPCDTZkJoqcZ1K4HgX5tsXTgC8z7v5DxaV1JAkDhTWcR69JC8QjDpB", + "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", + "stackHeight": 2 + }, + { + "accounts": [ + "5nmAbnjJfW1skrPvYjLTBNdhoKzJfznnbvDcM8G2U7Ki", + "DbuvwPuLvH8uy2B1sKuu18aCd2QpCvfZdfDtdRZztBd2", + "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", + "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", + "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + ], + "data": "nSSmyzX5ckhnvCveMo8R4RzUBSEUvVju", + "programId": "DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm", + "stackHeight": 2 + }, + { + "parsed": { + "info": { + "amount": "1772960714", + "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "destination": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", + "source": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "17729", + "authority": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "destination": "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", + "source": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "17729", + "authority": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "destination": "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", + "source": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "277708348", + "authority": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "destination": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "source": "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "accounts": [ + "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" + ], + "data": "QMqFu4fYGGeUEysFnenhAvm1QLkN2NcvQDGitH3S9aWQZut458beSW6EGz57W7yoMBHRsA8CX9JVMXkmSB5Jmc3KXmL5AQujfLpL8n5m8drJLCNtNqiwiYUHHuXxqGVjs4xA5jYnW3qDo3hS1kC1fuH1A5WRU277iMeEzEBup2yZeJK", + "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", + "stackHeight": 2 + }, + { + "accounts": [ + "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "So11111111111111111111111111111111111111112", + "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", + "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS", + "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "FpCMFDFGYotvufJ7HrFHsWEiiQCGbkLCtwHiDnh7o28Q", + "39cWjvHrpHNz2SbXv6ME4NPhqBDBd4KsjUYv5JkHEAJU", + "A28T5pKtscnhDo6C1Sz786Tup88aTjt8uyKewjVvPrGk", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + ], + "data": "2j6vnwYDURn8zYDec6vYXYVNApMo4J5SMtT", + "programId": "obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y", + "stackHeight": 2 + }, + { + "parsed": { + "info": { + "amount": "17926602785", + "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "destination": "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", + "source": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "2809872941", + "authority": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "destination": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "source": "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "accounts": [ + "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" + ], + "data": "QMqFu4fYGGeUEysFnenhAvD866YwW6jMndC6NeFLmgrgSsQrYzqQkLQZLriiyYAHU47xKZ9Dcp6oHcAMxjdC9NFJecmNYi1Ua1ZLQMxJVTMdjCPuzc9RysEFX1EdoHYUEwPn43kkpzLpRaWJPQDSQoeyWALKyUYyPq9X31wFz1Gez9u", "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "stackHeight": 2 }, { "parsed": { "info": { - "amount": "918823431070", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "Arx7KZvrULCC7xtwBuC25eNHycRvEvDhpjULW84PAjkc", - "source": "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17" + "amount": "3087581289", + "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "destination": "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9", + "source": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p" }, "type": "transfer" }, @@ -224,120 +245,143 @@ "Program log: Instruction: SharedAccountsRoute", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 257869 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 269746 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK invoke [2]", - "Program log: Instruction: Swap", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 194868 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 187087 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program data: QMbN6CYIceJ05wCcEx+FajBi2hyyXuwbtRiRc1/fR1bb/Xwn9WYvgOL4d+g9rsaIj0Orta57MRu3jDSWCJf85ae4LBbiD/GXCgUkQaFYTleMcAX2p74eBXQZd1dwDyQZAPJfSv2KGc65ha48uggePWu090s1ff4yoCjAvULeZ+cqYFn+Adk5TXi3izcBAAAAAAAAAAAAAACGjuQrAAAAAAAAAAAAAAAAABR3SjrByhZgAAAAAAAAAADL2eo2hBMAAAAAAAAAAAAAcLP//w==", - "Program CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK consumed 69192 of 244966 compute units", - "Program CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 173360 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY invoke [2]", - "Program log: Discriminant for phoenix::program::accounts::MarketHeader is 8167313896524341111", - "Program log: PhoenixInstruction::Swap", - "Program consumption: 160454 units remaining", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 143820 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 136412 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program log: Sending batch 1 with header and 2 market events, total events sent: 2", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY invoke [3]", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY consumed 582 of 129284 compute units", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY success", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY consumed 37271 of 165435 compute units", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 125887 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", - "Program log: ray_log: A1gJIW8CAAAAAAAAAAAAAAACAAAAAAAAAH/FeaUCAAAAPGuhWawAAACINcSPJzwAAJ7rJO7VAAAA", + "Program log: ray_log: A2QCmpcfAAAAAAAAAAAAAAABAAAAAAAAAGQCmpcfAAAAZympXq8BAABGE8FDdAsAAOt7L5YEAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 99289 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 238743 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 91572 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 231117 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30505 of 116577 compute units", + "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30544 of 256071 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 83698 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 223153 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", + "Program DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm invoke [2]", + "Program log: Instruction: SwapExactAmountIn", + "Program log: spot_price_before: 6380141620", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 174671 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 166861 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 159047 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 151237 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program log: spot_price_after: 6387092270", + "Program data: epA/8uRAfjMUAAAAc3dhcF9leGFjdF9hbW91bnRfaW67Pda2pnGc3R0WktKvNfpBJorRv4iVoUOTn784IlhxGZC0AgAAAAAAQUUAAAAAAABBRQAAAAAAAAabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAAByjutaQAAAADG+nrzvtutOj1l82qryXQxsbvkwtL24OR8pgIDRS9dYQAAAAAAAAAAPH6NEAAAAAC/ruDlsUNzsrGkXPmLV+PXjvStXdroTGadLDrI+4eL85AYFGcAAAAAWfzkzCgBAACna529dgAAADoPX2j2AgAAAAAAAAAAAAAAAAAAAAAAAA==", + "Program DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm consumed 79055 of 215432 compute units", + "Program DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm success", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 134068 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", + "Program obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y invoke [2]", + "Program log: Instruction: Swap", + "Program log: mult_x: 1567750", + "Program log: mult_y: 9998000", + "Program log: price_x: 1567750", + "Program log: price_y: 9998", + "Program log: x_deci_mult: 1", + "Program log: y_deci_mult: 1000", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 85760 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 78148 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y consumed 57706 of 126402 compute units", + "Program obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y success", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 66354 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 79420 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 62068 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 199514 of 272967 compute units", - "Program return: JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 nusk7tUAAAA=", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 228982 of 285063 compute units", + "Program return: JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 acAIuAAAAAA=", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success" ], "postBalances": [ - 111482235, - 913824579, - 72161280, - 72161280, + 150810460, 2039280, + 1595646365, + 4071418815, 2039280, - 2039980, - 72161280, + 2039580, 2039280, 1, 1141440, - 12987650220, 0, - 1630118769, + 22803197600, + 1833021524844, 6124800, 2039280, - 750694535812, - 32092760, - 8858422880888, - 2039480, - 12637321, - 13641700, - 1619397520, - 2803827439280, 2039280, + 2065498388779, + 5526240, + 7735877, + 2039280, + 3897600, + 1490281913, + 12214579783, + 3257338309930, + 625164728406, 934087680, - 5660915817, - 1141440, - 1705400, + 6161017923, 1141440, 1141440, - 0, - 319178288692 + 2862060, + 2860560, + 319181599414, + 2505600, + 1398960, + 0 ], "postTokenBalances": [ { "accountIndex": 1, - "mint": "So11111111111111111111111111111111111111112", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", + "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "911784999", + "amount": "0", + "decimals": 6, + "uiAmount": null, + "uiAmountString": "0" + } + }, + { + "accountIndex": 2, + "mint": "So11111111111111111111111111111111111111112", + "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1593606885", "decimals": 9, - "uiAmount": 0.911784999, - "uiAmountString": "0.911784999" + "uiAmount": 1.593606885, + "uiAmountString": "1.593606885" } }, { "accountIndex": 4, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", + "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { "amount": "0", @@ -348,165 +392,190 @@ }, { "accountIndex": 5, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "918823431070", + "amount": "1856498", "decimals": 6, - "uiAmount": 918823.43107, - "uiAmountString": "918823.43107" + "uiAmount": 1.856498, + "uiAmountString": "1.856498" } }, { "accountIndex": 6, "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "47774480", - "decimals": 6, - "uiAmount": 47.77448, - "uiAmountString": "47.77448" - } - }, - { - "accountIndex": 8, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "0", + "amount": "6382050311", "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" + "uiAmount": 6382.050311, + "uiAmountString": "6382.050311" + } + }, + { + "accountIndex": 11, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1833019485564", + "decimals": 9, + "uiAmount": 1833.019485564, + "uiAmountString": "1833.019485564" + } + }, + { + "accountIndex": 13, + "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "12729668277674", + "decimals": 6, + "uiAmount": 12729668.277674, + "uiAmountString": "12729668.277674" + } + }, + { + "accountIndex": 14, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "216551636626", + "decimals": 6, + "uiAmount": 216551.636626, + "uiAmountString": "216551.636626" } }, { "accountIndex": 15, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "65221789960682", - "decimals": 6, - "uiAmount": 65221789.960682, - "uiAmountString": "65221789.960682" - } - }, - { - "accountIndex": 16, "mint": "So11111111111111111111111111111111111111112", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "750692496532", + "amount": "2065496349499", "decimals": 9, - "uiAmount": 750.692496532, - "uiAmountString": "750.692496532" + "uiAmount": 2065.496349499, + "uiAmountString": "2065.496349499" } }, { "accountIndex": 18, - "mint": "So11111111111111111111111111111111111111112", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "8858420841408", - "decimals": 9, - "uiAmount": 8858.420841408, - "uiAmountString": "8858.420841408" - } - }, - { - "accountIndex": 19, "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", + "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "458956452692", + "amount": "509987358567", "decimals": 6, - "uiAmount": 458956.452692, - "uiAmountString": "458956.452692" + "uiAmount": 509987.358567, + "uiAmountString": "509987.358567" } }, { - "accountIndex": 23, + "accountIndex": 20, "mint": "So11111111111111111111111111111111111111112", - "owner": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", + "owner": "45ruCyfdRkWpRNGEqWzjCiXRHkZs8WXCLQ67Pnpye7Hp", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "2803825400000", + "amount": "1488242533", "decimals": 9, - "uiAmount": 2803.8254, - "uiAmountString": "2803.8254" + "uiAmount": 1.488242533, + "uiAmountString": "1.488242533" } }, { - "accountIndex": 24, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", + "accountIndex": 21, + "mint": "So11111111111111111111111111111111111111112", + "owner": "ATowQwFzdJBJ9VFSfoNKmuB8GiSeo8foM5vRriwmKmFB", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "78980271970", - "decimals": 6, - "uiAmount": 78980.27197, - "uiAmountString": "78980.27197" + "amount": "12212540403", + "decimals": 9, + "uiAmount": 12.212540403, + "uiAmountString": "12.212540403" + } + }, + { + "accountIndex": 22, + "mint": "So11111111111111111111111111111111111111112", + "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "3257336270650", + "decimals": 9, + "uiAmount": 3257.33627065, + "uiAmountString": "3257.33627065" } } ], "preBalances": [ - 111533003, - 913824579, - 72161280, - 72161280, + 151082898, 2039280, + 1595646365, + 4071418815, 2039280, - 2039980, - 72161280, + 2039580, 2039280, 1, 1141440, - 12987650220, 0, - 1630118769, + 22803197600, + 1852721088343, 6124800, 2039280, - 740240165164, - 32092760, - 8863649751536, - 2039480, - 12637321, - 13641700, - 1619397520, - 2809054939280, 2039280, + 2047571785994, + 5526240, + 7735877, + 2039280, + 3897600, + 1490264184, + 12214562054, + 3255565384674, + 625164728406, 934087680, - 5660915817, - 1141440, - 1705400, + 6161017923, 1141440, 1141440, - 0, - 319178288692 + 2862060, + 2860560, + 319181599414, + 2505600, + 1398960, + 0 ], "preTokenBalances": [ { "accountIndex": 1, - "mint": "So11111111111111111111111111111111111111112", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", + "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "911784999", + "amount": "135687438948", + "decimals": 6, + "uiAmount": 135687.438948, + "uiAmountString": "135687.438948" + } + }, + { + "accountIndex": 2, + "mint": "So11111111111111111111111111111111111111112", + "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1593606885", "decimals": 9, - "uiAmount": 0.911784999, - "uiAmountString": "0.911784999" + "uiAmount": 1.593606885, + "uiAmountString": "1.593606885" } }, { "accountIndex": 4, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", + "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { "amount": "0", @@ -517,116 +586,128 @@ }, { "accountIndex": 5, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "0", + "amount": "1856498", "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" + "uiAmount": 1.856498, + "uiAmountString": "1.856498" } }, { "accountIndex": 6, "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "47763846", - "decimals": 6, - "uiAmount": 47.763846, - "uiAmountString": "47.763846" - } - }, - { - "accountIndex": 8, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "1472797965", + "amount": "3294469022", "decimals": 6, - "uiAmount": 1472.797965, - "uiAmountString": "1472.797965" + "uiAmount": 3294.469022, + "uiAmountString": "3294.469022" + } + }, + { + "accountIndex": 11, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1852719049063", + "decimals": 9, + "uiAmount": 1852.719049063, + "uiAmountString": "1852.719049063" + } + }, + { + "accountIndex": 13, + "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "12593980838726", + "decimals": 6, + "uiAmount": 12593980.838726, + "uiAmountString": "12593980.838726" + } + }, + { + "accountIndex": 14, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "219361509567", + "decimals": 6, + "uiAmount": 219361.509567, + "uiAmountString": "219361.509567" } }, { "accountIndex": 15, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "66140613391752", - "decimals": 6, - "uiAmount": 66140613.391752, - "uiAmountString": "66140613.391752" - } - }, - { - "accountIndex": 16, "mint": "So11111111111111111111111111111111111111112", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "740238125884", + "amount": "2047569746714", "decimals": 9, - "uiAmount": 740.238125884, - "uiAmountString": "740.238125884" + "uiAmount": 2047.569746714, + "uiAmountString": "2047.569746714" } }, { "accountIndex": 18, - "mint": "So11111111111111111111111111111111111111112", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "8863647712056", - "decimals": 9, - "uiAmount": 8863.647712056, - "uiAmountString": "8863.647712056" - } - }, - { - "accountIndex": 19, "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", + "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "458220053710", + "amount": "510265066915", "decimals": 6, - "uiAmount": 458220.05371, - "uiAmountString": "458220.05371" + "uiAmount": 510265.066915, + "uiAmountString": "510265.066915" } }, { - "accountIndex": 23, + "accountIndex": 20, "mint": "So11111111111111111111111111111111111111112", - "owner": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", + "owner": "45ruCyfdRkWpRNGEqWzjCiXRHkZs8WXCLQ67Pnpye7Hp", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "2809052900000", + "amount": "1488224804", "decimals": 9, - "uiAmount": 2809.0529, - "uiAmountString": "2809.0529" + "uiAmount": 1.488224804, + "uiAmountString": "1.488224804" } }, { - "accountIndex": 24, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", + "accountIndex": 21, + "mint": "So11111111111111111111111111111111111111112", + "owner": "ATowQwFzdJBJ9VFSfoNKmuB8GiSeo8foM5vRriwmKmFB", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "78243883621", - "decimals": 6, - "uiAmount": 78243.883621, - "uiAmountString": "78243.883621" + "amount": "12212522674", + "decimals": 9, + "uiAmount": 12.212522674, + "uiAmountString": "12.212522674" + } + }, + { + "accountIndex": 22, + "mint": "So11111111111111111111111111111111111111112", + "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "3255563345394", + "decimals": 9, + "uiAmount": 3255.563345394, + "uiAmountString": "3255.563345394" } } ], "returnData": { "data": [ - "nusk7tUAAAA=", + "acAIuAAAAAA=", "base64" ], "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4" @@ -636,7 +717,7 @@ "Ok": null } }, - "slot": 294680717, + "slot": 296559532, "transaction": { "message": { "accountKeys": [ @@ -647,43 +728,31 @@ "writable": true }, { - "pubkey": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", + "pubkey": "5EgYLqzhdnnxC9N5jEibpz5KCxvNbFNrXmyXsBSQhdLu", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "2ZWDJrXcMi4C3HAH9GMNSUtpcQ1eZkR4ugzoYm58ucaq", + "pubkey": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "9M7A2aPd5iyvH9s7xGweMZoVFK6m7euUf455CnAtUhrQ", + "pubkey": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", + "pubkey": "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "Arx7KZvrULCC7xtwBuC25eNHycRvEvDhpjULW84PAjkc", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "GEDtZyxPBSgD76c9W7gNjqxE5e9js5Nw15vxWNB6EmTR", + "pubkey": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", "signer": false, "source": "transaction", "writable": true @@ -706,12 +775,6 @@ "source": "transaction", "writable": false }, - { - "pubkey": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "signer": false, - "source": "transaction", - "writable": false - }, { "pubkey": "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf", "signer": false, @@ -719,77 +782,89 @@ "writable": false }, { - "pubkey": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", + "pubkey": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", "signer": false, "source": "transaction", "writable": false }, { - "pubkey": "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", + "pubkey": "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP", + "pubkey": "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", + "pubkey": "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "3MsJXVvievxAbsMsaT6TS4i6oMitD9jazucuq3X234tC", + "pubkey": "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz", + "pubkey": "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", + "pubkey": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", + "pubkey": "FpCMFDFGYotvufJ7HrFHsWEiiQCGbkLCtwHiDnh7o28Q", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "DoPuiZfJu7sypqwR4eiU7C5TMcmmiFoU4HaF5SoD8mRy", + "pubkey": "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "B8a4RCvFaG9AFsatCZLpGLkbCPytyr9K6jSZWLQZDjg1", + "pubkey": "DbuvwPuLvH8uy2B1sKuu18aCd2QpCvfZdfDtdRZztBd2", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", + "pubkey": "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", + "pubkey": "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", "signer": false, "source": "lookupTable", "writable": true }, + { + "pubkey": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "So11111111111111111111111111111111111111112", + "signer": false, + "source": "lookupTable", + "writable": false + }, { "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "signer": false, @@ -809,25 +884,19 @@ "writable": false }, { - "pubkey": "9iFER3bpjf1PTTCQCfTRu17EJgvsxo9pVyA9QWwEuX4x", + "pubkey": "obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", + "pubkey": "39cWjvHrpHNz2SbXv6ME4NPhqBDBd4KsjUYv5JkHEAJU", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR", + "pubkey": "A28T5pKtscnhDo6C1Sz786Tup88aTjt8uyKewjVvPrGk", "signer": false, "source": "lookupTable", "writable": false @@ -837,130 +906,153 @@ "signer": false, "source": "lookupTable", "writable": false + }, + { + "pubkey": "5nmAbnjJfW1skrPvYjLTBNdhoKzJfznnbvDcM8G2U7Ki", + "signer": false, + "source": "lookupTable", + "writable": false + }, + { + "pubkey": "DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm", + "signer": false, + "source": "lookupTable", + "writable": false + }, + { + "pubkey": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "signer": false, + "source": "lookupTable", + "writable": false } ], "addressTableLookups": [ { - "accountKey": "DjSyTLWbWdAZktbXLKJ6DjFK6ceZtmMxQyfN7rXitN4Q", + "accountKey": "8TciyE47fbGtuKgSVXToYdyUDhSKFZeok2SRYxWEuV5N", "readonlyIndexes": [ - 2, + 1, + 4, 12, - 11 + 10 + ], + "writableIndexes": [ + 22, + 25, + 26 + ] + }, + { + "accountKey": "5EJQVP5pXBnEbuo4NKu8Lm7ckrUzGyKEggq11XAxM46z", + "readonlyIndexes": [ + 70, + 71, + 73, + 72 + ], + "writableIndexes": [ + 64, + 68, + 65, + 66 + ] + }, + { + "accountKey": "23iTfgGpQMxmeDhF4BcjW6D33UYG4Up25ttdc27vDD42", + "readonlyIndexes": [ + 20, + 16, + 51 ], "writableIndexes": [ - 53, 54, - 52 - ] - }, - { - "accountKey": "D6XNrxMsDoABJVVY5YyHxJuAB6WGzYCXpZeKyNtqu2v4", - "readonlyIndexes": [ - 94, - 101 - ], - "writableIndexes": [ - 95, - 92, - 102, - 93, - 97 - ] - }, - { - "accountKey": "FgyBbQtzGPpp6BDejtyfk8GVq9raFU5wmshcUxJrbDei", - "readonlyIndexes": [ - 55, - 53, - 13 - ], - "writableIndexes": [ - 57, - 58, - 54 + 56, + 35, + 34, + 50 ] } ], "instructions": [ { "accounts": [], - "data": "H2oghu", + "data": "JfxgNj", "programId": "ComputeBudget111111111111111111111111111111", "stackHeight": null }, { "accounts": [], - "data": "3PRKQjvfNz6K", + "data": "3re86GeZBWuu", "programId": "ComputeBudget111111111111111111111111111111", "stackHeight": null }, { "accounts": [ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", + "5EgYLqzhdnnxC9N5jEibpz5KCxvNbFNrXmyXsBSQhdLu", + "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", + "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "Arx7KZvrULCC7xtwBuC25eNHycRvEvDhpjULW84PAjkc", + "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf", "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "9iFER3bpjf1PTTCQCfTRu17EJgvsxo9pVyA9QWwEuX4x", - "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz", - "3MsJXVvievxAbsMsaT6TS4i6oMitD9jazucuq3X234tC", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "GEDtZyxPBSgD76c9W7gNjqxE5e9js5Nw15vxWNB6EmTR", - "DoPuiZfJu7sypqwR4eiU7C5TMcmmiFoU4HaF5SoD8mRy", - "9M7A2aPd5iyvH9s7xGweMZoVFK6m7euUf455CnAtUhrQ", - "2ZWDJrXcMi4C3HAH9GMNSUtpcQ1eZkR4ugzoYm58ucaq", - "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR", - "B8a4RCvFaG9AFsatCZLpGLkbCPytyr9K6jSZWLQZDjg1", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ" + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH", + "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", + "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm", + "5nmAbnjJfW1skrPvYjLTBNdhoKzJfznnbvDcM8G2U7Ki", + "DbuvwPuLvH8uy2B1sKuu18aCd2QpCvfZdfDtdRZztBd2", + "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", + "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", + "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y", + "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "So11111111111111111111111111111111111111112", + "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", + "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS", + "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "FpCMFDFGYotvufJ7HrFHsWEiiQCGbkLCtwHiDnh7o28Q", + "39cWjvHrpHNz2SbXv6ME4NPhqBDBd4KsjUYv5JkHEAJU", + "A28T5pKtscnhDo6C1Sz786Tup88aTjt8uyKewjVvPrGk", + "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" ], - "data": "5n9zLuyvSGkuf4iDD6QH6bG7drmr1kSMkZ3arXjoqbUbBWQujaFa31s51w8ts9", + "data": "5n9zLuyvSGkupnS6NLYGpStGcu3rak5jzHgpvUEbcWH8aiqSv1NAChf2i3fZ7u", "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "stackHeight": null } ], - "recentBlockhash": "9xq3SKnf7nj8F1C1m2DRJgY9GFQhzvNrbwJPUNh3evyY" + "recentBlockhash": "Fw1bayemDHPPw1GMLwjnbwWDiRoWB3wetGXkVMbwAhce" }, "signatures": [ - "5mFEauQFGmXTWmra9c29QbpNrC6AcWQGv9yyaka3YQkXYMv7R4aH5Uf6qbUJF27WGzZEUYRcumBZzR3ZhJ7BJGxt" + "4ZBXZzVjXbpjrydk4oqi4DFVu6QNmRghqkSZ8x3e6o8EzsgUW3rX4oecacFktwBdwTzpf5NPi4m8snc3tKY2o45N" ] }, "version": 0 diff --git a/crypto/sol/requirements.in b/crypto/sol/requirements.in deleted file mode 100644 index 284d70d..0000000 --- a/crypto/sol/requirements.in +++ /dev/null @@ -1,12 +0,0 @@ -aiohttp==3.10.9 -aiohttp==3.10.5 -base58==2.1.1 -dexscreener==1.1 -Flask==3.0.3 -jupiter_python_sdk==0.0.2.0 -python-dotenv==1.0.1 -python-telegram-bot==21.6 -Requests==2.32.3 -solana==0.34.3 -solders==0.21.0 -websockets==10.4 From 0e54689385fe771b3530ee14835cf53e2c8a3399 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 20 Oct 2024 11:06:22 +0300 Subject: [PATCH 24/28] better error messages --- crypto/sol/app.py | 2 +- crypto/sol/logs/error.log | 543 ------------- crypto/sol/logs/token_info.json | 457 ----------- crypto/sol/logs/token_info.json.bak | 179 ----- crypto/sol/logs/transation_details.json | 967 ------------------------ 5 files changed, 1 insertion(+), 2147 deletions(-) delete mode 100644 crypto/sol/logs/error.log delete mode 100644 crypto/sol/logs/token_info.json delete mode 100644 crypto/sol/logs/token_info.json.bak delete mode 100644 crypto/sol/logs/transation_details.json diff --git a/crypto/sol/app.py b/crypto/sol/app.py index aa5a77c..8bf227b 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -1107,7 +1107,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"Move Failed:\n{str(e)}" + error_message = f"Move Failed:\n{str(e)}\n{transaction_data}\n{move}" logging.error(error_message) # log the errors to /logs/errors.log error_logger.error(error_message) diff --git a/crypto/sol/logs/error.log b/crypto/sol/logs/error.log deleted file mode 100644 index a61ca9b..0000000 --- a/crypto/sol/logs/error.log +++ /dev/null @@ -1,543 +0,0 @@ -2024-10-09 07:59:16 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 07:59:16 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1014, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 08:02:14 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 08:02:14 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1014, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 08:48:26 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 08:48:26 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1021, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:08:18 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:08:18 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:15:19 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:15:19 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:17:10 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:17:10 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:23:01 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:23:01 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 09:38:53 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 09:38:53 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - private_key = Keypair.from_bytes(base58.b58decode(pk)) - ^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 10:40:35 [ERROR] Swap Follow Error: -'NoneType' object has no attribute 'rstrip' -2024-10-09 10:40:35 [ERROR] 'NoneType' object has no attribute 'rstrip' -Traceback (most recent call last): - File "/app/app.py", line 1007, in follow_move - logging.error(f"Error sending notification: {e}") - ^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/base58/__init__.py", line 117, in b58decode - v = v.rstrip() - ^^^^^^^^ -AttributeError: 'NoneType' object has no attribute 'rstrip' -2024-10-09 10:46:28 [ERROR] Swap Follow Error: - -2024-10-09 10:46:28 [ERROR] -Traceback (most recent call last): - 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 59, in make_request - raw = await self.make_request_unparsed(body) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/async_http.py", line 66, in make_request_unparsed - return _after_request_unparsed(raw_response) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 137, in _after_request_unparsed - raw_response.raise_for_status() - File "/usr/local/lib/python3.12/site-packages/httpx/_models.py", line 763, in raise_for_status - raise HTTPStatusError(message, request=request, response=self) -httpx.HTTPStatusError: Client error '429 Too Many Requests' for url 'wss://api.mainnet-beta.solana.com' -For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/app.py", line 1026, 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 62, in argument_decorator - raise internal_exception_cls(exc, func, *args, **kwargs) from exc -solana.exceptions.SolanaRpcException -2024-10-09 11:03:02 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1362911 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20744 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41389), return_data: None, inner_instructions: None }) } -2024-10-09 11:03:02 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1362911 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20744 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41389), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1026, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1362911 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20744 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41389), return_data: None, inner_instructions: None }) } -2024-10-09 11:03:58 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358884 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(45416), return_data: None, inner_instructions: None }) } -2024-10-09 11:03:58 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358884 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(45416), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1026, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358884 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(45416), return_data: None, inner_instructions: None }) } -2024-10-09 11:08:15 [ERROR] Swap Follow Error: -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 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1391445 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384858 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1380976 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23345 of 1399850 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: Route", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 815311374053", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1326322 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 42021 of 1364043 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 54483 of 1376505 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(77978), return_data: None, inner_instructions: None }) } -2024-10-09 11:08:15 [ERROR] 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 ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1391445 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384858 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1380976 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23345 of 1399850 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: Route", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 815311374053", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1326322 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 42021 of 1364043 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 54483 of 1376505 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(77978), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1026, 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: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1391445 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384858 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1380976 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23345 of 1399850 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [1]", "Program log: Instruction: Route", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", "Program log: Instruction: Swap", "Program log: fee_growth: 815311374053", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", "Program log: Error: insufficient funds", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4300 of 1326322 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 42021 of 1364043 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 54483 of 1376505 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(77978), return_data: None, inner_instructions: None }) } -2024-10-09 13:46:47 [ERROR] Swap Follow Error: -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 1383977 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20023 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(20323), return_data: None, inner_instructions: None }) } -2024-10-09 13:46:47 [ERROR] 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 1383977 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20023 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(20323), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, 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: 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 1383977 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20023 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(20323), return_data: None, inner_instructions: None }) } -2024-10-09 13:57:11 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1366470 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(37830), return_data: None, inner_instructions: None }) } -2024-10-09 13:57:11 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1366470 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(37830), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1366470 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(37830), return_data: None, inner_instructions: None }) } -2024-10-09 15:03:06 [ERROR] Swap Follow Error: -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 1386815 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17485), return_data: None, inner_instructions: None }) } -2024-10-09 15:03:06 [ERROR] 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 1386815 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17485), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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: 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 1386815 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17185 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17485), return_data: None, inner_instructions: None }) } -2024-10-09 15:08:30 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 13251 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(13551), return_data: None, inner_instructions: None }) } -2024-10-09 15:08:30 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 13251 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(13551), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 13251 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(13551), return_data: None, inner_instructions: None }) } -2024-10-09 15:14:20 [ERROR] Swap Follow Error: -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 1382246 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21754 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22054), return_data: None, inner_instructions: None }) } -2024-10-09 15:14:20 [ERROR] 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 1382246 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21754 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22054), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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: 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 1382246 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21754 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22054), return_data: None, inner_instructions: None }) } -2024-10-09 15:16:20 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361725 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20430 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42575), return_data: None, inner_instructions: None }) } -2024-10-09 15:16:20 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361725 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20430 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42575), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361725 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 20430 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42575), return_data: None, inner_instructions: None }) } -2024-10-09 15:19:07 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1357384 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46916), return_data: None, inner_instructions: None }) } -2024-10-09 15:19:07 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1357384 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46916), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1392795 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1386208 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1382326 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 21845 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1357384 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1377855 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46916), return_data: None, inner_instructions: None }) } -2024-10-09 15:20:44 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1363114 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17489 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41186), return_data: None, inner_instructions: None }) } -2024-10-09 15:20:44 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1363114 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17489 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41186), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1363114 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17489 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(41186), return_data: None, inner_instructions: None }) } -2024-10-09 15:22:24 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358283 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 22320 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46017), return_data: None, inner_instructions: None }) } -2024-10-09 15:22:24 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358283 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 22320 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46017), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1031, in follow_move - f"Initiating move:\n (decimals: {token_info.get('decimals')})\n" - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1595 of 1391295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1384682 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4214 of 1380800 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 23397 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1358283 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 22320 of 1376303 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(46017), return_data: None, inner_instructions: None }) } -2024-10-09 16:13:48 [ERROR] Swap Follow Error: -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 1379229 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(25071), return_data: None, inner_instructions: None }) } -2024-10-09 16:13:48 [ERROR] 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 1379229 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(25071), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1061, 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: 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 1379229 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 24771 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(25071), return_data: None, inner_instructions: None }) } -2024-10-09 16:37:40 [ERROR] Swap Follow Error: -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 1386729 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17271 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17571), return_data: None, inner_instructions: None }) } -2024-10-09 16:37:40 [ERROR] 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 1386729 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17271 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17571), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1061, 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: 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 1386729 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 17271 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(17571), return_data: None, inner_instructions: None }) } -2024-10-10 12:17:44 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 16186 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16486), return_data: None, inner_instructions: None }) } -2024-10-10 12:17:44 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 16186 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16486), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1064, 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: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 16186 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16486), return_data: None, inner_instructions: None }) } -2024-10-10 12:38:57 [ERROR] Swap Follow Error: -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 1382010 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21990 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22290), return_data: None, inner_instructions: None }) } -2024-10-10 12:38:57 [ERROR] 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 1382010 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21990 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22290), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1064, 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: 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 1382010 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21990 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(22290), return_data: None, inner_instructions: None }) } -2024-10-10 12:41:59 [ERROR] Swap Follow Error: -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 1382864 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21136 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21436), return_data: None, inner_instructions: None }) } -2024-10-10 12:41:59 [ERROR] 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 1382864 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21136 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21436), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1064, 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: 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 1382864 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21136 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(21436), return_data: None, inner_instructions: None }) } -2024-10-10 13:01:13 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361916 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21739 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42384), return_data: None, inner_instructions: None }) } -2024-10-10 13:01:13 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361916 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21739 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42384), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1065, 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 3: custom program error: 0x1", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(3, Custom(1))), logs: Some(["Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]", "Program log: CreateIdempotent", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: GetAccountDataSize", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1569 of 1394295 compute units", "Program return: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA pQAAAAAAAAA=", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program 11111111111111111111111111111111 invoke [2]", "Program 11111111111111111111111111111111 success", "Program log: Initialize the associated token account", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeImmutableOwner", "Program log: Please upgrade to SPL Token 2022 for immutable owner support", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1405 of 1387708 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: InitializeAccount3", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4188 of 1383826 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 20345 of 1399700 compute units", "Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL 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 1361916 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 21739 of 1379355 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: custom program error: 0x1"]), accounts: None, units_consumed: Some(42384), return_data: None, inner_instructions: None }) } -2024-10-10 13:01:16 [ERROR] Swap Follow Error: - -2024-10-10 13:01:16 [ERROR] -Traceback (most recent call last): - 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 59, in make_request - raw = await self.make_request_unparsed(body) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/async_http.py", line 66, in make_request_unparsed - return _after_request_unparsed(raw_response) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - File "/usr/local/lib/python3.12/site-packages/solana/rpc/providers/core.py", line 137, in _after_request_unparsed - raw_response.raise_for_status() - File "/usr/local/lib/python3.12/site-packages/httpx/_models.py", line 763, in raise_for_status - raise HTTPStatusError(message, request=request, response=self) -httpx.HTTPStatusError: Client error '429 Too Many Requests' for url 'wss://api.mainnet-beta.solana.com' -For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 - -The above exception was the direct cause of the following exception: - -Traceback (most recent call last): - File "/app/app.py", line 1065, 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 62, in argument_decorator - raise internal_exception_cls(exc, func, *args, **kwargs) from exc -solana.exceptions.SolanaRpcException -2024-10-10 13:17:33 [ERROR] Swap Follow Error: -SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 15768 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16068), return_data: None, inner_instructions: None }) } -2024-10-10 13:17:33 [ERROR] SendTransactionPreflightFailureMessage { message: "Transaction simulation failed: Error processing Instruction 2: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 15768 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16068), return_data: None, inner_instructions: None }) } -Traceback (most recent call last): - File "/app/app.py", line 1065, 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: Program failed to complete", data: RpcSimulateTransactionResult(RpcSimulateTransactionResult { err: Some(InstructionError(2, ProgramFailedToComplete)), 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 log: panicked at src/token.rs:539:43:\nrange end index 64 out of range for slice of length 0", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 15768 of 1399700 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 failed: SBF program panicked"]), accounts: None, units_consumed: Some(16068), return_data: None, inner_instructions: None }) } -2024-10-10 13:25:04 [ERROR] Swap Follow Error: -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-10 13:25:04 [ERROR] 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 }) } -Traceback (most recent call last): - File "/app/app.py", line 1065, 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: 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 }) } diff --git a/crypto/sol/logs/token_info.json b/crypto/sol/logs/token_info.json deleted file mode 100644 index f39e369..0000000 --- a/crypto/sol/logs/token_info.json +++ /dev/null @@ -1,457 +0,0 @@ -{ - "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB": { - "price": 0.007885, - "decimals": 9, - "name": "Kamala Horris", - "symbol": "KAMA", - "address": "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB", - "holdedAmount": 33500.0, - "priice": 0.007923 - }, - "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU": { - "price": 0.004041, - "decimals": 9, - "name": "BONGO CAT", - "symbol": "BONGO", - "address": "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU" - }, - "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK": { - "decimals": 6, - "name": "FATGF", - "symbol": "FATGF", - "address": "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK", - "holdedAmount": 30000.0, - "priice": 0.001662, - "price": 0.001539 - }, - "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam": { - "price": 0.005201, - "decimals": 6, - "name": "GOOFY", - "symbol": "GOOFY", - "address": "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam", - "holdedAmount": 4500.0, - "priice": 0.004851 - }, - "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o": { - "price": 0.008097, - "decimals": 9, - "name": "jeo boden", - "symbol": "boden", - "address": "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o", - "holdedAmount": 6400.0 - }, - "8NNXWrWVctNw1UFeaBypffimTdcLCcD8XJzHvYsmgwpF": { - "price": 0.02584, - "decimals": 6, - "name": "Brainlet", - "symbol": "BRAINLET", - "address": "8NNXWrWVctNw1UFeaBypffimTdcLCcD8XJzHvYsmgwpF", - "holdedAmount": 7380.54934 - }, - "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui": { - "price": 0.02995, - "decimals": 6, - "name": "Shark Cat", - "symbol": "SC", - "address": "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui", - "holdedAmount": 5000.0 - }, - "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw": { - "price": 0.002301, - "decimals": 8, - "name": "LandWolf", - "symbol": "WOLF", - "address": "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw", - "holdedAmount": 108000.0 - }, - "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6": { - "decimals": 6, - "name": "Biao Coin", - "symbol": "$BIAO", - "address": "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6", - "holdedAmount": 1650000.0 - }, - "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT": { - "decimals": 9, - "name": "Dallino", - "symbol": "Dall", - "address": "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT", - "holdedAmount": 708677.532051592, - "priice": 4.026e-06, - "price": 4.026e-06 - }, - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { - "price": 1.00028, - "decimals": 6, - "name": "USD Coin", - "symbol": "USDC", - "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "holdedAmount": 51.117694, - "priice": 1.00073 - }, - "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": { - "decimals": 9, - "name": "Ceiling Cat", - "symbol": "CEILINGCAT", - "address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j", - "holdedAmount": 511117.33566278, - "priice": 3.585e-06, - "price": 1.714e-09 - }, - "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump": { - "price": 0.001581, - "decimals": 6, - "name": "autism", - "symbol": "autism", - "address": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "holdedAmount": 71123.480231 - }, - "6cvrZWgEUkr82yKAmxp5cQu7wgYYBPULf16EUBp4pump": { - "price": 0.01385, - "decimals": 6, - "name": "Manifest", - "symbol": "MANIFEST", - "address": "6cvrZWgEUkr82yKAmxp5cQu7wgYYBPULf16EUBp4pump", - "holdedAmount": 12940.81255 - }, - "D8r8XTuCrUhLheWeGXSwC3G92RhASficV3YA7B2XWcLv": { - "price": 0.002363, - "holdedAmount": 66511.860358533, - "decimals": 9, - "name": "catwifbag", - "symbol": "BAG", - "address": "D8r8XTuCrUhLheWeGXSwC3G92RhASficV3YA7B2XWcLv" - }, - "2GPJhV9jNrj7TaLYMRgWkcy6sTKLcwntv7nZ7qDyMRGM": { - "price": 0.006397, - "decimals": 6, - "name": "Believe In Something", - "symbol": "bis", - "address": "2GPJhV9jNrj7TaLYMRgWkcy6sTKLcwntv7nZ7qDyMRGM", - "holdedAmount": 21000.0 - }, - "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA": { - "decimals": 6, - "name": "Fart Coin", - "symbol": "Fart", - "address": "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA", - "holdedAmount": 672875.569584 - }, - "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb": { - "decimals": 6, - "name": "Retardigrade", - "symbol": "TARD", - "address": "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb", - "holdedAmount": 176920.153819 - }, - "8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5": { - "price": 0.0721, - "decimals": 9, - "name": "LOCK IN", - "symbol": "LOCKIN", - "address": "8Ki8DpuWNxu9VsS3kQbarsCWMcFGWkzzA8pUPto9zBd5", - "holdedAmount": 3666.718751598 - }, - "fESbUKjuMY6jzDH9VP8cy4p3pu2q5W2rK2XghVfNseP": { - "price": 0.0004163, - "decimals": 6, - "name": "CatFrogDogShark", - "symbol": "SOLANA", - "address": "fESbUKjuMY6jzDH9VP8cy4p3pu2q5W2rK2XghVfNseP", - "holdedAmount": 211284.151827, - "priice": 0.0005751 - }, - "Av6qVigkb7USQyPXJkUvAEm4f599WTRvd75PUWBA9eNm": { - "price": 0.0107, - "decimals": 9, - "name": "Costco Hot Dog", - "symbol": "COST", - "address": "Av6qVigkb7USQyPXJkUvAEm4f599WTRvd75PUWBA9eNm", - "holdedAmount": 22669.168723884, - "priice": 0.008802 - }, - "69kdRLyP5DTRkpHraaSZAQbWmAwzF9guKjZfzMXzcbAs": { - "price": 2.147e-06, - "decimals": 6, - "name": "American Coin", - "symbol": "USA", - "address": "69kdRLyP5DTRkpHraaSZAQbWmAwzF9guKjZfzMXzcbAs", - "holdedAmount": 936370585.712574 - }, - "DEJiPKx5GActUtB6qUssreUxkhXtL4hTQAAJZ7Ccw8se": { - "price": 0.01023, - "decimals": 6, - "name": "Rawr", - "symbol": "XD", - "address": "DEJiPKx5GActUtB6qUssreUxkhXtL4hTQAAJZ7Ccw8se", - "holdedAmount": 31264.506258 - }, - "DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB": { - "price": 0.535598, - "decimals": 9, - "name": "Skibidi Toilet", - "symbol": "SKBDI", - "address": "DPaQfq5sFnoqw2Sh9WMmmASFL9LNu6RdtDqwE1tab2tB", - "holdedAmount": 669.212843132, - "priice": 0.3638 - }, - "dekNoN3D8mXa4JHLwTbVXz8aPAyJUkk443UjcSpJKi4": { - "price": 0.004308, - "decimals": 6, - "name": "peanie", - "symbol": "peanie", - "address": "dekNoN3D8mXa4JHLwTbVXz8aPAyJUkk443UjcSpJKi4", - "holdedAmount": 29097.22112, - "priice": 0.004563 - }, - "PzuaVAUH2tfxGZcbBR6kMxeJsBngnsPLFotGJNCtcsd": { - "price": 0.04829, - "decimals": 8, - "name": "ZynCoin (Wormhole)", - "symbol": "ZYN", - "address": "PzuaVAUH2tfxGZcbBR6kMxeJsBngnsPLFotGJNCtcsd", - "holdedAmount": 2424.00722783, - "priice": 0.0591 - }, - "So11111111111111111111111111111111111111112": { - "decimals": 9, - "name": "Wrapped SOL", - "symbol": "SOL", - "address": "So11111111111111111111111111111111111111112", - "priice": 142.85, - "price": 154.21 - }, - "4nfn86ssbv7wiqcsw7bpvn46k24jhe334fudtyxhp1og": { - "symbol": null, - "price": 0.0 - }, - "SOL": { - "symbol": null, - "price": 0.0 - }, - "UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z": { - "decimals": 6, - "name": "Unicorn", - "symbol": "UWU", - "address": "UwU8RVXB69Y6Dcju6cN2Qef6fykkq6UUNpB15rZku6Z", - "holdedAmount": 238181.964433, - "price": 0.001013 - }, - "GtDZKAqvMZMnti46ZewMiXCa4oXF4bZxwQPoKzXPFxZn": { - "decimals": 9, - "name": "nubcat", - "symbol": "nub", - "address": "GtDZKAqvMZMnti46ZewMiXCa4oXF4bZxwQPoKzXPFxZn", - "holdedAmount": 62626.296625781, - "price": 0.03326 - }, - "DtR4D9FtVoTX2569gaL837ZgrB6wNjj6tkmnX9Rdk9B2": { - "decimals": 6, - "name": "aura", - "symbol": "aura", - "address": "DtR4D9FtVoTX2569gaL837ZgrB6wNjj6tkmnX9Rdk9B2", - "holdedAmount": 9919.76735, - "price": 0.02653 - }, - "24gG4br5xFBRmxdqpgirtxgcr7BaWoErQfc2uyDp2Qhh": { - "decimals": 6, - "name": "NOSTALGIA", - "symbol": "NOS", - "address": "24gG4br5xFBRmxdqpgirtxgcr7BaWoErQfc2uyDp2Qhh", - "holdedAmount": 24367.98915, - "price": 0.00271846 - }, - "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm": { - "decimals": 6, - "name": "dogwifhat", - "symbol": "$WIF", - "address": "EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm", - "holdedAmount": 0.00935, - "price": 2.39 - }, - "26KMQVgDUoB6rEfnJ51yAABWWJND8uMtpnQgsHQ64Udr": { - "decimals": 6, - "name": "SAD HAMSTER", - "symbol": "HAMMY", - "address": "26KMQVgDUoB6rEfnJ51yAABWWJND8uMtpnQgsHQ64Udr", - "holdedAmount": 1610.696945, - "price": 0.02781 - }, - "6yjNqPzTSanBWSa6dxVEgTjePXBrZ2FoHLDQwYwEsyM6": { - "decimals": 6, - "name": "Chudjak", - "symbol": "Chud", - "address": "6yjNqPzTSanBWSa6dxVEgTjePXBrZ2FoHLDQwYwEsyM6", - "holdedAmount": 4124.745134, - "price": 0.02795 - }, - "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump": { - "decimals": 6, - "name": "Banana Tape Wall", - "symbol": "BTW", - "address": "4ytpZgVoNB66bFs6NRCUaAVsLdtYk2fHq4U92Jnjpump", - "holdedAmount": 53869.113034, - "price": 0.003814 - }, - "2JcXacFwt9mVAwBQ5nZkYwCyXQkRcdsYrDXn6hj22SbP": { - "decimals": 6, - "name": "mini", - "symbol": "mini", - "address": "2JcXacFwt9mVAwBQ5nZkYwCyXQkRcdsYrDXn6hj22SbP", - "holdedAmount": 3633.845994, - "price": 0.06975 - }, - "5Wd2ALxQfnpgQKCyH4WL9giBiiuuLuJs84CJxfQccvmN": { - "decimals": 6, - "name": "real fast", - "symbol": "speed", - "address": "5Wd2ALxQfnpgQKCyH4WL9giBiiuuLuJs84CJxfQccvmN", - "holdedAmount": 59475.003778, - "price": 0.005088 - }, - "BsTRFEVZhXbBuy5fhxbttuim8iwzXqMdRCfFftDAkkeu": { - "decimals": 6, - "name": "mao", - "symbol": "mao", - "address": "BsTRFEVZhXbBuy5fhxbttuim8iwzXqMdRCfFftDAkkeu", - "holdedAmount": 1313337.849751, - "price": 0.001587 - }, - "7EYnhQoR9YM3N7UoaKRoA44Uy8JeaZV3qyouov87awMs": { - "decimals": 9, - "name": "Silly Dragon", - "symbol": "SILLY", - "address": "7EYnhQoR9YM3N7UoaKRoA44Uy8JeaZV3qyouov87awMs", - "holdedAmount": 125575.793823971, - "price": 0.01472 - }, - "3ag1Mj9AKz9FAkCQ6gAEhpLSX8B2pUbPdkb9iBsDLZNB": { - "decimals": 9, - "name": "Honk", - "symbol": "HONK", - "address": "3ag1Mj9AKz9FAkCQ6gAEhpLSX8B2pUbPdkb9iBsDLZNB", - "holdedAmount": 51532.310973239, - "price": 0.005597 - }, - "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t": { - "decimals": 6, - "name": "reddit dog", - "symbol": "r/snoofi", - "address": "7M9KJcPNC65ShLDmJmTNhVFcuY95Y1VMeYngKgt67D1t", - "holdedAmount": 118734.201549, - "price": 0.01307 - }, - "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU": { - "decimals": 9, - "name": "Zoomer", - "symbol": "ZOOMER", - "address": "9MBzpyMRkj2r5nTQZMMnxnCm5j1MAAFSYUtbSKjAF3WU", - "holdedAmount": 14933.802262203, - "price": 0.01624 - }, - "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr": { - "decimals": 9, - "name": "POPCAT", - "symbol": "POPCAT", - "address": "7GCihgDB8fe6KNjn2MYtkzZcRjQy3t9GHdC8uHYmW2hr", - "holdedAmount": 0.000847952, - "price": 1.35 - }, - "ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN": { - "decimals": 9, - "name": "KODOG", - "symbol": "KODOG", - "address": "ENKS64JiF1zqUoDK8co94H56jyeSLk7reCL9JMgb9kvN", - "holdedAmount": 99.0, - "price": 0.0 - }, - "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G": { - "decimals": 6, - "name": "KITTY AI", - "symbol": "KITTY", - "address": "8yJ15ee2AUQmwbWPxXLTTeBTzyMGn4MtSRKMqVHw1J1G", - "holdedAmount": 129276.709668, - "price": 0.0009348 - }, - "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP": { - "decimals": 9, - "name": "HARAMBE", - "symbol": "HARAMBE", - "address": "Fch1oixTPri8zxBnmdCEADoJW2toyFHxqDZacQkwdvSP", - "holdedAmount": 64709.32823393, - "price": 0.04215 - }, - "5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump": { - "decimals": 6, - "holdedAmount": 96454.077139, - "name": "Dollar", - "symbol": "DOLLAR", - "address": "5AnPDx9GposBi9jSW2dFfE5QQD3FmXbudoquMNDxpump", - "price": 0.001738 - }, - "6n7Janary9fqzxKaJVrhL9TG2F61VbAtwUMu1YZscaQS": { - "decimals": 6, - "holdedAmount": 165800.081237, - "name": "Ansem's Cat", - "symbol": "Hobbes", - "address": "6n7Janary9fqzxKaJVrhL9TG2F61VbAtwUMu1YZscaQS", - "price": 0.001806 - }, - "9jaZhJM6nMHTo4hY9DGabQ1HNuUWhJtm7js1fmKMVpkN": { - "decimals": 9, - "name": "AMC", - "symbol": "AMC", - "address": "9jaZhJM6nMHTo4hY9DGabQ1HNuUWhJtm7js1fmKMVpkN", - "holdedAmount": 151990.888522526, - "price": 0.001647 - }, - "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": { - "decimals": 6, - "name": "USDT", - "symbol": "USDT", - "address": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", - "holdedAmount": 0.060209, - "price": 0.9998 - }, - "8vCAUbxejdtaxn6jnX5uaQTyTZLmXALg9u1bvFCAjtx7": { - "decimals": 6, - "name": "ZACK MORRIS", - "symbol": "ZACK", - "address": "8vCAUbxejdtaxn6jnX5uaQTyTZLmXALg9u1bvFCAjtx7", - "holdedAmount": 7313.78243, - "price": 0.02023 - }, - "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp": { - "decimals": 6, - "name": "Roaring Kitty", - "symbol": "KITTY", - "address": "EKEWAk7hfnwfR8DBb1cTayPPambqyC7pwNiYkaYQKQHp", - "holdedAmount": 228658.544423, - "price": 0.003091 - }, - "FtHCi9cxJSSizrzMzsPjAfTfJi32V1CGRDM5Skqn4QBF": { - "decimals": 6, - "name": "pixi", - "symbol": "pixi", - "address": "FtHCi9cxJSSizrzMzsPjAfTfJi32V1CGRDM5Skqn4QBF", - "holdedAmount": 211191.26677, - "price": 0.001234 - }, - "BuxH23osRyFFLbWG3czrTsfBQYbxzVZ8f7QV4cjTHN5x": { - "decimals": 6, - "name": "John", - "symbol": "JOHN", - "address": "BuxH23osRyFFLbWG3czrTsfBQYbxzVZ8f7QV4cjTHN5x", - "holdedAmount": 69195.568536, - "price": 0.004173 - }, - "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U": { - "decimals": 6, - "name": "George Droyd", - "symbol": "FLOYDAI", - "address": "J7tYmq2JnQPvxyhcXpCDrvJnc9R5ts8rv7tgVHDPsw7U", - "holdedAmount": 22523.013616, - "price": 0.007335 - } -} \ No newline at end of file diff --git a/crypto/sol/logs/token_info.json.bak b/crypto/sol/logs/token_info.json.bak deleted file mode 100644 index 5a9d110..0000000 --- a/crypto/sol/logs/token_info.json.bak +++ /dev/null @@ -1,179 +0,0 @@ -{ - "9jca8QgA8b95FTSSANzp54LPmsSoqPijnhMsqgghAQTP": { - "decimals": 6, - "name": "Throne PePe", - "symbol": "TEPE", - "address": "9jca8QgA8b95FTSSANzp54LPmsSoqPijnhMsqgghAQTP", - "holdedAmount": 2000.0 - }, - "TyHkZNXAvRCLfNrXp83zMYTSe4V3fkX2ZE1jNX2sjV1": { - "decimals": 9, - "name": "ICECAT", - "symbol": "ICECAT", - "address": "TyHkZNXAvRCLfNrXp83zMYTSe4V3fkX2ZE1jNX2sjV1", - "holdedAmount": 555.0 - }, - "GoRnxWR5h4HMYAbCWhfPxsTF6N27jTRkBDFpAsvLpump": { - "decimals": 6, - "name": "KING SUGAR GLIDER", - "symbol": "KSG", - "address": "GoRnxWR5h4HMYAbCWhfPxsTF6N27jTRkBDFpAsvLpump", - "holdedAmount": 2000.0 - }, - "AcV2T3mwLUqMiiqcsafVm35zwPQkmLrfRtaW3716Fzvi": { - "decimals": 6, - "name": "rexwifhat", - "symbol": "REXHAT", - "address": "AcV2T3mwLUqMiiqcsafVm35zwPQkmLrfRtaW3716Fzvi", - "holdedAmount": 1000.0 - }, - "jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL": { - "decimals": 9, - "name": "JITO", - "symbol": "JTO", - "address": "jtojtomepa8beP8AuQc6eXt5FriJwfFMwQx2v2f9mCL", - "holdedAmount": 0.002967742 - }, - "BuNthH8oEupwa3HUHNiTgfvvdSMgk3uAHyJMmMuGUAEK": { - "decimals": 6, - "holdedAmount": 85000.0 - }, - "DTEqTxxGFn3SZ4C8tNP35X8iegCCgCBrX974WFSuYVZh": { - "decimals": 9, - "holdedAmount": 136.0 - }, - "5qd7F8VLHiLWwx13UbxU5v5hPKCSSXYEE5pSjkYr7ytp": { - "decimals": 9, - "name": "KEVO", - "symbol": "KEVO", - "address": "5qd7F8VLHiLWwx13UbxU5v5hPKCSSXYEE5pSjkYr7ytp", - "holdedAmount": 297.0 - }, - "BrMXXZ5PkyAQpyWNT8AGjK8s3EVUQkGjS5rsCAXQQHVj": { - "decimals": 9, - "name": "BONANO", - "symbol": "BONANO", - "address": "BrMXXZ5PkyAQpyWNT8AGjK8s3EVUQkGjS5rsCAXQQHVj", - "holdedAmount": 333.0 - }, - "C2DbRWaoDJKMgegEKQuYCnViM9VdhrVR6FptPLm6stY7": { - "decimals": 9, - "name": "Trump PePe", - "symbol": "TRUPE", - "address": "C2DbRWaoDJKMgegEKQuYCnViM9VdhrVR6FptPLm6stY7", - "holdedAmount": 32000.0 - }, - "9HvM3nS2eDKWxNvi8vSFXRhHA1xhDW33rt4ZA1bE1DbV": { - "decimals": 9, - "name": "Relend", - "symbol": "REL", - "address": "9HvM3nS2eDKWxNvi8vSFXRhHA1xhDW33rt4ZA1bE1DbV", - "holdedAmount": 100.0 - }, - "3UfknvCm4No13GHBPwNvXqJt9kroZcPv3psWswqpzixt": { - "decimals": 6, - "name": "Turtle Pepe", - "symbol": "TUPE", - "address": "3UfknvCm4No13GHBPwNvXqJt9kroZcPv3psWswqpzixt", - "holdedAmount": 2000.0 - }, - "217onbknQpFVEpyTCknieq3KVE8a9o4R7WhQGN4opQck": { - "decimals": 9, - "name": "MOCHO", - "symbol": "MOCHO", - "address": "217onbknQpFVEpyTCknieq3KVE8a9o4R7WhQGN4opQck", - "holdedAmount": 198.0 - }, - "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o": { - "decimals": 9, - "name": "jeo boden", - "symbol": "boden", - "address": "3psH1Mj1f7yUfaD5gh6Zj7epE8hhrMkMETgv5TshQA4o", - "holdedAmount": 1000.0 - }, - "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6": { - "decimals": 6, - "name": "Biao Coin", - "symbol": "$BIAO", - "address": "3W52uCb8NW8ruMF9mmJX3oKiYAjdPai4633srsZFQCS6", - "holdedAmount": 1061644.458127 - }, - "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw": { - "decimals": 8, - "name": "LandWolf", - "symbol": "WOLF", - "address": "Faf89929Ni9fbg4gmVZTca7eW6NFg877Jqn6MizT3Gvw", - "holdedAmount": 5000.0 - }, - "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT": { - "decimals": 9, - "name": "Dallino", - "symbol": "Dall", - "address": "5xNLcLCaXfJJiHKzzPuEqFBLJMETaPKcnEfCNL5SB2cT", - "holdedAmount": 708677.532051592 - }, - "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui": { - "decimals": 6, - "name": "Shark Cat", - "symbol": "SC", - "address": "6D7NaB2xsLd7cauWu1wKk6KBsJohJmP2qZH9GEfVi5Ui", - "holdedAmount": 5000.0 - }, - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { - "price": 1.00058, - "decimals": 6, - "name": "USD Coin", - "symbol": "USDC", - "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "holdedAmount": 21.023377 - }, - "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam": { - "decimals": 6, - "name": "GOOFY", - "symbol": "GOOFY", - "address": "4GniFbshqU6VtWCLJnKadswa8QCk2cFg8cgBZrhe9dam", - "holdedAmount": 1936.132216 - }, - "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK": { - "decimals": 6, - "name": "FATGF", - "symbol": "FATGF", - "address": "4y9E3tJpGNzRr1592oWTPECgyp2VDSc1Bf3DqAm5FZsK", - "holdedAmount": 138268.428197 - }, - "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j": { - "decimals": 9, - "name": "Ceiling Cat", - "symbol": "CEILINGCAT", - "address": "Akev8YDBQfuCv33M1tjDcaUFAsY4Q5izMSfhbozL1Q6j", - "holdedAmount": 398526.085798546 - }, - "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB": { - "decimals": 9, - "name": "Kamala Horris", - "symbol": "KAMA", - "address": "HnKkzR1YtFbUUxM6g3iVRS2RY68KHhGV7bNdfF1GCsJB", - "holdedAmount": 33733.684394767 - }, - "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb": { - "decimals": 6, - "name": "Retardigrade", - "symbol": "TARD", - "address": "r8kCxSyaKCQBgs5v1dSTqheUU2ur8bLiYgBThMpAVyb", - "holdedAmount": 176920.153819 - }, - "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA": { - "decimals": 6, - "name": "Fart Coin", - "symbol": "Fart", - "address": "8mtVH6ZKf3c8zYMHKdgRyXPKJoSR6d56FPDQDUdSQxdA", - "holdedAmount": 672875.569584 - }, - "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU": { - "price": 0.003448, - "decimals": 9, - "name": "BONGO CAT", - "symbol": "BONGO", - "address": "HUdqc5MR5h3FssESabPnQ1GTgTcPvnNudAuLj5J6a9sU" - } -} \ No newline at end of file diff --git a/crypto/sol/logs/transation_details.json b/crypto/sol/logs/transation_details.json deleted file mode 100644 index e81438e..0000000 --- a/crypto/sol/logs/transation_details.json +++ /dev/null @@ -1,967 +0,0 @@ -{ - "blockTime": 1728503778, - "meta": { - "computeUnitsConsumed": 199814, - "err": null, - "fee": 50768, - "innerInstructions": [ - { - "index": 2, - "instructions": [ - { - "parsed": { - "info": { - "amount": "1472797965", - "authority": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "destination": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "source": "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 2 - }, - { - "accounts": [ - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "9iFER3bpjf1PTTCQCfTRu17EJgvsxo9pVyA9QWwEuX4x", - "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz", - "3MsJXVvievxAbsMsaT6TS4i6oMitD9jazucuq3X234tC", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "GEDtZyxPBSgD76c9W7gNjqxE5e9js5Nw15vxWNB6EmTR", - "DoPuiZfJu7sypqwR4eiU7C5TMcmmiFoU4HaF5SoD8mRy", - "9M7A2aPd5iyvH9s7xGweMZoVFK6m7euUf455CnAtUhrQ", - "2ZWDJrXcMi4C3HAH9GMNSUtpcQ1eZkR4ugzoYm58ucaq" - ], - "data": "wZRp7wZ3cztArCtxsmTB9qc3S228n2VY6Q5EtJnstmYP2ZpLvgE7nHur", - "programId": "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "736398982", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "source": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "5226870648", - "authority": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "destination": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "source": "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvi1xPm726vLbPnsuyPY5Jr6BfJygEDcWLKrWxu3qzgfNTG7HkS8xcYNcpMebZxzVcQiGc8rAcDCUqdSsP7uj3aESfxsaWPgbBXfy7VH8NSGpXTbD4dznrPRpV6n5warMGz52V1aVHWJK5srhUyT3FxnmvP", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, - { - "accounts": [ - "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR", - "B8a4RCvFaG9AFsatCZLpGLkbCPytyr9K6jSZWLQZDjg1", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" - ], - "data": "1AMTAauCh9UPEJKHSVJyEuoUGC9VRhQ927JyER2jXd7GgCDAnbNFyzRZx5XYNrfumnX8JCstqM", - "programId": "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "5227500000", - "authority": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "destination": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "source": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "736388349", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "source": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR" - ], - "data": "9brv5aHdgab37U3mfMib3rJ7npUjK7PGuzGpqp3G9c39Hx5oAAFqbG68eYa55mpkgG9vdRPJy6W8Zf4C9ZD2qdMbb8BYr3Nqj7NvBCU2YKNpJ76ABJXKwJ6wZEgWYVx73owSYS2miyCdrSmpXZaiAirG6MUBXttkMPKr8NFiJutQPMUgYQbAhx6PCYyrSc3Xt8WZbkBesD2B2P8qX8KtYqDE1j7AXgnDoQj2eXhkXxTZ2gSeJAm49wQtCkFvLrbQSgFAvdyU1M6jinr9cWM4B", - "programId": "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvByRXZbTme1qDxf1F3AKLUXRXgSbHSGSyxqbH3GFRxnJ6SVB39MxAtu4iRaTJwgcDLeiToZ2svgbbCzgANxJtg5aaEU8VibzkFtcXb1bWy1kKF2n66ppwknARAf6B6T1sQEG22VBn7UPzRXn5Ry8LZn9Q3", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, - { - "accounts": [ - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ" - ], - "data": "66Ny9zLb8tU6fX1NnqGb3fV", - "programId": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "10454370648", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "source": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "918823431070", - "authority": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "destination": "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "source": "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvR83g86EDDNxzUskfkWKYCBPWe1hqgD6jgKAXr6aYoEQaxoqYMTvWgPVk2AHWGHjdbNiNtoaPfZA4znu6cRUSWSeMTcRcyjtBXbLh5AWS6uv9zFRELsytGC4gsQqmqKt4hLowL1w8EsrqaZE8SJ4Csi82b", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "918823431070", - "authority": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "destination": "Arx7KZvrULCC7xtwBuC25eNHycRvEvDhpjULW84PAjkc", - "source": "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 2 - } - ] - } - ], - "logMessages": [ - "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 257869 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK invoke [2]", - "Program log: Instruction: Swap", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 194868 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 187087 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program data: QMbN6CYIceJ05wCcEx+FajBi2hyyXuwbtRiRc1/fR1bb/Xwn9WYvgOL4d+g9rsaIj0Orta57MRu3jDSWCJf85ae4LBbiD/GXCgUkQaFYTleMcAX2p74eBXQZd1dwDyQZAPJfSv2KGc65ha48uggePWu090s1ff4yoCjAvULeZ+cqYFn+Adk5TXi3izcBAAAAAAAAAAAAAACGjuQrAAAAAAAAAAAAAAAAABR3SjrByhZgAAAAAAAAAADL2eo2hBMAAAAAAAAAAAAAcLP//w==", - "Program CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK consumed 69192 of 244966 compute units", - "Program CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 173360 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY invoke [2]", - "Program log: Discriminant for phoenix::program::accounts::MarketHeader is 8167313896524341111", - "Program log: PhoenixInstruction::Swap", - "Program consumption: 160454 units remaining", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 143820 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 136412 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program log: Sending batch 1 with header and 2 market events, total events sent: 2", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY invoke [3]", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY consumed 582 of 129284 compute units", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY success", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY consumed 37271 of 165435 compute units", - "Program PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 125887 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", - "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", - "Program log: ray_log: A1gJIW8CAAAAAAAAAAAAAAACAAAAAAAAAH/FeaUCAAAAPGuhWawAAACINcSPJzwAAJ7rJO7VAAAA", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 99289 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 91572 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30505 of 116577 compute units", - "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 83698 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 79420 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 199514 of 272967 compute units", - "Program return: JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 nusk7tUAAAA=", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success" - ], - "postBalances": [ - 111482235, - 913824579, - 72161280, - 72161280, - 2039280, - 2039280, - 2039980, - 72161280, - 2039280, - 1, - 1141440, - 12987650220, - 0, - 1630118769, - 6124800, - 2039280, - 750694535812, - 32092760, - 8858422880888, - 2039480, - 12637321, - 13641700, - 1619397520, - 2803827439280, - 2039280, - 934087680, - 5660915817, - 1141440, - 1705400, - 1141440, - 1141440, - 0, - 319178288692 - ], - "postTokenBalances": [ - { - "accountIndex": 1, - "mint": "So11111111111111111111111111111111111111112", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "911784999", - "decimals": 9, - "uiAmount": 0.911784999, - "uiAmountString": "0.911784999" - } - }, - { - "accountIndex": 4, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "0", - "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" - } - }, - { - "accountIndex": 5, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "918823431070", - "decimals": 6, - "uiAmount": 918823.43107, - "uiAmountString": "918823.43107" - } - }, - { - "accountIndex": 6, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "47774480", - "decimals": 6, - "uiAmount": 47.77448, - "uiAmountString": "47.77448" - } - }, - { - "accountIndex": 8, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "0", - "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" - } - }, - { - "accountIndex": 15, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "65221789960682", - "decimals": 6, - "uiAmount": 65221789.960682, - "uiAmountString": "65221789.960682" - } - }, - { - "accountIndex": 16, - "mint": "So11111111111111111111111111111111111111112", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "750692496532", - "decimals": 9, - "uiAmount": 750.692496532, - "uiAmountString": "750.692496532" - } - }, - { - "accountIndex": 18, - "mint": "So11111111111111111111111111111111111111112", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "8858420841408", - "decimals": 9, - "uiAmount": 8858.420841408, - "uiAmountString": "8858.420841408" - } - }, - { - "accountIndex": 19, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "458956452692", - "decimals": 6, - "uiAmount": 458956.452692, - "uiAmountString": "458956.452692" - } - }, - { - "accountIndex": 23, - "mint": "So11111111111111111111111111111111111111112", - "owner": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "2803825400000", - "decimals": 9, - "uiAmount": 2803.8254, - "uiAmountString": "2803.8254" - } - }, - { - "accountIndex": 24, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "78980271970", - "decimals": 6, - "uiAmount": 78980.27197, - "uiAmountString": "78980.27197" - } - } - ], - "preBalances": [ - 111533003, - 913824579, - 72161280, - 72161280, - 2039280, - 2039280, - 2039980, - 72161280, - 2039280, - 1, - 1141440, - 12987650220, - 0, - 1630118769, - 6124800, - 2039280, - 740240165164, - 32092760, - 8863649751536, - 2039480, - 12637321, - 13641700, - 1619397520, - 2809054939280, - 2039280, - 934087680, - 5660915817, - 1141440, - 1705400, - 1141440, - 1141440, - 0, - 319178288692 - ], - "preTokenBalances": [ - { - "accountIndex": 1, - "mint": "So11111111111111111111111111111111111111112", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "911784999", - "decimals": 9, - "uiAmount": 0.911784999, - "uiAmountString": "0.911784999" - } - }, - { - "accountIndex": 4, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "0", - "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" - } - }, - { - "accountIndex": 5, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "0", - "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" - } - }, - { - "accountIndex": 6, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "47763846", - "decimals": 6, - "uiAmount": 47.763846, - "uiAmountString": "47.763846" - } - }, - { - "accountIndex": 8, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "1472797965", - "decimals": 6, - "uiAmount": 1472.797965, - "uiAmountString": "1472.797965" - } - }, - { - "accountIndex": 15, - "mint": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "66140613391752", - "decimals": 6, - "uiAmount": 66140613.391752, - "uiAmountString": "66140613.391752" - } - }, - { - "accountIndex": 16, - "mint": "So11111111111111111111111111111111111111112", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "740238125884", - "decimals": 9, - "uiAmount": 740.238125884, - "uiAmountString": "740.238125884" - } - }, - { - "accountIndex": 18, - "mint": "So11111111111111111111111111111111111111112", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "8863647712056", - "decimals": 9, - "uiAmount": 8863.647712056, - "uiAmountString": "8863.647712056" - } - }, - { - "accountIndex": 19, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "458220053710", - "decimals": 6, - "uiAmount": 458220.05371, - "uiAmountString": "458220.05371" - } - }, - { - "accountIndex": 23, - "mint": "So11111111111111111111111111111111111111112", - "owner": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "2809052900000", - "decimals": 9, - "uiAmount": 2809.0529, - "uiAmountString": "2809.0529" - } - }, - { - "accountIndex": 24, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "78243883621", - "decimals": 6, - "uiAmount": 78243.883621, - "uiAmountString": "78243.883621" - } - } - ], - "returnData": { - "data": [ - "nusk7tUAAAA=", - "base64" - ], - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4" - }, - "rewards": [], - "status": { - "Ok": null - } - }, - "slot": 294680717, - "transaction": { - "message": { - "accountKeys": [ - { - "pubkey": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "signer": true, - "source": "transaction", - "writable": true - }, - { - "pubkey": "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "2ZWDJrXcMi4C3HAH9GMNSUtpcQ1eZkR4ugzoYm58ucaq", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "9M7A2aPd5iyvH9s7xGweMZoVFK6m7euUf455CnAtUhrQ", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "Arx7KZvrULCC7xtwBuC25eNHycRvEvDhpjULW84PAjkc", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "GEDtZyxPBSgD76c9W7gNjqxE5e9js5Nw15vxWNB6EmTR", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9", - "signer": false, - "source": "transaction", - "writable": true - }, - { - "pubkey": "ComputeBudget111111111111111111111111111111", - "signer": false, - "source": "transaction", - "writable": false - }, - { - "pubkey": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "signer": false, - "source": "transaction", - "writable": false - }, - { - "pubkey": "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "signer": false, - "source": "transaction", - "writable": false - }, - { - "pubkey": "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf", - "signer": false, - "source": "transaction", - "writable": false - }, - { - "pubkey": "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "signer": false, - "source": "transaction", - "writable": false - }, - { - "pubkey": "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "3MsJXVvievxAbsMsaT6TS4i6oMitD9jazucuq3X234tC", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "DoPuiZfJu7sypqwR4eiU7C5TMcmmiFoU4HaF5SoD8mRy", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "B8a4RCvFaG9AFsatCZLpGLkbCPytyr9K6jSZWLQZDjg1", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "signer": false, - "source": "lookupTable", - "writable": true - }, - { - "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "9iFER3bpjf1PTTCQCfTRu17EJgvsxo9pVyA9QWwEuX4x", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR", - "signer": false, - "source": "lookupTable", - "writable": false - }, - { - "pubkey": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "signer": false, - "source": "lookupTable", - "writable": false - } - ], - "addressTableLookups": [ - { - "accountKey": "DjSyTLWbWdAZktbXLKJ6DjFK6ceZtmMxQyfN7rXitN4Q", - "readonlyIndexes": [ - 2, - 12, - 11 - ], - "writableIndexes": [ - 53, - 54, - 52 - ] - }, - { - "accountKey": "D6XNrxMsDoABJVVY5YyHxJuAB6WGzYCXpZeKyNtqu2v4", - "readonlyIndexes": [ - 94, - 101 - ], - "writableIndexes": [ - 95, - 92, - 102, - 93, - 97 - ] - }, - { - "accountKey": "FgyBbQtzGPpp6BDejtyfk8GVq9raFU5wmshcUxJrbDei", - "readonlyIndexes": [ - 55, - 53, - 13 - ], - "writableIndexes": [ - 57, - 58, - 54 - ] - } - ], - "instructions": [ - { - "accounts": [], - "data": "H2oghu", - "programId": "ComputeBudget111111111111111111111111111111", - "stackHeight": null - }, - { - "accounts": [], - "data": "3PRKQjvfNz6K", - "programId": "ComputeBudget111111111111111111111111111111", - "stackHeight": null - }, - { - "accounts": [ - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "Arx7KZvrULCC7xtwBuC25eNHycRvEvDhpjULW84PAjkc", - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "BkVeSP2GsXV3AYoRJBSZTpFE8sXmcuGnRQcFgoWspump", - "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf", - "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "CAMMCzo5YL8w4VFF8KVHrK22GGUsp5VTaW7grrKgrWqK", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "9iFER3bpjf1PTTCQCfTRu17EJgvsxo9pVyA9QWwEuX4x", - "8sLbNZoA1cfnvMJLPfp98ZLAnFSYCFApfJKMbiXNLwxj", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "6mK4Pxs6GhwnessH7CvPivqDYauiHZmAdbEFDpXFk9zt", - "6P4tvbzRY6Bh3MiWDHuLqyHywovsRwRpfskPvyeSoHsz", - "3MsJXVvievxAbsMsaT6TS4i6oMitD9jazucuq3X234tC", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "GEDtZyxPBSgD76c9W7gNjqxE5e9js5Nw15vxWNB6EmTR", - "DoPuiZfJu7sypqwR4eiU7C5TMcmmiFoU4HaF5SoD8mRy", - "9M7A2aPd5iyvH9s7xGweMZoVFK6m7euUf455CnAtUhrQ", - "2ZWDJrXcMi4C3HAH9GMNSUtpcQ1eZkR4ugzoYm58ucaq", - "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "PhoeNiXZ8ByJGLkxNfZRnkUfjvmuYqLR89jjFHGqdXY", - "7aDTsspkQNGKmrexAN7FLx9oxU3iPczSSvHNggyuqYkR", - "B8a4RCvFaG9AFsatCZLpGLkbCPytyr9K6jSZWLQZDjg1", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "DVCeozFGbe6ew3eWTnZByjHeYqTq1cvbrB7JJhkLxaRJ", - "C6hTSYmF9Q8wEgQdNT7bitt5sP5AAAVtaswPJqVgmoWX", - "ED7PzXEtJo7epZm9rzmg2MDiaDDoJmDpoPigbJ3CRSdo", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "GEVvuoBX2JZuJsNKXg3t9z6LxcxU8vabgTHyw8TaSRbN", - "BHBMUFVURZPBUTQ9FFGBLcGqRqQBkb93Z85oY2JsuzSP", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "hrspQdhWCRZQPwottVWKWBpECtcc2tf8ENetqZNNUZx", - "g7dD1FHSemkUQrX1Eak37wzvDjscgBW2pFCENwjLdMX", - "AWoGptwgRNBauoV8E6xDX7BW1CZEtSgWSs7ARNA1qJ17", - "GGztQqQ6pCPaJQnNpXBgELr5cs3WwDakRbh1iEMzjgSJ" - ], - "data": "5n9zLuyvSGkuf4iDD6QH6bG7drmr1kSMkZ3arXjoqbUbBWQujaFa31s51w8ts9", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": null - } - ], - "recentBlockhash": "9xq3SKnf7nj8F1C1m2DRJgY9GFQhzvNrbwJPUNh3evyY" - }, - "signatures": [ - "5mFEauQFGmXTWmra9c29QbpNrC6AcWQGv9yyaka3YQkXYMv7R4aH5Uf6qbUJF27WGzZEUYRcumBZzR3ZhJ7BJGxt" - ] - }, - "version": 0 -} \ No newline at end of file From 6145d1a808cff7ad8af4e99dc45207781fc6b188 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Sun, 20 Oct 2024 11:09:12 +0300 Subject: [PATCH 25/28] logs --- crypto/sol/logs/token_info.json | 4 +- crypto/sol/logs/transation_details.json | 1515 +++++++++++++---------- 2 files changed, 897 insertions(+), 622 deletions(-) diff --git a/crypto/sol/logs/token_info.json b/crypto/sol/logs/token_info.json index 2cf9161..7eeb686 100644 --- a/crypto/sol/logs/token_info.json +++ b/crypto/sol/logs/token_info.json @@ -85,7 +85,7 @@ "symbol": "USDC", "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "holdedAmount": 4294.469022, - "price": 0.999803 + "price": 0.999829 }, "8sWKTMrh9bWUrvykK4H3jzEzGbEqvJNpS2f7joYKpump": { "decimals": 6, @@ -370,7 +370,7 @@ "symbol": "GOAT", "address": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", "holdedAmount": 764.443989, - "price": 0.415118 + "price": 0.447278 }, "H7ed7UgcLp3ax4X1CQ5WuWDn6d1pprfMMYiv5ejwLWWU": { "decimals": 6, diff --git a/crypto/sol/logs/transation_details.json b/crypto/sol/logs/transation_details.json index 6d362dd..69eef42 100644 --- a/crypto/sol/logs/transation_details.json +++ b/crypto/sol/logs/transation_details.json @@ -1,9 +1,9 @@ { - "blockTime": 1729370256, + "blockTime": 1729370416, "meta": { - "computeUnitsConsumed": 229282, + "computeUnitsConsumed": 336068, "err": null, - "fee": 272438, + "fee": 554500, "innerInstructions": [ { "index": 2, @@ -11,10 +11,10 @@ { "parsed": { "info": { - "amount": "135687438948", + "amount": "6382050311", "authority": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "destination": "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", - "source": "5EgYLqzhdnnxC9N5jEibpz5KCxvNbFNrXmyXsBSQhdLu" + "destination": "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", + "source": "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9" }, "type": "transfer" }, @@ -25,34 +25,241 @@ { "accounts": [ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH", - "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", - "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps" + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", + "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4", + "7BgpVo7LDk5MJ29K7p5xbbRASgZ1Q2PhkkHQnKUbZvfj", + "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", + "42mjJXBiccoctt7oDv3RhXqP8Y7mLZ9SNjv6f4ywCi7p", + "GZXAqWt3VmmxAr8rwVFrh43V73pCyVCHUr4SbbnsRUm4", + "AnTM1fwgxYBFfEsavaFiztLkmY9gV5jgNxFk9dpLaVnL", + "BAT1zA7Dfh7KnpK7c2XqZ4pKUeScSh7xZTgk8GHqy4jT", + "47ncuhFNwYnyAaSSV8C1dHQiSgQQ3TGnCw3uhrYPp2LA" ], - "data": "67rjNsNvLt3dEznWLnAkZ99", + "data": "59p8WydnSZtV45RhTP41QjCrhwrBZWzz4dXeB57575RTLHbEGaKkEoea4f", + "programId": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc", + "stackHeight": 2 + }, + { + "parsed": { + "info": { + "amount": "574384527", + "authority": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "destination": "42mjJXBiccoctt7oDv3RhXqP8Y7mLZ9SNjv6f4ywCi7p", + "source": "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "2981046355", + "authority": "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", + "destination": "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4", + "source": "7BgpVo7LDk5MJ29K7p5xbbRASgZ1Q2PhkkHQnKUbZvfj" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "accounts": [ + "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" + ], + "data": "QMqFu4fYGGeUEysFnenhAvDWgqp1W7DbrMv3z8JcyrP4Bu3Yyyj7irLW76wEzMiFqkMXcsUXJG1WLwjdCWzNTL6957kdfWSD7SPFG2av5YHKd7rfRuSyXGDcxQLVSKoRSjv5Tfyu5P9iy2DdDV5B3fTNDyojs4RUhyF2v65GEUd3vLF", + "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", + "stackHeight": 2 + }, + { + "accounts": [ + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "FtVFXL1uAwbJWeobanPX4efVeQExoCNbYxM8wzRhkuD1", + "HTwkx1DwMQHQUiTYmhRy2c7S2nL7GeuQJ45e7MGBsjNG", + "BsbLpWV33QXj1rSmNeNvMjAgUfe548ayzbYEFsoCfWfq", + "Ey8vmNGiWns8oijzqhMUu2xtqt6Mh8fzn9PD75Rch7pi", + "8BSWYgAczR36C7ukr32v7uTepoRhYJYxAVnpBtYniZTm", + "stab1io8dHvK26KoHmTwwHyYmHRbUWbyEJx6CdrGabC", + "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + ], + "data": "2j6vnwYDURn8zeP61Axe1Fh5ws1zxuUUqaX", + "programId": "swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ", + "stackHeight": 2 + }, + { + "parsed": { + "info": { + "amount": "2981046355", + "authority": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "destination": "FtVFXL1uAwbJWeobanPX4efVeQExoCNbYxM8wzRhkuD1", + "source": "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "accounts": [ + "8BSWYgAczR36C7ukr32v7uTepoRhYJYxAVnpBtYniZTm", + "stab1io8dHvK26KoHmTwwHyYmHRbUWbyEJx6CdrGabC", + "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "HTwkx1DwMQHQUiTYmhRy2c7S2nL7GeuQJ45e7MGBsjNG", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "BsbLpWV33QXj1rSmNeNvMjAgUfe548ayzbYEFsoCfWfq" + ], + "data": "HgzYw38kQ5mwhriFZKMRW6b1MNfsu7JPq", + "programId": "vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "48449", + "authority": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "destination": "BsbLpWV33QXj1rSmNeNvMjAgUfe548ayzbYEFsoCfWfq", + "source": "HTwkx1DwMQHQUiTYmhRy2c7S2nL7GeuQJ45e7MGBsjNG" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 4 + }, + { + "parsed": { + "info": { + "amount": "3642482950", + "authority": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "destination": "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "source": "HTwkx1DwMQHQUiTYmhRy2c7S2nL7GeuQJ45e7MGBsjNG" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 4 + }, + { + "accounts": [ + "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" + ], + "data": "QMqFu4fYGGeUEysFnenhAvDLCKNcZ6RVNL1ETZ4Md2NKwNjTVbTMrb5rrjFMYcRVpGmjK8kB6XYQYdjACBFwUc2wVcn86ZnBdEBDB1YCwdm9mxegacvG34zrJc1TugK7B7uKDLxdyycSQmAxh7owadg8Mq4zcVamMcyV9Amtcjt3as9", + "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", + "stackHeight": 2 + }, + { + "accounts": [ + "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", + "86eq4kdBkUCHGdCC2SfcqGHRCBGhp2M89aCmuvvxaXsm", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "ELFYDkPYWBopH5Msm2cbA2ueByCXEKpzKWanv1kZC9L2", + "6Nij2pGdpgd6EutLAtdRwQoHaKKxhdNBi4zoLgd9Yuaq", + "FbQYjLEq1vNCszmxmxZDoFiy9fgyfdPxzt9Fu5zk5jJ4", + "FX5PBDb4nVTs4f9dSkUsj55rEYrCkBs9e7xZpDHqDeVM", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "EPBJUVCmzvwkGPGcEuwKmXomfGt78Aozy6pj44x9xxDB", + "EPBJUVCmzvwkGPGcEuwKmXomfGt78Aozy6pj44x9xxDB", + "CdgEC82BZAxFAJFpVPZ1RtnDr9AyH8KP9KygYhCb39eJ" + ], + "data": "PgQWtn8ozix5isujzV6Ww5jRDnQFRvoMy", + "programId": "2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c", + "stackHeight": 2 + }, + { + "parsed": { + "info": { + "amount": "5807665784", + "authority": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "destination": "ELFYDkPYWBopH5Msm2cbA2ueByCXEKpzKWanv1kZC9L2", + "source": "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "account": "FX5PBDb4nVTs4f9dSkUsj55rEYrCkBs9e7xZpDHqDeVM", + "amount": "4231114", + "mint": "FbQYjLEq1vNCszmxmxZDoFiy9fgyfdPxzt9Fu5zk5jJ4", + "mintAuthority": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes" + }, + "type": "mintTo" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "parsed": { + "info": { + "amount": "37053211020", + "authority": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", + "destination": "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "source": "6Nij2pGdpgd6EutLAtdRwQoHaKKxhdNBi4zoLgd9Yuaq" + }, + "type": "transfer" + }, + "program": "spl-token", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "stackHeight": 3 + }, + { + "accounts": [ + "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" + ], + "data": "QMqFu4fYGGeUEysFnenhAvGHnSPFLovkZXi46MfLjsSzqJhm6XkVGqWpaXx8STNjEiuAV1tXyUw1MqzVFgTjKno9fH2eTsH2YWhiCP6mhVEp4Ku2KpiM7uQfDUX2b8a97LZSSygqB9jhrykX3AGaP61W8ijMuis3YMdtnN4feeSrV35", + "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", + "stackHeight": 2 + }, + { + "accounts": [ + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "HQD2eNuCRbDCFfaPjFt6ZttM8EiD4BPg1MXy2ALVwobg", + "FhMHm2TVY9ULmZJvjjRx849Jn2ZRirVhJbTncHULTSvH", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "Faa1pS4EWvNh5f3gN7EJTAc5J553NbeAYuCavARb5bsA", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx" + ], + "data": "6DYBudvtRDiQtHj8ZDWmXh9", "programId": "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", "stackHeight": 2 }, { "parsed": { "info": { - "amount": "135687438948", - "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "destination": "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", - "source": "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ" + "amount": "40695693970", + "authority": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "destination": "HQD2eNuCRbDCFfaPjFt6ZttM8EiD4BPg1MXy2ALVwobg", + "source": "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo" }, "type": "transfer" }, @@ -63,10 +270,10 @@ { "parsed": { "info": { - "amount": "19699563499", + "amount": "14360175330", "authority": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "destination": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "source": "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH" + "destination": "Faa1pS4EWvNh5f3gN7EJTAc5J553NbeAYuCavARb5bsA", + "source": "FhMHm2TVY9ULmZJvjjRx849Jn2ZRirVhJbTncHULTSvH" }, "type": "transfer" }, @@ -78,154 +285,17 @@ "accounts": [ "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" ], - "data": "QMqFu4fYGGeUEysFnenhAvR83g86EDDNxzUskfkWKYCBPWe1hqgD6jgKAXr6aYoEQdKxRyfvWPtKnX8gb8XNQ2rSYYhzbKZMeCJSqTLaNUW8nLHX3u1Y1zYg8YPCDTZkJoqcZ1K4HgX5tsXTgC8z7v5DxaV1JAkDhTWcR69JC8QjDpB", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, - { - "accounts": [ - "5nmAbnjJfW1skrPvYjLTBNdhoKzJfznnbvDcM8G2U7Ki", - "DbuvwPuLvH8uy2B1sKuu18aCd2QpCvfZdfDtdRZztBd2", - "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", - "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", - "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", - "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" - ], - "data": "nSSmyzX5ckhnvCveMo8R4RzUBSEUvVju", - "programId": "DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "1772960714", - "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "destination": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", - "source": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "17729", - "authority": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "destination": "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", - "source": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "17729", - "authority": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "destination": "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", - "source": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "277708348", - "authority": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "destination": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", - "source": "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvm1QLkN2NcvQDGitH3S9aWQZut458beSW6EGz57W7yoMBHRsA8CX9JVMXkmSB5Jmc3KXmL5AQujfLpL8n5m8drJLCNtNqiwiYUHHuXxqGVjs4xA5jYnW3qDo3hS1kC1fuH1A5WRU277iMeEzEBup2yZeJK", - "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", - "stackHeight": 2 - }, - { - "accounts": [ - "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", - "So11111111111111111111111111111111111111112", - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", - "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS", - "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", - "FpCMFDFGYotvufJ7HrFHsWEiiQCGbkLCtwHiDnh7o28Q", - "39cWjvHrpHNz2SbXv6ME4NPhqBDBd4KsjUYv5JkHEAJU", - "A28T5pKtscnhDo6C1Sz786Tup88aTjt8uyKewjVvPrGk", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" - ], - "data": "2j6vnwYDURn8zYDec6vYXYVNApMo4J5SMtT", - "programId": "obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y", - "stackHeight": 2 - }, - { - "parsed": { - "info": { - "amount": "17926602785", - "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "destination": "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", - "source": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "parsed": { - "info": { - "amount": "2809872941", - "authority": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", - "destination": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", - "source": "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS" - }, - "type": "transfer" - }, - "program": "spl-token", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "stackHeight": 3 - }, - { - "accounts": [ - "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf" - ], - "data": "QMqFu4fYGGeUEysFnenhAvD866YwW6jMndC6NeFLmgrgSsQrYzqQkLQZLriiyYAHU47xKZ9Dcp6oHcAMxjdC9NFJecmNYi1Ua1ZLQMxJVTMdjCPuzc9RysEFX1EdoHYUEwPn43kkpzLpRaWJPQDSQoeyWALKyUYyPq9X31wFz1Gez9u", + "data": "QMqFu4fYGGeUEysFnenhAvR83g86EDDNxzUskfkWKYCBPWe1hqgD6jgKAXr6aYoEQaxoqYMTvWgPVk2AHWGHjdbNiNtoaPfZA4znu6cRUSWSePaxVndUoCAduqRtGPVVoQng426s4reK7n8G9uubFKRMb4DrfH2aSi83wvTcWK361PV", "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "stackHeight": 2 }, { "parsed": { "info": { - "amount": "3087581289", - "authority": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "destination": "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9", - "source": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p" + "amount": "14360175330", + "authority": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "destination": "DpobFr6hiD6541cQxqgmDvqXy7N875tujq2M1ji5VJy8", + "source": "Faa1pS4EWvNh5f3gN7EJTAc5J553NbeAYuCavARb5bsA" }, "type": "transfer" }, @@ -245,118 +315,205 @@ "Program log: Instruction: SharedAccountsRoute", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 269746 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 399143 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [2]", + "Program log: Instruction: Swap", + "Program log: fee_growth: 11605690773674", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 353338 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 345633 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 48599 of 386841 compute units", + "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc success", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 335927 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", + "Program swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ invoke [2]", + "Program log: Instruction: Swap", + "Program data: rFJyzxtn0wTPiWsda5ZMPCECEwz1LsVpXKq2+/44sgmlj+JkA4P4FwIAAAC/flfGRAEAALrWAQ0lAAAA", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 264792 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV invoke [3]", + "Program log: Instruction: Withdraw", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [4]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 247001 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [4]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 239923 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV consumed 20277 of 255197 compute units", + "Program vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV success", + "Program swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ consumed 95162 of 328198 compute units", + "Program swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ success", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 230694 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", + "Program 2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c invoke [2]", + "Program log: Instruction: Swap", + "Program log: AMM: {\"p\":86eq4kdBkUCHGdCC2SfcqGHRCBGhp2M89aCmuvvxaXsm}", + "Program log: Oracle: {\"a\":15671501808.083828,\"b\":983844291,\"c\":2300000000000,\"d\":15672561446}", + "Program log: Amount: {\"in\":5807665784,\"out\":37053211020,\"impact\":0}", + "Program log: TotalFee: {\"fee\":871149,\"percent\":0.01}", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 160603 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: MintTo", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4492 of 153558 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", + "Program log: Instruction: Transfer", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 146680 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", + "Program 2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c consumed 84239 of 222461 compute units", + "Program 2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c success", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 135901 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 invoke [2]", - "Program log: ray_log: A2QCmpcfAAAAAAAAAAAAAAABAAAAAAAAAGQCmpcfAAAAZympXq8BAABGE8FDdAsAAOt7L5YEAAAA", + "Program log: ray_log: A5ICp3kJAAAAAAAAAAAAAAACAAAAAAAAAGehQtcJAAAAyQv3RYYSAACu0xzukAYAAOLi7lcDAAAA", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 238743 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 109309 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 231117 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 101592 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30544 of 256071 compute units", + "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 consumed 30498 of 126590 compute units", "Program 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 success", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 223153 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", - "Program DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm invoke [2]", - "Program log: Instruction: SwapExactAmountIn", - "Program log: spot_price_before: 6380141620", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 174671 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 166861 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 159047 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 151237 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program log: spot_price_after: 6387092270", - "Program data: epA/8uRAfjMUAAAAc3dhcF9leGFjdF9hbW91bnRfaW67Pda2pnGc3R0WktKvNfpBJorRv4iVoUOTn784IlhxGZC0AgAAAAAAQUUAAAAAAABBRQAAAAAAAAabiFf+q4GE+2h/Y0YYwDXaxDncGus7VZig8AAAAAAByjutaQAAAADG+nrzvtutOj1l82qryXQxsbvkwtL24OR8pgIDRS9dYQAAAAAAAAAAPH6NEAAAAAC/ruDlsUNzsrGkXPmLV+PXjvStXdroTGadLDrI+4eL85AYFGcAAAAAWfzkzCgBAACna529dgAAADoPX2j2AgAAAAAAAAAAAAAAAAAAAAAAAA==", - "Program DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm consumed 79055 of 215432 compute units", - "Program DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 134068 compute units", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", - "Program obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y invoke [2]", - "Program log: Instruction: Swap", - "Program log: mult_x: 1567750", - "Program log: mult_y: 9998000", - "Program log: price_x: 1567750", - "Program log: price_y: 9998", - "Program log: x_deci_mult: 1", - "Program log: y_deci_mult: 1000", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 85760 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [3]", - "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 78148 compute units", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y consumed 57706 of 126402 compute units", - "Program obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 invoke [2]", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 66354 compute units", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 471 of 93718 compute units", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", - "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 62068 compute units", + "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 89440 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", - "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 228982 of 285063 compute units", - "Program return: JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 acAIuAAAAAA=", + "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 consumed 335768 of 418962 compute units", + "Program return: JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 4uLuVwMAAAA=", "Program JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4 success" ], "postBalances": [ - 150810460, + 150255960, 2039280, - 1595646365, - 4071418815, + 1572530509, 2039280, - 2039580, + 2039280, + 2039480, 2039280, 1, 1141440, + 1550552868, + 67926042372, 0, - 22803197600, - 1833021524844, + 319181599414, + 7930364533, + 2895360, + 2039280, + 4533708176161, 6124800, 2039280, + 20408606469195, 2039280, - 2065498388779, - 5526240, - 7735877, 2039280, - 3897600, - 1490281913, - 12214579783, - 3257338309930, - 625164728406, + 6755920, + 70407360, + 70407360, + 70407360, + 2197185872753, + 17406440, + 2039280, + 2039280, + 1461600, 934087680, + 1920960, + 1141440, + 1141440, 6161017923, 1141440, + 0, + 0, 1141440, - 2862060, - 2860560, - 319181599414, - 2505600, - 1398960, + 0, + 1141440, + 23942400, + 23942400, 0 ], "postTokenBalances": [ { "accountIndex": 1, - "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "mint": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "2150166", + "decimals": 9, + "uiAmount": 0.002150166, + "uiAmountString": "0.002150166" + } + }, + { + "accountIndex": 2, + "mint": "So11111111111111111111111111111111111111112", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1570479829", + "decimals": 9, + "uiAmount": 1.570479829, + "uiAmountString": "1.570479829" + } + }, + { + "accountIndex": 3, + "mint": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "14360175330", + "decimals": 6, + "uiAmount": 14360.17533, + "uiAmountString": "14360.17533" + } + }, + { + "accountIndex": 4, + "mint": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "42491", + "decimals": 6, + "uiAmount": 0.042491, + "uiAmountString": "0.042491" + } + }, + { + "accountIndex": 5, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1329046", + "decimals": 6, + "uiAmount": 1.329046, + "uiAmountString": "1.329046" + } + }, + { + "accountIndex": 6, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { @@ -367,21 +524,202 @@ } }, { - "accountIndex": 2, + "accountIndex": 13, "mint": "So11111111111111111111111111111111111111112", - "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "owner": "8UgoPZAR8ZLoEmV6pJ8SZ6JKESP2X8nbnrZSdSgNtg1y", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "1593606885", + "amount": "7928325253", "decimals": 9, - "uiAmount": 1.593606885, - "uiAmountString": "1.593606885" + "uiAmount": 7.928325253, + "uiAmountString": "7.928325253" } }, { - "accountIndex": 4, - "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", - "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "accountIndex": 15, + "mint": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", + "owner": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "159132014266", + "decimals": 9, + "uiAmount": 159.132014266, + "uiAmountString": "159.132014266" + } + }, + { + "accountIndex": 16, + "mint": "So11111111111111111111111111111111111111112", + "owner": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "4533706136881", + "decimals": 9, + "uiAmount": 4533.706136881, + "uiAmountString": "4533.706136881" + } + }, + { + "accountIndex": 18, + "mint": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "7205179748556", + "decimals": 6, + "uiAmount": 7205179.748556, + "uiAmountString": "7205179.748556" + } + }, + { + "accountIndex": 19, + "mint": "So11111111111111111111111111111111111111112", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "20408604429915", + "decimals": 9, + "uiAmount": 20408.604429915, + "uiAmountString": "20408.604429915" + } + }, + { + "accountIndex": 20, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "317782106967", + "decimals": 6, + "uiAmount": 317782.106967, + "uiAmountString": "317782.106967" + } + }, + { + "accountIndex": 21, + "mint": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", + "owner": "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1731183443253", + "decimals": 9, + "uiAmount": 1731.183443253, + "uiAmountString": "1731.183443253" + } + }, + { + "accountIndex": 26, + "mint": "So11111111111111111111111111111111111111112", + "owner": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "2197183833473", + "decimals": 9, + "uiAmount": 2197.183833473, + "uiAmountString": "2197.183833473" + } + }, + { + "accountIndex": 28, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "2934251187393", + "decimals": 6, + "uiAmount": 2934251.187393, + "uiAmountString": "2934251.187393" + } + }, + { + "accountIndex": 29, + "mint": "FbQYjLEq1vNCszmxmxZDoFiy9fgyfdPxzt9Fu5zk5jJ4", + "owner": "CbYf9QNrkVgNRCMTDiVdvzMqSzXh8AAgnrKAoTfEACdh", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "815498910562", + "decimals": 9, + "uiAmount": 815.498910562, + "uiAmountString": "815.498910562" + } + } + ], + "preBalances": [ + 150810460, + 2039280, + 1572530509, + 2039280, + 2039280, + 2039480, + 2039280, + 1, + 1141440, + 1550552868, + 67926042372, + 0, + 319181599414, + 7930316084, + 2895360, + 2039280, + 4537350707560, + 6124800, + 2039280, + 20367910775225, + 2039280, + 2039280, + 6755920, + 70407360, + 70407360, + 70407360, + 2234239083773, + 17406440, + 2039280, + 2039280, + 1461600, + 934087680, + 1920960, + 1141440, + 1141440, + 6161017923, + 1141440, + 0, + 0, + 1141440, + 0, + 1141440, + 23942400, + 23942400, + 0 + ], + "preTokenBalances": [ + { + "accountIndex": 1, + "mint": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "2150166", + "decimals": 9, + "uiAmount": 0.002150166, + "uiAmountString": "0.002150166" + } + }, + { + "accountIndex": 2, + "mint": "So11111111111111111111111111111111111111112", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1570479829", + "decimals": 9, + "uiAmount": 1.570479829, + "uiAmountString": "1.570479829" + } + }, + { + "accountIndex": 3, + "mint": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { "amount": "0", @@ -391,15 +729,27 @@ } }, { - "accountIndex": 5, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "accountIndex": 4, + "mint": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "1856498", + "amount": "42491", "decimals": 6, - "uiAmount": 1.856498, - "uiAmountString": "1.856498" + "uiAmount": 0.042491, + "uiAmountString": "0.042491" + } + }, + { + "accountIndex": 5, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "1329046", + "decimals": 6, + "uiAmount": 1.329046, + "uiAmountString": "1.329046" } }, { @@ -414,300 +764,130 @@ "uiAmountString": "6382.050311" } }, - { - "accountIndex": 11, - "mint": "So11111111111111111111111111111111111111112", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "1833019485564", - "decimals": 9, - "uiAmount": 1833.019485564, - "uiAmountString": "1833.019485564" - } - }, { "accountIndex": 13, - "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", + "mint": "So11111111111111111111111111111111111111112", + "owner": "8UgoPZAR8ZLoEmV6pJ8SZ6JKESP2X8nbnrZSdSgNtg1y", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "12729668277674", - "decimals": 6, - "uiAmount": 12729668.277674, - "uiAmountString": "12729668.277674" - } - }, - { - "accountIndex": 14, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "216551636626", - "decimals": 6, - "uiAmount": 216551.636626, - "uiAmountString": "216551.636626" + "amount": "7928276804", + "decimals": 9, + "uiAmount": 7.928276804, + "uiAmountString": "7.928276804" } }, { "accountIndex": 15, - "mint": "So11111111111111111111111111111111111111112", - "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "mint": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", + "owner": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "2065496349499", + "amount": "156150967911", "decimals": 9, - "uiAmount": 2065.496349499, - "uiAmountString": "2065.496349499" + "uiAmount": 156.150967911, + "uiAmountString": "156.150967911" + } + }, + { + "accountIndex": 16, + "mint": "So11111111111111111111111111111111111111112", + "owner": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "4537348668280", + "decimals": 9, + "uiAmount": 4537.34866828, + "uiAmountString": "4537.34866828" } }, { "accountIndex": 18, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "mint": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "509987358567", + "amount": "7219539923886", "decimals": 6, - "uiAmount": 509987.358567, - "uiAmountString": "509987.358567" + "uiAmount": 7219539.923886, + "uiAmountString": "7219539.923886" } }, { - "accountIndex": 20, - "mint": "So11111111111111111111111111111111111111112", - "owner": "45ruCyfdRkWpRNGEqWzjCiXRHkZs8WXCLQ67Pnpye7Hp", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "1488242533", - "decimals": 9, - "uiAmount": 1.488242533, - "uiAmountString": "1.488242533" - } - }, - { - "accountIndex": 21, - "mint": "So11111111111111111111111111111111111111112", - "owner": "ATowQwFzdJBJ9VFSfoNKmuB8GiSeo8foM5vRriwmKmFB", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "12212540403", - "decimals": 9, - "uiAmount": 12.212540403, - "uiAmountString": "12.212540403" - } - }, - { - "accountIndex": 22, - "mint": "So11111111111111111111111111111111111111112", - "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "3257336270650", - "decimals": 9, - "uiAmount": 3257.33627065, - "uiAmountString": "3257.33627065" - } - } - ], - "preBalances": [ - 151082898, - 2039280, - 1595646365, - 4071418815, - 2039280, - 2039580, - 2039280, - 1, - 1141440, - 0, - 22803197600, - 1852721088343, - 6124800, - 2039280, - 2039280, - 2047571785994, - 5526240, - 7735877, - 2039280, - 3897600, - 1490264184, - 12214562054, - 3255565384674, - 625164728406, - 934087680, - 6161017923, - 1141440, - 1141440, - 2862060, - 2860560, - 319181599414, - 2505600, - 1398960, - 0 - ], - "preTokenBalances": [ - { - "accountIndex": 1, - "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "135687438948", - "decimals": 6, - "uiAmount": 135687.438948, - "uiAmountString": "135687.438948" - } - }, - { - "accountIndex": 2, - "mint": "So11111111111111111111111111111111111111112", - "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "1593606885", - "decimals": 9, - "uiAmount": 1.593606885, - "uiAmountString": "1.593606885" - } - }, - { - "accountIndex": 4, - "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", - "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "0", - "decimals": 6, - "uiAmount": null, - "uiAmountString": "0" - } - }, - { - "accountIndex": 5, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "1856498", - "decimals": 6, - "uiAmount": 1.856498, - "uiAmountString": "1.856498" - } - }, - { - "accountIndex": 6, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "3294469022", - "decimals": 6, - "uiAmount": 3294.469022, - "uiAmountString": "3294.469022" - } - }, - { - "accountIndex": 11, + "accountIndex": 19, "mint": "So11111111111111111111111111111111111111112", "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "1852719049063", + "amount": "20367908735945", "decimals": 9, - "uiAmount": 1852.719049063, - "uiAmountString": "1852.719049063" - } - }, - { - "accountIndex": 13, - "mint": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", - "owner": "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "12593980838726", - "decimals": 6, - "uiAmount": 12593980.838726, - "uiAmountString": "12593980.838726" - } - }, - { - "accountIndex": 14, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "219361509567", - "decimals": 6, - "uiAmount": 219361.509567, - "uiAmountString": "219361.509567" - } - }, - { - "accountIndex": 15, - "mint": "So11111111111111111111111111111111111111112", - "owner": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "2047569746714", - "decimals": 9, - "uiAmount": 2047.569746714, - "uiAmountString": "2047.569746714" - } - }, - { - "accountIndex": 18, - "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "uiTokenAmount": { - "amount": "510265066915", - "decimals": 6, - "uiAmount": 510265.066915, - "uiAmountString": "510265.066915" + "uiAmount": 20367.908735945, + "uiAmountString": "20367.908735945" } }, { "accountIndex": 20, - "mint": "So11111111111111111111111111111111111111112", - "owner": "45ruCyfdRkWpRNGEqWzjCiXRHkZs8WXCLQ67Pnpye7Hp", + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "1488224804", - "decimals": 9, - "uiAmount": 1.488224804, - "uiAmountString": "1.488224804" + "amount": "317207722440", + "decimals": 6, + "uiAmount": 317207.72244, + "uiAmountString": "317207.72244" } }, { "accountIndex": 21, - "mint": "So11111111111111111111111111111111111111112", - "owner": "ATowQwFzdJBJ9VFSfoNKmuB8GiSeo8foM5vRriwmKmFB", + "mint": "mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So", + "owner": "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "12212522674", + "amount": "1734164489608", "decimals": 9, - "uiAmount": 12.212522674, - "uiAmountString": "12.212522674" + "uiAmount": 1734.164489608, + "uiAmountString": "1734.164489608" } }, { - "accountIndex": 22, + "accountIndex": 26, "mint": "So11111111111111111111111111111111111111112", - "owner": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "owner": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "uiTokenAmount": { - "amount": "3255563345394", + "amount": "2234237044493", "decimals": 9, - "uiAmount": 3255.563345394, - "uiAmountString": "3255.563345394" + "uiAmount": 2234.237044493, + "uiAmountString": "2234.237044493" + } + }, + { + "accountIndex": 28, + "mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "owner": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "2928443521609", + "decimals": 6, + "uiAmount": 2928443.521609, + "uiAmountString": "2928443.521609" + } + }, + { + "accountIndex": 29, + "mint": "FbQYjLEq1vNCszmxmxZDoFiy9fgyfdPxzt9Fu5zk5jJ4", + "owner": "CbYf9QNrkVgNRCMTDiVdvzMqSzXh8AAgnrKAoTfEACdh", + "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "uiTokenAmount": { + "amount": "815494679448", + "decimals": 9, + "uiAmount": 815.494679448, + "uiAmountString": "815.494679448" } } ], "returnData": { "data": [ - "acAIuAAAAAA=", + "4uLuVwMAAAA=", "base64" ], "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4" @@ -717,7 +897,7 @@ "Ok": null } }, - "slot": 296559532, + "slot": 296559874, "transaction": { "message": { "accountKeys": [ @@ -728,31 +908,31 @@ "writable": true }, { - "pubkey": "5EgYLqzhdnnxC9N5jEibpz5KCxvNbFNrXmyXsBSQhdLu", + "pubkey": "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", + "pubkey": "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "pubkey": "DpobFr6hiD6541cQxqgmDvqXy7N875tujq2M1ji5VJy8", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", + "pubkey": "Faa1pS4EWvNh5f3gN7EJTAc5J553NbeAYuCavARb5bsA", "signer": false, "source": "transaction", "writable": true }, { - "pubkey": "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", + "pubkey": "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", "signer": false, "source": "transaction", "writable": true @@ -775,6 +955,18 @@ "source": "transaction", "writable": false }, + { + "pubkey": "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "signer": false, + "source": "transaction", + "writable": false + }, + { + "pubkey": "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", + "signer": false, + "source": "transaction", + "writable": false + }, { "pubkey": "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf", "signer": false, @@ -782,91 +974,139 @@ "writable": false }, { - "pubkey": "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "pubkey": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", "signer": false, "source": "transaction", "writable": false }, { - "pubkey": "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH", + "pubkey": "BsbLpWV33QXj1rSmNeNvMjAgUfe548ayzbYEFsoCfWfq", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "pubkey": "Ey8vmNGiWns8oijzqhMUu2xtqt6Mh8fzn9PD75Rch7pi", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", + "pubkey": "FtVFXL1uAwbJWeobanPX4efVeQExoCNbYxM8wzRhkuD1", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS", + "pubkey": "HTwkx1DwMQHQUiTYmhRy2c7S2nL7GeuQJ45e7MGBsjNG", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", + "pubkey": "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", + "pubkey": "FhMHm2TVY9ULmZJvjjRx849Jn2ZRirVhJbTncHULTSvH", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "FpCMFDFGYotvufJ7HrFHsWEiiQCGbkLCtwHiDnh7o28Q", + "pubkey": "HQD2eNuCRbDCFfaPjFt6ZttM8EiD4BPg1MXy2ALVwobg", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7", + "pubkey": "42mjJXBiccoctt7oDv3RhXqP8Y7mLZ9SNjv6f4ywCi7p", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "DbuvwPuLvH8uy2B1sKuu18aCd2QpCvfZdfDtdRZztBd2", + "pubkey": "7BgpVo7LDk5MJ29K7p5xbbRASgZ1Q2PhkkHQnKUbZvfj", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", + "pubkey": "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", + "pubkey": "AnTM1fwgxYBFfEsavaFiztLkmY9gV5jgNxFk9dpLaVnL", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", + "pubkey": "BAT1zA7Dfh7KnpK7c2XqZ4pKUeScSh7xZTgk8GHqy4jT", "signer": false, "source": "lookupTable", "writable": true }, { - "pubkey": "So11111111111111111111111111111111111111112", + "pubkey": "GZXAqWt3VmmxAr8rwVFrh43V73pCyVCHUr4SbbnsRUm4", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "6Nij2pGdpgd6EutLAtdRwQoHaKKxhdNBi4zoLgd9Yuaq", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "86eq4kdBkUCHGdCC2SfcqGHRCBGhp2M89aCmuvvxaXsm", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "ELFYDkPYWBopH5Msm2cbA2ueByCXEKpzKWanv1kZC9L2", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "FX5PBDb4nVTs4f9dSkUsj55rEYrCkBs9e7xZpDHqDeVM", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "FbQYjLEq1vNCszmxmxZDoFiy9fgyfdPxzt9Fu5zk5jJ4", + "signer": false, + "source": "lookupTable", + "writable": true + }, + { + "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "pubkey": "stab1io8dHvK26KoHmTwwHyYmHRbUWbyEJx6CdrGabC", + "signer": false, + "source": "lookupTable", + "writable": false + }, + { + "pubkey": "swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ", + "signer": false, + "source": "lookupTable", + "writable": false + }, + { + "pubkey": "vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV", "signer": false, "source": "lookupTable", "writable": false @@ -884,43 +1124,49 @@ "writable": false }, { - "pubkey": "obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y", + "pubkey": "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "39cWjvHrpHNz2SbXv6ME4NPhqBDBd4KsjUYv5JkHEAJU", + "pubkey": "8BSWYgAczR36C7ukr32v7uTepoRhYJYxAVnpBtYniZTm", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "A28T5pKtscnhDo6C1Sz786Tup88aTjt8uyKewjVvPrGk", + "pubkey": "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "pubkey": "47ncuhFNwYnyAaSSV8C1dHQiSgQQ3TGnCw3uhrYPp2LA", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "5nmAbnjJfW1skrPvYjLTBNdhoKzJfznnbvDcM8G2U7Ki", + "pubkey": "2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm", + "pubkey": "CdgEC82BZAxFAJFpVPZ1RtnDr9AyH8KP9KygYhCb39eJ", "signer": false, "source": "lookupTable", "writable": false }, { - "pubkey": "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", + "pubkey": "EPBJUVCmzvwkGPGcEuwKmXomfGt78Aozy6pj44x9xxDB", + "signer": false, + "source": "lookupTable", + "writable": false + }, + { + "pubkey": "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", "signer": false, "source": "lookupTable", "writable": false @@ -928,131 +1174,160 @@ ], "addressTableLookups": [ { - "accountKey": "8TciyE47fbGtuKgSVXToYdyUDhSKFZeok2SRYxWEuV5N", + "accountKey": "B16gtzDa93pCrYPxNFzi3zzRQU4tY7YXgxNxX19MLpGF", "readonlyIndexes": [ + 0, + 100, + 138, + 97, + 5, 1, - 4, + 139, + 98 + ], + "writableIndexes": [ + 102, + 101, + 140, + 137 + ] + }, + { + "accountKey": "BYib6eYHT5491AouqiQ4Q8fpSop2Eycr6aj2HZGr7PhN", + "readonlyIndexes": [], + "writableIndexes": [ + 124, + 119, + 120 + ] + }, + { + "accountKey": "2LSwHPsCucye81Hob1ccozqRc6EC15f6uNAWWbEBsRqa", + "readonlyIndexes": [ + 195, + 192 + ], + "writableIndexes": [ + 187, + 191, + 193, + 197, + 196, + 189 + ] + }, + { + "accountKey": "DmKR45FdQv6tWjWpiVHUqKXTaizAvjb2vZLKPgRdXyWL", + "readonlyIndexes": [ + 8, + 10, + 11, + 7 + ], + "writableIndexes": [ + 13, + 14, 12, - 10 - ], - "writableIndexes": [ - 22, - 25, - 26 - ] - }, - { - "accountKey": "5EJQVP5pXBnEbuo4NKu8Lm7ckrUzGyKEggq11XAxM46z", - "readonlyIndexes": [ - 70, - 71, - 73, - 72 - ], - "writableIndexes": [ - 64, - 68, - 65, - 66 - ] - }, - { - "accountKey": "23iTfgGpQMxmeDhF4BcjW6D33UYG4Up25ttdc27vDD42", - "readonlyIndexes": [ - 20, 16, - 51 - ], - "writableIndexes": [ - 54, - 56, - 35, - 34, - 50 + 17 ] } ], "instructions": [ { "accounts": [], - "data": "JfxgNj", + "data": "JxLEvb", "programId": "ComputeBudget111111111111111111111111111111", "stackHeight": null }, { "accounts": [], - "data": "3re86GeZBWuu", + "data": "3i4Sb3sioQ6b", "programId": "ComputeBudget111111111111111111111111111111", "stackHeight": null }, { "accounts": [ "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", "7keSmTZozjmuX66gd9GBSJYEHnMqsyutWpvuuKtXZKDH", - "5EgYLqzhdnnxC9N5jEibpz5KCxvNbFNrXmyXsBSQhdLu", - "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", - "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", "HfsugpFeYex1reWFUH3LGDXMx16hHioZ9UpKVkuiENp9", - "G3s49agBGCXqqhLXGXFtasQgAAMPvXQifyWL5M2Wpump", + "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", + "Faa1pS4EWvNh5f3gN7EJTAc5J553NbeAYuCavARb5bsA", + "DpobFr6hiD6541cQxqgmDvqXy7N875tujq2M1ji5VJy8", "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump", "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "D8cy77BBepLMngZx6ZukaTff5hCt1HrWyKk3Hnd9oitf", "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", + "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "AiMZS5U3JMvpdvsr1KeaMiS354Z1DeSg5XjA4yYRxtFf", + "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4", + "7BgpVo7LDk5MJ29K7p5xbbRASgZ1Q2PhkkHQnKUbZvfj", + "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", + "42mjJXBiccoctt7oDv3RhXqP8Y7mLZ9SNjv6f4ywCi7p", + "GZXAqWt3VmmxAr8rwVFrh43V73pCyVCHUr4SbbnsRUm4", + "AnTM1fwgxYBFfEsavaFiztLkmY9gV5jgNxFk9dpLaVnL", + "BAT1zA7Dfh7KnpK7c2XqZ4pKUeScSh7xZTgk8GHqy4jT", + "47ncuhFNwYnyAaSSV8C1dHQiSgQQ3TGnCw3uhrYPp2LA", + "swapNyd8XiQwJ6ianp9snpu4brUqFxadzvHebnAXjJZ", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "2heSg3cqsZ7G6Jn8dDngY98KZH3MRqaChfEbfvRAzFH4", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "FtVFXL1uAwbJWeobanPX4efVeQExoCNbYxM8wzRhkuD1", + "HTwkx1DwMQHQUiTYmhRy2c7S2nL7GeuQJ45e7MGBsjNG", + "BsbLpWV33QXj1rSmNeNvMjAgUfe548ayzbYEFsoCfWfq", + "Ey8vmNGiWns8oijzqhMUu2xtqt6Mh8fzn9PD75Rch7pi", + "8BSWYgAczR36C7ukr32v7uTepoRhYJYxAVnpBtYniZTm", + "stab1io8dHvK26KoHmTwwHyYmHRbUWbyEJx6CdrGabC", + "7imnGYfCovXjMWKdbQvETFVMe72MQDX4S5zW4GFxMJME", + "vo1tWgqZMjG61Z2T9qUaMYKqZ75CYzMuaZ2LZP1n7HV", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "2wT8Yq49kHgDzXuPxZSaeLaH1qbmGXtEyPy64bL7aD3c", + "HVoJWyPbQn4XikG9BY2A8wP27HJQzHAoDnAs1SfsATes", + "86eq4kdBkUCHGdCC2SfcqGHRCBGhp2M89aCmuvvxaXsm", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx", + "G4CD7aqqZZ6QKCNHrc1MPdS9Aw8BWmQ5ZkDd54W6mAEG", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "ELFYDkPYWBopH5Msm2cbA2ueByCXEKpzKWanv1kZC9L2", + "6Nij2pGdpgd6EutLAtdRwQoHaKKxhdNBi4zoLgd9Yuaq", + "FbQYjLEq1vNCszmxmxZDoFiy9fgyfdPxzt9Fu5zk5jJ4", + "FX5PBDb4nVTs4f9dSkUsj55rEYrCkBs9e7xZpDHqDeVM", + "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", + "EPBJUVCmzvwkGPGcEuwKmXomfGt78Aozy6pj44x9xxDB", + "EPBJUVCmzvwkGPGcEuwKmXomfGt78Aozy6pj44x9xxDB", + "CdgEC82BZAxFAJFpVPZ1RtnDr9AyH8KP9KygYhCb39eJ", "675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8", "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", "5Q544fKrFoe6tsEbD7S8EmxGTJYAKtTVhAW5Q5pge4j1", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "66F6517wYaSLVmuA6nnH9BDhdVbnbQCgc1bJj3N4gWRH", - "GriT8qGhe6RZDCBtSePNrHqSJqdoFCj5YmthQiCoXwFz", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "F4KNHQ7SNM5mjPCTBnCnRaDZkYKez7rBVbPMjdtPCpiJ", - "DE6hr5BfKVP4ymLvoznGDx147bDQx3hxPGSx8ds3wBJQ", - "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "DEXYosS6oEGvk8uCDayvwEZz4qEyDJRf9nFgYCaqPMTm", - "5nmAbnjJfW1skrPvYjLTBNdhoKzJfznnbvDcM8G2U7Ki", - "DbuvwPuLvH8uy2B1sKuu18aCd2QpCvfZdfDtdRZztBd2", - "Enc6rB84ZwGxZU8aqAF41dRJxg3yesiJgD7uJFVhMraM", - "HZ5JFB1ZoZs6NQLr7bb4MMEXDgty4Vs1ZghoyX35mNnV", - "AHFAv95Z67xnPYuHTf5a9uMEHdXFvbQvwc4EazY3tpt7", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", - "GswwnegnBMWEuEsptDCBDmRB9YtG5zjetTSw7RunUQMY", - "DuFXxPxAyJhHj4gMpE8As1Ta4nSSVXv8xfEDRrWQmJ9G", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "obriQD1zbpyLz95G5n7nJe6a4DPjpFwa5XYPoNm113y", - "FCPVQTdW5JT7WZoGsCdPYfUSGr4HS6UiiSz4CHq9Pt9v", - "So11111111111111111111111111111111111111112", - "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", - "CPdSKZ7m3KcV26tAvZ97uNBYxpTA9uWj65ccJ9SWETfg", - "3YgFqwNEspCVUNNGLYfdHR3uB3hHSxo9QXth7f5wYxdS", - "91bUbswo6Di8235jAPwim1At4cPZLbG2pkpneyqKg4NQ", - "Gjmjory7TWKJXD2Jc6hKzAG991wWutFhtbXudzJqgx3p", - "FpCMFDFGYotvufJ7HrFHsWEiiQCGbkLCtwHiDnh7o28Q", - "39cWjvHrpHNz2SbXv6ME4NPhqBDBd4KsjUYv5JkHEAJU", - "A28T5pKtscnhDo6C1Sz786Tup88aTjt8uyKewjVvPrGk", - "CapuXNQoDviLvU1PxFiizLgPNQCxrsag1uMeyk6zLVps", - "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "HQD2eNuCRbDCFfaPjFt6ZttM8EiD4BPg1MXy2ALVwobg", + "FhMHm2TVY9ULmZJvjjRx849Jn2ZRirVhJbTncHULTSvH", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "9Tb2ohu5P16BpBarqd3N27WnkF51Ukfs8Z1GzzLDxVZW", + "BuqEDKUwyAotZuK37V4JYEykZVKY8qo1zKbpfU9gkJMo", + "Faa1pS4EWvNh5f3gN7EJTAc5J553NbeAYuCavARb5bsA", + "6LXutJvKUw8Q5ue2gCgKHQdAN4suWW8awzFVC6XCguFx" ], - "data": "5n9zLuyvSGkupnS6NLYGpStGcu3rak5jzHgpvUEbcWH8aiqSv1NAChf2i3fZ7u", + "data": "YGc4QmfE2gj5bY7gzbx8Rr3BXARxTnM5kDbNC9bm8T1XDWuV4cHZmeQJsLBRH5ftZWP", "programId": "JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4", "stackHeight": null } ], - "recentBlockhash": "Fw1bayemDHPPw1GMLwjnbwWDiRoWB3wetGXkVMbwAhce" + "recentBlockhash": "3JBUQQi73H1TrPLmTQpMxL5CYa16qog7gp15W9gD9J88" }, "signatures": [ - "4ZBXZzVjXbpjrydk4oqi4DFVu6QNmRghqkSZ8x3e6o8EzsgUW3rX4oecacFktwBdwTzpf5NPi4m8snc3tKY2o45N" + "5uReGYsrcTrGcCLg65rUg5Hqp1ysTnHqSBNndEHqKAzLMpLnPghhazMi4k5EB6VmDESk5GvPCsaAM9skcLMBfT5c" ] }, "version": 0 From 1ad6cf379adaba22de78f8cfa4558f6d14cd784a Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 21 Oct 2024 14:53:38 +0300 Subject: [PATCH 26/28] fix --- crypto/sol/app.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index 42c1e69..a33ccd2 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -39,12 +39,9 @@ import requests import re from typing import List, Dict, Any, Tuple import random +import time from threading import Thread - -from modules.webui import init_app -from modules.storage import init_db, store_transaction - app = Flask(__name__) # config = load_config() @@ -768,15 +765,13 @@ async def follow_move(move): return 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}") decimals = token_info.get('decimals') # Convert to lamports # if decimals is 6, then amount = amount * 1e6; if 9, then amount = amount * 1e9 amount = int(amount_to_swap * 10**decimals) - + amount = int(amount) + logging.debug(f"Calculated amount in lamports: {amount}") if your_balance < amount_to_swap: # should not happen msg = ( From ec56e74072366e58313df98f796e6cfcc3476048 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 21 Oct 2024 16:42:44 +0300 Subject: [PATCH 27/28] fix follow move --- crypto/sol/app.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index a33ccd2..bcf6755 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -165,10 +165,10 @@ async def transaction_notified(wallet, tx_signature): # Process the transaction # tr = await get_swap_transaction_details(tx_signature) tr = await get_transaction_details_info(tx_signature, []) - get_token_metadata_symbol(tr) # ToDo - probably optimize - await follow_move(tr['token_in']) - await follow_move(tr['token_out']) + await get_token_metadata_symbol(tr['token_in']) + await get_token_metadata_symbol(tr['token_out']) + await follow_move(tr) await save_token_info() return jsonify(tr), 200 except Exception as e: From f633df6f638f9c8031c6284078f793c010c92fbe Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 21 Oct 2024 17:15:45 +0300 Subject: [PATCH 28/28] refactoring - wip - broken --- crypto/sol/app.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/crypto/sol/app.py b/crypto/sol/app.py index a33ccd2..b6f6387 100644 --- a/crypto/sol/app.py +++ b/crypto/sol/app.py @@ -42,6 +42,12 @@ import random import time from threading import Thread + +from modules.SolanaAPI import SolanaAPI +from modules.webui import init_app +from modules.storage import init_db, store_transaction +from modules.utils import telegram_utils + app = Flask(__name__) # config = load_config() @@ -192,8 +198,6 @@ solana_client = AsyncClient(SOLANA_HTTP_URL) dexscreener_client = DexscreenerClient() -# Initialize Telegram Bot -bot = Bot(token=TELEGRAM_BOT_TOKEN) # Token addresses (initialize with some known tokens) TOKEN_ADDRESSES = { @@ -1057,11 +1061,12 @@ async def check_PK(): # Convert Flask app to ASGI asgi_app = WsgiToAsgi(app) +solanaAPI = SolanaAPI() async def main(): global solanaAPI, bot, PROCESSING_LOG - + telegram_utils.initialize() await telegram_utils.send_telegram_message("Solana Agent Started. Connecting to mainnet...") await check_PK() # new: restart wallet_watch_loop every hour