Hello! Help me please. I have just created own tokens on bsc testnet via PancakeFactory. Then I created liquidity pool with these tokens. I minted tokens and I want approve this tokens to PancakeRouter and add liquidity in this pool.
You see my code below:
def approves(w3, token_contract, router_contract, my_account, my_pk):
allowance_value = token_contract.functions.allowance(
my_account, router_contract.address).call()
print('allowance_value: ', allowance_value)
if allowance_value <= 1000000000000000:
approve_est_gas = token_contract.functions.approve(
router_contract.address,
10000
).estimateGas(
{
'from': my_account,
'nonce': w3.eth.get_transaction_count(my_account)
}
)
approve_tx_builder = token_contract.functions.approve(
router_contract.address,
10000
).buildTransaction(
{
'from': my_account,
'nonce': w3.eth.get_transaction_count(my_account),
'gas': approve_est_gas
}
)
signed_tx = w3.eth.account.sign_transaction(approve_tx_builder, my_pk)
tx_hash = w3.eth.send_raw_transaction(signed_tx.rawTransaction)
tx_receipt = w3.eth.wait_for_transaction_receipt(tx_hash)
print('tx_hash: ', tx_receipt['transactionHash'].hex())
print('tx_hash: ', tx_receipt['status'])
I always received this mistake:
raise ContractLogicError('execution reverted')
web3.exceptions.ContractLogicError: execution reverted