Ошибка обработки транзакции Uniswap v3 (Бюджет: 2000 руб)
Дата публикации: 29.11.2024 13:29:49
Бюджет: 2000 руб
Пишу скрипт автоматической ребалансировки позиции на Uniswap v3. Вот функция минта новой позиции, с которой у меня основные проблемы. def add_liquidity(web3, wallet_address, private_key, new_range_lower, new_range_upper, token_id, amount0=None, amount1=None): """ Добавляет ликвидность в новый диапазон. :param web3: Экземпляр Web3 для взаимодействия с блокчейном. :param wallet_address: Адрес кошелька. :param private_key: Приватный ключ кошелька. :param new_range_lower: Новая нижняя граница диапазона. :param new_range_upper: Новая верхняя граница диапазона. :param amount0: Количество первого токена для добавления. :param amount1: Количество второго токена для добавления. :param token_id: ID позиции NFT на Uniswap. """ token0 = TOKEN0 # WETH token1 = TOKEN1 # USDC logger = setup_logger(wallet_address) logger.info(f"Добавление ликвидности в диапазон {new_range_lower} {new_range_upper} начато.") tick_lower, tick_upper = price_to_tick(new_range_lower), price_to_tick(new_range_upper) price_ticked_lower, price_ticked_upper = tick_to_price(tick_lower), tick_to_price(tick_upper) try: # Если amount0 не передано, вычисляем их динамически if amount0 is None: amount0, amount1 = AMOUNT0, AMOUNT1 logger.info(f"Вычислены значения для кошелька {wallet_address}: amount0 = {amount0}, amount1 = {amount1}") else: amount1 = eth_to_usdc(price_ticked_lower, price_ticked_upper, get_eth_price(), amount0) logger.info(f"Используются переданные значения для кошелька {wallet_address}: amount0 = {amount0}, amount1 = {amount1}") # Получаем контракт position_manager = get_contract(POSITION_MANAGER_ADDRESS, POSITION_MANAGER_ABI_PATH) params = ( Web3.to_checksum_address(token0), Web3.to_checksum_address(token1), 3000, tick_lower, tick_upper, Web3.to_wei(amount0, 'ether'), int(amount1 * (10**6)), 0, 0, Web3.to_checksum_address(wallet_address), int(time.time()) + 60 ) print(Web3.to_checksum_address(token0), Web3.to_checksum_address(token1), 3000, tick_lower, tick_upper, Web3.to_wei(amount0, 'ether'), int(amount1 * (10**6)), 0, 0, Web3.to_checksum_address(wallet_address), int(time.time()) + 60) add_liquidity_txn = position_manager.functions.mint(params).build_transaction({ "from": wallet_address, "value": 0, "gasPrice": int(web3.eth.gas_price * GAS_PRICE_MULTIPLIER), "nonce": web3.eth.get_transaction_count(wallet_address), }) # Оценка газа для mint estimated_gas = web3.eth.estimate_gas(add_liquidity_txn) add_liquidity_txn['gas'] = int(estimated_gas * 1.2) # Добавляем запас 20% signed_tx = web3.eth.account.sign_transaction(add_liquidity_txn, private_key=private_key) tx_hash = web3.eth.send_raw_transaction(signed_tx.raw_transaction) logger.info(f"Ликвидность успешно добавлена для кошелька {wallet_address}. Хэш транзакции: {tx_hash}") except Exception as e: logger.error(f"Ошибка при добавлении ликвидности для кошелька {wallet_address}: {e}") Вот, что лежит в params 0x4200000000000000000000000000000000000006 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 3000 -194630 -194351 100000000000000 379277 0 0 0xdb9733BE614A69a62ad717f3158BBA383b2F740B 1732838297 Проблема в том, что при таких параметрах вечно получаю ошибку 2024-11-29 02:57:18,546 ERROR Ошибка при добавлении ликвидности для кошелька 0xdb9733BE614A69a62ad717f3158BBA383b2F740B: ('execution reverted', 'no data') Когда меняю тики, то выходит 0xdb9733BE614A69a62ad717f3158BBA383b2F740B: ('execution reverted: STF', '0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000 0000000000000000000000000000000000000035354460000000000000000000000000000000000000000000000000000000 000')
Поднять и настроить сервер для приложения связанного с ИИ. Параметры известны, ищем человека кто все под ключ подберет и настроит. напишите сопроводительное небольшое письмо, добавлю вас в телегарм чат
Хотелось бы обучиться командой онлайн курсом unity (гейм дев, мобильный гейминг,кодинг, маркетинг) От уже действующего разраба хотелось бы уточнить по поводу конкретного места для обучения и задать пару вопросов о сфере.
Нужно обработать естетично, убрать лишнее, цветокоррекция, если нужно то добавить что-то (ясное небо, например) на 8 фотографиях. Пример фото вышлю. Важно самим проявить инициативу. фото прикрепила пример! Будут подобные, но свежие.
Требуется опытный специалист для поддержки сайтов на CMS Bitrix Требования: 1. Разработка, поддержка и оптимизация высоконагруженных сайтов на базе 1С-Битрикс. 2. Интеграция Битрикс с внешними системами и сервисами. 3. Разработка и кастомизация компонентов, модулей и шаблонов. 4. Оптимизация производительности и обеспечение безопасности. 5. Настройка и работа с кэшированием 6. Работа с Git, Docker, навыки работы с серверной инфраструктурой (CentOS, Ubuntu, Debian) 7. Оптимизации кода и...