Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
400 commits
Select commit Hold shift + click to select a range
223e5e5
Update rust SDK and fix keccak256 declaration
bboilot-ledger Mar 27, 2024
015f922
Update nanox and nanos golden snapshots
bboilot-ledger Apr 3, 2024
064b0aa
Merge pull request #57 from LedgerHQ/bboilot/update_sdk
bboilot-ledger Apr 3, 2024
7873f48
Move rustup default next to rustup install
bboilot-ledger Apr 5, 2024
8a0fdd7
Merge pull request #56 from brianp/readme-fixes
bboilot-ledger Apr 5, 2024
1611150
Merge pull request #54 from LedgerHQ/yogh333/update_readme
yogh333 Apr 5, 2024
83e42d3
Add Stax support
agrojean-ledger Jan 18, 2024
870a751
Small updates for NBGL sync integration.
agrojean-ledger Mar 1, 2024
7e319a9
Use new include_gif macro to generate NBGL glyphs.
agrojean-ledger Mar 29, 2024
a977014
Update code + test snapshots following C string conversion support in…
agrojean-ledger Apr 23, 2024
e74326d
Add Flex support.
agrojean-ledger Apr 29, 2024
e4f0c88
Add settings example.
agrojean-ledger May 3, 2024
dfafdff
Add dashboard icons for Stax and Flex.
agrojean-ledger May 21, 2024
10281b3
Update tests snapshots following version bump in Cargo.toml
agrojean-ledger May 23, 2024
98648b3
Use init_comm from nbgl rust module to initialize Comm object reference
agrojean-ledger May 23, 2024
240f7a0
Update test_version test to parse version directly from Cargo.toml
agrojean-ledger May 23, 2024
5a00f1a
Update get pub key tests snapshots to show status screens.
agrojean-ledger May 27, 2024
6d6be89
Update cargo.lock
agrojean-ledger May 27, 2024
cc5c0c8
Fix TOML parsing library import.
agrojean-ledger May 27, 2024
afd5bb8
Fix static analysis.
agrojean-ledger May 27, 2024
779deec
Fix icon files bit depth and update tests snapshots.
agrojean-ledger May 28, 2024
b09dcc1
Update README
agrojean-ledger May 28, 2024
02b1c32
PR review.
agrojean-ledger May 28, 2024
46a0075
Update usage.md
agrojean-ledger May 29, 2024
2aa6e97
Merge pull request #49 from LedgerHQ/test-stax-build
agrojean-ledger May 29, 2024
4887fa2
Update SDK version for lock-screen fix on Stax / Flex.
agrojean-ledger May 30, 2024
57d01bd
Merge pull request #59 from LedgerHQ/update-sdk
agrojean-ledger May 30, 2024
9ec3374
Use of heap feature for simpler code
kingofpayne May 21, 2024
52f7992
Ragger tests OK for Nano S+,X, Stax and Flex
yogh333 Jun 4, 2024
0e52ff5
Use last Rust SDK + Bump version
yogh333 Jun 10, 2024
06c6b64
Remove Nano S support
yogh333 Jun 10, 2024
6589826
Restore crab.gif
yogh333 Jun 10, 2024
755ef1b
Merge pull request #58 from LedgerHQ/feat/heap
agrojean-ledger Jun 12, 2024
2fb9a41
Update Flex snapshots
fbeutin-ledger Jun 18, 2024
90333d0
Merge pull request #62 from LedgerHQ/fbe/update_flex_snapshots
fbeutin-ledger Jun 18, 2024
b9d237d
Update snapshots
yogh333 Jun 19, 2024
09fe2d2
Bump version
yogh333 Jun 21, 2024
a3291e9
Update snapshots after version bump
yogh333 Jun 21, 2024
69babaa
Merge pull request #63 from LedgerHQ/y333/heap_is_default
yogh333 Jun 21, 2024
78c9d3a
Update rust SDK version + update tests snapshots.
agrojean-ledger Jul 17, 2024
d3f4951
Fix Cargo.lock
agrojean-ledger Jul 18, 2024
868afd8
Fix ragger version.
agrojean-ledger Jul 18, 2024
9644f2b
Merge pull request #65 from LedgerHQ/update-sdk
agrojean-ledger Jul 18, 2024
7e2fe3f
Update rust SDK + include_gif macro versions.
agrojean-ledger Jul 31, 2024
02fbf26
Update Cargo.lock
agrojean-ledger Jul 31, 2024
2ac6b40
Merge pull request #66 from LedgerHQ/update-sdk
agrojean-ledger Jul 31, 2024
39b4d58
Implement status screens for Stax/Flex now that they are not managed …
agrojean-ledger Aug 1, 2024
d9c3deb
Merge pull request #67 from LedgerHQ/update-status-display-for-nbgl-d…
agrojean-ledger Aug 1, 2024
8b921a6
Bump SDK version and update snapshots
yogh333 Sep 6, 2024
5ce6a28
Merge pull request #72 from LedgerHQ/y333/update_sdk_version
yogh333 Sep 6, 2024
343d6da
Add an option for opening PRs with golden run result in CI
fbeutin-ledger Sep 9, 2024
cb25636
Merge pull request #73 from LedgerHQ/fbe/golden_run_CI
fbeutin-ledger Sep 9, 2024
6adc1b1
[auto-update] Update Ragger snapshots
github-actions[bot] Sep 9, 2024
8d5e93c
Merge pull request #74 from LedgerHQ/auto/update_snapshots-6adc1b1
fbeutin-ledger Sep 9, 2024
f4f483b
[auto-update] Update Ragger snapshots
github-actions[bot] Sep 11, 2024
bddcf06
Merge pull request #75 from LedgerHQ/auto/update_snapshots-f4f483b
yogh333 Sep 11, 2024
1163156
Use sync NbglHomeAndSettings and stop redraw screen for each received…
yogh333 Sep 23, 2024
1d8aed0
Fix clippy issues
yogh333 Sep 23, 2024
99b1f53
Update function's name which show status + home screen
yogh333 Sep 23, 2024
f112621
Use single loop
yogh333 Sep 23, 2024
b44d113
Fix clippy issue
yogh333 Sep 23, 2024
a293755
Use last SDK and bump version
yogh333 Sep 23, 2024
f3297d5
Update snapshots
yogh333 Sep 23, 2024
52811eb
Remove useless binding
yogh333 Sep 23, 2024
2fe39d2
Merge pull request #76 from LedgerHQ/y333/use_sync_nbgl_homeandsettings
yogh333 Sep 25, 2024
121d4c6
Update SDK and bump version
yogh333 Sep 25, 2024
5718519
Update snapshots
yogh333 Sep 25, 2024
021e51a
Refactor settings management
yogh333 Sep 24, 2024
727b84d
Call get_mut when retrieving settings
yogh333 Sep 25, 2024
8eac496
Update dependencies
yogh333 Sep 25, 2024
3d4893f
Update BP
yogh333 Sep 30, 2024
1181357
Use last SDK + update snapshots
yogh333 Oct 1, 2024
ef33289
Merge pull request #77 from LedgerHQ/y333/settings_management
yogh333 Oct 1, 2024
481c957
Create dependabot.yml
yogh333 Oct 2, 2024
0a88cb4
Merge pull request #78 from LedgerHQ/yogh333-patch-1
yogh333 Oct 2, 2024
c101f9d
Bump ledger_device_sdk from 1.17.2 to 1.17.3
dependabot[bot] Oct 9, 2024
97abb23
Merge pull request #81 from LedgerHQ/dependabot/cargo/ledger_device_s…
yogh333 Oct 10, 2024
fa73f86
Heap size can be set at application level
yogh333 Oct 4, 2024
3d9999f
Add explnations
yogh333 Oct 10, 2024
7c21b52
Bump Rust SDK versions
yogh333 Oct 10, 2024
4b1bd9b
Merge pull request #82 from LedgerHQ/y333_20241001/heap_size_mngt
yogh333 Oct 10, 2024
86ee160
Bump SDK version
yogh333 Oct 21, 2024
2b0b17d
Merge pull request #84 from LedgerHQ/y333_241021/bump_sdk_version
yogh333 Oct 21, 2024
af6a45b
Bump ledger_device_sdk from 1.17.5 to 1.18.1
dependabot[bot] Oct 25, 2024
9aaeb51
Update README
yogh333 Oct 25, 2024
c36949e
Merge pull request #86 from LedgerHQ/dependabot/cargo/ledger_device_s…
yogh333 Oct 25, 2024
9c32cff
Remove --user when running docker
yogh333 Oct 28, 2024
0a80b69
Merge pull request #87 from LedgerHQ/y333_241025/update_readme
yogh333 Oct 28, 2024
98b5f82
Update build_and_functional_tests.yml comment
tdejoigny-ledger Oct 30, 2024
4688eb9
Merge pull request #89 from LedgerHQ/tdj/update_comment
tdejoigny-ledger Oct 31, 2024
1e74333
Bump ledger_device_sdk from 1.18.1 to 1.18.3
dependabot[bot] Nov 4, 2024
c07bb11
Merge pull request #93 from LedgerHQ/dependabot/cargo/ledger_device_s…
yogh333 Nov 6, 2024
43bfe5f
Bump ledger_device_sdk from 1.18.3 to 1.18.4
dependabot[bot] Nov 7, 2024
b14b3a9
Merge pull request #94 from LedgerHQ/dependabot/cargo/ledger_device_s…
tdejoigny-ledger Nov 7, 2024
f1d916f
Disallow references to static mut
yogh333 Dec 17, 2024
72a7673
Update Cargo.lock
yogh333 Jan 6, 2025
56b6297
Update Cargo config files
yogh333 Jan 6, 2025
642807a
Fix Clippy issue
yogh333 Jan 6, 2025
7e9fc2a
Bump SDK version
yogh333 Jan 6, 2025
4a60095
Updated snapshots
yogh333 Jan 6, 2025
180974a
Merge pull request #99 from LedgerHQ/y333_17122024/migration_to_updat…
yogh333 Jan 6, 2025
471e913
Bump ledger_device_sdk from 1.19.1 to 1.19.4
dependabot[bot] Jan 16, 2025
c1e8a9b
Merge pull request #102 from LedgerHQ/dependabot/cargo/ledger_device_…
yogh333 Jan 17, 2025
3dccf4b
Update readme
yogh333 Jan 17, 2025
8cf6d74
update and fix typo
yogh333 Jan 17, 2025
cbb12f2
Merge pull request #103 from LedgerHQ/y333/update_readme
yogh333 Jan 17, 2025
f317d2b
Use default-features to fix cargo warning
ghallak Jan 28, 2025
78401ec
Bump ledger_device_sdk from 1.19.4 to 1.20.2
dependabot[bot] Feb 4, 2025
8c5a3bb
Merge pull request #110 from LedgerHQ/dependabot/cargo/ledger_device_…
yogh333 Feb 6, 2025
bc17baa
Merge pull request #106 from ghallak/cargo-warn
yogh333 Feb 6, 2025
93acfb5
Bump SDK version
yogh333 Feb 6, 2025
97f0ae4
Merge pull request #112 from LedgerHQ/y333/bump_sdk_version
yogh333 Feb 6, 2025
a682870
Build Nano* version with NBGL
yogh333 Feb 18, 2025
e5db3c4
Bump version
yogh333 Feb 19, 2025
1bba463
Updated snapshots for Stax/Flex
yogh333 Feb 19, 2025
70b5663
Merge pull request #114 from LedgerHQ/y333/nanos_nbgl_migration
yogh333 Feb 19, 2025
a48a594
Use new feature name in Rust SDK
yogh333 Mar 4, 2025
12d743d
Use last Rust SDK
yogh333 Mar 4, 2025
e12d5c4
Merge pull request #119 from LedgerHQ/y333/use_nbgl_nanos_feature
yogh333 Mar 4, 2025
65ad8b7
Bump ledger_device_sdk from 1.21.4 to 1.22.3
dependabot[bot] Mar 31, 2025
052f8fb
Fix Cargo.toml path for pytest
cedelavergne-ledger Apr 3, 2025
4d9d7ad
Merge pull request #126 from LedgerHQ/cev/fix_test_version
cedelavergne-ledger Apr 3, 2025
75a4df5
Merge pull request #125 from LedgerHQ/dependabot/cargo/ledger_device_…
tdejoigny-ledger Apr 4, 2025
ac90f9d
[auto-update] Update Ragger snapshots
github-actions[bot] May 5, 2025
96fbe55
Merge pull request #133 from LedgerHQ/auto/update_snapshots-ac90f9d
cedelavergne-ledger May 5, 2025
bab19a6
[auto-update] Update Ragger snapshots
github-actions[bot] May 19, 2025
3abfb52
Merge pull request #135 from LedgerHQ/auto/update_snapshots-bab19a6
cedelavergne-ledger May 19, 2025
8f0efbd
Force usage of a targeted nightly
yogh333 May 16, 2025
7848163
Bump versions
yogh333 May 20, 2025
c1e2729
Update snapshots after version bump
yogh333 Jun 2, 2025
043aa7f
Use ledgered Device rather thar Ragger Firmware object
yogh333 Jun 2, 2025
99f3788
Bump SDK + update snapshots
yogh333 Jun 2, 2025
8715674
Merge pull request #136 from LedgerHQ/y333/improve_build_settings_mngt
yogh333 Jun 2, 2025
4c18304
mintalyer
OBorce Jun 20, 2025
ecc2602
Initial mintlayer implementation
OBorce Jul 11, 2025
0a568f1
Add support for multisig addresses
OBorce Aug 5, 2025
62009d1
add negative tests
OBorce Aug 12, 2025
dde9cb0
add sign transaction type subtitle
OBorce Aug 15, 2025
be664ba
add negative tests
OBorce Aug 12, 2025
936fab0
update tests
OBorce Aug 27, 2025
eb07397
add streaming review
OBorce Aug 29, 2025
741995c
Add address type for sign message
OBorce Sep 29, 2025
3bfa55f
Merge with master
OBorce Sep 30, 2025
7c1d9f4
update test snapshots
OBorce Sep 30, 2025
b506eef
update ledger sdk
OBorce Oct 14, 2025
2fa1c33
fix comments
OBorce Oct 20, 2025
78bd2e2
fix missed comments
OBorce Oct 30, 2025
d65b520
Remove Get app name and version instructions
OBorce Nov 12, 2025
3d38d90
fix streaming review starting too early
OBorce Nov 24, 2025
d09c9c5
fix comments
OBorce Dec 4, 2025
5b02b46
change messages
OBorce Dec 8, 2025
f0a534a
Move additional input info into along input messages
OBorce Dec 15, 2025
da0e723
fix tests
OBorce Dec 16, 2025
2a03f21
flatten tx inputs for better memory efficiency
OBorce Dec 18, 2025
5faeaaf
Use new TxInfoWithAdditionalInfo
OBorce Dec 18, 2025
b87b78a
fix tests
OBorce Dec 19, 2025
ad084ac
fix comments
OBorce Dec 24, 2025
9ca7570
bump deps and toolchain
OBorce Jan 7, 2026
dbc4134
Move StatusWord to messages crate
OBorce Feb 6, 2026
9c7c50e
restrict message display to printable ASCII characters only
OBorce Mar 3, 2026
985e76c
Add Ping command
OBorce Mar 5, 2026
ffe0d62
Update mintlayer-core-primitives repo revision. Enable disabled CI wo…
ImplOfAnImpl Apr 14, 2026
a544449
Merge pull request #3 from mintlayer/update_ml_primitives_rev
ImplOfAnImpl Apr 20, 2026
928777c
Refactor response types
OBorce Apr 27, 2026
4391b8b
Reafactor utils and imports
OBorce Apr 28, 2026
26fb5f2
Extract Tx summary collector
OBorce Apr 28, 2026
bb982d7
fix comments
OBorce Apr 29, 2026
deaa943
fix tests
OBorce May 6, 2026
55badf3
fix tests
OBorce May 11, 2026
a249cde
Reduce app stack usage by boxing large objects
ImplOfAnImpl May 28, 2026
ab9d858
Add a doc file about memory and stack usage
ImplOfAnImpl May 28, 2026
223c0ea
Transfer changes from other feature branch
OBorce Jun 2, 2026
d861227
Move app src to a separate lib crate in ./crates, move "messages" the…
ImplOfAnImpl May 28, 2026
8d10988
Use a workspace in the root Cargo.toml to avoid duplication. Rename "…
ImplOfAnImpl May 28, 2026
a9d2597
Allow running unittests on speculos
ImplOfAnImpl May 28, 2026
3336119
Add a script to run clippy
ImplOfAnImpl May 28, 2026
32206e6
Add a sample test
ImplOfAnImpl May 28, 2026
3d85d35
Remove target specification from .cargo/config.toml
ImplOfAnImpl May 28, 2026
4f78de7
Add unit test runner script and a CI job
ImplOfAnImpl May 28, 2026
313e61f
Minor cleanup of CI jobs
ImplOfAnImpl May 29, 2026
b4d9111
Minor cleanup
ImplOfAnImpl May 29, 2026
eb03b18
Fix clippy errors. Minor cleanup in run_extra_checks.sh
ImplOfAnImpl May 29, 2026
89e9fb0
Merge pull request #4 from mintlayer/nanox_so_fix
ImplOfAnImpl Jun 16, 2026
9e99203
Merge pull request #5 from mintlayer/add_ability_to_write_unittests
ImplOfAnImpl Jun 16, 2026
16dce6a
Add technical specification
OBorce Feb 25, 2026
ef03734
Add more tests for summary_collector
OBorce Jun 19, 2026
134ea19
Merge pull request #8 from mintlayer/more-tests
ImplOfAnImpl Jun 24, 2026
cd2ee45
Update year in copyrights
ImplOfAnImpl Jun 24, 2026
02d4cf1
Regenerate all snapshots
ImplOfAnImpl Jun 24, 2026
fc8d8c5
Messages renaming and cleanup - WIP
ImplOfAnImpl Jun 18, 2026
ef88f34
Remove unused types from tests/application_client/__init__.py
ImplOfAnImpl Jun 22, 2026
098ff0c
Format python code via `black`
ImplOfAnImpl Jun 22, 2026
8b47b22
Fix rust-analyzer warning about P2_MORE/P2_DONE having wrong case (it…
ImplOfAnImpl Jun 22, 2026
18ee93e
Add a bunch of FIXMEs
ImplOfAnImpl Jun 22, 2026
0043ed0
Send 1st signature after the 1st explicit request rather than after l…
ImplOfAnImpl Jun 22, 2026
e61292f
Update tests: 1) tests fix (as last output no longer returns the 1st …
ImplOfAnImpl Jun 23, 2026
507a6aa
Add test for ts with zero outputs; some cleanup
ImplOfAnImpl Jun 23, 2026
aa5b032
Tests improvements: 1) expect specific intermediate responses; 2) som…
ImplOfAnImpl Jun 23, 2026
6ffed54
Fix tests on touch devices (need snapshot update)
ImplOfAnImpl Jun 23, 2026
2359083
Update snapshots
ImplOfAnImpl Jun 24, 2026
b87fdcd
Add some FIXMEs
ImplOfAnImpl Jun 24, 2026
008a40b
Move the tech spec document to docs and rename it
ImplOfAnImpl Jun 24, 2026
949f6da
Move icons and glyphs to the media subdir; minor cleanup
ImplOfAnImpl Jun 24, 2026
7193d60
Move derivation path handling to utils; add a couple of FIXMEs
ImplOfAnImpl Jun 24, 2026
b941a0c
Minor cleanup of tx messages
ImplOfAnImpl Jun 24, 2026
3c00547
Regression fix: call ui_approve_streaming_review inside switch_to_sig…
ImplOfAnImpl Jun 24, 2026
8ab3bfe
Add some FIXMEs
ImplOfAnImpl Jun 24, 2026
b845883
Fix docs; minor cleanup; forbid non-empty data in ping command
ImplOfAnImpl Jun 24, 2026
b709a13
Appease clippy
ImplOfAnImpl Jun 24, 2026
35f5123
Update snapshots
ImplOfAnImpl Jun 24, 2026
1eaef55
Cleanup
ImplOfAnImpl Jun 24, 2026
54f8186
Use bigger MAX_BUFFER_LEN; add a fixme; fix some typos
ImplOfAnImpl Jun 24, 2026
472ed97
Remove the useless subtitle "Cannot be undone" from message signing r…
ImplOfAnImpl Jun 24, 2026
4d09da8
Add tools/get_target_id.py (copied from the latest boilerplate app)
ImplOfAnImpl Jun 25, 2026
b0dfba3
Cleanup (mostly docs)
ImplOfAnImpl Jun 25, 2026
d0d0acb
Update tests.usage.md to refer to the main readme for device installa…
ImplOfAnImpl Jun 25, 2026
f526cc8
The messages crate now re-exports all types from mintlayer_core_primi…
ImplOfAnImpl Jun 25, 2026
b6838be
Minor cleanup
ImplOfAnImpl Jun 26, 2026
227fa7c
Rename: parsing->processing
ImplOfAnImpl Jun 26, 2026
cb20e34
Fix input/output review titles on nano devices
ImplOfAnImpl Jun 26, 2026
b1c40e7
Rename InputCompressed to SigTarget
ImplOfAnImpl Jun 26, 2026
bcf0534
Encapsulate hashing in the Hasher struct; avoid redundant allocations…
ImplOfAnImpl Jun 26, 2026
d058c83
Apply a FIXME
ImplOfAnImpl Jun 26, 2026
0e33296
Remove redundant FIXMEs in test command sender and apply a small one …
ImplOfAnImpl Jun 26, 2026
1575b34
Change snapshot by-step index increase from 10 to 100
ImplOfAnImpl Jun 26, 2026
04c48f2
Update snapshots
ImplOfAnImpl Jun 26, 2026
929b3b6
Fix CI
ImplOfAnImpl Jun 27, 2026
4e50569
Add codecheck script
ImplOfAnImpl Jun 30, 2026
23e0788
Replace FIXMEs with TODOs, minor cleanup
ImplOfAnImpl Jun 30, 2026
16b5457
Check derivation path in SignMessage
ImplOfAnImpl Jun 30, 2026
b5be495
Avoid using from_utf8_lossy when displaying strings; show "descriptio…
ImplOfAnImpl Jun 30, 2026
2dfdfb2
Cleanup tests/application_client/__init__.py, add some TODOs
ImplOfAnImpl Jul 1, 2026
3c62460
Rename tests/test_sign_cmd.py to tests/test_sign_tx.py
ImplOfAnImpl Jul 1, 2026
8dd0329
Minor cleanup in tests
ImplOfAnImpl Jul 1, 2026
df345f1
Move test-related utils to a separate crate. Bump rust edition of app…
ImplOfAnImpl Jul 1, 2026
3ed2067
Add tests for ledger-messages; fix Apdu::new_chunks for the case of e…
ImplOfAnImpl Jul 1, 2026
954a040
Replace a FIXME with a TODO
ImplOfAnImpl Jul 1, 2026
dc06375
Bump version to 1.0.0
ImplOfAnImpl Jul 1, 2026
f8cd9cf
Temporarily disable guidelines_enforcer job
ImplOfAnImpl Jul 1, 2026
f2e230a
Prettify the code; appease clippy
ImplOfAnImpl Jul 1, 2026
fef9fc8
Run 'cargo clean' in regenerate_snapshots.sh
ImplOfAnImpl Jul 1, 2026
2c2998e
Update snapshots
ImplOfAnImpl Jul 1, 2026
f558aee
Format token amounts as atoms, instead of using coin-specific formatting
ImplOfAnImpl Jul 1, 2026
6012ea7
Reject txs with zero inputs; some cleanup
ImplOfAnImpl Jul 1, 2026
327af45
Cleanup of tx signing tests
ImplOfAnImpl Jul 2, 2026
15e31ff
Check signatures in python tests
ImplOfAnImpl Jul 2, 2026
8a8ccc3
Prettify python code
ImplOfAnImpl Jul 2, 2026
74d4b2b
Fix CI; cleanup
ImplOfAnImpl Jul 2, 2026
b82dcb1
Update snapshots
ImplOfAnImpl Jul 2, 2026
0b975aa
Merge pull request #9 from mintlayer/app_cleanup
ImplOfAnImpl Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[profile.release]
opt-level = 'z'
lto = true
codegen-units = 1

