Я новичок в DeFi и пишу функцию для использования Uniswap V2 для инициации транзакции, но у меня возникают ошибки. Я получаю следующую ошибку: объект swapExactETHForTokens(uint256,address[],address,uint256) не имеет атрибута buildTransaction. Я знаю, что swapExactETHForTokens поддерживает buildTransaction, поэтому я предполагаю, что, возможно, это проблема с моим ABI? Любая помощь очень ценится. Я прикрепил функцию ниже:
Я новичок в DeFi и пишу функцию для использования Uniswap V2 для инициации транзакции, но у меня возникают ошибки. Я получаю следующую ошибку: объект swapExactETHForTokens(uint256,address[],address,uint256) не имеет атрибута buildTransaction. Я знаю, что swapExactETHForTokens поддерживает buildTransaction, поэтому я предполагаю, что, возможно, это проблема с моим ABI? Любая помощь очень ценится. Я прикрепил функцию ниже: [code]from web3 import Web3 import json from dotenv import load_dotenv import os import time from datetime import datetime, timedelta, timezone
def swap_tokens_v2(token_in, token_out, amount_in, amount_out_min, to, deadline): uniswap_v2_router_address = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" # Uniswap V2 Router # Load the ABI from the file with open('abi.json', 'r') as abi_file: uniswap_v2_abi = json.load(abi_file) #The ABI file was taken from the etherscan V2 contract under contract ABI: https://etherscan.io/address/0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D#code
# Sign and send the transaction signed_tx = web3.eth.account.sign_transaction(transaction, private_key) tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction)
print(f"Swap initiated, transaction hash: {tx_hash.hex()}") [/code] Я пытался заменить buildTransaction на Transact, но не смог этого сделать, поскольку использую Infura, а у Infura нет доступа к закрытым ключам.