Updates in the LANDRegistry

Yesterday, we upgraded the LANDRegistry contract to keep up with the latest ERC721 specification standard when calling safeTransferFrom.

We realized that we were emitting the Transfer event after calling onERC721Received when transferring a LAND parcel to a contract. This behavior generated an inconsistency if the destination contract transferred the token to another address in the same transaction. In short, you would get two transfer events in an incorrect order.

With the new upgrade, we emit the Transfer event before the onERC721Received call like in the ERC721 standard implementation.

Also, we fixed some non-critical bugs, including:

  • Operators can now set the updateOperator and also update LAND content.

  • Removed a duplicated check when calling updateLand. Updating LAND content now uses less gas and therefore is cheaper.

Neither of these bugs amounted to any threat or vulnerability, but we are continually striving to improve the smart contracts behind the Decentraland platform.

Updates in the EstateRegistry

We resolved an issue in the EstateRegistry where the updateOperator wasn’t cleared after a transfer. This wasn’t critical because the updateOperator can only update the Estate/LAND metadata, but before this change, you would have to remove the updateOperator on your own.

From now on, every time a LAND or Estate is transferred successfully, the updateOperator is cleared as part of the transaction.

With the community growing and more third-party integrations being built, we are working to improve the detail and frequency of our updates covering any changes we make to our APIs, libraries, or core contracts.

If you are building an integration based on Decentraland’s smart contracts using any of our tools, or if you are interested in receiving information about technical updates, please fill out this form.



Thanks for your support, and please stay tuned for future technical updates from the Decentraland dApps team!