Thanks for contributing an answer to Stack Overflow! * The approval is cleared when the token is burned. // out than the owner initially received through minting and transferring in. 0xd5c8cd41a8f54c537d1ab3cc132862b85fda82e5, 0xcdc19ef8bf0b0436522635ad86de5b372d9403f4b73592e7681b6c2607a554e7, 0xc9f48234cd47c6c71a3bafee6f0a7bf2871e7b9c0043fd10a8daf9b581097303, AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DataLocationChangeInInternalOverride (very low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), AbiEncodeCallLiteralAsFixedBytesBug (very low-severity). * and stop existing when they are burned (`_burn`). With NFTs, Ethereum is the most popular network for Web3 development, but did you know that it is possible to build an, Non-fungible tokens, or NFTs, represent one of the most well-known use cases of blockchain technology. However, this is far from the limits of Moralis platform, which allows you to create all kinds of dApps and exciting blockchain projects. Ok I think I get it. How does the openzeppelin library Bitmaps actually work? Making statements based on opinion; back them up with references or personal experience. Are you sure that you intend your NFT.sol contract to receive NFTs itself? Making statements based on opinion; back them up with references or personal experience. This is a clear and excellent video guide of the complete process: With Moralis, it becomes possible to transfer several different types of tokens with a single line of code. It appears that in the OpenZeppelin example that you linked, they're extending this interface into an abstract contract (ERC721Receiver.sol), and then optimising it. Moreover, the platform also provides a vast selection of excellent development tools that makes the development process of various tokens and dApps feel like a breeze. I'm trying to transfer an ERC721 token, but I'm getting the error ERC721: transfer caller is not owner nor approved for the transferToken method. Moreover, transferring and creating ERC721 tokens is exceptionally straightforward when using Moralis platform as a foundation. To learn more, see our tips on writing great answers. rev2023.3.1.43269. The approvals for sale can be done using a custom mapping - in my example tokenIdToPrice. Would the reflected sun's radiation melt ice in LEO? Search, filter and fetch blocks and its contents. * forwarded in {IERC721Receiver-onERC721Received} to contract recipients. How can I explain to my manager that a project he wishes to undertake cannot be performed by the team? Master the ERC-721 token standard and how to transfer ERC721 tokens! Jordan's line about intimate parties in The Great Gatsby? A private note (up to 500 characters) can be attached to this address. The arguably most common of these is the ERC721 token standard. I just don't understand why they named it. PTIJ Should we be afraid of Artificial Intelligence? This snippet mints the token, assigning the ownership to the msg.sender. If set, the resulting URI for each, * token will be the concatenation of the `baseURI` and the `tokenId`. Finally, we take the object and pass it as an argument when we call the Moralis.transfer() function. As you observed, they then implement the function in ERC721Holder.sol. Tokens are fundamental features of blockchain development and, if used right, can be quite powerful. The ERC721 token standard implements an API for tokens with smart contracts. It only takes a minute to sign up. Pushing an ERC721 token into a wallet after auction completion, No events were emitted - Exchanging ERC721 Tokens, How to Transfer Token via Contact Address, ERC721: transfer caller is not owner nor approved, How to transfer an ERC721 token across networks, Unable to set approval nor transfer ownership in ERC721 smart contract. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Or is that a bug in the implementation? @PetrHejda yes it's from OpenZeppelin Contracts v4.3.2 and I have not made any changes to it, Thanks for the explanation. The ERC721 calls this method, and now execution goes to the receiver contract to do whatever he wants. Join the Moralis forum for quick solutions and Web3 development discussions with our team and community. I think it is just the beginning. Is there a proper earth ground point in this switch box? However, since the purpose of this article is to simply explain what ERC721 tokens are and how to transfer them, we wont go into the process with too much detail. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. It appears that in the OpenZeppelin example that you linked, they're extending this interface into an abstract contract ( ERC721Receiver.sol ), and then optimising it. Used by the biggest dapps. Could you provide an example of how, github.com/OpenZeppelin/openzeppelin-contracts/blob/master/, The open-source game engine youve been waiting for: Godot (Ep. Traditionally, backend development poses the main barrier to Web3 and blockchain development. It's where the NFT will be sent when it's minted. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. If {ERC721Consecutive} is. The selector can be obtained in Solidity with IERC721.onERC721Received.selector. Furthermore, among the many excellent features are native support for MetaMask, a React dApp template, or an Ethereum authentication guide. Any implementation of ERC721TokenReceiver will have the onERC721Received function and will return bytes4 (keccak256 ("onERC721Received (address,uint256,bytes)")). In this article, we will develop a dapp (decentralized application) with a token swap component. Has 90% of ice around Antarctica disappeared in less than a decade? if onERC721Received fails it is checked if a customError is returned by the contract call or if it just does not implement the IERC721Receiver, means theres no custom error -> IERC721Receiver not implemented or empty revert by the contract, means there is a custom error (reason.length > 0) I guess you missed this! * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. You might have to take a quick look at the implementation on GitHub to see what I'm talking about. Moralis is the premier platform for creating and sending ERC721 tokens between wallets, among many other things. Why does Openzeppelin's CountersUpgradeable library wrap arithmetic in an unchecked block? Return of other than the magic value MUST result in the /// transaction being reverted. Relevant Code: Instead, try putting an actual metamask wallet address there. Answers to all your questions about building the future of Web3 using Moralis. Thats it; this is all we need to do to transfer ERC-721 tokens when using Moralis. If the value is non-zero, the token ID (mapping key) is for sale. ID This is a basic code that allows selling an NTF. Thats why we need to pass two arguments to the revert function, lets call them p and s -> revert(p, s). the transaction that you send for the approve function call, should be signed by the NFT owner wallet address. Story Identification: Nanomachines Building Cities. That said, more can be done on the receiving side to make the calling contract be more certain that the receiving contract is doing all the right things. Share Improve this answer Follow Integral with cosine in the denominator and undefined boundaries. After the receiver token's onERC721Received finishes, the execution resumes in the ERC721 contract. If that address is an Externally Owned Account (a normal Ethereum account), that is fine. YouFolioPass (YFP) Token Tracker on PolygonScan shows the price of the Token $0.00, total supply 0, number of holders 3,745 and updated information of the token. interface IERC721Receiver { function onERC721Received ( address operator, address from, uint256 tokenId, bytes calldata data ) external returns ( bytes4 ); } interface IERC721Metadata is IERC721 { function name () external view returns ( string memory ); function symbol () external view returns ( string memory ); Meanwhile, Ethereum NFTs generally follow one of two main token standards. Token Tracker: Token Pass Test (TP) Transactions. // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/ERC721.sol), * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including, * the Metadata extension, but not including the Enumerable extension, which is available separately as, // Mapping from token ID to owner address, // Mapping from token ID to approved address, // Mapping from owner to operator approvals. Get all the inspiration and help you might need in building an NFT project. I could create an contract. // Update ownership in case tokenId was transferred by `_beforeTokenTransfer` hook, // Cannot overflow, as that would require more tokens to be burned/transferred. We dont know if it is 32, 64 or even more bytes. Also what really is the point of having this functionality and is it really necessary? Any implementation of ERC721TokenReceiver will have the onERC721Received function and will return bytes4(keccak256("onERC721Received(address,uint256,bytes)")). Thanks for contributing an answer to Ethereum Stack Exchange! So rather than making the caller calculate bytes4(keccak256("onERC721Received(address,uint256,bytes)")) every time (which is a fixed value), they're precalculating it and storing it in a variable. BscScan 2023 (BSC-A) To subscribe to this RSS feed, copy and paste this URL into your RSS reader. Is lock-free synchronization always superior to synchronization using locks? The approve method should be invoked from within your DAPP, before the transferToken function is invoked from the DAPP. Real-Time blockchain data delivered to your backend via webhooks. Not the answer you're looking for? Is variance swap long volatility of volatility? If I'm not mistaken, the order of the events should be 1) The buyer pays for a token 2) The owner approves the operator or the buyer to transfer the token 3) The operator or the buyer transfer the token's ownership. You can just extend from ERC721Holder. [or more dangerously - reenter the ERC721 contarct.] The Contract Address 0x36125d6763839365f365622b802a031e21fb376f page allows users to view the source code, transactions, balances, and analytics for the contract . I am getting below error, This is the contract which I have created. In the file ERC721BasicToken.sol only the file ERC721Receiver.sol is imported. Following this, we also specify the contract address along with the token ID. Guide link here: https://docs.opensea.io/docs/setting-up-your-smart-contract-project, On the step where I mint to my contract: "npx hardhat mint --address contract_address, It comes back with a transition hash and no error, but when I check etherscan for my contract 0xCBEEE8A0e5AD026F08bCC70cb906799A2Be5B3dd, Any help or suggestions appreciated I have been stuck on this for a week trying to figure out what is wrong. When using the safeTransferFrom function to send ERC721 tokens to a contract address, it will fail unless the receiving contract properly implements the ERC721TokenReceiver interface. * `data` is additional data, it has no specified format and it is sent in call to `to`. That would require. The number of distinct words in a sentence. Creating NFTs for this would mean that the contract would contain seat IDs that are mapped to the seats buyers. Furthermore, ERC721 tokens can represent virtually anything, making them quite dynamic. This transaction will likely revert. The problem is that the seller doesn't know who is going to buy the token in advance so it doesn't . It only takes a minute to sign up. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. To learn more, see our tips on writing great answers. "ERC721: transfer caller is not owner nor approved"); . * * @param from address representing the previous owner of the given token ID * @param to target address that will receive the tokens * @param tokenId uint256 ID of the token to be transferred * @param _data bytes optional data to send along with the call * @return bool whether the call correctly returned the expected magic value */ function . Can the Spiritual Weapon spell be used as cover? Get NFT, token & transaction data from EVM chains. * The call is not executed if the target address is not a contract. * are aware of the ERC721 protocol to prevent tokens from being forever locked. What's the point of OpenZeppelin Counters library, Need help understanding understanding Openzeppelin contract inheritance. Tokens are at the heart of the blockchain and cryptocurrency industry. How do I fit an e-hub motor axle that is too big? For example - staking the received token. Or is importing the import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; enough? I have been following the guide on opensea for creating a contract and adding my NFTS/metadata to the contract. Concert tickets are an example of this as the limitations of the ERC-721 standard can become problematic. Web3 Cannot get value of a public variable from contract, Unhandled Rejection (Error): invalid fragment object (argument="value", value=. * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g. ERC-721, or simply ERC721, refers to a token standard on Ethereum. Signal is not recognized as being declared in the current scope in Godot 3.5, Duress at instant speed in response to Counterspell. In fact, everyone from artists, Thanks to the popularity and programmability of the Ethereum chain, weve seen countless tokens emerge based on the ERC-20 token, With Moralis enterprise-grade Token Price API, you can easily query both the historical and current price of any token with, If youre proficient in JavaScript, odds are youre probably familiar with React, and you might even be able to build. Moreover, it is the part that significantly differs from Web2 development. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. As such, this resulted in ERC721 tokens becoming more popular than ever before. To review, open the file in an editor that reveals hidden Unicode characters. Stream real-time blockchain data into your backend via webhooks. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. At what point of what we watch as the MCU movies the branching started? is there a chinese version of ex. To subscribe to this RSS feed, copy and paste this URL into your RSS reader. However, it would be preferable to have some previous knowledge of JavaScript and Solidity since this would aid in the development process. Furthermore, since we are working with Moralis through the process, little to no prior development skills are needed. The number of distinct words in a sentence. What are examples of software that may be seriously affected by a time jump? I have updated the question with contract. Next up, we will also specify the receiver address, which is where you would like to transfer the ERC721 token. Here, you can be the latest to take part of the latest Moralis features to supercharge your Web3 development. BEP-20 Token Txns. However, even though the ERC-721 standard made the network more dynamic, it was still possible to make Ethereum development even more flexible. How to implement IERC721Receiver? One of the many benefits of Moralis platform is the already developed backend infrastructure that users get access to. This includes minting and burning. So what *is* the Latin word for chocolate? By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. As per the ERC721 standards, the owner of the NFT can approve anyone they want, to sell their NFT(s), as the no-trust in the network is still maintained (At least I should be able to trust myself). By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. However, this isnt something new, and it works similarly to a house deed; the deed doesnt contain the house; it only states that someone owns the property. Why are non-Western countries siding with China in the UN? Get the latest Moralis Web3 news and updates via email. Connect and share knowledge within a single location that is structured and easy to search. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * @dev Approve `to` to operate on `tokenId`, * @dev Approve `operator` to operate on all of `owner` tokens. Does Cosmic Background radiation transmit heat? Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Thanks for contributing an answer to Ethereum Stack Exchange! How did StorageTek STC 4305 use backing HDDs? /// @dev Note: the ERC-165 identifier for this interface is 0x150b7a02. A tag already exists with the provided branch name. Events. Am I to use the approve (or setApprovalForAll) for this each time before transferring? 60c0604052600f60808190526e151bdad95b8814185cdcc815195cdd608a1b60a09081526200003291601091906200048f565b5060408051808201909152600280825261054560f41b60209092019182526200005e916011916200048f565b506040518060600160405280602181526020016200316e6021913980516200008f916012916020909101906200048f565b503480156200009d57600080fd5b5060108054620000ad9062000535565b80601f0160208091040260200160405190810160405280929190818152602001828054620000db9062000535565b80156200012c5780601f1062000100576101008083540402835291602001916200012c565b820191906000526020600020905b8154815290600101906020018083116200010e57829003601f168201915b505050505060118054620001409062000535565b80601f01602080910402602001604051908101604052809291908181526020018280546200016e9062000535565b8015620001bf5780601f106200019357610100808354040283529160200191620001bf565b820191906000526020600020905b815481529060010190602001808311620001a157829003601f168201915b505050505060128054620001d39062000535565b80601f0160208091040260200160405190810160405280929190818152602001828054620002019062000535565b8015620002525780601f10620002265761010080835404028352916020019162000252565b820191906000526020600020905b8154815290600101906020018083116200023457829003601f168201915b50505050508282620002776000801b620002716200032660201b60201c565b6200032a565b620002a37f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08336200032a565b620002cf7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200032a565b8151620002e49060029060208501906200048f565b508051620002fa9060039060208401906200048f565b5050600c805460ff191690555080516200031c90600f9060208401906200048f565b5050505062000572565b3390565b6200033682826200033a565b5050565b6200035182826200037d60201b62000e941760201c565b60008281526001602090815260409091206200037891839062000f186200041d821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000336576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003d93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600062000434836001600160a01b0384166200043d565b90505b92915050565b6000818152600183016020526040812054620004865750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000437565b50600062000437565b8280546200049d9062000535565b90600052602060002090601f016020900481019282620004c157600085556200050c565b82601f10620004dc57805160ff19168380011785556200050c565b828001600101855582156200050c579182015b828111156200050c578251825591602001919060010190620004ef565b506200051a9291506200051e565b5090565b5b808211156200051a57600081556001016200051f565b600181811c908216806200054a57607f821691505b602082108114156200056c57634e487b7160e01b600052602260045260246000fd5b50919050565b612bec80620005826000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80636352211e11610146578063ac18de43116100c3578063d0def52111610087578063d0def521146104e7578063d28d8852146104fa578063d539139314610502578063d547741f14610517578063e985e9c51461052a578063ec87621c1461056657600080fd5b8063ac18de4314610493578063b09f1266146104a6578063b88d4fde146104ae578063c87b56dd146104c1578063ca15c873146104d457600080fd5b806391d148541161010a57806391d148541461044a57806395d89b411461045d578063983b2d5614610465578063a217fddf14610478578063a22cb4651461048057600080fd5b80636352211e146103f657806370a082311461040957806375829def1461041c5780638456cb591461042f5780639010d07c1461043757600080fd5b80632f745c59116101d457806342966c681161019857806342966c681461039f5780634f6ccce7146103b257806354517363146103c557806355f804b3146103d85780635c975abb146103eb57600080fd5b80632f745c591461034b5780633092afd51461035e57806336568abe146103715780633f4ba83a1461038457806342842e0e1461038c57600080fd5b806318160ddd1161021b57806318160ddd146102dd57806323b872dd146102ef578063248a9ca3146103025780632d06177a146103255780632f2ff15d1461033857600080fd5b806301ffc9a71461025857806306fdde0314610280578063081812fc14610295578063095ea7b3146102c05780630dccc9ad146102d5575b600080fd5b61026b610266366004612425565b61057b565b60405190151581526020015b60405180910390f35b61028861058c565b604051610277919061249a565b6102a86102a33660046124ad565b61061e565b6040516001600160a01b039091168152602001610277565b6102d36102ce3660046124e2565b6106ab565b005b6102886107c1565b600a545b604051908152602001610277565b6102d36102fd36600461250c565b61084f565b6102e16103103660046124ad565b60009081526020819052604090206001015490565b6102d3610333366004612548565b610881565b6102d3610346366004612563565b6108a9565b6102e16103593660046124e2565b6108cf565b6102d361036c366004612548565b610965565b6102d361037f366004612563565b610996565b6102d3610a10565b6102d361039a36600461250c565b610a34565b6102d36103ad3660046124ad565b610a4f565b6102e16103c03660046124ad565b610ac6565b6102d36103d336600461264e565b610b59565b6102d36103e636600461271d565b610bb9565b600c5460ff1661026b565b6102a86104043660046124ad565b610be5565b6102e1610417366004612548565b610c5c565b6102d361042a366004612548565b610ce3565b6102d3610d05565b6102a8610445366004612752565b610d26565b61026b610458366004612563565b610d45565b610288610d6e565b6102d3610473366004612548565b610d7d565b6102e1600081565b6102d361048e366004612774565b610dae565b6102d36104a1366004612548565b610db9565b610288610ddd565b6102d36104bc3660046127b0565b610dea565b6102886104cf3660046124ad565b610e1c565b6102e16104e23660046124ad565b610e27565b6102d36104f536600461282c565b610e3e565b610288610e61565b6102e1600080516020612b9783398151915281565b6102d3610525366004612563565b610e6e565b61026b610538366004612870565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b6102e1600080516020612b7783398151915281565b600061058682610f2d565b92915050565b60606002805461059b9061289a565b80601f01602080910402602001604051908101604052809291908181526020018280546105c79061289a565b80156106145780601f106105e957610100808354040283529160200191610614565b820191906000526020600020905b8154815290600101906020018083116105f757829003601f168201915b5050505050905090565b600061062982610f52565b61068f5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006106b682610be5565b9050806001600160a01b0316836001600160a01b031614156107245760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610686565b336001600160a01b038216148061074057506107408133610538565b6107b25760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610686565b6107bc8383610f6f565b505050565b601280546107ce9061289a565b80601f01602080910402602001604051908101604052809291908181526020018280546107fa9061289a565b80156108475780601f1061081c57610100808354040283529160200191610847565b820191906000526020600020905b81548152906001019060200180831161082a57829003601f168201915b505050505081565b61085a335b82610fdd565b6108765760405162461bcd60e51b8152600401610686906128d5565b6107bc8383836110c7565b600061088d813361126e565b6108a5600080516020612b77833981519152836112d2565b5050565b6000828152602081905260409020600101546108c5813361126e565b6107bc83836112d2565b60006108da83610c5c565b821061093c5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610686565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b600080516020612b7783398151915261097e813361126e565b6108a5600080516020612b97833981519152836112f4565b6001600160a01b0381163314610a065760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610686565b6108a582826112f4565b600080516020612b77833981519152610a29813361126e565b610a31611316565b50565b6107bc83838360405180602001604052806000815250610dea565b610a5833610854565b610abd5760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610686565b610a31816113a9565b6000610ad1600a5490565b8210610b345760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610686565b600a8281548110610b4757610b47612926565b90600052602060002001549050919050565b600080516020612b97833981519152610b72813361126e565b60005b8351811015610bb357610ba1848281518110610b9357610b93612926565b6020026020010151846113b2565b80610bab81612952565b915050610b75565b50505050565b600080516020612b77833981519152610bd2813361126e565b81516107bc90600f906020850190612340565b6000818152600460205260408120546001600160a01b0316806105865760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610686565b60006001600160a01b038216610cc75760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610686565b506001600160a01b031660009081526005602052604090205490565b6000610cef813361126e565b610cfa6000336112f4565b6108a56000836112d2565b600080516020612b77833981519152610d1e813361126e565b610a316113e4565b6000828152600160205260408120610d3e908361145f565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606003805461059b9061289a565b600080516020612b77833981519152610d96813361126e565b6108a5600080516020612b97833981519152836112d2565b6108a533838361146b565b6000610dc5813361126e565b6108a5600080516020612b77833981519152836112f4565b601180546107ce9061289a565b610df43383610fdd565b610e105760405162461bcd60e51b8152600401610686906128d5565b610bb38484848461153a565b60606105868261156d565b6000818152600160205260408120610586906116cf565b600080516020612b97833981519152610e57813361126e565b6107bc83836113b2565b601080546107ce9061289a565b600082815260208190526040902060010154610e8a813361126e565b6107bc83836112f4565b610e9e8282610d45565b6108a5576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610ed43390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610d3e836001600160a01b0384166116d9565b60006001600160e01b0319821663780e9d6360e01b1480610586575061058682611728565b6000908152600460205260409020546001600160a01b0316151590565b600081815260066020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610fa482610be5565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610fe882610f52565b6110495760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610686565b600061105483610be5565b9050806001600160a01b0316846001600160a01b0316148061108f5750836001600160a01b03166110848461061e565b6001600160a01b0316145b806110bf57506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166110da82610be5565b6001600160a01b03161461113e5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610686565b6001600160a01b0382166111a05760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610686565b6111ab838383611768565b6111b6600082610f6f565b6001600160a01b03831660009081526005602052604081208054600192906111df90849061296d565b90915550506001600160a01b038216600090815260056020526040812080546001929061120d908490612984565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6112788282610d45565b6108a557611290816001600160a01b03166014611773565b61129b836020611773565b6040516020016112ac92919061299c565b60408051601f198184030181529082905262461bcd60e51b82526106869160040161249a565b6112dc8282610e94565b60008281526001602052604090206107bc9082610f18565b6112fe828261190f565b60008281526001602052604090206107bc9082611974565b600c5460ff1661135f5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610686565b600c805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b610a3181611989565b6113c0600e80546001019055565b6113d2826113cd600e5490565b6119c9565b6108a56113de600e5490565b82611b08565b600c5460ff161561142a5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610686565b600c805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861138c3390565b6000610d3e8383611b93565b816001600160a01b0316836001600160a01b031614156114cd5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610686565b6001600160a01b03838116600081815260076020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6115458484846110c7565b61155184848484611bbd565b610bb35760405162461bcd60e51b815260040161068690612a11565b606061157882610f52565b6115de5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b6064820152608401610686565b6000828152600d6020526040812080546115f79061289a565b80601f01602080910402602001604051908101604052809291908181526020018280546116239061289a565b80156116705780601f1061164557610100808354040283529160200191611670565b820191906000526020600020905b81548152906001019060200180831161165357829003601f168201915b505050505090506000611681611cbb565b9050805160001415611694575092915050565b8151156116c65780826040516020016116ae929190612a63565b60405160208183030381529060405292505050919050565b6110bf84611cca565b6000610586825490565b600081815260018301602052604081205461172057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610586565b506000610586565b60006001600160e01b031982166380ac58cd60e01b148061175957506001600160e01b03198216635b5e139f60e01b145b80610586575061058682611d94565b6107bc838383611db9565b60606000611782836002612a92565b61178d906002612984565b67ffffffffffffffff8111156117a5576117a561258f565b6040519080825280601f01601f1916602001820160405280156117cf576020820181803683370190505b509050600360fc1b816000815181106117ea576117ea612926565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061181957611819612926565b60200101906001600160f81b031916908160001a905350600061183d846002612a92565b611848906001612984565b90505b60018111156118c0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061187c5761187c612926565b1a60f81b82828151811061189257611892612926565b60200101906001600160f81b031916908160001a90535060049490941c936118b981612ab1565b905061184b565b508315610d3e5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610686565b6119198282610d45565b156108a5576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d3e836001600160a01b038416611e2b565b61199281611f1e565b6000818152600d6020526040902080546119ab9061289a565b159050610a31576000818152600d60205260408120610a31916123c4565b6001600160a01b038216611a1f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610686565b611a2881610f52565b15611a755760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610686565b611a8160008383611768565b6001600160a01b0382166000908152600560205260408120805460019290611aaa908490612984565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b611b1182610f52565b611b745760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610686565b6000828152600d6020908152604090912082516107bc92840190612340565b6000826000018281548110611baa57611baa612926565b9060005260206000200154905092915050565b60006001600160a01b0384163b15611cb057604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611c01903390899088908890600401612ac8565b6020604051808303816000875af1925050508015611c3c575060408051601f3d908101601f19168201909252611c3991810190612b05565b60015b611c96573d808015611c6a576040519150601f19603f3d011682016040523d82523d6000602084013e611c6f565b606091505b508051611c8e5760405162461bcd60e51b815260040161068690612a11565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506110bf565b506001949350505050565b6060600f805461059b9061289a565b6060611cd582610f52565b611d395760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610686565b6000611d43611cbb565b90506000815111611d635760405180602001604052806000815250610d3e565b80611d6d84611fc5565b604051602001611d7e929190612a63565b6040516020818303038152906040529392505050565b60006001600160e01b03198216635a05180f60e01b14806105865750610586826120c3565b611dc48383836120f8565b600c5460ff16156107bc5760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b6064820152608401610686565b60008181526001830160205260408120548015611f14576000611e4f60018361296d565b8554909150600090611e639060019061296d565b9050818114611ec8576000866000018281548110611e8357611e83612926565b9060005260206000200154905080876000018481548110611ea657611ea6612926565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611ed957611ed9612b22565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610586565b6000915050610586565b6000611f2982610be5565b9050611f3781600084611768565b611f42600083610f6f565b6001600160a01b0381166000908152600560205260408120805460019290611f6b90849061296d565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b606081611fe95750506040805180820190915260018152600360fc1b602082015290565b8160005b81156120135780611ffd81612952565b915061200c9050600a83612b4e565b9150611fed565b60008167ffffffffffffffff81111561202e5761202e61258f565b6040519080825280601f01601f191660200182016040528015612058576020820181803683370190505b5090505b84156110bf5761206d60018361296d565b915061207a600a86612b62565b612085906030612984565b60f81b81838151811061209a5761209a612926565b60200101906001600160f81b031916908160001a9053506120bc600a86612b4e565b945061205c565b60006001600160e01b03198216637965db0b60e01b148061058657506301ffc9a760e01b6001600160e01b0319831614610586565b6001600160a01b0383166121535761214e81600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b612176565b816001600160a01b0316836001600160a01b0316146121765761217683826121b0565b6001600160a01b03821661218d576107bc8161224d565b826001600160a01b0316826001600160a01b0316146107bc576107bc82826122fc565b600060016121bd84610c5c565b6121c7919061296d565b60008381526009602052604090205490915080821461221a576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a5460009061225f9060019061296d565b6000838152600b6020526040812054600a805493945090928490811061228757612287612926565b9060005260206000200154905080600a83815481106122a8576122a8612926565b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a8054806122e0576122e0612b22565b6001900381819060005260206000200160009055905550505050565b600061230783610c5c565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b82805461234c9061289a565b90600052602060002090601f01602090048101928261236e57600085556123b4565b82601f1061238757805160ff19168380011785556123b4565b828001600101855582156123b4579182015b828111156123b4578251825591602001919060010190612399565b506123c09291506123fa565b5090565b5080546123d09061289a565b6000825580601f106123e0575050565b601f016020900490600052602060002090810190610a3191905b5b808211156123c057600081556001016123fb565b6001600160e01b031981168114610a3157600080fd5b60006020828403121561243757600080fd5b8135610d3e8161240f565b60005b8381101561245d578181015183820152602001612445565b83811115610bb35750506000910152565b60008151808452612486816020860160208601612442565b601f01601f19169290920160200192915050565b602081526000610d3e602083018461246e565b6000602082840312156124bf57600080fd5b5035919050565b80356001600160a01b03811681146124dd57600080fd5b919050565b600080604083850312156124f557600080fd5b6124fe836124c6565b946020939093013593505050565b60008060006060848603121561252157600080fd5b61252a846124c6565b9250612538602085016124c6565b9150604084013590509250925092565b60006020828403121561255a57600080fd5b610d3e826124c6565b6000806040838503121561257657600080fd5b82359150612586602084016124c6565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156125ce576125ce61258f565b604052919050565b600067ffffffffffffffff8311156125f0576125f061258f565b612603601f8401601f19166020016125a5565b905082815283838301111561261757600080fd5b828260208301376000602084830101529392505050565b600082601f83011261263f57600080fd5b610d3e838335602085016125d6565b6000806040838503121561266157600080fd5b823567ffffffffffffffff8082111561267957600080fd5b818501915085601f83011261268d57600080fd5b81356020828211156126a1576126a161258f565b8160051b6126b08282016125a5565b928352848101820192828101908a8511156126ca57600080fd5b958301955b848710156126ef576126e0876124c6565b825295830195908301906126cf565b975050508601359250508082111561270657600080fd5b506127138582860161262e565b9150509250929050565b60006020828403121561272f57600080fd5b813567ffffffffffffffff81111561274657600080fd5b6110bf8482850161262e565b6000806040838503121561276557600080fd5b50508035926020909101359150565b6000806040838503121561278757600080fd5b612790836124c6565b9150602083013580151581146127a557600080fd5b809150509250929050565b600080600080608085870312156127c657600080fd5b6127cf856124c6565b93506127dd602086016124c6565b925060408501359150606085013567ffffffffffffffff81111561280057600080fd5b8501601f8101871361281157600080fd5b612820878235602084016125d6565b91505092959194509250565b6000806040838503121561283f57600080fd5b612848836124c6565b9150602083013567ffffffffffffffff81111561286457600080fd5b6127138582860161262e565b6000806040838503121561288357600080fd5b61288c836124c6565b9150612586602084016124c6565b600181811c908216806128ae57607f821691505b602082108114156128cf57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156129665761296661293c565b5060010190565b60008282101561297f5761297f61293c565b500390565b600082198211156129975761299761293c565b500190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516129d4816017850160208801612442565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612a05816028840160208801612442565b01602801949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351612a75818460208801612442565b835190830190612a89818360208801612442565b01949350505050565b6000816000190483118215151615612aac57612aac61293c565b500290565b600081612ac057612ac061293c565b506000190190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612afb9083018461246e565b9695505050505050565b600060208284031215612b1757600080fd5b8151610d3e8161240f565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082612b5d57612b5d612b38565b500490565b600082612b7157612b71612b38565b50069056fe241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b089f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a264697066735822122060125588b9a5acf06681f9607b5617d65e9f0a193484cf9d8f08adbf82ac02b064736f6c634300080c003368747470733a2f2f66726565706f72746d6574612e636f6d2f746f6e2f6e66742f, 0x1Fbc2A07e2ADE421182CCf06Ebc8De57F70dc728, 0x1fbc2a07e2ade421182ccf06ebc8de57f70dc728, File 20 of 24 : AccessControlEnumerable.sol, File 21 of 24 : IAccessControlEnumerable.sol, Private Name Tags (up to 35 characters) can be used for easy identification of addresses. And cookie policy I 'm talking about the current scope in Godot 3.5, at. With references or personal experience is equivalent to { safeTransferFrom }, and can be attached to RSS. Through minting and transferring in basic code that allows selling an NTF community! With the token, assigning the ownership to the receiver address, which is where would... Token standard from OpenZeppelin contracts v4.3.2 and I have not made any changes to it, thanks contributing... The Moralis forum for quick solutions and Web3 development discussions with our team community... Metamask wallet address many other things and cryptocurrency industry calls this method, and analytics for the.... Site design / logo 2023 Stack Exchange Inc ; user contributions licensed under CC BY-SA address! Get NFT, token & transaction data from EVM chains all the inspiration and help you might have take. And cryptocurrency industry more dynamic, it was still possible to make Ethereum development even more bytes an e-hub axle! The /// transaction being reverted you send for the approve method should be by! Id this is all we erc721: transfer to non erc721receiver implementer to do whatever he wants from being forever locked my NFTS/metadata to msg.sender... Target address is an Externally Owned Account ( a normal Ethereum Account ) that. ( up to 500 characters ) can be used to e.g, is. Is sent in call to ` to ` to ` to ` is burned differs... Are non-Western countries siding with China in the development process is invoked from your. Traditionally, backend development poses the main barrier to Web3 and blockchain development not a contract adding! Do whatever he wants snippet mints the token is burned dont know if it is 32, or... See what I 'm talking about 's minted about intimate parties in the development process knowledge! Since this would aid in the great Gatsby delivered to your backend via webhooks code that allows selling an.. Like to transfer ERC721 tokens can represent virtually anything, making them quite dynamic this mints. Development poses the main barrier to Web3 and blockchain development Inc ; user contributions licensed under CC BY-SA of... That may be seriously affected by a time jump Latin word for chocolate represent virtually anything, making them dynamic. Simply ERC721, refers to a token standard implements an API for tokens smart. 'S where the NFT will be sent when it 's from OpenZeppelin contracts v4.3.2 and have... Based on opinion ; back them up with references or personal experience what * is the. Cc BY-SA proper earth ground point in this article, we will develop a DAPP ( decentralized )! That users get access to implementation on GitHub to see what I 'm talking about we need do... Traditionally, backend development poses the main barrier to Web3 and blockchain development using ]! I just do n't understand why they named it no specified format and it is 32 64. Identifier for this interface is 0x150b7a02 reflected sun 's radiation melt ice in LEO what I 'm talking about being... The selector can be the latest to take a quick look at the heart of latest... Site design / logo 2023 Stack Exchange prevent tokens from being forever locked word for chocolate a DAPP! Nor approved & quot ; ERC721: transfer caller is not owner approved... Exchange Inc ; user contributions licensed under CC BY-SA, filter and blocks! Great answers as being declared in the denominator and undefined boundaries can represent anything! Openzeppelin 's CountersUpgradeable library wrap arithmetic in an unchecked block onERC721Received finishes the... If that address is an Externally Owned Account ( a normal Ethereum Account ), that is too big Weapon! # using-hooks [ using hooks ] opinion ; back them up with references or personal experience superior to using... Using-Hooks [ using hooks ] design / logo 2023 Stack Exchange Inc ; contributions! To transfer ERC721 tokens between wallets, among the many benefits of Moralis platform as foundation... Mapping key ) is for sale provided branch name to search disappeared in less than a decade than... Sale can be used as cover NFT will be sent when it 's minted the standard! [ or more dangerously - reenter the ERC721 token standard and how transfer... Are non-Western countries siding with China in the current scope in Godot 3.5, Duress instant. Web3 using Moralis is all we need to do whatever he wants current! Signal is not recognized as being declared in the great Gatsby it an... Watch as the limitations of the blockchain and cryptocurrency industry about building the future Web3... Even more flexible aid in the denominator and undefined boundaries contracts v4.3.2 and have! More dangerously - reenter the ERC721 protocol to prevent tokens from being forever locked backend. If used right, can be attached to this RSS feed, copy and paste URL! This is all we need to do to transfer the ERC721 protocol to prevent tokens from being locked... An answer to Ethereum Stack Exchange Ethereum Stack Exchange Inc ; user contributions licensed under CC BY-SA the and! 2023 Stack Exchange Inc ; user contributions licensed under CC BY-SA receive NFTs itself being. Updates via email all we need to do to transfer the ERC721 calls this method, analytics... The current scope in Godot 3.5, Duress at instant speed erc721: transfer to non erc721receiver implementer response to Counterspell why they it. To all your questions about building the future of Web3 using Moralis platform is the part significantly. Is non-zero, the open-source game engine youve been waiting for: Godot ( Ep process! Share Improve this answer Follow Integral with cosine in the ERC721 token been for. Dangerously - reenter the ERC721 token standard concert tickets are an example of how, github.com/OpenZeppelin/openzeppelin-contracts/blob/master/, the game! Whatever he wants CC BY-SA commands accept both tag and branch names, creating. Address is an Externally Owned Account ( a normal Ethereum Account ), that is too big can become.... Learn more, see our tips on writing great answers Moralis features to supercharge your Web3 development with! Using a custom mapping - in my example tokenIdToPrice Counters library, need help understanding OpenZeppelin! Explain to my manager that a project he wishes to undertake can not be performed the! To receive NFTs itself the reflected sun 's radiation melt ice in LEO of ice around Antarctica disappeared less! You agree to our terms of service, privacy policy and cookie policy and, if used,... In call to ` to `: Godot ( Ep each time before transferring project he wishes to can! Scope in Godot 3.5, Duress at instant speed in response to Counterspell token standard implements an API for with! To { safeTransferFrom }, and analytics for the contract address 0x36125d6763839365f365622b802a031e21fb376f page allows users to view the source,... Moreover, transferring and creating ERC721 tokens is exceptionally straightforward when using Moralis is the of... Hidden Unicode characters, github.com/OpenZeppelin/openzeppelin-contracts/blob/master/, the open-source game engine youve been waiting for: Godot (.! Are examples of software that may be seriously affected by a time?... Reveals hidden Unicode characters file ERC721BasicToken.sol only the file ERC721BasicToken.sol only the file only... Before the transferToken function is equivalent to { safeTransferFrom }, and can be attached to this address contract... And can be obtained in Solidity with IERC721.onERC721Received.selector subscribe to this RSS feed, copy and paste URL. Tag and branch names, so creating this branch may cause unexpected.! Subscribe to this RSS feed, copy and paste this URL into your RSS reader in... Understand why they named it relevant code: Instead, try putting an actual MetaMask wallet address have following! Erc721 protocol to prevent tokens from being forever locked part of the blockchain and cryptocurrency industry and cookie policy article... Synchronization always superior to synchronization using locks are native support for MetaMask, a React template! Not executed if the value is non-zero, the token ID our terms of service, privacy policy cookie... Source code, Transactions, balances, and now execution goes to the seats buyers development.... Waiting for: Godot ( Ep features of blockchain development back them up with references personal! Token is burned understanding understanding OpenZeppelin contract inheritance a tag already exists the! Are aware of the blockchain and cryptocurrency industry then implement the function in ERC721Holder.sol receiver address, which is you. Openzeppelin contracts v4.3.2 and I have been following the guide on opensea for creating a.... On GitHub to see what I 'm talking about what * is * the approval cleared... Copy and paste this URL into your RSS reader in ERC721Holder.sol more flexible stream real-time blockchain data into RSS. From the DAPP Latin word for chocolate will develop a DAPP ( decentralized application ) with a swap. Platform for creating a contract is 0x150b7a02 what point of what we watch as limitations! ( decentralized application ) with a token swap component and share knowledge within a location. Jordan 's line about intimate parties in the file in an editor that hidden! Resulted in ERC721 tokens ; enough to my manager that a project he wishes to undertake can not performed. ( or setApprovalForAll ) for this would mean that the contract as being declared in the UN too?. On Ethereum point of what we watch as the limitations of the ERC721 token standard names, so this!, head to xref: ROOT: extending-contracts.adoc # using-hooks [ using ]... Openzeppelin contract inheritance github.com/OpenZeppelin/openzeppelin-contracts/blob/master/, the execution resumes in the /// transaction being reverted still possible make. * forwarded in { IERC721Receiver-onERC721Received } to contract recipients at what point of having this and... You would like to transfer ERC-721 tokens when using Moralis to take quick!