NFT minted through proxy contract cannot be transferred away from Crossmint

604 views Asked by At

We have created a proxy contract that mints an NFT on our existing contract, as no to parameter was originally provided.

Everything works fine, however, once done and the NFT is shown on Crossmint we cannot transfer the NFT into another wallet. The following error is shown: enter image description here

The successful mint transaction was this one: https://rinkeby.etherscan.io/tx/0x700cd7572303770232587ad04c65bb8b8d56f33e00ccd6d8df0980710380bd60

The proxy contract is this one: https://rinkeby.etherscan.io/address/0xC36DB9076D0F662c9945fbd005Ea260B5259521c

Any idea what is going wrong here?

1

There are 1 answers

4
Michael On

Something that might be worth looking into is your crossmint method as I think there may be an issue with how the logic is layed out in here.

One thing you might look at is the line where you attempt to transfer your token. Your from parameter is using address(this) which is actually referring to your proxy address and not your oefbContract address. I would change this to your original contract address and see if this makes a difference.

    function crossmint(address to, uint8 amount) external payable {
        uint256 total = oefbContract.totalSupply();
        oefbContract.mintNFT{value: msg.value}(amount);

        for (uint256 i = 0; i < amount; i++) {
            oefbContract.transferFrom(address(this), to, total + i);
        }
    }