Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stax Support #4

Merged
merged 106 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from 99 commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
3def5f2
Revert "Bump to 0.4.5"
chris124567 Feb 22, 2024
cf6c1f5
Revert "fix: build for lns+"
chris124567 Feb 22, 2024
a5e11ba
basic changes
chris124567 Mar 17, 2023
3265551
basic stax app with about menu
chris124567 Mar 28, 2023
ec63a4d
format
chris124567 Mar 28, 2023
a94d1f7
fix icon and get address/public key display working
chris124567 Mar 29, 2023
ed9f21a
add sign hash
chris124567 Mar 31, 2023
08cdaa0
add transaction signing
chris124567 Apr 1, 2023
ac93724
add non UI tests
chris124567 Apr 10, 2023
42ecc64
add sign hash and pubkey tests
chris124567 Apr 14, 2023
46d9ce3
organize existing tests better and add transaction signing
chris124567 Apr 18, 2023
d7ebf92
format tests
chris124567 Apr 18, 2023
064f47d
add go.mod
chris124567 Apr 27, 2023
43e5ca0
add CI workflow
chris124567 Apr 27, 2023
bcc795f
fixes
chris124567 Apr 28, 2023
3a9a353
fix fallthrough warning
chris124567 Apr 28, 2023
e22f23b
remove alpha channel from glyph
chris124567 Apr 28, 2023
dc92270
fix unused function warning
chris124567 Apr 28, 2023
9554868
fixes
chris124567 May 4, 2023
173f34c
add stax to sialedger and fix compiler warnings
chris124567 May 10, 2023
ea2964f
add nanosp support
chris124567 May 19, 2023
b9623ee
add address verification confirmation screen
chris124567 May 19, 2023
6a9557d
add developer to about page
chris124567 May 20, 2023
770ffe3
add nanosp icon and fix nanox load parameters
chris124567 May 21, 2023
d92ca19
fix icon in makefile
chris124567 May 21, 2023
0ae9762
add status screens for all actions and fix address verification status
chris124567 May 30, 2023
7ea99bc
change transaction signing UI flow to Ledger recommendations
chris124567 Jun 3, 2023
afe25be
fix tests
chris124567 Jun 3, 2023
541a36f
use nbgl_useCaseRegularReview instead of nbgl_useCaseForwardOnlyRevie…
chris124567 Jun 7, 2023
5967098
store transaction elements data in fixed size array
chris124567 Nov 13, 2023
3ca56d4
remove displayIndex from struct to save memory, adjust MAX_ELEMS for …
chris124567 Nov 13, 2023
9f0e2e3
get back button working on Stax
chris124567 Nov 14, 2023
fe792a0
prefetch transaction on non stax devices
chris124567 Nov 14, 2023
8a1a900
disable txn test as it hangs for unknown reasons
chris124567 Nov 14, 2023
31ecd0d
fix bug where revisiting final page when calculating txn hash would c…
chris124567 Nov 14, 2023
b0c2aed
replace deprecated functions with new versions
chris124567 Nov 15, 2023
a3ebceb
fix bug where Nano version would crash if signing txns after another …
chris124567 Nov 15, 2023
e06fd2a
fix Stax build warning
chris124567 Nov 15, 2023
ef21ac9
only store encoded currencies and addresses to save space
chris124567 Nov 16, 2023
ebaf827
fix cur2dec type cast build warning
chris124567 Nov 16, 2023
3a8561b
use uint8_t for elemType
chris124567 Nov 17, 2023
db83864
save 7 bytes in transaction value field
chris124567 Nov 21, 2023
4c90f48
fix werkzeug version
chris124567 Nov 22, 2023
2474609
update snapshots
chris124567 Nov 22, 2023
518d8c1
remove accidentally added formatSC call for Siafund values on Stax
chris124567 Nov 27, 2023
4c06e51
remove UNUSED statement, use new boilerplate Makefile
chris124567 Dec 4, 2023
a7a3c64
use nbgl_useCaseReviewStart on Stax for transactions
chris124567 Dec 4, 2023
d00ba5d
replace main.c with app_main.c
chris124567 Dec 4, 2023
e137f04
update version number in tests
chris124567 Dec 4, 2023
51cd52c
fix variant
chris124567 Dec 4, 2023
26d49d6
makefile fixes
chris124567 Dec 5, 2023
5e4b69d
change hashing UI
chris124567 Dec 5, 2023
24e62f4
remove unused variable
chris124567 Dec 5, 2023
d60930c
use new cryptography API
chris124567 Dec 10, 2023
be4d157
remove commented out code
chris124567 Dec 10, 2023
aef2df5
remove private key option in deriveSiaKeypair
chris124567 Dec 11, 2023
58e346b
add asserts for cryptographic function failure
chris124567 Dec 11, 2023
2905907
assertion fixes and use raw buffer for public key
chris124567 Dec 13, 2023
a77551f
reenable and clean up transaction tests
chris124567 Dec 14, 2023
811d52a
use recommended labels for transaction elements and hold to sign
chris124567 Dec 15, 2023
175fc1a
remove unnecessary defines in makefile
chris124567 Dec 21, 2023
2802e8a
remove unnecessary glyphs
chris124567 Dec 21, 2023
d1449bf
use smaller types for blake2b
chris124567 Dec 21, 2023
bbeb0bb
don't use intermediate buffer if not necessary in blake2b_final
chris124567 Dec 21, 2023
64c15fa
update README/Tutorial
chris124567 Dec 21, 2023
f357655
follow signing guidelines
chris124567 Dec 29, 2023
0c46a55
remove not relevant checks
chris124567 Jan 4, 2024
63c6aae
add .clang-format and format
chris124567 Jan 4, 2024
5defd0f
format
chris124567 Jan 4, 2024
33ef560
fix flags
chris124567 Jan 4, 2024
ca1f8b8
fix formatting again
chris124567 Jan 4, 2024
2fe13da
remove unnecessary initialization code from main
chris124567 Jan 19, 2024
5ed7fc6
remove unnecessary BAGL defines
chris124567 Jan 19, 2024
597e040
format
chris124567 Jan 19, 2024
65c12f6
change validate icon
chris124567 Jan 23, 2024
39bb1ae
rename io_seproxyhal_cancel, remove io_seproxyhal_display(), io_event…
chris124567 Jan 23, 2024
d408293
simplify handlers, rename cancel function, start switch to standard l…
chris124567 Jan 23, 2024
320a400
use standard io library in all places
chris124567 Jan 23, 2024
61bcc3a
fixes for checks
chris124567 Jan 25, 2024
15b2d5d
make sign hash compliant on stax
chris124567 Feb 5, 2024
a8fca17
remove exceptions everywhere except txn.c (todo)
chris124567 Feb 5, 2024
dfadb77
add stax test snapshots
chris124567 Feb 5, 2024
b65bb75
use more complicated test transaction
chris124567 Feb 7, 2024
afb24cc
update snapshots
chris124567 Feb 7, 2024
d73c0ba
update comments
chris124567 Feb 9, 2024
624e16a
remove unnecessary flag
chris124567 Feb 9, 2024
6d291cc
add APDU documentation
chris124567 Feb 20, 2024
61b0919
corrections
chris124567 Feb 20, 2024
ae156d6
update test screenshots for stax because sdk changed
chris124567 Feb 22, 2024
67c983c
fix stax test snapshot due to UI library changes
chris124567 Jun 21, 2024
4568b61
fix APDU documentation INS numbers
chris124567 Jun 21, 2024
e6887d3
refer to latest documentation
chris124567 Jun 21, 2024
55137b1
add setting for blind signing on stax (not working because callback t…
chris124567 Jun 24, 2024
3301d4c
fix blind signing settings on Stax
chris124567 Jun 25, 2024
efe195d
update Stax tests
chris124567 Jun 25, 2024
23ea708
add setting for nano devices
chris124567 Jun 25, 2024
52f4368
fix all sign hash tests
chris124567 Jun 25, 2024
fb4b5c9
update stax menu test
chris124567 Jun 25, 2024
3fc16a8
update README
chris124567 Jun 26, 2024
e30585a
remove hardcoded strings from transaction signing
chris124567 Jul 11, 2024
94f21b0
use standard address review flow
chris124567 Jul 11, 2024
43ceefa
use nbgl_useCaseReview when signing hash
chris124567 Jul 12, 2024
de8ff7d
fix lint
chris124567 Jul 15, 2024
96640a4
use new icons
chris124567 Jul 15, 2024
e480d6f
update icons
chris124567 Jul 15, 2024
606ae70
fix stax icon
chris124567 Jul 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
BasedOnStyle: Google
IndentWidth: 4
Language: Cpp
ColumnLimit: 100
PointerAlignment: Right
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: true
AllowAllParametersOfDeclarationOnNextLine: false
SortIncludes: false
SpaceAfterCStyleCast: true
AllowShortCaseLabelsOnASingleLine: false
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortFunctionsOnASingleLine: None
BinPackArguments: false
BinPackParameters: false
33 changes: 33 additions & 0 deletions .github/workflows/build_and_functional_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
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.
#
# While 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

on:
workflow_dispatch:
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"

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"
test_dir: tests
44 changes: 44 additions & 0 deletions .github/workflows/codeql_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: "CodeQL"

on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:
# Excluded path: add the paths you want to ignore instead of deleting the workflow
paths-ignore:
- '.github/workflows/*.yml'
- 'tests/*'

jobs:
analyse:
name: Analyse
strategy:
matrix:
sdk: [ "$NANOS_SDK", "$NANOX_SDK", "$NANOSP_SDK" ]
#'cpp' covers C and C++
language: [ 'cpp' ]
runs-on: ubuntu-latest
container:
image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder-legacy:latest

steps:
- name: Clone
uses: actions/checkout@v3

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
queries: security-and-quality

# CodeQL will create the database during the compilation
- name: Build
run: |
make BOLOS_SDK=${{ matrix.sdk }}

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
25 changes: 25 additions & 0 deletions .github/workflows/coding_style_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Run coding style check through reusable workflow

# This workflow will run linting checks to ensure a level of uniformization among all Ledger applications.
#
# The presence of this workflow is mandatory as a minimal level of linting is required.
# You are however free to modify the content of the .clang-format file and thus the coding style of your application.
# We simply ask you to not diverge too much from the linting of the Boilerplate application.

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'
extensions: 'h,c'
version: 11
40 changes: 0 additions & 40 deletions .github/workflows/coverity.yml

This file was deleted.

44 changes: 44 additions & 0 deletions .github/workflows/python_client_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Checks on the Python client

# 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/
Loading
Loading