Written by: nikola.mandic

Filecoin Solidity Optimization: Milestone 3 Complete

MVP Workshop has completed its 3rd milestone in the Filecoin grant to improve the overall experience of Solidity developers 

We are thrilled to announce the successful completion of Milestone 3 in the Filecoin Solidity Optimization project. This milestone, focusing on developer ergonomics, marks a significant step forward in enhancing the usability and documentation of the library. The dedicated efforts of our development team over the past 4 weeks have resulted in valuable improvements.

Deliverables Achieved

  • Codebase Refactoring: We have diligently followed guidance from the Developer Ergonomics epic to enhance the overall structure and functionality of the codebase.
  • NatSpec and Documentation Improvements: Our team has worked on refining documentation using the widely adopted NatSpec format, providing more accurate and detailed information on functions.

We believe that these enhancements will contribute to a more seamless and user-friendly experience for Solidity developers working in the Filecoin ecosystem.

Filecoin Solidity Optimization grant explained

Filecoin has Solidity libraries that provide low-level access to Filecoin protocol methods, actors, and state, to the initial wave of applications deployed on FEVM following its mainnet launch on March 14, 2023.

However, there are a number of core areas that can be improved, namely enabling optimizability, mirroring the ergonomics of popular Solidity libraries (e.g. OpenZeppelin), and minimising footprint. Furthermore, there’s an active backlog of smaller issues that need to be fixed as part of continued maintenance.

This grant aims to tackle all of these issues, and improve the overall experience of writing Solidity code for Filecoin projects.

Milestone 1 & 2 Achievements

In Milestone 1, spanning 3 weeks, our primary focus was on ensuring the compatibility of the filecoin-solidity library with various Solidity compiler optimizers. This involved extensive work to make the library compatible with Standard, YUL, and –via–ir optimizers. Additionally, we set the EVM Version property of the Solidity compiler to paris, addressing potential issues with versions 0.8.20 and above.

Moving on to Milestone 2, a 12-week endeavor, we diligently tackled and closed numerous backlog items. Key achievements include enabling read-only “view” methods for protocol accessors, refactoring callByAddress and callByID functions to be read-only, and ensuring delegatecalls on contracts using Actor.sol are feasible with various Solidity Proxy Mechanisms. We prioritized error handling from precompiles in lieu of simple reverts from the library, added toEthAddress functionality in FilAddresses.sol util, and implemented constructors for types, among other critical tasks. This comprehensive approach aimed at refining the library’s functionality and addressing diverse issues outlined in the backlog.

The success of Milestones 1 and 2 laid a robust foundation for subsequent phases, demonstrating our commitment to technical excellence and systematic progress through the project roadmap.

What’s next

As we move forward, our commitment to excellence remains unwavering. The upcoming Milestone 4 will focus on Maintenance, ensuring the sustained quality and support for the project. We plan to continue producing tests for the source code, addressing network or core tech upgrades, and actively supporting the backlog of future improvements alongside the Filecoin community.

Additional resources

RFP proposal

Filecoin Solidity library

Guides, articles, and news

RWA Marketplace Validation Use Case – Tokenized RWAs are yet to take off

As the bull market kicks off, we are seeing exciting new trends taking over the market from DePINs, tokenized RWA,


ZKSIM – Revolutionizing ZK Circuit Testing

The development of zero-knowledge (ZK) circuits is an intricate process, with testing posing a considerable challenge that often extends timelines


FHE Project comparison

As the adoption of this transformative technology continues to grow, so does the emergence of innovative projects harnessing its capabilities.

get in touch

Contact us

Whether you are a web3 builder with a new project to show the world, or a talent looking to contribute to our team, we are always open to new collaborations.

Please enable JavaScript in your browser to complete this form.