[unstable]
build-std = ["core", "alloc"]
build-std-features = ["compiler-builtins-mem"]

# By default, heap size is enforced to 8192 bytes.
# Authorized values are [2048, 4096, 8192, 16384, 24576]
# We use 16k as we get some crashes on 8k when running the tests with big 20+ input TXs
[env]
HEAP_SIZE = "16384"
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "cargo" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "daily"
allow:
- dependency-name: "ledger_device_sdk"
- dependency-name: "include_gif"
49 changes: 49 additions & 0 deletions .github/workflows/build_and_functional_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Build and run functional tests using ragger through reusable workflow

# This workflow will build the app and then run functional tests using the Ragger framework upon Speculos emulation.
# It calls a reusable workflow developed by Ledger's internal developer team to build the application and upload the
# resulting binaries.
# It then calls another reusable workflow to run the Ragger tests on the compiled application binary.
#
# The build part of this workflow is mandatory, this ensures that the app will be deployable in the Ledger App Store.
# While the test part of this workflow is optional, having functional testing on your application is mandatory and this workflow and
# tooling environment is meant to be easy to use and adapt after forking your application

permissions:
actions: write
contents: write
pull-requests: write

on:
workflow_dispatch:
inputs:
golden_run:
type: choice
required: true
default: 'Raise an error (default)'
description: CI behavior if the test snaphots are different than expected.
options:
- 'Raise an error (default)'
- 'Open a PR'
push:
branches:
- master
- main
- develop
pull_request:

