Tezos Ledger App Updates: Manager.tz Operations, Named Delegates, and More


December 12, 2019

In case you missed it, you can now send, receive, or delegate your XTZ directly in Ledger Live! We’re thrilled that this functionality is now available to the Tezos community and would like to thank TQ Tezos and Ledger for making this possible.

In addition to that release, we’ve added several new features to Tezos’ Ledger applications recently! You can now download v2.2.5 from Ledger Live or Github, which includes:

  • Manager.tz Operation Support (v2.2.1+)
  • Named Delegates via the Baker Registry Smart Contract
  • Nano X Bluetooth Communication
  • Ledger Firmware 1.6.0 Support

While Ledger Firmware 1.6.0 support spans both applications, the rest of these changes only apply to Tezos Wallet. Nonetheless, we increment the version of both apps in lockstep with each release to preserve everyone’s sanity. These changes have been spread out across several releases, some internal, starting with v2.2.1 and ending with v2.2.5. For the full changelog for each release, see our releases page!

Important: Bakers should NOT upgrade the firmware on their baking Ledger device. For more information, see below .

Note: You’ll have to upgrade your Ledger device to firmware 1.6.0 to download this new version from Ledger Live, otherwise you’ll see v2.2.0 with firmware 1.5.5. This is currently only recommended for the Tezos Wallet App.

Manager.tz Operation Support

The manager.tz smart contract

Versions v2.2.1+ display manager.tz smart contract operations in the device UI so users have improved security when using newly-scriptful KT1 originated accounts! There are 4 operations the manager.tz contract supports which needed special parsing:

  • Set delegate
  • Withdraw delegate
  • Transfer to contract
  • Transfer to implicit

Pre-Babylon, a KT1 account was delegated with the operation tezos-client set delegate for my-account to my-baker. During the recent protocol change, all scriptless KT1 accounts were upgraded to scriptful managert.tz contracts and implicit accounts (tz*) became delegatable. This delegation operation can now be used to delegate an implicit account and, thanks to some tezos-client pleasantries, it still works for originated accounts, too.

But under the hood, delegating KT1 accounts has fundamentally changed. Like many other interactions with a smart contract, the new operation is a call to the contract’s code in the form of a 0 XTZ transfer with a Michelson parameter:

tezos-client transfer 0 from <src> to <dst> –entrypoint do –arg { DROP ; NIL operation ; PUSH key_hash <dlgt> ; SOME ; SET_DELEGATE ; CONS }

In this operation:

  • <src> is the implicit managers of the manager.tz contract (i.e. your tz* address)
  • <dst> is the manager.tz contract destination of the operation (i.e. your KT1 address)
  • <dlgt> is the baker to whom you wish to delegate

Parsing the Michelson parameters on operations like this the first instance of Tezos Wallet reading Tezos’ smart contract language! We’re excited to expand upon this to support other great use cases such as token standard interfaces.

Named Delegates

Sticking with the delegation theme, Tezos Wallet v2.2.2+ will now show you the name of the Delegation Service to whom you’re delegating!

Let’s use the same example operation as before: tezos-client set delegate for my-account to my-baker. When signing this operation you’ll be prompted to Confirm Delegation before being shown the fee, source PKH (your address), the PKH of the delegate you’re delegating, and the operation’s storage limit. It is always important to verify this information on the Ledger device to be sure you’re doing what you think you’re doing. In this case, its paramount that you confirm you’re delegating to the right baker.

This new feature makes this validation step more secure and more pleasant by showing an additional field, Delegate Name , which displays the name of the delegation service associated with that PKH. For example, if you’re delegating to Sample Baker, you’ll see Sample Baker here. If the app doesn’t associate the PKH you provided with a baker, it will show a message encouraging you to verify the delegate’s address is correct. There are over 100 delegation services currently recognized, and you can still delegate to any baker you like, named or not.

We’re very pleased to have the Baker Registry Smart Contract as the data source for this feature, the contents of which you can see here thanks to Tulip Tools! Originated by the Tezos Commons Foundation, this smart contract aggregates information about delegation services which they independently provide without the need for a central authority. It is the ideal, decentralized data source for a feature like this.

For now a hardcoded list of baker names and their PKHs is stored in Tezos Wallet, but we’ll be shifting to a more scalable solution in future releases.

Other Release Notes

These latest applications are designed to run on Ledger’s newest firmware (1.6.0). Tezos Wallet for the Nano X also now supports bluetooth communication! Mobile wallet apps (like Ledger Live for Apple and Android) can now communicate with the app wirelessly.

There are two addition changes we’ve made under the hood. v2.2.4 relies on the blake2b cryptographic hashing function provided by the Ledger firmware instead of using a version in the app. We needed this function before it was provided by Ledger’s firmware in 1.5.5 and we’re just making the switch now to make room in the app for new features. We’ve also adjusted our parser so it is able to handle bigger operations, such as those that involve smart contracts.

Tezos Baking App: Wait to Upgrade!

Bakers should wait until further notice before upgrading their baking Ledger to firmware 1.6.0. We’ve found an issue localized to the MCU firmware for the device and we will inform the community when a fixed firmware is available. Until then, Ledger has temporarily taken the app out of Ledger Live’s Manager.

The issue: we’ve observed that the Ledger device’s screen can go blank while Tezos Baking is running. When the screen goes blank, the device may stop responding to requests from the baker and endorser. If it does stop responding, these opportunities will be missed. Should this happen to you, simply unplug the device, plug it back in, and return to the Baking App. The issue will be temporarily solved.

Beyond this issue, there are no new features for Tezos Baking in this release and thus no need for bakers to upgrade.

A Note on Troubleshooting Wallet Issues

Since the Babylon protocol upgrade, we’ve seen many users reporting issues using their ledger device with their wallet provider. Not being able to move your crypto can be a frustrating experience, and everyone in the community wants to make sure these types of problems are minimized. In this case, some breaking changes have posed a challenge.

If you are still having trouble using your Ledger device with a wallet provider, we recommend reaching out to them for assistance - here are Galleon, Tezbox, and Magnum Wallet’s dedicated Telegram support channels! We’ll work closely with them to make sure ledger support is as good and stable as it can be. If you are having issues using your ledger device with tezos-client, please let us know by opening an issue on our Github or emailing us at tezos@obsidian.systems.