JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 597
  • Score
    100M100P100Q98827F
  • License SEE LICENSE IN LICENSE.md

Small javascript library to get latest safe firmware version for trezor update.

Package Exports

  • @trezor/rollout
  • @trezor/rollout/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@trezor/rollout) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@trezor/rollout

npm version

Tldr: For historical reasons, Trezor devices firmware updates are not always straightforward.

Incremental update: not every firmware update can be applied on any installed firmware. This currently applies only for T1 devices. Releases definitions (see below), contain min_bootloader_version and min_firmware_version. Depending on whether the device is in bootloader mode or not, respective field (min_bootloader_version or min_firmware_version) should be observed and next firmware to apply should be evaulated againts them.

Incremental downgrade: it is not possible to downgrade to lower version of bootloader. Rollout module does not solve this. Problem is, device will not tell you bootloader version if it is not in bootloader mode.

Rollout update: sometimes we might want to offer firmware only to small portion of users. This behaviour is defined by rollout field and handled by this lib.

Firmware headers: any firmware that is applied on firmware with bootloader >= 1.8.0 has old firmware header of 256 bytes, that should be removed before installing. This should be only temporary state and will be solved in future by introducing special intermediate firmwares for updating.

Publishing

Follow instructions how to publish @trezor package to npm registry.