jobs:
build_application:
name: Build application using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
upload_app_binaries_artifact: "compiled_app_binaries"
builder: ledger-app-builder

ragger_tests:
name: Run ragger tests using the reusable workflow
needs: build_application
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_ragger_tests.yml@v1
with:
download_app_binaries_artifact: "compiled_app_binaries"
regenerate_snapshots: ${{ inputs.golden_run == 'Open a PR' }}
21 changes: 21 additions & 0 deletions .github/workflows/coding_style_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Run coding style check

# This workflow will run linting checks to ensure a level of code quality among all Ledger applications.
#
# The presence of this workflow is mandatory as a minimal level of linting is required.

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:

jobs:
check_linting:
name: Check linting using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_lint.yml@v1
with:
source: './src'
28 changes: 28 additions & 0 deletions .github/workflows/extra_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Run extra checks

# This workflow will run `run_extra_checks.sh` from the project root.

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:

jobs:
run_extra_checks:
runs-on: ubuntu-24.04
steps:
- name: Checkout the repository
uses: actions/checkout@v5

# Note: no need to install docker manually, because it's already installed, see
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md

- name: Run the checks
run: |
docker run --rm -v "$(realpath .):/app" -w /app \
ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest \
bash run_extra_checks.sh
33 changes: 33 additions & 0 deletions .github/workflows/guidelines_enforcer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Ensure compliance with Ledger guidelines

