Im currently developing an ERC-721 DApp and I would like to give the owner of the NFT the chance to approve a Smart Contract Address, so that the Smart Contract can do the transaction. Now I have the problem that Contract A is the NFT and Contract B is the approved address. But when I initiate the transaction, which will lead the approved Contract B to call Contract A to transfer the NFT it doesnt work. I think that this is probably because the transfer Method will notice that tx.origin is not the approved address, because my address is initiating the transaction, and Contract B is only the msg.sender to Contract A. Is there any way or workaround to handle it, so that even though the tx.origin is not the approved address, Contract B is able to do the transaction. I think there has to be a solution, because what would be the use of approve a contract, when it cant transfer in the end. I would really appreciate someone helping me to figure it out.

Best regards Luca :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.