safeTransferFrom is not calling by another smart contract

Hi Everyone, I'm working on marketplace contract where user will deposit its NFT then do buying selling and withdraw it. The issue I got is that every NFT is deposited successfully except the opensea one's I don't know why I also import the interface of safeTransferFrom function and also gives the approval to smart contract but still its not working it reverts the transaction in frontend it return with error "function signature mismatch" and in remix it reverts with "Cannot read properties of undefined (reading 'includes')"

Here is my code:


interface for safetransferfrom

interface IERC721A {
    function safeTransferFrom(
        address from,
        address to,
        uint256 tokenId
    ) external ;


    function safeMint(address to, uint256 id) external;

    function ownerOf(uint256 id) external returns (address);
}

//function where I am depositing nft

    function depositNft(
        string memory uid,
        address collection,
        uint256 nftId
    ) external nonReentrant(){
        IERC721A nft = IERC721A(collection);
        string memory key = string(abi.encodePacked(collection, "_", nftId));

            nft.safeTransferFrom(msg.sender, address(this), nftId);
        DEPOSITS[uid].depositor = msg.sender;
        DEPOSITS[uid].collection = collection;
        DEPOSITS[uid].tokenId = nftId;
        STATUS[key]._status = "Layer_2";
        STATUS[key]._user = msg.sender;
        STATUS[key]._collection = collection;
        STATUS[key]._tokenId = nftId;
        STATUS[key]._isMinted = true;
        STATUS[key]._readyTowithdraw = false;
        STATUS[key]._withdrawn = false;
        depositKeys.push(uid);
    }
1 Like

Could you share whole codebase so that can check?

This is my previous work.
I think this can be helpful for your project.

2 Likes

Thanks for your reply let me check this