Skip to content

Conversation

@aido
Copy link

@aido aido commented Feb 19, 2025

This PR adds the following BIP-85 applications for Flex and Stax devices:

  • BIP-39
  • Base64 passwords
  • Base85 passwords

The code has also been written for other BIP-85 applications such as hex output and dice throws but a UI has not yet been added for these while I decide if they will be useful or just add bloat to the app. They may appear in a future version.
I am also debating what BIP-85 applications (if any) should be added to Nano devices.

Note

The app support page at https://support.ledger.com/article/Seed-tool may have to be updated to include BIP85 if/when this PR is merged.

This PR is currently a work in progress while I add some function tests.

@codecov-commenter
Copy link

codecov-commenter commented Feb 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 60.98%. Comparing base (8ab6d37) to head (f507dd7).
⚠️ Report is 7 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #14      +/-   ##
===========================================
+ Coverage    60.04%   60.98%   +0.93%     
===========================================
  Files           14       18       +4     
  Lines         1632     1671      +39     
  Branches       266      270       +4     
===========================================
+ Hits           980     1019      +39     
  Misses         612      612              
  Partials        40       40              
Flag Coverage Δ
unittests 60.98% <100.00%> (+0.93%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aido aido marked this pull request as draft February 19, 2025 21:17
@aido aido changed the title WIP: Add BIP-85 applications to Flex and Stax Add BIP-85 applications to Flex and Stax Feb 21, 2025
@aido aido marked this pull request as ready for review February 21, 2025 02:59
@aido aido force-pushed the bip85 branch 4 times, most recently from b8567ad to 19e4db7 Compare February 21, 2025 21:48
@aido aido force-pushed the bip85 branch 2 times, most recently from df7fbad to 1aa44be Compare March 19, 2025 02:07
@aido aido force-pushed the bip85 branch 5 times, most recently from 7380f7c to b59a828 Compare March 28, 2025 03:54
@aido aido marked this pull request as draft March 31, 2025 11:39
@aido aido marked this pull request as ready for review March 31, 2025 11:40
@aido
Copy link
Author

aido commented Apr 14, 2025

Hi @lpascal-ledger,

Just a gentle reminder that this PR is ready for review whenever your team gets a chance.

Apart from bug fixes this version (v1.9,0) will probably not have any more updates with additional features and tools. For now the app is feature complete.
If there is user demand for more features (e.g. BIP-85 DICE app or BIP-85 HEX app) then those features can be considered in future versions if they are deemed to be useful and don't cause bloat.

@lpascal-ledger
Copy link

Hey @aido 👋

Unfortunately it is not up to us to plan reviews on these kind of PR, but rather @vforgeoux-ledger.
The review itself is likely to be performed by someone from the Donjon team.

As your app is a bit special vs. others, I'm not sure how updates are managed, but FWIW most 3rd party developer need to go through the app submission form for that.

@aido
Copy link
Author

aido commented Apr 14, 2025

As your app is a bit special vs. others, I'm not sure how updates are managed, but FWIW most 3rd party developer need to go through the app submission form for that.

As suggested, Ledger Device App update form completed and submitted.

@aido aido marked this pull request as draft April 29, 2025 15:53
@aido aido marked this pull request as ready for review August 24, 2025 20:13
@aido
Copy link
Author

aido commented Aug 28, 2025

Hey @fbeutin-ledger,

The Ledger Rule Enforcer checks seem to be failing with the same error for Stax and Flex:

/opt/flex-secure-sdk/lib_nbgl/src/nbgl_layout_keyboard.c:284:9: error: implicitly declaring library function 'snprintf' with type 'int (char *, unsigned int, const char *, ...)' [-Werror,-Wimplicit-function-declaration]
        snprintf(numText, sizeof(numText), "%d.", number);
        ^
/opt/flex-secure-sdk/lib_nbgl/src/nbgl_layout_keyboard.c:284:9: note: include the header <stdio.h> or explicitly provide a declaration for 'snprintf'
1 error generated.
make[1]: *** [/opt/flex-secure-sdk/Makefile.rules_generic:110: build/flex/obj/sdk/lib_nbgl/src/nbgl_layout_keyboard.o] Error 1
make[1]: *** Waiting for unfinished jobs....
scan-build: Analysis run complete.
scan-build: Removing directory '/__w/app-seed-tool/app-seed-tool/app-repository/output-scan-build/2025-08-28-112316-699-1' because it contains no reports.
scan-build: No bugs found.
make: *** [/opt/flex-secure-sdk/Makefile.rules_generic:216: scan-build] Error 2
Error: Check scan failed

Fail with 1 error(s) during Guideline_enforcer checks for 'flex'
Error: Process completed with exit code 1.

Is this an issue with the app or with the nbgl_layout_keyboard.c file in the SDK? I think it may be the SDK.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants