Giter Club home page Giter Club logo

passport2's People

Contributors

bitcoinqna avatar eupn avatar foundationken avatar hugoender avatar icota avatar isaacito avatar jeandudey avatar jonmarrs avatar mjg-foundation avatar sethforprivacy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

passport2's Issues

macOS: Attempting to install and build the cross-compiler and MicroPython tools results in errors.

Firmware Version:

  • Firmware Version: N/A

Hardware Details:

  • Passport Model: N/A

Software Wallet Details:

  • Software wallet in use: N/A
  • Software wallet version: N/A

Issue Description:

Current Behavior:
macOS: Attempting to install and build the cross-compiler and MicroPython tools results in the following errors:

make -C mpy-cross
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
GEN build/genhdr/qstrdefs.collected.h
QSTR not updated
CC ../py/objgenerator.c
../py/objgenerator.c:102:21: error: variable 'n_exc_stack_unused' set but not used [-Werror,-Wunused-but-set-variable]
size_t n_state, n_exc_stack_unused, scope_flags, n_pos_args, n_kwonly_args, n_def_args;
^
../py/objgenerator.c:102:41: error: variable 'scope_flags' set but not used [-Werror,-Wunused-but-set-variable]
size_t n_state, n_exc_stack_unused, scope_flags, n_pos_args, n_kwonly_args, n_def_args;
^
../py/objgenerator.c:102:54: error: variable 'n_pos_args' set but not used [-Werror,-Wunused-but-set-variable]
size_t n_state, n_exc_stack_unused, scope_flags, n_pos_args, n_kwonly_args, n_def_args;
^
../py/objgenerator.c:102:66: error: variable 'n_kwonly_args' set but not used [-Werror,-Wunused-but-set-variable]
size_t n_state, n_exc_stack_unused, scope_flags, n_pos_args, n_kwonly_args, n_def_args;
^
../py/objgenerator.c:102:81: error: variable 'n_def_args' set but not used [-Werror,-Wunused-but-set-variable]
size_t n_state, n_exc_stack_unused, scope_flags, n_pos_args, n_kwonly_args, n_def_args;
^
5 errors generated.
make: *** [build/py/objgenerator.o] Error 1

Expected Behavior:
mpy-cross should install and build without errors.

Steps to Reproduce:

  1. brew install arm-none-eabi-gcc
  2. cd ~/passport2
  3. make -C mpy-cross

Screenshots:

image

Additional Information:

This issue happens on macOS. I was successfully able to build mpy-cross on Linux.

Impact:

  • Low: Minor issue with minimal impact on functionality.

Related Issues:

Here are some links to similar or related issues:
microbit-foundation/micropython-microbit-v2#154
micropython/micropython#8805
adafruit/circuitpython#6158

Steps Taken to Resolve:

Based on the information from the related issues, it seems that upgrading to a new version of MicroPython may resolve the issue. The issue may be due to recent changes to clang on macOS. Evidently, newer versions of MicroPython (v1.20.0 and above) fix this issue (micropython/micropython@9e3e67b). Therefore, Foundation Devices should upgrade the Passport firmware to the latest version of MicroPython to fix this issue. Perhaps MicroPython could be installed in an /external or /lib subfolder so it is easier to upgrade in the future.

Building firmware with `just sign 2.0.4 color` command results in ERROR

I went through the DEVELOPMENT.md procedure and even did the (code-signing)[https://github.com/Foundation-Devices/passport2/blob/main/DEVELOPMENT.md#code-signing] section to generate developer pubkey. When I went to build the firmware using the just sign 2.0.4 color command, the result was two ERROR messages as pictured below:

INFO: Key /home/billybob/bin/keys/user.pem not a supported public key.  Assuming user key.
Wrote signed firmware to: build-Passport/v2.0.4-beta-passport.bin
ERROR: Failed to open 'build-Passport/v2.0.4-passport-key-user.bin'.
ERROR: File 'build-Passport/v2.0.4-passport-key-user.bin' has no data.

Screenshot from 2023-06-14 22-24-03

Not sure what this means or if this is an error that can be ignored. Further clarification in the DEVELOPMENT.md documentation would be greatly appreciated. I will also be submitting a PR for some edits to the documentation that I made during my build process.

Security Words can be enabled without successfully verifying PIN

The current firmware version on your Passport.

2.1.2

Passport Model

Passport Batch 2

Software Wallet Details

Envoy. Wallet not needed to reproduce this bug.

Expected Behavior

When users set up two-factor authentication or change login settings on a website or other service, they typically are asked to confirm the new authentication method after setup. Allowing the confirmation to be bypassed may cause user confusion.

Please provide the steps that you've used to reproduce the issue

  1. Select Security Words under Advanced menu in Settings
  2. Choose Show at Login
  3. Press the BACK button at the PIN entry screen

The Show at Login option remains enabled despite no successful PIN verification

Steps Taken to Resolve

No response

If applicable, add screenshots or screen recordings to help explain the issue.

No response

Anything else?

No response

Impact of the issue

{"label"=>"Low: Minor issue with minimal impact on usability."}

If you found any similar or related issues, provide links to them here.

did not

Support message signing

Describe the new feature or improvement you would like to see in Passport's firmware.

Support for message signing.

Explain the specific use case or scenario where this feature would be valuable to users.

No response

Ideas for implementation

No response

Screenshots/Design

No response

Additional Context

No response

Sign transaction pending menu

There is pending bug in the proces of signing. When you scan an invalid QR code (for example a bitcoin address) in the Bitcoin menu (signing) the menu showing a process:

"Parsing transaction"

The QR code is invalid and the Passport will keep this process running (spinning wheel). The only way to exit is to shutdown the Passport.

Requesting:

  1. quick scan if the QR code is valid or not

  2. A way to cancel or go back in the menu.

Trying to REPRODUCIBLY build Passport, running into 'Just' related errors. (WalletScrutiny)

The current firmware version on your Passport.

2.2.0

Passport Model

Passport Batch 2

Software Wallet Details

Hello, I'm Danny from WalletScrutiny,

I've been trying to follow the instructions for reproducing Passport2 v2.2.0 (I've also tried 2.3.0 - same issues.)

