At Zondax, we have been actively contributing to Web3’s ecosystem since 2019. In this article, we are sharing a recap of some of the projects we have realized during Q1 and Q2 of 2021 for Polkadot and Kusama.
Before we deep dive into some project highlights, we would like to thank Web3 Foundation, Polkadot and Kusama for the grants we received to build solutions for this exciting and fastly growing ecosystem.
The KSM / DOT Recovery Mode
At times, Polkadot and Kusama users accidentally sent DOT to Kusama addresses and KSM to Polkadot addresses. By doing so, their transferred funds get blocked in incorrect addresses that belong to a different network. When this happens with “browser based keys”, the funds can directly be recovered, however this wasn’t the case when someone uses a Ledger device, as these have additional security measures. Our challenge here was creating a tool so that users can retrieve DOT that got accidentally sent to a Kusama address (and vice versa).
To provide a solution to retrieve blocked funds, we developed the KSM / DOT Recovery Mode. This feature is operational on Ledger Devices and can be carried out via polkadot.js. To learn more about how this feature works, please read this article about the DOT Recovery Mode or about the KSM Recovery Mode.
Ledger Apps Update: Light and XL versions
Zondax has built the Ledger Apps for both Polkadot and Kusama. Via the community, we learned that some users experienced issues with the Ledger Apps on the Ledger Nano S, as most of its memory would be consumed by these Ledger Apps, making it difficult to have other apps besides the Kusama/ Polkadot Apps.
As the Ledger Nano S has limited memory space, our challenge was creating a light version of the Polkadot and Kusama Ledger App with all the essential features, next to a full version for the Ledger Nano X.
To solve this, we have put the Kusama and Polkadot Ledger Apps on a diet. We made an update for both Ledger Apps to reduce their size, which resulted in creating a light and a full version. The full (or XL) version has all the advanced features that the Polkadot and Kusama Ledger Apps have to offer. This version takes up more space, hence it’s recommended specially for the Ledger Nano X and more advanced users..
To reduce the size of the Apps for the Ledger Nano S, we created a light version. The light version offers a reduced set of functions that still suit the needs for any normal user. This version occupies less memory, and is therefore ideal for the Ledger Nano S.
You can read all about this update on our Github repository for Polkadot and Kusama.
Extended support to many new extrinsics
We have added every extrinsic that the ledger can handle. Next to that, we have created a tool that can generate a list of all the supported extrinsics. This tool also indicates if an extrinsic is for the XL Ledger App only or if it works for both the light as XL versions.
Added support for batching and proxies
Ledger Apps now support most of the ‘proxy’ methods, which means that in a single message you can run multiple calls on behalf of an account. For example, a message can have the following calls now with one signing process: [transfer, stake, transfer], instead of having just one message and one sign process for each separated method. We have given support to read and parse special pallets that contain such lists.
Double Runtime Support
Another interesting thing that we've added lately to the Ledger Apps is the 'double runtime support', which means that the Ledger App is able to process transactions from 2 different runtimes (or 'versions'). This is useful when there's a programmed network upgrade: before the upgrade, the App supports the 'old' runtime and when the upgrade has been released, the support for the 'new' runtime is already on the App. This avoids the user having to rush into updating the App when an upgrade gets released.
More about Zondax
Zondax is a team of engineers, software developers and cryptographers with diverse technical backgrounds, who have developed over 30 products together. We are specialized in software for HSMs and hardware wallets, blockchain protocol development and integration.