The Leverj Staking Contract

Announcing the Fully Audited Staking Contract

Staking provides a mechanism for paying trading fees on the Leverj platform. A beta version of the staking contract has been available since December 2017. We had set ourselves the goal of thoroughly testing, auditing, and reviewing the contract before we go live. We’re proud to announce the great news that we have successfully gone through an audit and incorporated all required changes to make the staking contract ready for production. In this brief post, we intend to share the key findings from the audit and changes in place to address the concerns.

The audit

We engaged Blockchain Labs, as an independent third party, to audit the staking contract. The detailed audit report is available at https://github.com/leverj/staking/tree/master/audit.

The audit was conducted with a focus on the following:

Correctness: verification against specification Testability: test modularity and coverage Security: vulnerabilities that could be abused Adherence to best practices: in compliance with the latest standards

Static and dynamic analysis of Fee.sol and Stake.sol revealed no critical or major defects against expected behavior and contract specification. Only the following best practices related issues were unearthed:

Usage of an old solidity compiler Lack of explicit variable type declaration No event generation on token creation

These issues were all minor or moderate. However, we have diligently triaged through all the issues and made all required fixes.

Incorporated changes

The entire list of issues is available online at our github repository. We have addressed all the 6 issues that are on the list. There are fixes for all barring a couple that were de-scoped.

Summary

The revised Stake and Fee contracts have been deployed. The new addresses for the contracts are as follows:

A few users had used the old contracts to stake and generate FEE tokens. We have made sure to smoothly transition their user balances over to the new contracts.

You can stake your LEV tokens at https://test.leverj.io/stake.html

Want to learn more?