Hi all,

As readers may recall, our core tech team rolled out Zilliqa version v4.5.0 just before the start of the token swap period two weeks ago. Since that time, versions v4.5.1 and v4.6.0 have also been released. This time around, the focus has been on making improvements and fixes to the lookup nodes. Here is what you can expect from the latest version:

Core Tech

We have improved the robustness of our seed nodes by adding auto-rejoining code to them. Seed nodes are the level 2 lookup nodes that are configured to support queries such as transaction creation. As such, it is vital to keep these nodes in sync with the network at all times. Being out-of-sync can happen when, for instance, the seed node somehow misses any data block. With the auto-rejoining code in place, a seed node can recognize when it has gone out-of-sync, prompting the fetching of missing data from lookup nodes in an effort to return to a synced state

The server API for mining information that was released in the previous two versions has now also been made available to our lookup nodes. This allows us to get more accurate information on the state of the lookups, such as whether they are in sync or not. As part of this update, the default port for querying the mining information has changed to 4301 to avoid reusing the one originally used by lookups for servicing the network

to avoid reusing the one originally used by lookups for servicing the network Transactions are collected by lookups and periodically dispatched in batches to shards in the network. We recently discovered that the shard assignment process could be incorrectly performed on cached transactions in the event that the network has crossed a new epoch and the number of shards in the network has changed, resulting in missing transactions. This issue has been addressed in v4.6.0

Scilla Interpreter

We are happy to announce that we have released a new minor version of Scilla tagged v0.3.0 . This release comes with several enhancements and bug fixes. Some of these are listed below. For an exhaustive list of changes introduced in this version, please refer to the release notes.

Language:

External library support for Scilla. This will allow smart contract developers to import non-standard libraries

Disallow names that start with _ (underscore) to be created in a contract. This is to avoid potential shadowing of implicit variables such as _amount , _balance , etc.

(underscore) to be created in a contract. This is to avoid potential shadowing of implicit variables such as , , etc. Namespaces for Scilla to avoid name clashes

Location reporting in syntax errors

Restrict substr arguments to uint32

More stable hashing scheme for complex literals, fix some bugs with hashing along the way

Bug-fixes:

Catch exceptions from Yojson.Basic.Util

Fix builtin arithmetic operations. Added exhaustive safe arithmetic tests to provide strong guarantees for Scilla builtin arithmetics

Convert hex message to raw data before signature verification

Add checks for arguments to builtin substr

Fix bug in is_ground_type and add tests

Fix parsing of standalone expressions and types

Fix free type variables extraction function

Fix parsing of type of Map values

Static Analysis:

Gas usage analysis for Scilla

ADT support in cashflow analysis.

For further information, connect with us on one of our social channels: