The idea is that the contract will execute that transfer in this case, and the contract address doesn’t own that nft
so why isnt it working for me ? When i go to opensea. I can simply to that. I can just click on transfer then i enter who the reciver is and boom the nft is gone to that address. Im not signing anything or approving any nft. Im just connected as the owner of that nft and i sign the transaction as the owner of the nft
You can always transfer as the owner with a single transaction for a single nft
yeah but thats what i am doing innit ? Just im bundling all in one transaction right ?
hey look what i found.
See the 1 answer ? That might be the issue
i found the problem. Im trying to transfer a nft from my contract. But since the contract is interacting with the other nft contract the msg.sender is not the user on my website. Its the contract and thats why it doesnt recognize it as the caller.
Stil i need to somehow bypass that.
I mean i can call setApproveall or approve all but i wanna make all in one click. Any idea ?
I don’t know now how you can do that with a single transaction, it may be possible somehow with some special type of contract call
Before making the transfer create a function that approves the use of NFTs for your contract.
You cannot skip this step.
Use the approve function that is present in all erc721 standard with the contract address of the NFTs to approve.