Wrapping up the Virtual Solidity Summit 2020

Roughly one month ago, we held the first Solidity Summit - a free interactive forum with discussions and talks on Solidity, Yul, language design and tooling. It took place on April 29-30 and was powered by a virtual meeting infrastructure based on open-source, self-hosted Jitsi video chat rooms. The platform was supplied by Interspace.Chat. Before we dive into the recap: Your input and active participation was much appreciated and we want to take this opportunity to say thank you! We... [Read More]

Solidity 0.6.9 Release Announcement

Solidity v0.6.9 adds SMT-checking to solc-js, allows calldata for all variables and provides a mechanism to specify an import directory. Please note that the solc-js / soljson binary includes the Z3 SMT solver built-in, which causes an increase in the binary size. [Read More]

Sourcify: Towards Safer Contract Interaction for Humans

tl;dr: Building sensible blockchain applications for humans is hard. You can enhance the user experience of your dapp today by leveraging the power of open source. Increase awareness and give more transparency on what users are actually doing when interacting with your code on the blockchain, i.e. when signing a transaction, by publishing the source code to this decentralized repository and using metadata files, which translate “random” hex strings into human-readable language. Sourcify is a tool to help you do... [Read More]

Solidity 0.6.x features: Array Slices

Starting from version 0.6.0, Solidity supports array slices. Array slices are handy when you want to reference a contiguous portion of an array but do not want to perform a full copy of that portion. For now, array slices are only supported for calldata arrays. [Read More]

Solidity 0.6.8 Release Announcement

Solidity v0.6.8 fixes three important bugs in the code generator and introduces a recommendation to use SPDX license identifiers. Furthermore, support for WebAssembly has been extended and it is now possible to access the min and max values of an integer type directly. Please upgrade if you are using array slices, backslashes in string literals for ABIEncoderV2 or are concerned about non-payable constructors. [Read More]

Solidity 0.6.x features: Saving Storage Costs with Immutables

With version 0.6.5, Solidity introduced the immutable keyword for state variables. Immutable state variables can only be assigned during contract creation, but will remain constant throughout the life-time of a deployed contract. The big advantage of immutables is that reading them is significantly cheaper than reading from regular state variables, since immutables will not be stored in storage, but their values will be directly inserted into the runtime code. [Read More]

Solidity 0.6.7 Release Announcement

Solidity v0.6.7 introduces support for EIP-165 via type(InterfaceName).interfaceId. Language Features: Add support for EIP 165 interface identifiers with type(I).interfaceId. Allow virtual modifiers inside abstract contracts to have empty body. Compiler Features: Optimizer: Simplify repeated AND and OR operations. Option to specify optimization steps to be performed by Yul optimizer with yul-optimizations in the commandline interface or optimizer.details.yulDetails.optimizerSteps in standard-json. Standard Json Input: Support the prefix file:// in the field urls. Bugfixes: SMTChecker: Fix internal error when fixed points are used.... [Read More]

Solidity Summit 2020 Goes Interspace

Tl;dr: As already announced on Twitter, we transformed the Solidity Summit, which was initially planned to be an in-person meeting in Berlin, into an online event. Today, we are excited to share that the summit will be powered by Interspace.Chat. Interspace is a virtual meeting infrastructure based on self-hosted Jitsi video chat rooms. Check out the Solidity Summit’s preliminary event agenda here and make sure to register if you want to partipate! [Read More]

Solidity 0.6.6 Release Announcement

This is a small bugfix release that solves an issue with certain tuple assignments. Important Bugfixes: Fix tuple assignments with components occupying multiple stack slots and different stack size on left- and right-hand-side. Bugfixes: AST export: Export immutable property in the field mutability. SMTChecker: Fix internal error in the CHC engine when calling inherited functions internally. Type Checker: Error when trying to encode functions with call options gas and value set. A big thank you to all contributors who helped... [Read More]

Solidity 0.6.5 Release Announcement

Version 0.6.5 of Solidity fixes an important bug and introduces immutable as a major feature. The bug concerns the allocation of dynamic memory arrays using e.g. new uint[](...). The bug is considered to have a severity level of “low” but is present in all prior versions of Solidity. Therefore, please read more about how check if your contract is vulnerable in this blog post. The immutable feature supports setting contract-level variables at construction time if they do not change later... [Read More]