Just as I run $ just build-docker

I get:

danny@lw10:~/work/builds/hardware/passport2$ just build-docker
docker build -t ${DOCKER_IMAGE} .
Sending build context to Docker daemon  613.6MB
Step 1/12 : FROM ubuntu:20.04
 ---> 2abc4dfd8318
Step 2/12 : ARG DEBIAN_FRONTEND=noninteractive
 ---> Using cache
 ---> 03a3b1b5a63c
Step 3/12 : RUN apt-get update &&     apt-get install -y automake                        autotools-dev                        build-essential                        curl                        gcc-arm-none-eabi                        git                        libffi-dev                        libssl-dev                        libtool                        pkg-config                        pycodestyle                        python3                        python3-pip &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> dc534010a0a6
Step 4/12 : RUN pip3 install reuse
 ---> Using cache
 ---> a3fec50fb507
Step 5/12 : ENV RUSTUP_HOME="/rustup"
 ---> Using cache
 ---> 0db3622d0c31
Step 6/12 : ENV CARGO_HOME="/cargo"
 ---> Using cache
 ---> a8410d4d058a
Step 7/12 : RUN mkdir -p /rustup /cargo &&     curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs |         sh -s -- -y --profile minimal --default-toolchain 1.67.1
 ---> Using cache
 ---> 47645745ad68
Step 8/12 : ENV PATH="/cargo/bin:${PATH}"
 ---> Using cache
 ---> c8a59a0fe6e1
Step 9/12 : RUN rustup component add clippy &&     rustup component add rustfmt &&     rustup target add thumbv7em-none-eabihf
 ---> Using cache
 ---> 7a02ab61f9e9
Step 10/12 : RUN cargo install cbindgen --version "^0.24"
 ---> Using cache
 ---> 7be40032dfcc
Step 11/12 : RUN cargo install just --version "^1.26" &&     mv /cargo/bin/cbindgen /usr/local/bin/cbindgen &&     mv /cargo/bin/just /usr/local/bin/just &&     chmod 755 /usr/local/bin/cbindgen &&     chmod 755 /usr/local/bin/just
 ---> Running in 4e5f8c6f2748
    Updating crates.io index
 Downloading crates ...
  Downloaded just v1.26.0
  Installing just v1.26.0
error: failed to compile `just v1.26.0`, intermediate artifacts can be found at `/tmp/cargo-installUn9hbg`

Caused by:
  failed to select a version for `env_logger`.
      ... required by package `just v1.26.0`
  versions that meet the requirements `^0.11.0` are: 0.11.3, 0.11.2, 0.11.1, 0.11.0

  the package `just` depends on `env_logger`, with features: `anstream` but `env_logger` does not have these features.
   It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.


  failed to select a version for `env_logger` which could resolve this conflict
The command '/bin/sh -c cargo install just --version "^1.26" &&     mv /cargo/bin/cbindgen /usr/local/bin/cbindgen &&     mv /cargo/bin/just /usr/local/bin/just &&     chmod 755 /usr/local/bin/cbindgen &&     chmod 755 /usr/local/bin/just' returned a non-zero code: 101
error: Recipe `build-docker` failed on line 10 with exit code 101

This is run in our build server. I would appreciate some assistance, thank you.

Expected Behavior

Should build the firmware.

