Skip to content
This repository has been archived by the owner on Jan 18, 2024. It is now read-only.

Version 0.2.1

Compare
Choose a tag to compare
@hedgar2017 hedgar2017 released this 24 Dec 07:51

Changelog

Language

  • implemented the Rust-like dependency system
  • added the library project type
  • allowed to create and use other smart contract instances using the dependency system
  • extended the attribute syntax to set the zksync::msg variable in unit tests
  • turned the zksync::transfer function into a built-in contract method

Compiler

  • fixed the bug with invalid scope for contract fields and methods
  • fixed the bug where enum variants were not treated as constants
  • fixed the bug where contract storage fields could be addressed without an instance
  • fixed the bug where structures and contracts could be initialized with fewer fields than needed
  • performed an inventory of compiler errors and created an error reference

Virtual machine

  • prevented contract storage and zkSync side effects in false condition branches
  • fixed circuit unit tests
  • replaced the Exit instruction with Return
  • disabled the proof verification tools, as they are temporarily unsupported

Zargo

  • initial deposits for contract publishing are not required anymore
  • fixed the segmentation fault during HTTP requests on Linux

Book

  • added the smart contract troubleshooting chapter
  • added the dependency system chapter

Source code

  • merged
    • zinc_build and zinc_zksync into zinc_types,
    • zinc_source and zinc_manifest into zinc_project