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. Find centralized, trusted content and collaborate around the technologies you use most. However, this is where Moralis enters the picture, providing an already developed backend infrastructure for its users. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. This is the link to contract in rinkeby . To review, open the file in an editor that reveals hidden Unicode characters. So I tried adding the import in my NFT.sol: import "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol". I think first error is when you build a transaction, you need to pass an object: Thanks for contributing an answer to Stack Overflow! However, it would be preferable to have some previous knowledge of JavaScript and Solidity since this would aid in the development process. ERC721 token . Dealing with hard questions during a software developer interview. Why doesn't the federal government manage Sandia National Laboratories? Does Shor's algorithm imply the existence of the multiverse? (See the ERC721 Standard for details). 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Installation of openzeppelin/contracts Library, Function _setTokenURI() in ERC721 is gone in OpenZeppelin ^0.8.0 contracts. Launching the CI/CD and R Collectives and community editing features for How to improve smart contact design in order to distinguish data and their manipulation functions for the same domain object? Meanwhile, Ethereum NFTs generally follow one of two main token standards. Story Identification: Nanomachines Building Cities. The problem is that the seller doesn't know who is going to buy the token in advance so it doesn't . Browse other questions tagged, Where developers & technologists share private knowledge with coworkers, Reach developers & technologists worldwide, @AhmadGorji could you elaborate? Furthermore, since we are working with Moralis through the process, little to no prior development skills are needed. For example, they can represent virtual collectibles, such as CryptoKitties, physical properties such as houses, and negative value assets such as debt. 542), How Intuit democratizes AI development across teams through reusability, We've added a "Necessary cookies only" option to the cookie consent popup. Not the answer you're looking for? Moralis Python SDK allows you to easily integrate Web3 functionality into your Python applications. We can find all the necessary information to transfer a token, of any type, in Moralis documentation. * This test is non-exhaustive, and there may be false-negatives: during the . 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) It only takes a minute to sign up. The contract that you are transferring to needs to implement onERC721Received. Theoretically Correct vs Practical Notation. However, even though the ERC-721 standard made the network more dynamic, it was still possible to make Ethereum development even more flexible. However, the drawback of this dynamism is that an ERC-1155 token is a lot more complicated. See another post I put up here. Support of the actual ERC165 interface is automatic and . By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. If {ERC721Consecutive} is. Thanks for contributing an answer to Ethereum Stack Exchange! Dealing with hard questions during a software developer interview, Am I being scammed after paying almost $10,000 to a tree company not being able to withdraw my profit without paying a fee. 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. Is there a proper earth ground point in this switch box? Powered by Discourse, best viewed with JavaScript enabled, Fail with error 'ERC721: transfer to non ERC721Receiver implementer', https://docs.opensea.io/docs/setting-up-your-smart-contract-project. contract ERC721Upgradeable is Initializable, ContextUpgradeable, ERC165Upgradeable, IERC721Upgradeable, IERC721MetadataUpgradeable { using AddressUpgradeable for address; using StringsUpgradeable for uint256; // Token name string private _name; // Token symbol string private _symbol; // Mapping from token ID to owner address Is it possible to create and assign any number of NFTs without emitting Transfer event? "ERC721: address zero is not a valid owner", * @dev Base URI for computing {tokenURI}. Find centralized, trusted content and collaborate around the technologies you use most. Thats why we need to pass two arguments to the revert function, lets call them p and s -> revert(p, s). Real-time price, transfer and ownership token data. That would require. In this case we dont know which size the error string has (in bytes) If you wish to broadcast, include allow_revert:True as a transaction parameter. How can I explain to my manager that a project he wishes to undertake cannot be performed by the team? I guess you missed this! Integral with cosine in the denominator and undefined boundaries. 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. I am new to blockchain technology. This transaction will likely revert. interface ERC721TokenReceiver {/// @notice Handle the receipt of an NFT /// @dev The ERC721 smart contract calls this function on the recipient /// after a `transfer`. rev2023.3.1.43269. I can see that. At what point of what we watch as the MCU movies the branching started? For example, as a Moralis user, it is possible to transfer ERC721, ERC-20, and ERC-1155 tokens with just a single line of code. Yes the same was my understanding too that onERC721Received or ERC165.supportsinterface does not give any full proof guarantee to sender that the assets they are sending will be held properly. The same is true for ERC721Enumerable and ERC721Psi. Is variance swap long volatility of volatility? "ERC721: transfer to non ERC721Receiver implementer", * @dev Returns the owner of the `tokenId`. But then it also calls the _approve() function that doesn't contain any validations and simply assigns the approval of the token to the Auction address. I think it is just the beginning. Might change if we allow batch minting. Not the answer you're looking for? Answers to all your questions about building the future of Web3 using Moralis. Since they are such prominent tools, they must be regulated somehow, which is mainly done through some kind of standard. The interest in NFTs saw exponential growth during 2020 as people began speculating on the value of these tokens. This ensures that all tokens following this standard have some default functions allowing users and developers to get token balances, transfer tokens, etc. As such, the platform takes care of the heavy lifting, leaving you to focus on frontend development. Advanced real-time blockchain event listener. You can see from the screenshot that the owner is 0x5B (the user address) and that the token is approved for 0xd9 (the contract address). In the case of Ethereums network, there are a few different standards, and the most popular ones are ERC-20, ERC721, and ERC-1155. As such, this is what the code from the documentation looks like: As you can see, there are actually a few lines of code containing specific information needed in order to transfer the NFT. Now, lets dive deeper into the topic of ERC721 tokens and educate ourselves about what ERC721 tokens actually are! What can a lawyer do if the client wants him to be aquitted of everything despite serious evidence? Can non-Muslims ride the Haramain high-speed train in Saudi Arabia? The calling contract is still not 100% sure if this is true, but it can only trust upon the fact that if the receiving contract is aware of the necessity, it would be responsible to take proper actions upon receiving NFTs. It's called ERC721Holder because it can "hold" ERC721 tokens (or more accurately, it can receive them). 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. * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is. How can I recognize one? Master the ERC-721 token standard and how to transfer ERC721 tokens! A private note (up to 500 characters) can be attached to this address. Developers could use the standard to, for example, make the real estate market more efficient or add bonds to the crypto market. Furthermore, ERC721 tokens can represent virtually anything, making them quite dynamic. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. Ok I think I get it. If you invoke the approve method from the Auction contract, then the msg.sender for the approve function in the ERC721 token contract is your auction contract address. Can the Spiritual Weapon spell be used as cover? A common term to describe these assets is non-fungible tokens, or NFTs. Has Microsoft lowered its Windows 11 eligibility criteria? * @dev Returns whether `spender` is allowed to manage `tokenId`. If the value is non-zero, the token ID (mapping key) is for sale. The real question is even having this onERC721Received function implemented in the receiving contract, is it the whole story or just the beginning? Does Cast a Spell make you a spellcaster? In the file ERC721BasicToken.sol only the file ERC721Receiver.sol is imported. If the target address is a contract, it must implement onERC721Received, which is called upon a safe transfer, and return the magic value bytes4(keccak256("onERC721Received(address,address,uint256,bytes)")); otherwise, the transfer is reverted. By clicking Post Your Answer, you agree to our terms of service, privacy policy and cookie policy. 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.
Chaffee County Swat,
Guess The Nba Player By Their Eyes,
Newsday Obituaries Nassau County,
Hannah Waddingham Arm Workout,
Articles E