In a local test environment, I am able to compile this implementation of the ERC721 token standard, deploy it, mint an NFT and transfer it (using the
transferFrom function) to the following deployed vyper contract.
def transferFrom(_from: address, _to: address, _tokenId: uint256): nonpayable @external def transfer_out(_from: address, _to: address, _tokenId: uint256): Erc721(_from).transferFrom(_from, _to, _tokenId)
My goal is to transfer the NFT to a wallet from the contract by calling the
transfer_out function above, but I get the following error when attempting that:
ContractLogicError: execution reverted: VM Exception while processing transaction: revert
SOLVED: I was passing the vyper contract's address to
transfer_out as the
_from address whereas I should have passed the ERC721 token standard contract's address.