Please provide the steps that you've used to reproduce the issue

  1. ssh into our debian server
  2. git clone https://github.com/Foundation-Devices/passport2.git
  3. cd passport2
  4. git checkout v2.1.2
  5. Install Docker
  6. Install Podman
  7. Install Just using these instructions:
# create ~/bin
mkdir -p ~/bin

# download and extract just to ~/bin/just
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin

# add `~/bin` to the paths that your shell searches for executables
# this line should be added to your shells initialization file,
# e.g. `~/.bashrc` or `~/.zshrc`
export PATH="$PATH:$HOME/bin"

# just should now be executable
just --help
  1. $ just clean
  2. $ just build-docker

Steps Taken to Resolve

No response

If applicable, add screenshots or screen recordings to help explain the issue.

No response

Anything else?

No response

Impact of the issue

{"label"=>"Low: Minor issue with minimal impact on usability."}

If you found any similar or related issues, provide links to them here.

None

Building v2.3.0 Dockerfile fails

Passport Model

Passport Founders Edition

Expected Behavior

running docker build --no-cache -t ${dockerImage} . works

Actual Bahavior

...
  Downloaded regex v1.10.4
  Downloaded nix v0.28.0
  Downloaded regex-syntax v0.8.3
  Downloaded regex-automata v0.4.6
error: failed to compile `just v1.23.0`, intermediate artifacts can be found at `/tmp/cargo-installzHBtxM`

Caused by:
  package `nix v0.28.0` cannot be built because it requires rustc 1.69 or newer, while the currently active rustc version is 1.67.1
  Try re-running cargo install with `--locked`
The command '/bin/sh -c cargo install cbindgen@^0.24 &&     cargo install [email protected] &&     mv /cargo/bin/cbindgen /usr/local/bin/cbindgen &&     mv /cargo/bin/just /usr/local/bin/just &&     chmod 755 /usr/local/bin/cbindgen &&     chmod 755 /usr/local/bin/just' returned a non-zero code: 101
...

Explore Addresses Flakyness

The current firmware version on your Passport.

2.3.0

Passport Model

Passport Batch 2

Software Wallet Details

N/A (On device)

Expected Behavior

Explore address screen shows addresses properly when center button is pressed.

Please provide the steps that you've used to reproduce the issue

Navigate to explore addresses screen for any wallet on the passport 2 device and attempt to view addresses 1 by 1. However, when using the center button pad and pressing the (RIGHT) button. It jumps via 10 addresses due to receiving a (DOWN) button press. The buttons are too connected together and thus make it very finicky/easy to fat-finger jumping +10 addresses preventing proper use of this functionality.

I would reccomend proposing 2 possible solutions to this issue.

  • Option 1: Using the dialpad numbers for navigating up/down 1 and up/down 10 addresses. I.e 1 & 3 for (+1/-1) and 2 & 5 for (+10/-10)
  • Option 2: Provide a screen that displays a list of addresses that you can select from and allow the user to jump (+/-10) via dialpad numbers. i.e:
    [bc1dknbdjcnsdkjc..] 0 -> User selects address and is taken to the full address on screen and can show the QR code
    [bc1dknbdjcnsdkjc..] 1
    [bc1dknbdjcnsdkjc..] 2
    [bc1dknbdjcnsdkjc..] 3
    Press 1: -10 addresses
    Press 3: + 10 addresses

Steps Taken to Resolve

Unable to use screen properly

If applicable, add screenshots or screen recordings to help explain the issue.

No response

Anything else?

No response

Impact of the issue

{"label"=>"Medium: Moderate issue affecting usability."}

If you found any similar or related issues, provide links to them here.

N/A

Displaying the QR code on the Passport v2

I have trouble scanning the QR code from different wallets. The camera on different phones have trouble auto focussing on the screen. Also the same for computer camera. Increasing the animated QR code size or lower the brightness are not helpful.

It might be related to general problem of autofocus on white screen (this is a common problem).
See here also: https://photo.stackexchange.com/questions/9095/why-doesnt-auto-focus-work-with-an-all-white-subject-like-a-wall

A solution is to make the white background another color, like grey, so all camera can detect the QR code and the edge of the screen.

restore trezor wallet to passport using different derivation path.

Describe the new feature or improvement you would like to see in Passport's firmware.

restoring a 24 word trezor wallet to passport doesn't seem to work with sparrow or specter. I need the derivation path of m/49'/0'/0' and nested segwit. is there any way to get the xpub off passport to support this? The 'connect wallet' feature always seems to export the derivation path of m/84/0/0

Explain the specific use case or scenario where this feature would be valuable to users.

restoring a 24 word trezor wallet to passport doesn't seem to work with sparrow or specter. I need the derivation path of m/49'/0'/0' and nested segwit. is there any way to get this on passport? Thanks!

Ideas for implementation

No response

Screenshots/Design

No response

Additional Context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.