我正在尝试从 pancakeswap 路由器调用函数“SwapExactTokensForETHSupportingFeeOnTransferTokens”,但无论我尝试什么,每次交易都会被还原,错误代码为“Transferfrom failed”。我要出售的代币已被手动批准。
如果有人想帮助我解决这个问题,这里是函数
def sell():
pancakeswap2_txn = pcscontract.functions.swapExactTokensForETHSupportingFeeOnTransferTokens(
2000000000000000,0, #2000000000000000 = equals to 0.002BNB
[sellcontractaddress,wbnb],
sender_address,
(int(time.time()) + 10000)
).buildTransaction({
'from': sender_address,
'gasPrice': w3.toWei(str(gwei), 'gwei'),
'value': 0,
'gas': 50000,
'nonce': w3.eth.get_transaction_count(sender_address),
})
signed_txn = w3.eth.account.sign_transaction(pancakeswap2_txn, private_key=privatekey)
tx_token = w3.eth.send_raw_transaction(signed_txn.rawTransaction)
print(f"Sold {symbol}: " + w3.toHex(tx_token))
sell()