# This workflow is mandatory in all applications
# It calls a reusable workflow guidelines_enforcer developed by Ledger's internal developer team.
# The successful completion of the reusable workflow is a mandatory step for an app to be available on the Ledger
# application store.
#
# More information on the guidelines can be found in the repository:
# LedgerHQ/ledger-app-workflows/

permissions:
actions: write
contents: read
pull-requests: write

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:

jobs:
guidelines_enforcer:
# TODO: this is disabled because the app is still not in the ledger app database,
# so the "Check app_load_params" step fails.
# Once it's there, this must be re-enabled.
# See https://github.com/mintlayer/mintlayer-ledger-app/issues/20.
if: false
name: Call Ledger guidelines_enforcer
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_guidelines_enforcer.yml@v1
19 changes: 19 additions & 0 deletions .github/workflows/misspellings_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Misspellings checks

# This workflow performs some misspelling checks on the repository
# It is there to help us maintain a level of quality in our codebase and does not have to be kept on forked
# applications.

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:

jobs:
misspell:
name: Check misspellings
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_spell_check.yml@v1
44 changes: 44 additions & 0 deletions .github/workflows/python_tests_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Checks on the Python tests

# This workflow performs some checks on the Python client used by the Boilerplate tests
# It is there to help us maintain a level of quality in our codebase and does not have to be kept on forked
# applications.

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:

