At Kyber, we are focused on making the network more seamless and powerful for developers and users alike. As such, we have made significant improvements on several fronts in the last two months, from UX to system improvements, increased liquidity by having more tokens listed, more secure authentication methods, and smart contract security.
This post documents the latest improvements:
Improved UX for KyberSwap
We listened to feedback from our community and have made several changes to KyberSwap:
- Live Charts Streaming — Charts have been added to KyberSwap. Charts also include volume metric data (7 day change, 24 hrs change, market cap, and volume).
- Tokens — ERC20 to ERC20 token swap is now possible. The number of listed tokens has been increased to 50.
- More options to Sign In — Users can now sign in with Twitter, Google, Telegram, Facebook and with username/password.
- Contact — Provide users with contact options via email or Telegram.
- Support for Mobile — Responsive UI now included and also supports Opera and Brave browsers. User can also take photos directly from phone and upload them without the need of resizing.
- API — Added more API to caching to provide faster responses. Included smart detection of errors so that appropriate reasons for failed transactions can be identified and displayed.
- Notifications — Added support for instant notifications of transaction status and to display meaningful reasons for failed transactions.
There were several improvements in the KyberGO front. Users can now contribute to token sales directly from their mobile phone wallet app (like Trust Wallet) together with MetaMask, Trezor, and Ledger Wallet. In addition, KyberGO now supports token sales with multi-phase bonuses and sales with/without individual caps.
Kyber Reserve Backend
We have gone through a round of refactoring and code cleanup to remove unwanted materials from memory and the filesystem. Many technical improvements have been made to the reserve backend ranging from code cleanups to providing developers better tools to work with the reserve backend. Code cleanups include fixing RAM and disk related resource leaks, removing unused third party packages, and eliminating hardcoding on GOPATH, so that it is easier for contributors and developers to set up a development environment. Additionally, the following improvements have been made:
- Refactored gas pricing estimates
- Addressed many previously ignored errors: type assertion, trade failures, bucket creation
- Wrote additional unit tests for exchange storage and target quantity
The reserve backend analytics had also been refined by deploying new market-aware rebalancing algorithms and configurable per token rebalance parameters. Developers will also find improved handling of Ether profits as well as better analytics logging.
One of the recent fixes involved streamlining embedded operations, such that these transactions only involve BoltDB transaction. Prior to this, we utilized multiple transactions to query a database. If a query crashes or an unexpected error occurred, the output data would become irreconcilable thus resulting in bugs. With this upgrade, fast and reliable database is expected, optimized for database consistency and thread safety.
Smart Contract Updates
We have made several technical improvements to our smart contracts as well:
- Permissionless Reserves — Currently, anyone who wants to provide liquidity by being a reserve manager have to pass KYC and have Kyber list their reserve. We have enhanced the smart contracts to have this become an entirely permissionless process. This is currently under development.
- Automated Market Maker Contract — Performs market making without the need for off-chain components and decides on rates based on inventory. There is no longer a need to run a server to be a reserve. This feature is now deployed.
- Permissionless Fee Sharing — Vendors, DApps, and wallets no longer require Kyber’s permission to add their wallet ID and participate in the fee sharing program. This feature is deployed as well.
- OASIS DEX — Integrated OASIS DEX to use their order book as a liquidity source for DAI.
The user security aspect on the entire Kyber platform is improved, following the addition of 2-factor authentication for account system users.
In terms of development security, the upgraded coverage of the analytics unit now runs using PyTest and Pipenv which increases the test coverage. It also reduces potential bugs as the test environment is isolated from the rest of the system, thus reducing the risk exposure of an error.
Kyber’s smart contract has also been audited and verified by ChainSecurity, an audit platform for smart contracts. This was their conclusion:
“Kyber has a detailed trust model that combines upgradability and trustworthiness, an achievement that is rarely seen.” — ChainSecurity
Read the full audit report here: https://medium.com/chainsecurity/kyber-network-audit-completed-b737acb1860f
Recognizing the importance of developers in Kyber’s ecosystem, we have refined our documentation to be more concise and informative in order to make it easier for mainstream developers to participate in our network. The documentation in our developer portal is both comprehensive and easy to follow. We encourage everyone to give it a try and let us know your feedback.
- Launched our developer portal at https://developer.kyber.network/
- Create your own deployment script to deploy and test on different environment and chains
- Support new internal inventory aware pricing (price-weight imbalance) configurations for the different tokens, including adding appropriate validations
Join the KyberDeveloper Telegram Group
We’re continuing to improve our engagement with our developer community. If you have more in-depth questions about Kyber’s technical updates or how to integrate with Kyber and tap into our liquidity network, please speak to our friendly developers in our KyberDeveloper Telegram.