This repository has been archived by the owner on Jan 18, 2024. It is now read-only.
Version 0.2.1
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 withReturn
- 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
andzinc_zksync
intozinc_types
,zinc_source
andzinc_manifest
intozinc_project