mjg-foundation / passport2-monero

v2.x.x series of firmware for Passport, rebuilt for monero
Other
29 stars 3 forks source link

Monero Firmware

This firmware is not officially associated, endorsed, tested, or approved by Foundation Devices. I saw people asking for Monero support in Passport, and thought I could help start the process. I will be contributing to this minimally, if at all.

Passport Wallet

Passport is an ultra-secure, open source hardware wallet for Bitcoin that offers excellent usability and a great design.

Get yours at foundationdevices.com and follow @FOUNDATIONdvcs on Twitter to keep up with the latest updates and security alerts.

Project Structure

The source code is organized according to the standard MicroPython project structure.

The source is, broadly speaking, split into two parts:

Code specific to Passport is included in the following folders:

Development

Please see DEVELOPMENT.md for information on developing for Passport.

Verifying Firmware SHA Sums

To make building and verifying the firmware a simple process, there is a Dockerfile in the project that builds an image to be used to build the firmware. Using just, the following command can be used to verify the reproducability of the firmware. Make sure to substitute <the sha sum> for the SHA string to verify.

just verify-sha <the-sha-sum>

Those who wish to see further into this process can look at and run the following commands:

just build-docker
just build-firmware color
just build-bootloader
shasum -b -a 256 ports/stm32/build-Passport/firmware-COLOR.bin

Open Source Components

Passport's firmware incorporates open-source software from several third-party projects, as well as other first-party work we open-sourced.

Security Vulnerability Disclosure

There is no security vulnerability process for the Monero firmware. If you found a security vulnerability related to the official firmware, follow the instructions found in this section of the official repository.

Licensing

All licenses used in Passport are reuse friendly, and the license for each component is marked separately in the header files where appropriate or in a .reuse/dep5 file otherwise. See the LICENSES folder and the ports/stm32/boards/Passport/LICENSES folders for details on each license file.

In summary, Passport makes use of the following licenses.

Due to the inclusion of GPLv3 code, Passport Firmware should be treated in a copyleft manner.