Tuesday, November 12, 2024
API
Protocol
WASM
Tooling

Release: Spica - v1.8.4.0

Intro

After the successful governance vote, we were 90% confident that the Spica release would be completed by the end of August. At the same time, we were running multiple security audits to ensure everything was as robust and secure as possible. As a result of these audits, we had to release two separate patches: Vega Patch 5 on August 19th and Vega Patch 6 on September 17th. Each of these patches addressed specific findings and were mandatory for our system before moving forward.

Soon after Vega Patch 6, things took a very positive turn, allowing us to proceed with the standard update process on Testnet and Devnet before the Mainnet release. During this period, the community began actively testing the new features on Devnet, especially the relayed v3 feature, which was originally planned for release with Spica. However, during the testing, an edge case was brought to our attention from the community (kudos Martin Wagner). Addressing and thoroughly testing this edge case would have added an additional three weeks of delay (or more), a lot of unneeded complexity and future technical debt. Therefore, we made the decision to remove the relayed v3 feature from Spica and include it in a future release, prioritizing its completion and new design for the next update (the relayed v3 is already in testing phase).

Despite these changes, the Spica release is still substantial, introducing three significant new features alongside several optimizations. The next patch for Spica is already in the testing phase, and we aim to release it immediately after Spica's activation on November 21st. This patch will focus on addressing the transaction processing delays observed during sudden changes in EGLD price, particularly when arbitrage bots become active.

We are here, prepared, and more committed than ever to creating an internet-scale blockchain.

ESDT Improvements

This feature introduces improved flexibility and control over NFT/SFT/metaESDT metadata. These upgrades include the ability to modify metadata of existing tokens and create dynamic tokens. Now, users without token ownership can modify metadata if they hold the necessary roles. Additionally, when tokens interact with these role-based addresses, metadata will update dynamically.  Key built-in functions like ESDTModifyRoyalties, ESDTModifyCreator, and ESDTNFTUpdate enable these changes, providing more control over royalties, creators, and URI updates. Furthermore, NFT metadata storage has been optimized, moving from the system account to the holding account, allowing for a better experience.

For more details, visit: MultiversX NFT Documentation


New VM OpCodes and MultiESDTNFTTransfer updates

This might not fully convey the impact for MultiversX, but the new opcodes open the door to integrating Passkeys. While it's still in development and not yet recommended for production, there's promising potential here.

Devnet integration:
As soon as it will be safe for using it on mainnet, we will publish also documentation support.

Additionally, with native EGLD support in the MultiESDTNFTTransfer function, wrapping EGLD is no longer necessary to send it alongside ESDTs. This simplifies the process for smart contract developers, enabling easier use case development for their dApps.
Example transaction on testnet.

Governance Vote Results

The Spica v1.8 Release has successfully passed its governance vote. The vote, which ran from August 8th to August 18th, resulted in a decisive 98.65% voting in favor of the upgrade, with 1.10% against and 0.25% abstaining. The entire discourse surrounding the release took place off-chain on Agora, and can be reviewed here.

Activation epoch

Spica Release is scheduled to be activated starting with epoch 1575, anticipated on November 21st, 2024, around 15:30 UTC.

IMPORTANT

⚠️ This release requires a minimum Ubuntu version of 22.04.

⚠️ With this release, the WebSocket client address has a ws:// prefix.

⚠️  If you're using OverridableConfigTomlValues from prefs.toml, with this release the Value field no longer includes quotes around the values for integer, float and boolean types. The quotes removal should be done before ./script.sh start command.

Github Full binary release notes: https://github.com/multiversx/mx-chain-go/releases/tag/v1.8.4

Mainnet Config: https://github.com/multiversx/mx-chain-mainnet-config/releases/tag/v1.8.4.0

Do you need more information?

Explore projects, tokens, and integrations built on MultiversX