Back to blog

Cairo Community Update 1

November 19, 2024

Dive into the latest updates of the Cairo Language server, improvements in Starknet Foundry test compilation performance, sncast, the Scarbs package registry, starknet-rs and the latest there is to know in the Starknet Devnet and SDKs.

For more information, questions, and feedback, send a question to the Starknet Discord channel, the Software Mansion Scarb Telegram channel, the Starknet Foundry Telegram, the Starknet-rs Telegram support channel, and the Devnet channel in the Starknet Discord channel.

Language server

The Cairo language server has recently been rewritten for improved performance, making it faster and more efficient for developers. This upgrade enhances the developer experience by speeding up tasks like code completion and error checking, allowing for smoother and quicker development workflows. Currently, the updated language server is available exclusively on the nightly version of Scarb, the package manager for Cairo. To try it out, you can install this version using

asdf install scarb latest:nightly

Starknet Foundry

A big improvement has been made in compilation test performance with a compilation of test targets of contracts, removing the need to invoke the compiler twice and leading to improvements of approximately 30% in test compilation times. Additionally, tests can be specifically tested with the --exact flag. Using this flag will make only relevant tests compile and not the entire project. Ensure that you work with updated Scarb versions.

 

Sncast is receiving significant improvements in version 0.33.0. The coming update includes a CLI data converter enabling calldata transformation and passing data in a more human-readable form – as a Tuple of Cairo expressions. In particular, sncast will allow serializing human-readable expressions automatically based on the contract’s ABI. This update makes it easier to interact with contracts designed to handle complex data structures.

Read more details here.

Read the latest release notes for starknet-foundry here.

Registry

Uploading packages to the Scarbs package registry is now open to everyone. All packages and their download numbers can be seen here. Future updates to Scarbs will display the total number of packages and downloads and will introduce support for ownership transfers directly through the UI, removing the need for manual database adjustments.

Starknet-rs

The next major feature is ABI encoding and decoding. Currently, encoding and decoding Cairo types is supported, but the ultimate goal is to use both static and dynamic ABI files to automatically generate typing. This feature is already in the master branch and will be available in the next release.

Check out the Starknet-rs repo.

Devnet and SDKs

Starknet.js now supports SNIP-9, enabling meta-transactions or “external execution.” This feature allows protocols to submit transactions on behalf of a user account, provided they hold the necessary signatures. Meanwhile, Starknet SDKs are progressing towards compatibility with the latest RPC version, v0.8.0, scheduled for release alongside Starknet v0.13.4. Current development is primarily focused on enhancing error handling and introducing WebSocket support for improved real-time capabilities.