jobs:

lint:
name: Boilerplate client linting
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
- name: Installing PIP dependencies
run: |
pip install pylint
pip install --extra-index-url https://test.pypi.org/simple/ -r tests/requirements.txt
- name: Lint Python code
run: |
pylint --rc tests/setup.cfg tests/application_client/

mypy:
name: Type checking
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
- name: Installing PIP dependencies
run: |
pip install mypy
pip install --extra-index-url https://test.pypi.org/simple/ -r tests/requirements.txt
- name: Mypy type checking
run: |
mypy tests/application_client/
31 changes: 31 additions & 0 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Run unit tests

# This workflow will run `run_unit_tests.sh` from the project root for each device model.

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:

jobs:
run_extra_checks:
runs-on: ubuntu-24.04
strategy:
matrix:
model: [nanox, nanosp, stax, flex, apex_p]
steps:
- name: Checkout the repository
uses: actions/checkout@v5

# Note: no need to install docker manually, because it's already installed, see
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md

- name: Run the checks
run: |
docker run --rm -v "$(realpath .):/app" -w /app \
ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest \
bash run_unit_tests.sh ${{ matrix.model }}
29 changes: 29 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
target
app.json
app_nanos.json
app_nanosplus.json
app_nanox.json
app_stax.json
app_flex.json

# Temporary directory with snapshots taken during test runs
tests/snapshots-tmp/

.DS_Store

# Python
*.pyc[cod]
*.egg
__pycache__/
*.egg-info/
.eggs/
.python-version

# Related to the Ledger VSCode extension
# Virtual env for sideload (macOS and Windows)
ledger/
# Build directory
build/

# VSCode
.vscode/
Loading
Loading